(bitrot에서) 데이터를 보호하기 위해 btrfs를 사용하는 동안 파일 서버/NAS를 구축하고 싶지만 기존 KVM/QEMU 서버(btrfs raid1이 포함된 debian)를 사용하고 이 목적을 위해 VM을 생성하고 싶습니다.
VM을 생성하고 ext4 파일 시스템에 데이터를 저장하면 호스트 서버의 btrfs 체크섬이 VM의 데이터 손상을 감지합니까?
--------------------
| KVM server |
| btrfs - raid1 |
| ----------- |
| | VM-ext4 | |
| ----------- |
|------------------|
이전 대답이 '아니오'인 경우 btrfs를 파일 시스템으로 사용하여 VM도 생성해야 합니까?
이 경우 btrfs의 "자가 복구" 기능을 유지하려면 raid1에 btrfs를 포함하도록 가상 디스크를 2개 이상 생성해야 합니다.
---------------------
| KVM server |
| btrfs - raid1 |
| ------------ |
| | VM-btrfs | |
| | 2 x vda | |
| ------------ |
|-------------------|
하지만 이렇게 하면 많은 공간을 낭비하게 됩니다. 호스트 서버의 raid1과 VM의 raid1입니다.
아니면 가장 좋은 해결책은 파일 서버를 호스트 서버에 직접 구현하는 것입니다(비록 저는 이 두 역할을 어느 정도 분리하는 것을 선호하지만).
업데이트 1
저는 btrfs를 선호하지만 VM 디스크의 자동 손상을 감지하고 수정하는 데 있어 btrfs/zfs의 유용성에 대한 주요 질문이 있습니다. 이러한 파일 시스템은 가상 디스크의 정상적인 디스크 쓰기와 자동 손상을 어떻게 구별할 수 있습니까?
업데이트 2
좀 더 인터넷 검색을 한 후에 이것에 대한 추가 정보를 찾을 수 있었습니다.serverfault의 질문.
일부 의견에 따르면 더 복잡한 파일 시스템(예: raid1 호스트 파일 시스템 내부의 raid1 게스트 파일 시스템)이 구현되지 않는 한 가상 게스트 시스템도 위험할 수 있습니다.
이제 내 생각은 이렇습니다.
- kvm 호스트 서버에 파일 서버 설정
- 파일 서버(이미 btrfs를 사용하고 있음)에서 중요한 데이터를 안전하게 유지하고 NFS를 통해 VM과 공유합니다.
- VM 디스크 이미지 폴더에 대해 COW를 비활성화합니다.
- VM의 kvm 스냅샷을 생성하고 해당 구성 파일을 NFS 공유에 백업합니다.
이것이 합리적인 해결책입니까, 아니면 중요한 세부 사항을 잊어버린 것입니까?
답변1
나는 주로 그것을 기반으로하고 있습니다.서버 오류 게시물 하지만 나는 스스로 대답하려고 노력할 것입니다.
VM을 생성하고 ext4 파일 시스템에 데이터를 저장하면 호스트 서버의 btrfs 체크섬이 VM의 데이터 손상을 감지합니까?
아니요. 제가 수집한 바에 따르면 호스트 시스템이 VM 파일 시스템의 데이터 손상을 감지할 수 있는 방법은 없습니다.
이전 대답이 '아니오'인 경우 btrfs를 파일 시스템으로 사용하여 VM도 생성해야 합니까?
예.
아니면 가장 좋은 해결책은 파일 서버를 호스트 서버에 직접 구현하는 것입니다(비록 저는 이 두 역할을 어느 정도 분리하는 것을 선호하지만).
내 경우에는 해결책은 다음과 같습니다.
- kvm 호스트 서버에 파일 서버 설정
- 파일 서버(이미 btrfs를 사용하고 있음)에서 중요한 데이터를 안전하게 유지하고 NFS를 통해 VM과 공유합니다.
- VM 디스크 이미지 폴더에 대해 COW를 비활성화합니다.
- VM의 kvm 스냅샷을 생성하고 해당 구성 파일을 NFS 공유에 백업합니다.


