챕터 0 : 소개
대부분의 시스템 관리 교육은 파일시스템에 초점을 맞춥니다. 컴퓨터의 파일시스템은 컴퓨터의 성능과 동작의 많은 부분을 좌우합니다. 지난 수십 년 동안 우리는 주요 파일시스템이 잘못 구성되었거나, 선택한 파일시스템이 작업에 적합하지 않았거나, 파일 전체에 미묘한 파일시스템 손상이 확산되어 운영체제와 함께 제공된 기본 프로그램조차 신뢰할 수 없게 되어 시스템 전체를 재구축한 적이 있습니다. 시스템 관리자로 몇 년 이상 근무한 사람이라면 누구나 파일 시스템을 복구하고, 파일 시스템을 재구성하고, 성가신 버그부터 치명적인 버그까지 해결하고, 파일 시스템 제한을 지원하기 위해 디스크를 재정렬하고, 9개 이상의 언어로 파일 시스템에 대해 광범위하게 욕하는 방법을 배웠을 것입니다.
오늘날 가장 널리 사용되는 파일시스템 중 일부는 컴퓨팅 규모로 볼 때 오래된 것입니다. 우리는 5년이 지나 너무 느리다는 이유로 하드웨어를 폐기하고 그 자리에 30년 된 파일시스템을 설치합니다. extfs, UFS2, NTFS와 같은 최신 파일시스템도 그 핵심에 오래된 아이디어를 사용합니다. Z 파일 시스템, 즉 ZFS는 이 모든 것을 바꾸기 위해 등장했습니다.
ZFS란 무엇인가?
ZFS는 파일시스템이 데이터 무결성을 보장할 수 있어야 한다는 핵심 아이디어로 구축된 최신 파일시스템입니다. ZFS는 디스크의 모든 데이터에 대해 체크섬을 계산하여 스토리지 미디어에 오류가 발생하여 데이터가 손상된 시점을 식별할 수 있습니다. 모든 메타데이터에 대해 동일한 암호화 서명을 수행합니다. 기본 하드웨어에 문제가 발생하거나 오작동이 발생하면 ZFS는 검색한 데이터가 기록과 일치하지 않음을 인식하고 조치를 취할 수 있습니다. 심지어 ZFS는 발견된 오류를 자동으로 수정하기도 합니다! ZFS는 손상된 것으로 확인된 데이터의 제공을 거부합니다.
파일시스템 설계자들은 30년 전에 이러한 아이디어를 가지고 있었지만, 당시의 하드웨어로는 이 정도의 오류 검사를 적절한 성능으로 수행할 수 없었습니다. ZFS의 개발자들은 현재의 하드웨어와 하드웨어의 발전 방향을 살펴본 후, ZFS가 새로운 하드웨어를 최대한 활용하기로 결정했습니다. 그 결과 기존 파일시스템보다 더 안정적일 뿐만 아니라 더 빠른 파일시스템이 탄생했습니다.
오늘날의 전통적인 파일시스템은 "지금은 이 정도면 충분하다"는 철학으로 작성된 것으로 보입니다. 많은 파일시스템은 임의의 크기 제한으로 인해 5년, 10년, 심지어 20년 동안은 충분했지만 결국 재작성 및 재작업이 필요했습니다. 많은 구형 파일시스템은 2기가바이트보다 큰 파티션을 처리할 수 없었는데, 요즘은 병따개에 부착해 무료로 제공하는 플래시 드라이브보다 작은 크기입니다. (실제로는 병따개가 필요해서 구입한 것입니다.) 하지만 1980년대 초 UFS가 처음 출시되었을 때 2기가바이트는 수백만 달러에 달하는 엄청나게 큰 용량의 스토리지였습니다. FAT와 같은 파일시스템은 360KB 플로피 디스크의 공간을 효율적으로 사용해야 했습니다. UFS는 당장은 물론 앞으로도 당분간 '충분'했습니다.
ZFS는 가까운 미래에도 살아남을 수 있도록 의도적으로 설계되었습니다. 많은 새로운 파일시스템은 내부적으로 64비트 식별자와 인덱스를 사용하므로 향후 10년 또는 20년 동안 변경 없이 사용할 수 있습니다. ZFS는 내부적으로 128비트 식별자를 사용하므로 향후 수천 년 동안 스토리지 시스템에서 작동할 수 있는 충분한 용량을 제공합니다. 스타트렉에 등장하는 엔터프라이즈호의 컴퓨터는 아마도 ZFS를 실행할 것입니다. ZFS의 기본 제공 제약을 초과하는 디스크, 파티션 및 파일을 처리해야 하는 미래의 시스템 관리자는 우리를 원시인 및 최초의 성간 여행자들과 함께 역사에 남게 될 것입니다.
엄밀히 말하면 ZFS는 단순한 파일 시스템이 아닙니다. 파일시스템과 볼륨 관리자가 결합된 형태입니다. 이 두 가지 기능을 하나의 소프트웨어에 결합하면 나중에 설명하겠지만 몇 가지 제한이 따르지만 매우 흥미로운 작업도 가능합니다. ZFS는 디스크에서 데이터가 어디로 가는지 정확히 알고 있기 때문에 파일과 스트라이프를 위에서 아래로 최적으로 배열할 수 있습니다. ZFS는 보조 고속 스토리지를 특수 목적의 캐시로 사용하여 성능을 더욱 향상시킬 수 있습니다. FreeBSD 마스터리: ZFS 에센셜은 이 최신의 고성능 미래형 파일 시스템을 실행하기 위해 반드시 알아야 할 사항을 안내합니다.