예전에 zfs가 엄청 좋다기길 호기심에 리눅스에 컴파일로 설치 해 본적이 있다.
사실 뭐 이게 정식 리눅스용도 아니고 솔라리스용을 이식한거라는데 전에 설치 할때도 0.6xx 버전이었는데
2016년 5월 현재 아직도 0.6.5.7이 가장 최신 버전이다. 언제쯤 1.0 버전이 나오려나..
여튼 자주가는 리눅스 카페에서 누가 설치를 하고 있다길래 생각나서 찾아보다가 그냥 yum으로 설치가 된다는 걸 알았다. 그것도 이식하는곳에서 정식으로 지원하고 있다. 설치 방법도 해당 홈페이지에서 제공해 준다. 설치 방법을 보면 설명이 필요 없을 정도로 간단하지만 요약해서 옮겨 본다. (사실 요약할 것도 없다... 애시당초 설치 방법이 웹페이지 1장....)
여튼 주소는 다음과 같다.
자.. 그럼 설치를 해보자.
테스트를 위해 vmware에 centos6.5 64bit를 설치하고 1GB짜리 디스크 2개를 추가해 주었다.
----------------------------------------------------------------------
1~5번은 CentOS 6.5 버전에 설치 하려다가 실패한 내용입니다.
CentOS 6.7 버전 설치 후 6번부터 하시면 됩니다.
----------------------------------------------------------------------
1. zfs 리포지터리를 추가 해준다.
# gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
pub 2048R/F14AB620 2013-03-21 ZFS on Linux <zfs@zfsonlinux.org>
Key fingerprint = C93A FFFD 9F3F 7B03 C310 CEB6 A9D5 A1C0 F14A B620
sub 2048R/99685629 2013-03-21
2. 패키지 위치를 kABI-tracking kmod로 바꿔준다.
기본적으로 저렇게 설치하면 DKMS 스타일 패키지를 바라보게 되는데 이걸 일반 사용자들에게 추천하는 kABI-tracking kmod로 바꿔준다.
(두개가 뭔차인지 정확히는 모르지만 일반적인 배포판 사용자를 kmod로 하고 특수한 리눅스를 사용하거나 zfs를 커스터마이징을 할 사용자라면 DKMS를 사용하라고 한다.)
name=ZFS on Linux for EL 6
baseurl=http://archive.zfsonlinux.org/epel/6/$basearch/ -- 이부분을
baseurl=http://archive.zfsonlinux.org/epel/6/kmod/$basearch/ -- 이렇게 바꿔준다.
3. 혹시나 repo 정보를 수정하기 전에 yum을 했었다면 clean을 한번 해준다.
4. zfs 설치
.....
===============================================================
Package Arch Version Repository Size
===============================================================
Installing:
zfs x86_64 0.6.5.6-1.el6 zfs 326 k
Installing for dependencies:
kmod-spl x86_64 0.6.5.6-1.el6 zfs 110 k
kmod-zfs x86_64 0.6.5.6-1.el6 zfs 635 k
libnvpair1 x86_64 0.6.5.6-1.el6 zfs 29 k
libuutil1 x86_64 0.6.5.6-1.el6 zfs 34 k
libzfs2 x86_64 0.6.5.6-1.el6 zfs 115 k
libzpool2 x86_64 0.6.5.6-1.el6 zfs 404 k
spl x86_64 0.6.5.6-1.el6 zfs 26 k
Transaction Summary
===============================================================
Install 8 Package(s)
5. zfs 모듈 실행
FATAL: Error inserting zfs (/lib/modules/2.6.32-431.el6.x86_64/weak-updates/zfs/zfs/zfs.ko): Bad address
.... 안된다... 모듈 위치를 찾아가보니 저 파일이 2.6.32-573 쪽으로 링크가 걸려있다.
뭐지 싶어서 찾아보니 zfs 모듈이 만들어진 커널이랑 버전이 달라서 그렇단다.... 아 뭐... 그러니까 결국 6.7을 설치하면 된다 이건가? 아.. 이게 뭐야... 귀찮아.. 커널-devel을 설치해야 되나 싶지만 그냥 6.7 설치해서 다시 해보기로 함. 깔끔하게 가쟈! ㅠㅠㅠㅠㅠ
6. CentOS 6.7 다시 설치
Linux centos67 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
7. 1~4까지 다시 수행 후 5번 zfs 모듈 실행
# lsmod | grep zfs
zfs 2742671 0
zcommon 48128 1 zfs
znvpair 80220 2 zfs,zcommon
spl 90346 3 zfs,zcommon,znvpair
zavl 7215 1 zfs
zunicode 323046 1 zfs
오호.. 잘 된다.. 버전이 문제가 맞았구나!
8. pool 생성
Disk /dev/sda: 10.7 GB, 10737418240 bytes
Disk /dev/sdc: 1073 MB, 1073741824 bytes
Disk /dev/sdb: 1073 MB, 1073741824 bytes
# zpool create testpool /dev/sdb /dev/sdc
invalid vdev specification
use '-f' to override the following errors:
/dev/sdb does not contain an EFI label but it may contain partition
information in the MBR.
/dev/sdc does not contain an EFI label but it may contain partition
information in the MBR.
# zpool create testpool /dev/sdb /dev/sdc -f
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
testpool 1.97G 83.5K 1.97G - 0% 0% 1.00x ONLINE -
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.6G 691M 7.5G 9% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 28M 153M 16% /boot
testpool 2.0G 0 2.0G 0% /testpool
9. 생성한 pool에서 파일 시스템 생성
NAME USED AVAIL REFER MOUNTPOINT
testpool 61.5K 1.91G 19.5K /testpool
# zfs create testpool/testfs1
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.6G 691M 7.5G 9% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 28M 153M 16% /boot
testpool 2.0G 0 2.0G 0% /testpool
testpool/testfs1 2.0G 0 2.0G 0% /testpool/testfs1
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
testpool 85K 1.91G 21K /testpool
testpool/testfs1 19K 1.91G 19K /testpool/testfs1
잘 된다!
근데 pool을 만들면 그 자체가 통으로 zfs로 만들어지는데 이건 아직 개념이 좀 부족하다.
뭐 압축 설정이나 그런것도 더 공부 해야 되니 언젠가는 알게 되겠지!
실제 쓸 일이 없으니 일단은 여기까지!
참고로 마운트/언마운트는 아래 명령어를 이용한다.
# zfs umount testpool/testfs1
'Server Engineer > Linux' 카테고리의 다른 글
ZFS on CentOS 6 - 컴파일 설치.2 (0) | 2016.06.02 |
---|---|
ZFS on CentOS 6 - 컴파일 설치 (0) | 2016.06.02 |
CentOS7 에서 KVM 가상머신 만들기 (0) | 2016.04.29 |
CentOS7 bonding (0) | 2016.04.22 |
RHEL6 초간단 Yum 구성 (0) | 2016.02.16 |