매일 업데이트
2022-02-09 11:47 4 min

Linux에서 ZFS 파일 시스템을 사용하는 방법

ZFS 파일 시스템은 그 뛰어난 기능으로 인해 널리 사용되고 있으며, 많은 기업들이 페타바이트 단위의 데이터를 저장하는 데 활용하고 있습니다. 그러나 이러한 인기에도 불구하고 리눅스 사용자들은 기본적으로 ZFS를 사용할 수 있는 것은 아닙니다. ZFS를 주 저장소 파일 시스템으로 사용하려면 사용자가 직접 설치해야 합니다.

ZFS 설치 과정은 일반적인 파일 시스템과는 약간의 차이가 있으며, 사용하는 환경에 따라 다소 복잡할 수 있습니다. ZFS를 처음 접하는 사용자라면 Ubuntu를 사용하는 것이 가장 좋습니다. Ubuntu 16.04 버전부터는 Canonical 덕분에 ZFS를 손쉽게 사용할 수 있으며, 안정적인 빌드 프로세스를 제공하는 것으로 알려져 있습니다. 다른 리눅스 배포판의 경우 ZFS가 불안정할 위험이 높습니다.

ZFS 파일 시스템 설치 방법에 대한 자세한 안내를 살펴보겠습니다. 이 튜토리얼을 계속하기 전에 지침을 주의 깊게 따라 주십시오.

참고: ZFS는 단일 하드 드라이브에서도 사용할 수 있지만 권장하지 않습니다. ZFS의 장점은 여러 하드 드라이브를 활용하여 데이터 중복성을 확보하는 데 있기 때문입니다. ZFS를 제대로 사용하려면 두 개 이상의 하드 드라이브가 필요합니다.

ZFS 설정하기

ZFS 파일 시스템은 여러 하드 드라이브를 묶어 하나의 큰 저장 공간을 만드는 방식으로 작동합니다. 복잡해 보일 수 있지만, 그 결과 더 많은 저장 공간을 확보할 수 있게 됩니다.

새로운 ZFS 파일 시스템을 만드는 과정은 Gparted와 같은 파티션 편집기를 사용하는 것보다 좀 더 복잡하며, 명령줄 인터페이스를 통해 작업을 진행해야 합니다. 터미널 창에서 `lsblk` 명령을 실행하여 현재 컴퓨터에 연결된 스토리지 드라이브 목록을 확인합니다.

이 목록에서 Z-pool에 사용할 하드 드라이브를 선택하고 해당 장치 이름을 기억해 둡니다. 이 튜토리얼에서는 `/dev/sdb`, `/dev/sdc`, `/dev/sdd`를 ZFS 풀에 사용할 드라이브로 가정합니다.

다음으로, 선택한 각 하드 드라이브를 완전히 0으로 채워 기존 데이터를 제거해야 합니다. `dd` 명령을 사용하여 각 드라이브를 덮어씁니다. 이 과정은 다소 시간이 걸릴 수 있습니다.

참고: 아래 명령에서 `/dev/sdX` 부분을 실제 드라이브 이름(`/dev/sdb` 등)으로 변경해야 합니다.

sudo dd if=/dev/zero of=/dev/sdX bs=8M

`dd` 명령이 완료되면 `fdisk` 명령을 실행합니다. `fdisk` 명령을 통해 하드 드라이브의 다양한 정보를 확인할 수 있는데, 그중에는 파일 시스템 정보도 포함되어 있습니다. 드라이브를 덮어쓴 후에는 기존 파일 시스템 정보가 사라졌는지 확인해야 합니다. ZFS는 전통적인 파티션 레이아웃을 사용하지 않기 때문에 이 단계는 중요합니다.

sudo fdisk -l

`fdisk` 결과에 이상이 없다면, 이제 새로운 ZFS Z-pool을 생성할 수 있습니다. 기본적인 Z-pool 설정은 다음과 같습니다.

sudo zpool create -f newzpool /dev/sdb dev/sdc /dev/sdd

기본 설정으로도 대부분의 사용자의 스토리지 요구 사항을 충족할 수 있지만, 데이터 보호가 중요한 사용자라면 RaidZ를 사용하여 ZFS 풀을 생성하는 것이 좋습니다.

RaidZ를 사용하면 데이터 중복성을 확보하여 더욱 안전하게 데이터를 보관할 수 있습니다. RaidZ를 사용하여 ZFS 풀을 만들려면 다음 명령을 실행합니다.

sudo zpool create -f newzpool raidz /dev/sdb dev/sdc /dev/sdd

새로 생성된 ZFS 저장소 풀에 파일을 추가하려면 파일 관리자를 열고 파일 시스템 루트로 이동합니다. 파일은 `newzpool`이라는 이름으로 생성된 폴더에 위치하게 됩니다.

ZFS Z-pool에 디스크 추가하기

ZFS는 대량의 데이터 저장을 위해 설계되었지만, 초기 드라이브 용량이 부족해질 때가 있습니다. 다행히도 ZFS는 파티션을 사용하지 않으므로 시스템에 스토리지를 추가하는 것이 간단합니다.

예를 들어 `/dev/sde`와 `/dev/sdf` 두 개의 드라이브를 Z-pool에 추가하는 방법은 다음과 같습니다.

참고: ZFS 설정에서 RaidZ를 사용하지 않은 경우 아래 명령에서 `raidz` 부분을 제거해야 합니다.

sudo zpool add -f newzpool raidz /dev/sde /dev/sdf

ZFS 풀 삭제하기

때로는 ZFS 볼륨이 손상되어 사용할 수 없게 되는 경우가 있습니다. 이 경우 저장소 풀을 삭제해야 합니다. 저장소 풀을 삭제하려면 터미널을 열고 `zfs destroy` 명령을 사용합니다.

sudo zpool destroy newzpool

저장소 풀에 저장된 데이터 양에 따라 `zpool destroy` 명령 실행 시간이 꽤 길어질 수 있습니다. 터미널을 다시 사용할 수 있게 되면 Z-pool이 완전히 삭제된 것입니다.

ZFS 상태 확인하기

Z-pool의 상태를 확인하는 가장 빠른 방법은 `zpool status` 명령을 사용하는 것입니다. 이 명령을 통해 ZFS 볼륨의 기본적인 상태, 작동 방식 및 오류 발생 여부를 확인할 수 있습니다. 상태를 확인하려면 다음 명령을 실행합니다.

zpool status

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.