2016. 4. 4. 22:31


NAS에 파일시스템을 ZFS로 사용하면서 정리한 것들 입니다.


이 한페이지로 모든 상황에 다 써먹을순 없겠지만... 제가 사용중인 명령어들만 간단하게 한번 정리 해봤습니다.


누군가에겐 도움이 되겠지요~?


일부 틀린 내용 있을수도 있으니 참고 하셔서 조심조심 사용 바랍니다.




ZFS 사용을 위해서는 크게 2단계를 작업해야 합니다.

1. 풀 생성

2. 파일시스템 생성


linux에 ZFS 설치 할때 필히 커널에 모듈로 설치되는 Native ZFS 설치하시기 바랍니다.

유저레벨에서 돌아가는 Fuse는 성능 이슈가 있습니다.




 zpool

 import

 poolname

 

 - 기존에 존재하던 풀을 등록.
   (운영체제 재설치 후 기존에 쓰던 풀을 재등록 가능)

 zpool

 create

 poolname

 /dev/sdx /dev/sdy ...

 - 새로운 풀을 생성.
 - 뒤에 나열되는 저장장치들을 모두 묶어 하나의 스토리지 풀 구성.

 - 기존에 풀이 존재하는 경우 제거되고, 새 풀이 생성.

   (기존에 존재하던 풀을 사용하고자 할 경우 이 명령어 금지!!)

 zpool

 add 

 poolname

 /dev/sdx

 - 기존 풀에 새 저장 장치를 추가.

  (기존 풀에서 사용중인 장치 제거는 아직 몰라용 ㅠㅠ)

 zpool

 add

 poolname

 cache /dev/sdx

 - 캐시(L2ARC)로 사용할 장치를 추가

 zpool

 remove

 poolname cache /dev/sdx

 - 캐시(L2ARC)로 사용중인 장치 제거

 ARC(캐쉬)상태 확인

 # cat /proc/spl/kstat/zfs/arcstats


* ARC는 캐쉬 입니다. 총 2단계로 존재.

- L1 ARC : 시스템 메모리를 캐쉬로 사용하는데 권장 용량은 저장소 1TB 당 1GB의 메모리 캐쉬를 권장

- L2 ARC : 블록디바이스(저장장치)를 캐쉬로 사용하는데 고속 액세스 가능한 SSD를 풀의 캐쉬로 구성 가능




파일시스템

 파일시스템 - 가장 기본적인 사항!! 

 zfs

 list

 

 

 - ZFS 파일시스템의 리스트 출력

 zfs

 create

 

 poolname/data

 - data 라는 파일시스템 생성

 zfs

 create

 -V 50G

 poolname/anime

 - 50GB 용량의 볼륨 생성

 - 볼륨은 그 /dev/sdx 와 같은 방식으로, 장치가 생긴다고 보면된다.

 zfs

 destroy

 

 poolname/anime

 - 파일시스템 삭제

  (주의!! - 추가확인 없이 그냥 지워버림 주의 또 주의 !!)

 스냅샷 - ZFS를 사용하는 이유! ZFS의 꽃! 바로 스냅샷 기능입니다. ★★★★★

 zfs  snapshot poolname/data@original - poolname/data 파일시스템에 original 스냅샷 생성
 zfs

 list -t

 snapshot -r 

 poolname/data - 스냅샷 목록 확인
 zfs list -o space -r poolname/data - 스냅샷이 차지하는 공간 사용을 확인
 zfs rollback  poolname/data@original

 - original 시점으로 롤백

 - original 스냅샷 생성 이후에 발생한 모든 변경사항을 취소.

 zfs destroy  poolname/data@original - original 스냅샷 삭제

 쿼터 - 디스크 공간 할당을 자유 자재로!! 

 zfs set

 quota=10G

 poolname/data

 - 쿼터(할당공간) 설정.

 - 사용 중에 자유롭게 공간 사이즈를 재지정 할 수 있다.

  (당연하겠지만, 실제로 데이터가 차지하는 공간보다 작게는 설정불가)

 zfs get quota poolname/data

 - 현재 쿼터 설정정보 확인

 압축 - 풀에 압축 사용여부 설정 

 zfs

 set

 compression=lz4 poolname

 - 풀에 저장되는 데이터에 lz4 압축 사용

 zfs set compression=off poolname

 - 풀에 저장되는 데이터에 압축 사용 안함

 zfs get

 compression

 poolname - 현재 풀의 압축정보 확인


* 압축 관련

- 압축 지정 후 들어오는 데이터에 한해서 압축이 적용.

- 마찬가지로 압축을 꺼도 기존 들어온 데이터는 이미 기존 설정대로 저장된 상태로 진행.

- 압축종류가 몇가지 있는데 lz4를 추천하는 이유는 가장 빠른 속도 때문. 거의 제로타임 압축이라 불려질 정도로 빠르다고 함.



본인은 압축을 안씁니다. 대부분 동영상 데이터인데 압축 해봐야 용량이 줄어지 않기 때문

개인의 판단에 따라 사용을 하면 되겠습니다.






[참고]

https://docs.oracle.com/cd/E24846_01/html/E23284/toc.html

- 여기 페이지에 더 많은 내용이 상세히(?) 있으므로 부족한 내용은 이쪽 참고 바랍니다.




Posted by 해비