Einbinden einer vorhandenen Festplatte ohne die Verzeichnissse und Dateien zu löschen

Ich Augenblick bist Du im Prozess des reparieren des ZFS Pools und dabei sind mir Probleme aufgefallen, die vor Nutzung korrigieren möchte.

Wenn dann die mitlesenden Administratoren Dir alles wichtige mitgeteilt haben, dann geht es mit
# https://forum.proxmox.com/threads/einbinden-einer-vorhandenen-festplatte-ohne-die-verzeichnissse-und-dateien-zu-löschen.162348/post-748705
weiter.
Vorher muss die Kontrolle über den ZFS Pool natürlich von Proxmox genommen werden.
zpool export <pool-name>

Ob das Vorgehen das einzigste und sinnvollste ist, ist nicht bekannt, da deine die Zielsetzung und die Daten unbekannt sind.
Ich nutze Samba (CIFS) für die Bereitstellung von Daten an VM über einen privileged LXC, in dem ein Samba Server läuft. Dem LXC übergebe ich ein ZFS Dataset als Bind-Mountpoint.

# https://pve.proxmox.com/wiki/Linux_Container

Mit Proxmox 8.4.1 ist nun funktionierend und über die GUI administrierbar Virtiofs eingezogen.

# https://pve.proxmox.com/wiki/QEMU/KVM_Virtual_Machines
 
Last edited:
Code:
root@proxmox:~# zpool list -v
NAME                       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
Daten                       40T  27.6T  12.4T        -         -    10%    68%  1.00x  DEGRADED  -
  raidz3-0                  40T  27.6T  12.4T        -         -    10%  69.0%      -  DEGRADED
    zfs-8804aba7fbe8fcb3  3.64T      -      -        -         -      -      -      -    ONLINE
    sdc                   7.28T      -      -        -         -      -      -      -    ONLINE
    sdb                   3.64T      -      -        -         -      -      -      -    ONLINE
    sda                   3.64T      -      -        -         -      -      -      -    ONLINE
    sdi                   3.64T      -      -        -         -      -      -      -    ONLINE
    6308719025548114786   7.28T      -      -        -         -      -      -      -   FAULTED
    sdd                   7.28T      -      -        -         -      -      -      -    ONLINE
    sde1                  7.28T      -      -        -         -      -      -      -    ONLINE
    sdh                   3.64T      -      -        -         -      -      -      -    ONLINE
    sdf                   3.64T      -      -        -         -      -      -      -    ONLINE
    sdg                   3.64T      -      -        -         -      -      -      -    ONLINE
Code:
root@proxmox:~# zfs list -r
NAME                      USED  AVAIL  REFER  MOUNTPOINT
Daten                    20.0T  8.87T  19.0T  /Daten
Daten/subvol-100-disk-0  18.5M  1.99G  13.9M  /Daten/subvol-100-disk-0
Daten/subvol-102-disk-0   676M  1.34G   674M  /Daten/subvol-102-disk-0
Daten/subvol-103-disk-0   694M  7.32G   692M  /Daten/subvol-103-disk-0
Es sind eine DockerVM, Embyserver und Adguard mit dem vmid 100,102 und 103 am laufen. OMV hat die vmid 101.
In meinem Pool habe ich diverse Datasets (?), im FTP als Ordner zugänglich (Bilder, Medien, Downloads, Home). Könnte ich die an OMV weiterreichen?
 
Ich nutze Samba (CIFS) für die Bereitstellung von Daten an VM über einen privileged LXC, in dem ein Samba Server läuft. Dem LXC übergebe ich ein ZFS Dataset als Bind-Mountpoint.

# https://pve.proxmox.com/wiki/Linux_Container

Mit Proxmox 8.4.1 ist nun funktionierend und über die GUI administrierbar Virtiofs eingezogen.

# https://pve.proxmox.com/wiki/QEMU/KVM_Virtual_Machines
DAs wäre ja meine Idee. OMV kann ja eine Sambafreigabe erstellen auf die dann die anderen LXC Container und PCs zugreifen können.
 
Danke für die Rückmeldung.
Ein Dataset direkt im ZFS Pool Daten und 3x ein ZFS Volume subvol-10?-disk-0.
Die OMV-Daten in ZFS Pool Daten würde ich in eigenes ZFS Dataset verlagern.
Z.B. Daten/OMV
Code:
# ZFS Dataset erzeugen
zfs create Daten/OMV

# Rechte anlegen, z.B.
chown <user>:<group> /Daten/OMV
chmod 02775 /Daten/OMV

# Dann muss man die 20 TByte an Daten noch kopieren/ verschieben,
# Achtung cp, rsync es werden mehrfach Daten angelegt, die nach einer Kontrolle gelöscht werden muss.
# cp -a /Daten/<dirN> /Daten/OMV/<dirN>
rsync -avP /Daten/<dirN> /Daten/OMV/<dirN>
# mv /Daten/<dirN> /Daten/OMV/<dirN>

Was sich noch beißt, ist, der ZFS Pool enthält unterschiedlich große HDDS, 4 TB wurden mit 8 TB gemischt.

Ich würde alle Daten in ein Backup schreiben.
Die subvol-10?-disk-0 kann man getrennt in einen weiteren ZFS Pool/Dataset, mit 2x SSD als ZFS Mirror sichern.
Der Pool Daten hat sicherlich auch kein zfs quota gesetzt. Das Quota muss ca. 80 % der maximalen Größe des ZFS Pools sein. Dann sehe ich auch kein ZFS Spezial Device mit 3x SSD als ZFS 3-fach mirror.

Den Pool würde ich insgesamt auflösen, mit gleich großen Platt neu gestalten und ein Kombination aus ZFS RaidZn (VDEV0), ZFS Stripe, ZFS RaidZn (VDEV1) und ein ZFS Spezial Device (VDEV2) mit 3x SSD als ZFS 3-fach mirror anlegen.
Als SSD sind Kingston DC600M geeignet.

Das erhöht merklich den Datenduschsatz IOPs im lesen und schreiben von Daten.

Ein ZFS Spezial Device (VDEV2) kann nicht mehr aus dem ZFS Pool entfernt werden und muss deshalb die selbe oder bessere Ausfallsicherheit haben, wie der Main ZFS HDD Pool.

# https://forum.level1techs.com/t/zfs-metadata-special-device-z/159954
 
Last edited:
Nun ja, wenn man sehr viel Zeit hat ginge das alles. Ich möchte ja nur ein Datengrab im Netzwerk haben. Da mir OMV nicht stabil genug war und es immer wieder mal durch Updates kaputt ging möchte ich Proxmox darunter einsetzen.
Könnte ich also über
Code:
qm set 101 -scsi0 /Daten/Bilder
qm set 101 -scsi1 /Daten/Medien
usw. die Ordner aus dem Pool an die VM weiterreichen? Dann von dort via SMB freigeben so dass z.B. Emby sie sieht.

Edit: Also so einfach geht es nicht :-(
Code:
root@proxmox:~# qm set 101 -scsi0 /Daten/Bilder
400 Parameter verification failed.
scsi0: unable to associate path '/Daten/Bilder' to any storage
 
Last edited:
Was wass Du machen wolltest geht nur mit ZFS Volumes, das sind Blockdevice.

Nimm bitte Virtiofs:

Mit Proxmox 8.4.1 ist nun funktionierend und über die GUI administrierbar Virtiofs eingezogen.

# https://pve.proxmox.com/wiki/QEMU/KVM_Virtual_Machines

Bitte erst einige neue Datastore anlegen.
Code:
zfs create Daten/OMV
zfs create Daten/OMV/Bilder
zfs create Daten/OMV/Medien
dann die Daten um kopieren und die alten Daten löschen.

Unter Datacenter -> Directory Mapping
Legst Du Dir einen Eintrag an:
Datacenter -> Directory Mapping, TAB Add

Wichtig:
Das ist aber alles hinfällig, da der ZFS Pool nicht korrekt konfiguriert wurde!
 

Attachments

  • 01-20250413-Datacenter.png
    01-20250413-Datacenter.png
    121 KB · Views: 3
  • 02-20250413-Datacenter.png
    02-20250413-Datacenter.png
    128.5 KB · Views: 3
  • 03-20250413-Datacenter.png
    03-20250413-Datacenter.png
    118.6 KB · Views: 3
Okay, das mit dem Directory Mapping habe ich gemacht und eingebunden. Leider erscheint sie nicht in OMV.
1744560577535.png
 
Nun lies bitte mal die Anleitung, auf der Clientseite muss man die Freigabe auch noch mounten.

mount -t virtiofs Bilder <dest-directory>
 
Entweder existiert hier das zu Mountende Verzeichnis nicht (Bilder) oder aber das Destination (Bilder) existiert als Ordner im Ziel nicht.
Zumindest kenne ich das nur so, das man am Ziel einen existierenden Ordner benötigt - kann mich täuschen.
 
  • Like
Reactions: UdoB
Nunja, ich dachte das Quellverzeichnis hätte ich oben erstellt. Ein Zielverzeichniss kann ich in OMV nicht erstellen, weil eben noch kein Ziellaufwerk erkannt wird.
 
Nun ja, ohne dir näher treten zu wollen, fehlen dir Grundkenntnisse in Linux, der mount point muss von dir angelegt werden.
Z.B folgendermaßen:
Code:
 mkdir /mnt/Bilder

Das ist dann ein leeres Verzeichnis, das als Ziel für den mount-Befehl verwendet wird, dort finden wir dann, wenn alles gut geht, das vom Host System bereitgestellte Verzeichnis über virtiofs.
Eventuell muss man auf beiden Ebenen noch die rechte anpassen, aber da wirst du dich schon einlesen, wie das bei Linux funktioniert.
 
  • Like
Reactions: ThoSo
Also, soweit ich das Problem nach Recherche verstehen konnte, liegt es daran das OMV mit virtiofs nicht umgehen kann.
Daher ein anderer Ansatz: Kann ich in Proxmox mehr als einen SCSI Controller an die VM weiterreichen (so dass OMV dann den ZFS Pool managen kann)?
Via WebUI kann ich nur jeweils einen auswählen:
1744828599959.png
 
Also, soweit ich das Problem nach Recherche verstehen konnte, liegt es daran das OMV mit virtiofs nicht umgehen kann.
Daher ein anderer Ansatz: Kann ich in Proxmox mehr als einen SCSI Controller an die VM weiterreichen (so dass OMV dann den ZFS Pool managen kann)?
Via WebUI kann ich nur jeweils einen auswählen:
View attachment 85046
Du wählst nur den Typ des Controllers. Jede virtuelle Disk hat einen eigenen virtuellen Controller.
 
  • Like
Reactions: Johannes S