Ich möchte einen Dateiserver/NAS erstellen und dabei btrfs verwenden, um die Daten (vor Bitrot) zu schützen, aber ich möchte meinen vorhandenen KVM/QEMU-Server (Debian mit btrfs raid1) verwenden und zu diesem Zweck eine VM erstellen.
Wenn ich die VM erstelle und die Daten in einem ext4-Dateisystem speichere, würde die BTRFS-Prüfsummenanalyse auf dem Hostserver dann eine Datenbeschädigung auf der VM erkennen?
--------------------
| KVM server |
| btrfs - raid1 |
| ----------- |
| | VM-ext4 | |
| ----------- |
|------------------|
Wenn die vorherige Antwort Nein ist, muss ich die VM dann auch mit btrfs als Dateisystem erstellen?
In diesem Fall müsste ich, um die „Selbstheilungs“-Funktion von btrfs beizubehalten, mindestens zwei virtuelle Festplatten erstellen, um btrfs in raid1 zu haben.
---------------------
| KVM server |
| btrfs - raid1 |
| ------------ |
| | VM-btrfs | |
| | 2 x vda | |
| ------------ |
|-------------------|
Auf diese Weise würde ich jedoch eine Menge Platz verschwenden ... RAID 1 im Hostserver plus RAID 1 in der VM.
Oder ist die beste Lösung vielleicht, den Dateiserver direkt auf dem Hostserver zu implementieren (obwohl ich eine gewisse Trennung zwischen diesen beiden Rollen vorziehen würde)?
Aktualisierung 1
Obwohl ich btrfs bevorzuge, ist meine Hauptfrage, ob btrfs/zfs beim Erkennen und Korrigieren stiller Beschädigungen auf VM-Festplatten nützlich sind. Wie können diese Dateisysteme stille Beschädigungen von normalen Festplattenschreibvorgängen auf der virtuellen Festplatte unterscheiden?
Aktualisierung 2
Nach einigem Googeln konnte ich nur einige weitere Informationen dazu findenFrage von Serverfault.
Einigen Kommentaren zufolge wäre auch das virtuelle Gastsystem gefährdet, sofern kein komplexeres Dateisystem implementiert würde (wahrscheinlich ein RAID-1-Gastdateisystem innerhalb eines RAID-1-Hostdateisystems).
Meine Idee ist jetzt folgende:
- Richten Sie den Dateiserver auf dem KVM-Hostserver ein
- Bewahren Sie die kritischen Daten sicher auf dem Dateiserver auf (der bereits btrfs verwendet) und geben Sie sie über NFS an die VMs weiter.
- COW für den VM-Disk-Image-Ordner deaktivieren
- Erstellen Sie KVM-Snapshots der VMs und sichern Sie deren Konfigurationsdateien auf den NFS-Freigaben
Ist das eine sinnvolle Lösung oder vergesse ich ein wichtiges Detail?
Antwort1
Ich stütze mich hauptsächlich daraufServerfehler-Beitrag aber ich werde versuchen, selbst zu antworten.
Wenn ich die VM erstelle und die Daten in einem ext4-Dateisystem speichere, würde die BTRFS-Prüfsummenanalyse auf dem Hostserver dann eine Datenbeschädigung auf der VM erkennen?
Nein. Soweit ich weiß, gibt es für das Hostsystem keine Möglichkeit, eine Datenbeschädigung im VM-Dateisystem festzustellen.
Wenn die vorherige Antwort Nein ist, muss ich die VM dann auch mit btrfs als Dateisystem erstellen?
Ja.
Oder ist die beste Lösung vielleicht, den Dateiserver direkt auf dem Hostserver zu implementieren (obwohl ich eine gewisse Trennung zwischen diesen beiden Rollen vorziehen würde)?
In meinem Fall wäre die Lösung:
- Richten Sie den Dateiserver auf dem KVM-Hostserver ein
- Bewahren Sie die kritischen Daten sicher auf dem Dateiserver auf (der bereits btrfs verwendet) und geben Sie sie über NFS an die VMs weiter.
- COW für den VM-Disk-Image-Ordner deaktivieren
- Erstellen Sie KVM-Snapshots der VMs und sichern Sie deren Konfigurationsdateien auf den NFS-Freigaben


