테크레시피

Z스탠더드 등 탑재…오픈ZFS 2.0 나왔다

12월 1일(현지시간) 썬마이크로시스템즈가 개발한 파일 시스템 ZFS를 오픈소스로 구현한 OpenZFS 2.0가 출시됐다. 프로젝트명을 ZFS온리눅스(ZFS on Linux)에서 오픈ZFS(OpenZFS)로 바꾼 메이저 업데이트를 통해 리눅스와 FreeBSD 지원 통합, L2ARC, Z스탠더드(Zstandard) 등 새로운 기능을 탑재하고 있다.

ZFS는 솔라리스에 채택되던 유닉스 파일 시스템(Unix File System) 후속으로 스냅샷과 복사, 레이드 기능을 탑재한 고급 파일 시스템. ZFS의 오픈소스 구현은 라이선스 문제로 리눅스 커널에 병합할 수 없으며 외부 커널 모듈인 ZFS온리눅스로 개발되어 오다가 이번 대규모 업데이트와 동시에 오픈ZFS로 명칭이 바뀌었다.

지원하는 운영체제는 리눅스 3.10∼5.9, FreeBSD 12.2, stable/ 12,13.0이며 오픈ZFS 2.0에서 리눅스와 FreeBSD를 지원하는 저장소를 통합했다.

오픈ZFS 2.0에 추가된 주요 기능을 보면 먼저 연속 재동기화. 기존 재동기화보가 파괴된 미러링 가상장치 재구축이 빨라졌다. 다음은 지속적인 L2ARC. ZFS는 캐싱 L2ARC를 이용해 로딩 속도를 향상시킬 수 있지만 기존 L2ARC는 PC 전원을 잃으면 데이터가 손실되는 휘발성이었다. 오픈ZFS 2.0에선 재부팅 뒤에도 데이터를 저장할 수 있는 영구적인 L2ARC를 탑재해 캐시 워밍업 시간을 단축할 수 있다고 한다.

다음으로 GZIP과 LZ4, ZLE 같은 압축 방식 외에 페이스북이 개발한 고성능 압축 포맷인 Z스탠더드 압축을 지원한다. 또 zfs send/receive에서 데이터를 송수신할 때 데이터 스트림을 편집하고 불필요한 데이터나 기밀 정보를 빼고 보낼 수 있는 기능을 추가했고 ZFS 명령 성능을 개선하고 일부 옵션 변경도 이뤄졌다.

ZFS는 우분투 20.04 데스크톱에서 루트 파티션으로 이용하는 게 가능하게 되는 등 리눅스에서도 이용이 진행되고 있다. 하지만 리눅스 개발자인 리누스 토발즈는 ZFS를 리눅스 커널에 병합하지 않는 자세를 취하고 있으며 리눅스 커널은 ZFS를 지원하지 않는다. 이유는 ZFS가 라이선스에 의해 리눅스 같은 GNU GPL이 아닌 썬마이크로시스템즈에 의해 규정된 CDDL이기 때문에 리눅스에서 ZFS를 이용할 경우 외부 모듈인 ZFS온리눅스를 이용해야 했다.

ZFS온리눅스 같은 오픈소스 ZFS 구현으로 알려진 오픈ZFS는 솔라리스 계열 운영체제 개발을 통해 많은 개선이 이뤄져 FreeBSD 등에 포함되어 있었다. 하지만 일루모스(illumos)에서 ZFS 개발 대부분을 맡던 델픽스(Delphix)가 자사 운영체제인 델픽스OS(DelphixOS) 내 ZFS 개발 기반을 일루모스에서 ZFS온리눅스로 전환했기 때문에 오픈ZFS 프로젝트는 정체됐고 일루모스나 FreeBSD에서 ZFS온리눅스를 기반으로 한 ZFS 개발이 진행되고 있었다.

이런 흐름에 따라 ZFS온리눅스는 FreeBSD를 지원하는 동시에 프로젝트명을 오픈ZFS로 바꾼 게 이번 메이저 릴리스로 이어진 것이다. 또 2021년 예정된 대규모 업데이트인 오픈ZFS 3.0은 맥OS 지원을 목표로 하고 있다. 관련 내용은 이곳에서 확인할 수 있다.