그래서 저는 최근 여기 집에 작은 서버를 설치했습니다.
SSD에 기본 시스템을 설정하고 데이터 저장을 위해 더 큰 HDD로 구성된 ZFS 풀을 설정했습니다.
이제 제가 스스로 묻고 있던 질문은 mysql, ownCloud, gitolite 등과 같은 서비스를 설정하려는지 여부였습니다. SSD에 데이터 폴더를 유지하고 SSD의 특수 백업 데이터 세트에 정기적으로 RSYNC를 수행하는 것이 더 합리적일 것입니다. ZFS 볼륨을 사용하거나 먼저 ZFS 풀에 데이터 폴더를 유지해야 합니다.
제 생각에는 SSD에 저장하고 동기화하는 것은 아마도 ZFS와 함께 제공되는 일관성 검사를 잃어버리고 애초에 ZFS를 사용하는 목적을 무너뜨리기 때문에 좋은 생각이 아닐 것입니다.
이러한 상황에서 권장되는 옵션은 무엇입니까? /var/lib의 모든 항목을 풀 폴더로 심볼릭 링크하는 것이 올바른 방법입니까? 구성 스크립트를 수정해야 합니까? 먼저 ZFS 볼륨에 /var를 마운트해야 합니까?
일반적으로 ZFS 볼륨에 어떤 폴더를 배치해야 합니까?
답변1
항상 그렇듯이 상황에 따라 많이 달라집니다.
비트 플립의 위험 없이 장기간 백업 보관을 위해 ZFS를 원하고 많은 변경을 원하지 않는 경우 원하는 방식으로 기본 시스템을 사용하고 md5deep
활성 데이터에 체크섬(예: )을 사용한 다음 복사할 수 있습니다. /rsync를 백업 풀에 추가하고 해싱을 한 번 더 수행하면 완료됩니다.
최대 애플리케이션 성능을 원한다면 애플리케이션과 데이터를 분할할 수 있습니다. 모든 파일 시스템의 SSD에 있는 애플리케이션(쉽게 다시 설치할 수 있기 때문에), 풀에 있는 데이터(귀중하기 때문에). 그런 다음 애플리케이션에 필요한 사항에 따라 로컬로 또는 NFS를 통해 데이터를 사용합니다.
균형 잡힌 성능(더 나은 풀 성능을 원하지만 두 번째 예의 기본 액세스만큼 빠르지는 않음)을 원하고 레이아웃 재구성에 문제가 없는 경우 SSD를 ZFS 의도 로그(ZIL)에 대한 별도의 로그 장치로 추가할 수 있습니다. , 이는 동기 쓰기 속도를 높입니다. 하지만 디스크에 쓰는 모든 데이터는 SSD에도 기록되므로 평소보다 빨리 마모 평준화로 인해 소멸될 수 있으므로 주의하세요.
어떤 경우에도 ZFS 파일 시스템 및 zvols에서만 스냅샷을 얻을 수 있습니다. 이 기능만으로도 ZFS를 최대한 많이 사용할 수 있을 것입니다. 잘못된 소프트웨어를 설치했습니까? 롤백하면 상태가 다시 깨끗해집니다. 시스템 업그레이드 후 부팅이 실패합니까? 걱정하지 말고 15분 전의 마지막 좋은 스냅샷을 사용하세요. /etc/의 일부 파일을 편집하는 동안 실수로 중요한 시스템 정보를 덮어썼습니까? 문제 없습니다. 해결해 드리겠습니다.