ZFS Fun

Gentoo Korea Wiki
Alchemist (토론 | 기여)님의 2014년 3월 13일 (목) 14:42 판
둘러보기로 가기 검색하러 가기

주의 및 한계

주의: 이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.

ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한 현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로 커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.

ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로 작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.

문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.

설치

다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.

리눅스 소스 설정

먼저 리눅스 소스부터 설치한다.

# emerge -av vanilla-sources
# eselect kernel list
# cd /usr/src/linux
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \
echo CONFIG_CRYPTO_DEFLATE=y >>arch/x86/configs/x86_64_defconfig
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \
echo CONFIG_DEVTMPFS=y >>arch/x86/configs/x86_64_defconfig
# make x86_64_defconfig
# make scripts prepare
주의: 리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.

ZFS 소스이식

이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.

# echo ACCEPT_KEYWORDS=\"\~amd64\" >> /etc/portage/make.conf
# echo =sys-fs/zfs-9999 \*\* >>/etc/portage/package.accept_keywords
# echo =sys-fs/zfs-kmod-9999 \*\* >>/etc/portage/package.accept_keywords
# echo =sys-kernel/spl-9999 \*\* >>/etc/portage/package.accept_keywords
# echo sys-fs/zfs-kmod rootfs >> /etc/portage/package.use
# echo sys-fs/zfs rootfs >> /etc/portage/package.use
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 && ./copy-builtin /usr/src/linux)
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 && ./copy-builtin /usr/src/linux)
# emerge -1av =sys-fs/zfs-9999

9999의 불안전성이 불안하다면 [1]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.

리눅스 빌드 및 initramfs

디스크 편집

참고문서