Festplattentausch die 100.ste

Joined
Jan 8, 2022
Messages
3
Hallo Community,

auch wenns wahrscheinlich die 10000.ste Frage in die Richtung ist, ich hab zu meinem Problem nicht wirklich was gefunden.

Also:
Das ist die Ausganssituation
Version: TrueNAS-12.0-STABLE
Mainboard: Asus B150 Aura
CPU: Intel(R) Core(TM) i5-6600K CPU
Festplatten: 2x1TB Mirror als Pool1
2x1TB Mirror als Pool2
1x USB als Systemlaufwerk
Jails: 1x IoBroker
SATA Header 4 Stück

und jetzt kommt der Spaß

ich würde gerne die 4 1x1TB gegen 2x4TB austauschen (Platzproblem mit dem Case), dabei soll so wenig wie möglich kaputt gehen und die 2x4TB sollen wieder als Mirror laufen.

Welche Möglichkeiten habe ich?

Gehen so Sachen wie 1 der 1TB gegen eine 4TB tauschen und dann die POOLs zusammenlegen, dann die 2. 4TB einsetzen?
Muss ich dann alle USER Zugriffsberechtigungen neu setzten?

Bin für jeden Vorschlag offen, solang es keine NEUINSTALATION ist.

Vielen Dank im Voraus
Thomas
 

FJep

Dabbler
Joined
Mar 7, 2019
Messages
38
Du kannst den Pool1 größer machen, in dem du die Festplatten durch die größeren ersetzt und dann die Datasets vom Pool2 in den Pool1 kopierst.
Siehe Replacing a Disk
Dataset kopieren mit
Code:
zfs snapshot -r pool2/mydataset@relocate
zfs send -R pool2/mydataset@relocate | zfs receive -v pool1/mydataset

Es ist allerdings sehr schade, dass du nur 4 Ports hast. Sonst könntest du die zu ersetzende Platte beim Ersetzen jeweils online lassen und behälst während des Ersetzens die Redundanz.
Also Backup machen und entweder das Risiko eingehen oder wenn Pool2 nicht zwingend benötigt wird, könnte man ihm auch die Platten während der Prozedur klauen und die Ports für die neuen Platten nutzen.
Das Ersetzen aber lieber schön einzeln machen.

Viel Erfolg
Frank
 
Last edited:
Joined
Jan 8, 2022
Messages
3
Hi Frank,

danke erstma für die Antwort.
Gäbe es die Möglichkeit die neue Platte erstmal an nen Usb Port zu hängen, dann die Pools darauf zu spielen und die Redundanz hinterher mit der 2. neuen Platte herzustellen?

Andere Frage: muss ich dann die Userzuweisungen neu erstellen?

Thomas
 

awasb

Patron
Joined
Jan 11, 2021
Messages
415
Geht. Theoretisch. Ist aber leider nicht nur (vergleichsweise) langsam, sondern auch (vergleichsweise) fehleranfällig (je nach Kabelverbindung am USB-Gehäuse).

Aber wenn Du eh zwei Pools aus jeweils 2x1TB-Platten im Mirror hast, warum legst Du nicht (durch Export ohne destroy) einen der beiden Pools (pool2) still, wie es FJep vorschlägt, klemmst die beiden Platten des Pools ab, schließt die beiden neuen Platten an den jetzt freien Ports an, baust daraus den neuen Mirror poolgesamt, replizierst die Daten von pool1 (in den jeweiligen Datasets!) dahin, exportierst (wieder ohne destroy) pool1, baust die Platten aus, baust die von pool2 ein, importierst und replizierst aus pool2 den Rest der Datasets auf poolgesamt? Danach baust Du zuletzt die pool2-Platten aus und gut ist's. Oder habe ich da was überlesen/missverstanden?

Oder hast Du Deine Daten quasi "flat" in den Pools? Dann müsstest Du zuerst auf dem neuen poolgesamt Datasets bauen (z.B. pool1 und pool2), in die Du die jeweiligen (Gesamt)Pools pool1 und pool2 replizierst.

Zur zweiten Frage: Nein. Wenn alles gut geht[tm] und Du send/recieve verwendest, bleiben Daten und Metadaten (incl. Windows ACLs etc.) erhalten. Evtl. musst Du allerdings bei Shares z.B. die Pfadangaben an den neuen Pool (und evtl. neue Datasets) anpassen.
 
Last edited:
Joined
Jan 8, 2022
Messages
3
Blöde Frage:

Was verstehst du unter „flat“
Habe die Pools erstellt und damals die Daten einfach über das Windows Netzwerk hinein kopiert.

Thomad
 

awasb

Patron
Joined
Jan 11, 2021
Messages
415
Mit "flat" meinte ich genau das, was Du beschreibst: einen Pool ohne weitere Datasets darin (die man einzeln per Snapshot exportieren könnte). Quasi ohne weitere darin enthaltene (ZFS-)Filesystem-"Hierarchie".
 
Top