예전에 zfs가 엄청 좋다기길 호기심에 리눅스에 컴파일로 설치 해 본적이 있다.

 

사실 뭐 이게 정식 리눅스용도 아니고 솔라리스용을 이식한거라는데 전에 설치 할때도 0.6xx 버전이었는데

2016년 5월 현재 아직도 0.6.5.7이 가장 최신 버전이다. 언제쯤 1.0 버전이 나오려나..

 

여튼 자주가는 리눅스 카페에서 누가 설치를 하고 있다길래 생각나서 찾아보다가 그냥 yum으로 설치가 된다는 걸 알았다. 그것도 이식하는곳에서 정식으로 지원하고 있다. 설치 방법도 해당 홈페이지에서 제공해 준다. 설치 방법을 보면 설명이 필요 없을 정도로 간단하지만 요약해서 옮겨 본다. (사실 요약할 것도 없다... 애시당초 설치 방법이 웹페이지 1장....)

 

여튼 주소는 다음과 같다.

 

http://zfsonlinux.org/

 

 

자.. 그럼 설치를 해보자.

 

테스트를 위해 vmware에 centos6.5 64bit를 설치하고 1GB짜리 디스크 2개를 추가해 주었다.

 

----------------------------------------------------------------------

1~5번은 CentOS 6.5 버전에 설치 하려다가 실패한 내용입니다.

CentOS 6.7 버전 설치 후 6번부터 하시면 됩니다.

----------------------------------------------------------------------

 

 

1. zfs 리포지터리를 추가 해준다.

 

# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release$(rpm -E %dist).noarch.rpm

 

# 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를 사용하라고 한다.)

 

# vi /etc/yum.repos.d/zfs.repo 
[zfs]
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을 한번 해준다.

 

# yum clean all

 

4. zfs 설치

 

# yum install 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 모듈 실행

 

# modprobe 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 다시 설치

 

# uname -a
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 모듈 실행

 

# modprobe 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 생성

 

# fdisk -l | grep " /dev/sd"
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에서 파일 시스템 생성

 

# zfs list
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 mount testpool/testfs1

# 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
Posted by 까만핀치
,