FreeBSD + ZFS + 암호화? 대안? 제안?

FreeBSD + ZFS + 암호화? 대안? 제안?

LAN 내에서(그리고 VPN을 통해) NAS 및 파일 서버 역할을 할 전용 물리적 서버를 만들고 싶습니다.

그러나 드라이브(두 개의 zpool을 사용할 것이므로 시스템 드라이브와 데이터 드라이브)를 완전히 암호화해야 합니다. 버전 28은 ZFS 암호화를 지원하지 않지만 FreeBSD는 (OpenIndiana, Nexenta 등도 포함) 지원하므로 유일한 가능성은 GELI를 사용하는 것 같습니다.

이제 ZFS 위에 GELI 레이어를 추가하면 데이터가 손실될지 궁금합니다. 인터넷의 몇몇 게시물(많지는 않지만)에서 이 문제를 지적하는 것 같습니다. 특히 RAID(Z)와 체크섬의 통합을 고려할 때 ZFS는 Unix/Linux 세계의 다른 파일 시스템(예: ext4, xfs 및 btrfs)보다 훨씬 우수한 파일 시스템인 것으로 보입니다.

이제 이 위에 GELI를 추가하는 것은 RAID 설정 위에 LUKS를 추가하는 것과 비슷해 보입니다. 비록 Geli를 경험해 본 적이 없고 얼마나 안정적인지는 모르겠지만요. LAN에서 1MB/s의 전송 속도는 기대하지 않지만 성능은 큰 문제가 아닙니다(그러나 20MB/s 이상은 허용 가능).

저는 Linux 세계를 떠난 적이 없기 때문에 FreeBSD나 Solaris 파생 제품에 대한 경험이 없습니다. 나는 유료(비싼) 지원 문제 때문에 Solaris Express 11을 사용하고 싶지 않습니다. 이것은 집에 있는 컴퓨터가 될 것입니다. 필요하다면 기꺼이 배우겠습니다.
서버는 기본적인 NAS 작업(특히 samba/cifs 파일 공유, 최신 ZFS 버전과 통합할 필요가 없는 작업)을 수행해야 합니다.

암호화 계층을 고려한 후,GELI + ZFS는 LUKS + LVM + ext4보다 신뢰성이 높거나 낮습니까?? 나는 슈퍼 유저에 대한 다른 게시물에서 물었고 그들은 암호화에 대해 이야기하지 않았음에도 불구하고 ZFS 때문에 FreeBSD/Solaris를 추천했습니다. OpenIndiana 및 기타 업체가 LUKS 또는 GELI와 같은 블록 암호화 방법을 지원하는지 모르겠습니다.

또한 Linux에서처럼 디스크를 추가하고 RAID(Z) 및 파일 시스템을 어레이에 확장하는 것이 쉬울까요(예:여기)?

답변1

geom 공급자 중 하나를 사용하여 ZFS를 통해 암호화할 수 있어야 하지만 ZFS 아래에서 장치를 암호화해야 합니다. 나는 아마도 geli를 설정한 다음 freebsd-zfs 유형 내에 gpt 파티션을 생성하고 거기서부터 갈 것입니다.

두 솔루션(freebsd 및 linux)을 실제로 테스트하고 시스템 관리 시간과 성능을 기반으로 자신에게 적합한 결정을 내리는 것이 좋습니다.

답변2

Solaris 11은 ZFS 내에서 기본 암호화를 지원합니다. BSD에 의존하지 않는다면 고려해 볼 가치가 있습니다. 비프로덕션 용도로는 무료이므로 지원 라이선스를 구매하지 않고도 집에서 사용할 수 있습니다.

풀을 확장하려면 더 많은 vdev를 추가해야 하며, 더 많은 디스크를 추가하여 단일 raidz 또는 다른 vdev 유형을 확장할 수 없습니다. 그러나 더 많은 vdev를 추가하기 시작하면 ZFS는 이들 사이의 데이터를 스트라이프하여 추가 성능을 얻을 수 있습니다.

답변3

데이터 손실에 대해 너무 걱정할 필요는 없다고 생각합니다. FreeBSD의 Geli는 성숙해졌으며 내 경험상 완벽합니다. Gre를 먼저 선택한 다음 ZFS를 선택하세요.위에. 그런 다음 zpool을 사용하여 단일 드라이브, 미러링, RAID-Z 등 원하는 구성으로 풀을 구축할 수 있습니다.

내 경험:

비슷한 설정을 갖춘 FreeBSD 9 홈 서버가 있습니다. 즉, 드라이브 2개, 드라이브당 zpool 1개입니다. 이는 UFS가 아닌 ZFS-on-root 설정입니다. 한 드라이브는 시스템이고 다른 드라이브는 데이터입니다. 데이터 드라이브에는 전체 디스크 암호화가 있지만 시스템 드라이브에는 그렇지 않습니다. (비록 그렇게 할 수 없는 이유는 없다고 생각하지만 단지 추가적인 복잡성을 피하고 싶을 뿐입니다.)

저는 geli를 사용하여 원시 데이터 드라이브를 암호화합니다. ZFS(기술적으로 zpool)는 이를 다른 블록 장치와 마찬가지로 확인합니다. 일반적인 방법으로 "zpool create..."를 호출한 다음 필요에 따라 풀에 zfs 데이터 세트를 만들 수 있습니다.

내 사용 사례에서는 성능이 문제가 되지 않았습니다. 내 것은 4GB Atom D520에서 매우 잘 작동합니다. 빛처럼 빠르지는 않을 수도 있지만(디스크만 5200rpm 2.5인치, 낮은 전력 소비/소음) 홈 네트워크 서비스에는 적합합니다.

이 설정은 몇 년 동안 아무런 문제 없이 실행되었습니다.

답변4

ZFS의 LUKS 또는 Geli와 같은 전체 디스크 암호화(FDE)를 포기하면 ZFS의 기능 세트를 최대한 활용할 수 없습니다. 그러나 ZFS를 FDE에 넣으면 작동합니다.

저는 최근 FreeBSD ZFS 전문가로부터 ZFS가 개별 파일을 볼 수 있기 때문에 ZFS보다 PEFS를 사용할 것을 권장한다는 토론을 들었습니다. 앞으로는 PEFS 구성 가능 폴더와 파일을 FreeBSD ZFS 라이브러리와 함께 구성하고 번들로 묶을 수 있습니다.

일부 암호화 전문가는 전체 디스크 암호화에 의존하지 말라고 조언하지만, FreeBSD나 Linux에서는 서로 다른 암호화 전략을 연결하는 것이 합리적인 전략일 수 있다고 생각합니다.

예: 원시 디스크 -> FDE(Geli/LUKS) -> ZFS -> (/home의 경우) PEFS 또는 EncFS를 사용한 사용자 공간 암호화. 이 모델을 사용하면 전체 디스크 암호화가 침해되는 경우(누군가 리소스와 동기가 있다면 어렵지 않은 것으로 이해함) PEFS/EncFS를 사용하여 가장 중요한 파일을 보호할 수 있으며 이는 해독하기 더 어렵습니다.

관련 정보