Festplatte im pool ausbauen und durch zwei neue ersetzten

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Hallo,

ich habe in meinem truenas setup im moment eine festplatte eingebaut, da ich mir Gedanken gemacht habe und mir das backup technisch zu unisicher ist möchte ich diese 210GB platte durch zwei neue 1TB Festplatten ersetzten und diese in einen raid packen das die eine immer gespiegelt ist. Jetzt ist meine frage ist das möglich und wie mache ich das? Gibt es da eventuell eine anleitung/Dokumentation?

grüße Leonard und frohe Weihnachten
 

micneu

Patron
Joined
Mar 23, 2019
Messages
474
hat zwar nicht ganz was mit deinem vorhaben zu tun aber
!!!ein raid ersetzt kein backup!!!
wie du das mit den platten machen kannst / sollst ist das nicht in der doku beschrieben oder es wurde schon öfter hier im forum behandelt
ich habe in der doku mal "replace" gesucht und da wurde zu auch was gefunden. hoffe ich konnte dir damit helfen.
nur bin ich der meinung das du kein single drive zu einem mirror machen kann.
ich würde mir die 2 neuen platten in mein TrueNAS einbauen ein MIRROR bauen und dann die daten auf die neue platte(n) übertragen.
und danach die alte platte ausbauen oder was auch immer
 
Last edited:

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Bei nur 210G ist es wahrscheinlich am einfachsten, einen neuen Pool anzulegen. Wenn Du nur Platz für 2 Platten hast, kannst Du allerdings auch folgendes tun:
  • erste 1 TB Platte einbauen, dem vorhandenen Pool hinzufügen, um einen Mirror zu bauen - das geht u.U. nur auf der Kommandozeile
  • die 210 G Platte nach dem Spiegeln entfernen, die zweite 1 TB Platte einbauen, Spiegel wieder komplettieren
@micneu Doch, aus einer einzelnen Platte einen Spiegel machen geht immer.

Ich kann Dir den Kommandozeilen-Kram zusammenschreiben, aber natürlich vorher nicht testen. Neuen Pool anlegen wäre zu bevorzugen, wenn Du für alle drei Platten Platz hast.
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Hi,
ja ich ja ich habe für die 4 platten insgesamt platz, verstehe ich das richtig das ich mit den 2 neuen platten einen pool mache und dann die platte mit den 210GB dort einfüge also den jetzigen pool in den neuen pool importiere? Und macht das was wenn dort das Nextcloud plugin installiert ist? Weil das sollte nicht verloren gehen. Und es müsste doch auch gehen das ich die zwei neuen platten einbaue, dann die 210er durch eine der beiden platten ersetzte dann die andere neue platte hinzufüge und dann die alte ausbaue oder?
grüße leonard
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Nein, Du legst einen neuen Pool an und kopierst dann die Daten. Dazu kannst Du zfs send | zfs receive benutzen.

Dann fährst Du alle Services, Jails etc. runter undexportierst beide Pools. Dann kannst Du den neuen Pool wieder importieren und ihm dabei den Namen vom alten geben. Dann ein Reboot und auch die Dienste sollten wieder hoch kommen wie vorher.

Detailfragen werden hier weiter gerne beantwortet.
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Weil du hattest ja oben geschrieben das ich erst eine der neuen platten zum pool hinzufüge die machen dann automatisch einen mirror? Und dann entferne ich die alte platte und füge die andere neue dem pool hinzu Oder?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Das einfachste ist, einen komplett neuen gespiegelten Pool anzulegen. Die anderen Schritte waren für den Fall, dass Du nur zwei Einbauplätze hast.

Du musst den neuen Pool dann nicht exportieren. Aber alle Services, Jails, VMs, ... wir wissen ja nicht, was Du auf Deinem NAS alles am laufen hast ... müsstest Du dann umkonfigurieren, weil sich natürlich auch die Pfade ändern. Von /mnt/oldpool nach /mnt/newpool.

Um einen Pool umzubenennen, so dass Du den anderen Kram so lassen kannst, wie er ist, muss man ihn exportieren und wieder importieren.
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Habe auf dem Pool nur nextcloud drauf, wäre es möglich das du mir die einzelnen schritte dafür zusammen schreibst weil ich mir da bisschen unsicher bin und angst habe was falsch zu machen.
grüße Leonard
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Oder stell mir bitte die Kommandos für den Fall zusammen dass ich nur zwei Anschlüsse für Festplatten habe das wäre das einfachste für mich weil da wüsste ich was ich mache
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Poste mal die Ausgabe von zpool status und gpart list
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Code:
zpool status
  pool: boot-pool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:07 with 0 errors on Tue Dec 22 03:45:07 2020
config:

        NAME        STATE     READ WRITE CKSUM
        boot-pool   ONLINE       0     0     0
          ada0p2    ONLINE       0     0     0

errors: No known data errors

  pool: nextcloud
 state: ONLINE
  scan: scrub repaired 0B in 00:06:46 with 0 errors on Wed Dec 23 15:02:50 2020
config:

Code:
truenas#
truenas# gpart list
Geom name: ada0
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 234441607
first: 40
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 20480
   Mode: r0w0e0
   efimedia: HD(1,GPT,15820861-1b95-11eb-a2fb-80c16ee239e7,0x28,0x400)
   rawuuid: 15820861-1b95-11eb-a2fb-80c16ee239e7
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada0p2
   Mediasize: 120024203264 (112G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 544768
   Mode: r1w1e1
   efimedia: HD(2,GPT,15850439-1b95-11eb-a2fb-80c16ee239e7,0x428,0xdf90000)
   rawuuid: 15850439-1b95-11eb-a2fb-80c16ee239e7
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 120024203264
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 234423335
   start: 1064
Consumers:
1. Name: ada0
   Mediasize: 120034123776 (112G)
   Sectorsize: 512
   Mode: r1w1e2

Geom name: ada1
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 488397127
first: 40
entries: 128
scheme: GPT
Providers:
1. Name: ada1p1
   Mediasize: 2147483648 (2.0G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 65536
   Mode: r1w1e1
   efimedia: HD(1,GPT,bc984c16-1b91-11eb-a2d6-80c16ee239e7,0x80,0x400000)
   rawuuid: bc984c16-1b91-11eb-a2d6-80c16ee239e7
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 2147483648
   offset: 65536
   type: freebsd-swap
   index: 1
   end: 4194431
   start: 128
2. Name: ada1p2
   Mediasize: 247911780352 (231G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 2147549184
   Mode: r1w1e2
   efimedia: HD(2,GPT,bcb72cac-1b91-11eb-a2d6-80c16ee239e7,0x400080,0x1cdc58c8)
   rawuuid: bcb72cac-1b91-11eb-a2d6-80c16ee239e7
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 247911780352
   offset: 2147549184
   type: freebsd-zfs
   index: 2
   end: 488397127
   start: 4194432
Consumers:
1. Name ada1
Mdieasize: 250059350016 (230G)
Sectorsize: 512
Mode r2w2e5



Ich habe in der Documentation (https://www.truenas.com/docs/hub/initial-setup/storage/pools/) folgendes gelesen "The pool manager suggests a vdev layout based on the number of disks added to the vdev. For example, if two disks are added, TrueNAS automatically configures the vdev as a mirror, where the total available storage is the size of one added disk while the other disk provides redundancy. To change the vdev layout, open the Data VDevs list and select the desired layout: " heißt das dann auch das wenn ich die alte platte durch eine der neuen ersetzte dann die alte ausbaue und die andere neue dem pool hinzufüge der automatisch einen mirror ertellt?

grüße Leonard
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Sollte er so tun, ja. Ob dir das UI erlaubt, unterschiedlich große Platten hinzuzufügen, weiß ich im Moment nicht und kann ja auch nicht mal eben testen. Beim zpool status fehlt die Hälfte, aber die Partitionen sind recht eindeutig.

Gehen wir davon aus, Deine vorhandene Platte ist ada1 und die neue nach dem Einbau ist ada2.
Um die Partitionstabelle zu kopieren: gpart backup ada1 | gpart restore -F ada2.

Dann nochmal ein gpart list.

Die GPTID der Partition in Deinem ZFS-Pool ist höchstwahrscheinlich: gptid/bcb72cac-1b91-11eb-a2d6-80c16ee239e7, das war der Teil, der fehlte. Es ist die rawuuid von ada1p2. Du brauchst dann auch noch die rawuuid von ada2p2, der neuen Platte.

Zum Spiegel hinzufügen: zpool attach nextcloud gptid/bcb72cac-1b91-11eb-a2d6-80c16ee239e7 gptid/<rawuuid-von-ada2p2>

Dann kannst Du mit zpool status beim Resilver zugucken, sobald das durch ist:
Alte Platte aus dem Spiegel entfernen: zpool detach nextcloud gptid/bcb72cac-1b91-11eb-a2d6-80c16ee239e7

Damit sind Deine Daten auf der einen neuen Platte, der Pool hat seinen Namen behalten, Du musst auch nichts runterfahren, läuft einfach.
Die Daten sind auch nach dem detach auf der alten Platte noch da, Du hast also noch eine Sicherheitskopie.
Alte Platte ausbauen, zweite neue Platte einbauen, dann dasselbe Spiel nochmal, nur ohne das "detach".

Danach hast Du dann einen gespiegelten Pool aus zwei 230 G großen Partitionen auf Deinen neuen Platten. Die willst Du jetzt wahrscheinlich auf 1 TB vergrößern:
Code:
gpart resize -i 2 ada1 # wenn nach der Umbauerei ada1 auch schon eine der 1 T Platten ist.
gpart resize -i 2 ada2 # wenn die zweite 1 T Platte ada2 ist
zpool online -e gptid/<rawuuid-von-ada1p2>
zpool online -e gptid/<rawuuid-von-ada2p2>
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Hi, vielen Dank ich werde es dann so machen. Wenn ich dann wieder zwei neue platten hinzu füge gehen die dann automatisch in einen mirror?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Nein. Die musst Du ebenfalls konfigurieren. Je nachdem, ob Du einen zweiten Pool willst oder ein zweites vdev in dem vorhandenen Pool. TrueNAS schreibt ja nicht von selbst auf irgendwelchen Platten rum, nur weil man sie reinsteckt. Könnte üble Folgen haben. Und es kann ja nicht wissen, was und wie Du mit diesen Platten tun willst.
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
okay danke, da ich ja im moment noch auf die beiden 1TB festplatten warte weil die leider nicht gekommen sind und ich noch eine mit 500GB hatte habe ich die gerade eingebaut und dem pool hinzugefügt hatte eigentlich gehofft das der in einen Mirror geht aber der ist bei Stripe geblieben kann ich das ändern? also das ich quasi jetzt einen Mirror mache auch wenn die Platten nicht gleich groß sind? sollte ja eig gehen weil die 500GB platte ja genug platz hat oder?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Ich hab Dir doch klipp und klar geschrieben, wie Du die Platte hinzufügen sollst. Wenn in Deinem Stripe jetzt eine Deiner Platten ausfällt ist Dein Pool Toast. Alle Daten. Endgültig.

Leg einen neuen Pool aus den beiden 1 TB-Platten an und kopier die Daten rüber, dann schmeiß den Stripe-Pool weg.
 

Leonard Lassen

Explorer
Joined
Nov 19, 2020
Messages
82
Okay sorry! Jetzt ist halt gerade eine noch eine platte mit 500GB drinnen, kann die aber irgednwie nicht löschen ist das Schlimm ne oder?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Okay sorry! Jetzt ist halt gerade eine noch eine platte mit 500GB drinnen, kann die aber irgednwie nicht löschen ist das Schlimm ne oder?
Wie gesagt, wenn deine 230er oder deine 500er ausfällt sind alle Daten weg. Ein vdev removal ist wohl seit neustem möglich bei einfachen Stripes, das musst Du aber selbst recherchieren, da fehlt mir die Erfahrung mit. Du hast halt die Eintrittswahrscheinlichkeit eines Datenverlustes im Moment verdoppelt.

Und wie kopier ich die Daten rüber? oder ist das oben in deiner Anleitung mit drinnen?
So wie man auf einem Unix auf der Kommandozeile Dateien kopiert ...
tar c... | ( cd /zielverzeichnis; tar x... )
find -d -x . | cpio -pdum /zielverzeichnis

Oder mit ZFS snapshots und zfs send ... | zfs receive ..., dann würdest Du die gesamte ZFS-Struktur mitnehmen. Ist der "nextcloud" Pool für ein Jail, in dem Deine Nextcloud läuft? Woher soll ich das alles wissen, wenn Du nicht alle Informationen rüberschiebst? Wieso glaubst Du, an Pool-Topologien rumbasteln zu können, wenn Du nicht weißt, wie man Dateien kopiert?

Sorry, ich will nicht irgendwie überheblich sein. Wenn Du Deine beiden Platten eingebaut und einen gespiegelten Pool hast, dann melde Dich bitte wieder mit dem Output von zfs list. Dann schreib ich Dir gerne die Kommandos zusammen ...
Aber ein Buch "Unix für Anfänger" wäre vielleicht eine Empfehlung ...
 
Top