# 무료로 애니메이션과 도해로 파일 시스템 'ZFS'의 내부 구조와 동작 원리를 배울 수 있는 'Uberblok'

> https://bookfactory.kr/board/news/23725
> 게시판: 뉴스
> 작성자: tachikoma43
> 작성일: 2026-10-25T05:14:29.106Z

---

ZFS 은 2000 년대에 Sun Microsystems 가 개발하고, 오픈 소스 'OpenZFS'로 이어져 현재까지 개발이 계속되고 있는 파일 시스템의 일종입니다. 데이터 손상 감지 기능과 장애 발생 시에도 데이터의 일관성을 유지하는 등의 기능을 갖추고 있으며, NAS 나 스토리지 서버 등에서 널리 사용되고 있습니다. 'Uberblok'는 ZFS 의 복잡한 구조를 실제 소스 코드를 기반으로 시각적으로 설명하는 웹사이트입니다. Uberblok, ZFS 의 인터랙티브 박물관 https://uberblok.storagebits.workers.dev/en/

Uberblok 는 설명에 사용되는 애니메이션이 실제 OpenZFS 의 소스 코드에 기반하여 제작되었습니다. 분석 대상은 OpenZFS 2.4.4 의 특정 버전이며, 애니메이션과 대응하는 소스 코드 추출을 게시하고 있습니다. 또한 해당 코드 부분을 GitHub 에서 확인할 수 있도록 되어 있어, 파일 시스템의 구조에 관심이 있는 분들에게도 유용합니다. 사이트는 박물관 전시실을 둘러보는 컨셉을 바탕으로 총 14 개의 섹션으로 구성되어 있습니다.

예를 들어 'Room 2: The tree and the uberblock'에서는 데이터 쓰기 중 전원이 꺼졌을 때 ZFS 가 업데이트 전 상태와 업데이트 후 상태 중 어느 상태를 읽는지 시뮬레이션할 수 있습니다. 먼저 'D0'에서 'D3' 중 하나를 선택하여 교체할 데이터를 지정하고 'Next step'을 누르면 쓰기 처리가 진행되지만, 중간에 'Pull the plug'을 누르면 갑작스러운 전원 차단이 재현됩니다. 그리고 'Import the pool'을 누르면 재부팅 후 ZFS 가 어떤 상태를 읽는지 확인할 수 있습니다.

이 시뮬레이션에서 설명되는 것은 ZFS 가 데이터를 직접 덮어쓰지 않고 새로운 위치에 기록하는 'Copy-on-Write' 메커니즘입니다. 데이터 저장 상태를 관리하는 'Uberblock'이 새로 저장되기 전에 전원이 꺼진 경우, 업데이트 전 상태로 읽히며, 새로운 Uberblock 이 저장되어 있으면 업데이트 후 상태로 읽힙니다. 이를 통해 ZFS 가 기록 중인 불완전한 상태를 피하고 데이터의 일관성을 유지할 수 있습니다. Uberblock 에서는 또한 '체크섬과 자체 복구', 'RAID-Z', '스냅샷과 클론', 'ARC 캐시' 등이 설명됩니다. 또한, Uberblock 의 소스 코드는 MIT 라이선스, 사이트 내의 글과 일러스트는 CC BY 4.0 라이선스로 공개되었습니다. 다만, 설명에 사용된 OpenZFS 의 소스 코드 추출에는 CDDL 1.0 라이선스가 적용되어 있으며, Uberblock 의 MIT 라이선스 대상에는 포함되지 않습니다.

[원문 보기](https://gigazine.net/news/20261025-uberblok/) | 출처: Gigazine