본문 바로가기
DevOps/Docker

[Docker] : ZFS 드라이버 사용하기

by 오주현 2022. 3. 1.
반응형

ZFS는 압축, 레플리카, 데이터 중복 제거 등 다양한 기능을 제공하지만 라이센스 문제로 리눅스 커널에 기본적으로 탑재되어 있지 않아 따로 설치해야 한다.

 

CentOS 보다는 Ubuntu에서 사용하는 것을 권장한다.

 

service docker stop

도커 데몬을 정지한다.

 

apt install zfsutils-linux

ubuntu 16.04와 18.04에서는 위 명령어로 zfs 관련 유틸을 설치할 수 있다.

 

modprobe zfs

위 명령어로 모듈을 로드한다.

 

zpool create -f zpool-docker /dev/xvdb

새로운 zpool을 생성한다. 뒤에 /dev/xvdb는 디바이스에 맞게 이름을 입력하면 된다.

 

zfs create -o mountpoint=/var/lib/docker zpool-docker/docker

ZFS 파일 시스템을 생성하고 /var/lib/docker에 마운트한다.

 

ZFS list -t all

정상적으로 마운트 되었는지 확인한다.

 

service docker start

docker info | grep Driver

도커를 시작하고 스토리지 드라이버가 설정된 것을 확인한다.

 

만약 마운트는 성공했지만 도커가 ZFS 드라이버를 사용하고 있지 않다면 도커 데몬 옵션에

DOCKER_OPTS="--storage-driver=zfs"

를 추가해 주면 된다.

 

ZFS는 ROW를 사용해 쓰기와 읽기 작업을 한다.

 

ZFS는 성능과 안정성에 초점을 뒀고 압축, 데이터 중복 제거 등 여러 기능을 제거한다.

 

메모리 구조로 디스크 블록을 캐시하기 때문에 PaaS 환경에도 나쁘지 않은 스토리지이다.

 

하지만 ZFS는 가볍지 않다. 메모리를 상당히 차지하기 때문에 호스트 자원 용량을 수시로 체크해 보는 것이 좋다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글