Noch als Ergänzung, der Server läuft mit Debian 12
# uname -a Linux webserver1-4gb-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/LinuxZFS - One Disk Pool -> Mirror Pool
-
Auf meinem neuen Rechner, habe ich einen Proxmox installiert. Als Datengrab hatte ich eine Platte meines alten RAID Verbundes genommen und dort eingebaut.
Dann alle Daten vom NAS auf die neue Platte im Proxmox geschaufelt. Die Platte sieht so aus.
root@pve:~# zpool status pool: ZFS-Pool state: ONLINE config: NAME STATE READ WRITE CKSUM ZFS-Pool ONLINE 0 0 0 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 ONLINE 0 0 0 errors: No known data errors
Ok, so weit so gut. Nachdem jetzt alle Daten drüben sind, ich das so weit es ging kontrolliert habe, nehme ich jetzt die zweite Platte aus dem NAS heraus und möchte diese zu dem ZFS-Pool hängen, so das ein Mirror entsteht. Keine Sorge, wenn was schief geht, ich habe auch immer noch ein Backup des NAS
Mal schnell im Netz ein paar Seiten angeschaut und ein, zwei Videos angesehen. Ich denke ich weiß jetzt, wie es geht ....
Ok, erster Versuch
Bitte nicht die Disk Label sda sdb usw. benutzen! Nur die IDs aus /dev/disk/by-id !!
root@pve:~# zpool attach ZFS-Pool sda sdb cannot attach sdb to sda: no such device in pool
Hmm, geht nicht. Mir war aber sehr schnell klar, woran das lag. Wie man im Status sieht, hat die PVE Software, den Namen von /dev/disk/by-id genommen.
root@pve:/dev/disk# ls by-id/ ata-WDC_ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 [..gekürzt..]
Ich hatte jetzt folgendes eingegeben
root@pve:~# zpool attach ZFS-Pool ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 sdb
Nach kurzer Zeit war der Befehl fertig. Kontrolle
root@pve:~# zpool status pool: ZFS-Pool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Sun Oct 17 08:25:49 2021 55.7G scanned at 6.19G/s, 264K issued at 29.3K/s, 838G total 0B resilvered, 0.00% done, no estimated completion time config: NAME STATE READ WRITE CKSUM ZFS-Pool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 ONLINE 0 0 0 sdb ONLINE 0 0 0 errors: No known data errors
Wie man sieht, ist der Mirror vorhanden. Der Mirror macht aktuell einen "resilver", ok kann ich mir nicht richtig übersetzen aber ich weiß ja was er jetzt macht. Er spiegelt die Daten von der einen Platte auf die anderen. Später sieht das so aus.
root@pve:/dev/disk# zpool status -v ZFS-Pool pool: ZFS-Pool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scan: resilver in progress since Sun Oct 17 08:25:49 2021 838G scanned at 502M/s, 185G issued at 111M/s, 838G total 187G resilvered, 22.06% done, 01:40:33 to go config: NAME STATE READ WRITE CKSUM ZFS-Pool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 ONLINE 0 0 0 sdb ONLINE 0 0 0 (resilvering) errors: No known data errors
OK, ist noch dran
Jetzt so im Nachhinein betrachtet, bekomme ich ein wenig Kopfschmerzen, ob ich nicht auch besser die by-id benutzt hätte!?? Das weiß ich aktuell nicht, muss ich googeln.
Was man machen könnte, das Laufwerk sdb detachen und dann mit by-id attachen. Aber, ob das Sinn macht???
Hier ein netter Beitrag im Netz, was man machen kann wenn die Label falsch sind.
Changing disk identifiers in ZFS zpool · PLANTROON's blog
PLANTROON's tech blog
PLANTROON's blog (plantroon.com)