Raid entfernen

Marti95

Benutzer
Mitglied seit
06. Aug 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Sali zusammen

Ich habe folgendes Problem.
Ich habe ein DS212+ mit einer WD RED 3TB. Als Datensicherung eine Externe 1TB.
Meine HDD (interne) begann plötzlich probleme zu verursachen, also habe ich ein Support Case beim Händler eröffnet welcher mir auch vorab eine HDD zugesendet hat. Jetzt habe ich die HDD als Datenträger 2 installiert und anschliessend ein RAID 1 auf beide HDD eingerichtet.
Die Daten wurden gespiegelt also habe ich den "Defekten" datenträger entfernt und den neuen in den Datenträger 1 umgebaut.
Die Defekte platte habe ich formatiert und diese soll so schnell wie möglich zurück zum Händler.

Soweit so gut.
Nur wie bringe ich das RAID wieder weg? Ich bekomme die ganze Zeit eine Meldung das das Volume 1 degradiert wurde.
Jedoch möchte ich aus Volume 1 wieder ein Basic volume machen.

Wie geht das?
Ich habe gestern Abend noch 2h getüftelt aber nichts hat funktioniert.

Ich bin euch sehr dankbar für jede Antwort.

Gruss
Marti
 

borg2k

Benutzer
Mitglied seit
08. Mai 2012
Beiträge
1.789
Punkte für Reaktionen
0
Punkte
0
Das geht nicht. Aus Raid 1 kannst du im Nachhinein kein Raid 0 oder aber Basic-Volumen machen, zumindest nicht mit dem DSM. Die bessere Lösung wäre gewesen, den 2. Datenträger als Basis (Basic)-Volumen zu integrieren und dann einfach die Daten von der ersten Platte per Filestation rüberzukopieren.
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
Hallo,

soweit ich weiß, geht mit Bordmitteln nur ein Hochstufen, also von Basis-Datenträger hoch zu einem Raid-Level, nicht aber der Weg zurück. Das das neu erstellte Raid schreit, wenn du eine Platte ziehst, ist eigentlich normal. Der bessere Weg wäre gewesen, eine Datensicherung anzulegen und die wieder zurück zu spielen. Oder einen zweiten Basis-Datenträger.

Das Umstecken von Bay 2 zu Bay 1 ist eigentlich auch riskant. Es wird immer empfohlen, die Festplatten bei einem Raid immer in dieselben Steckplätze zu stecken, in denen sie waren, als das Raid eingerichtet wurde. Zwar handelt es sich bei der DS um ein Software-Raid, trotzdem würde ich dieser Empfehlung nachkommen.

Eine Idee wäre, vielleicht über die Konsole etwas zu experimentieren. Basis-Datenträger sind, soweit ich weiß, ebenfalls Raid-basierte Volumes mit nur einem Datenträger. Vielleicht kann man mit dem mdadm einfach die zweite, nicht vorhandene Platte, dem Raid entziehen? Aber Vorsicht! Auf der Konsole kann man schnell großen Schaden anrichten.

Ciao Jan

Edit: Schade, wieder zu langsam..
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
Ok, stimmt auch wieder.

Das größte Problem bei Basis-Datenträgern ist, was ich so lange nicht gesehen hab, daß die Pakete ja eigentlich auf Volume1 installiert werden. Synology müßte mal was erfinden, daß die eigentlichen Daten (gemeinsame Ordner) und die Pakete trennt. Denn die Verzeichnisse mit @ werden ja in der FileStation nicht angezeigt. Also kann man die nicht einfach so übertragen.

Eigentlich müßte die Struktur des DSM so aussehen:
Partition 1: DSM
Partition 2: Swap
Partition 3: Pakete, Datenbank(en), Dinge, die per Raid über alle Platten gegen Ausfall gesichert sein sollen, aber nicht zum "System" gehören und demzufolge ein Update überstehen
Partition 4: Daten (gemeinsame Ordner, wie bisher Partition 3)
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.984
Punkte für Reaktionen
624
Punkte
484
Partition 3: Pakete, Datenbank(en), Dinge, die per Raid über alle Platten gegen Ausfall gesichert sein sollen, aber nicht zum "System" gehören und demzufolge ein Update überstehen

Den Gedanken hatte ich auch schon des öfteren (immer dann, wenn man die RAID Konfiguration wieder mal angefasst hat, bzw. man. beim Installieren eines Paketes gefrat wird, auf welches Volume installiert werden soll).

Das Problem hier nur: wie groß soll denn diese Partition sein? Du weißt ja im Vorfeld nie, was dort alles installiert werden wird! Man müßte also von vornherein eher großzügig bei der Anlage der Partition vorgehen.

Die Alternative wäre, Synology baut (endlich einmal) eine vollumfängliche Möglichkeit der Sicherung der Pakete nebst Konfig und Nutzerdaten in den DSM, so dass ich nach Möglichkeit sogar alte Versionsstände komfortabel wieder einspielen könnte.
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
@Puppetmaster: Ich hatte auch den Gedanken mit der Größe. Daran wird das Konstrukt wohl auch scheitern.
Eine Möglichkeit, zur Sicherung der Pakete, quasi als eigenen "Gemeinsamen Ordner" zum Auswählen in etwa, wäre wirklich sehr gut. Auch eine Idee wäre es, ob man die Pakte nicht einfach auf alle Volumes verteilen könnte? Quasi eine Art Spiegelung auf Synchronisierungs-Basis. So gäbe es einen symbolischen Link innerhalb der root-Partition auf /volume1/@appstore. Wenn dieser Ordner auf alle Volumes oder auf ausgewählte Volumes synchronisiert wird, könnte man vor dem Entfernen von Volume1 die Pakete anhalten, den Link auf /volume2/@appstore umstellen und dann die Pakete wieder starten. Dann hätte man das Problem mit der fixen Größe der Paket-Partition nicht mehr.

Interessant wäre auch eine Möglichkeit, sämtliche Pakete mit einem Klick von einem Volume auf ein anderes zu migrieren.


Ganz am Rade noch was. Dank der "Systempartition" und dem von Synology verwendeten /volume-x/@appstore verliert man die Eleganz von einem unixoiden System. Denn das virtuelle Dateisystem von unixoiden Systemen ist ja gerade in der Hinsicht sehr elegant, daß man keine festen Laufwerkszuordnungen hat, wie es beispielsweise in einem Windows existiert. C:\Programme z. B. was macht man, wenn Laufwerk C zu klein wird? Bei unixoiden Systemen kein Problem, man schiebt die Daten / Programme (was auch immer) einfach auf eine andere Partition, ein anderes Laufwerk oder ins Netz auf einen Server und mountet halt entsprechend. Aus Sicht des Users / des virtuellen Dateisystems liegen die Daten immernoch im selben Pfad.
 

Marti95

Benutzer
Mitglied seit
06. Aug 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0

borg2k

Benutzer
Mitglied seit
08. Mai 2012
Beiträge
1.789
Punkte für Reaktionen
0
Punkte
0
was macht man, wenn Laufwerk C zu klein wird?

Das hat MS ja zumindest auch schon rudimentär aufgegriffen. Man kann bei NTFS Laufwerken ja auch einfach eine weitere Platte in einem Pfad mounten statt sie unter einem eigenen Laufwerksbuchstaben verfügbar zu machen.
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
wieso erweckt sich hier der Gedanke, daß diese Funktion aus der Unix-Welt kommt?
 

Marti95

Benutzer
Mitglied seit
06. Aug 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Ich finds ja toll das ihr hier diskutiert.. Aber könnt ihr euch bitte an mein Problem wenden? xD
Ich soll die defekte Platte so schnell wie möglich zurück senden.
Besten Dank
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.984
Punkte für Reaktionen
624
Punkte
484
Du hast doch bereits Antworten bekommen!?

Da kann man nix machen, ausser die Platte neu einrichten, wobei dann alle Daten gelöscht würden.
 

Marti95

Benutzer
Mitglied seit
06. Aug 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Und jetzt soll ich mich zufrieden geben?
Nur weils mit DSM nicht machbar ist heisst nicht das das nicht geht.
Es muss 100% machbar sein das man iwie ein RAID auflösen kann, da es zumal sich sowieso nur um ein Software RAID handelt.
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.984
Punkte für Reaktionen
624
Punkte
484
Ja, klar geht das!

Kennst du dich genügend mit der Konsole, Linux und mdadm aus?
Das würde dir hier aber niemand wirklich raten, das so zu machen, dazu kann einfach zuviel schief gehen.

Daher: Backup machen und Volume neu aufsetzen.
 

Marti95

Benutzer
Mitglied seit
06. Aug 2012
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Ich kenn mich nicht mit mdadm aus jedoch mit Unix habe ich erfahrungen gemacht und kann auch damit umgehen.
Jedoch weiss ich nicht wie ich das RAID auflöse...
Wie gesagt die einzige Anleitung die ich gefunden hab funktionierte nicht da ich das Volume nur mit -f unmounten kann aber immer noch etwas auf das mdx zugreifen möchte.
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
also wenn nur ein umount -f geht, dann greift noch mindestens ein Prozess auf das Volume zu. Vielleicht die Postgre-Datenbank? Ein Paket? Ich würde zuerst alle Pakete beenden, den User-Apache, sämtliche Dateiserver-Dienste stoppen. Auf der Konsole kannst du dann schauen, welche Prozesse noch laufen. Die Postgre-DB wollte ich auch mal über die Konsole stoppen, aber irgendwie scheint bei der DSM Beta 5 der Befehl nicht im /etc/init.d zu liegen.

Bei einem umount -f können Daten beschädigt werden, dehalb muß dort Ursachenforschung betrieben werden, welcher Prozess das noch fest hält. Es gab da auch mal lsof als Komando, scheint auch nicht mehr enthalten zu sein.

Wenn /volume1 dann ausgehängt ist, sollte auch nix mehr auf /dev/md2 zugreifen und der mdadm sollte funktionieren. Trotzdem würde ich da die Manpage mal zu Rate ziehen, bevor Schaden entsteht.
 

mlight

Benutzer
Mitglied seit
09. Mrz 2011
Beiträge
25
Punkte für Reaktionen
1
Punkte
0
Ich habe kürzlich den Downgrade von RAID 1 zu 2x Basic Volume per Konsole erfolgreich durchgeführt (DSM 4.3-3827 Update 2, ich weiß nicht ob das mit DSM 5 auch noch funktioniert). Grundsätzlich bin ich dabei wie beim oben genannten Wiki-Artikel vorgegangen. Allerdings müsste man den Artikel evtl. etwas erweitern.

Mein vorgehen im Detail:
- Alles sichern!! Im Endeffekt hat zwar alles geklappt, aber selbst mit frischem Backup war das warten nach jedem Befehl nervenaufreibend...
- Alle Dienste und Pakete im DSM stoppen. Von der Weboberfläche abmelden.
- Per Konsole (Telnet oder in meinem Fall SSH) einloggen.
- Jetzt geht die Fleißarbeit los. Ich weiß nicht genau, an welchem Prozess es im Endeffekt lag, aber ich habe quasi alle laufenden Prozesse/Dienste (bis auf sshd) beenden müssen. Dazu der Reihe nach die Dienste in "/usr/syno/etc/rc.d/" stoppen. Also z.B. "/usr/syno/etc/rc.d/S20pgsql.sh stop". Mit dem Befehl "top" nachschauen was noch läuft und das entsprechende Skript zum Stoppen suchen. Vor dem unmount auch noch "scemd" beenden, sonst geht der Alarmtom für fehlerhafte Volumes los. Irgendwo stand auch, dass man "lsof" per ipkg nachinstallieren soll. Damit kann man nachschauen welcher Prozess noch auf das Volume zugreift.
-Anschließend lies sich "umount /volume1" ohne Fehlermeldung ausführen

Vor dem anhalten des RAIDs waren noch die im englischen Syno-Forum genannten Befehle notwendig:
Name nachschauen und entfernen
Rich (BBCode):
dmsetup table
dmsetup remove vol1-origin
Danach funktioniert wie im Wiki beschrieben
Rich (BBCode):
mdadm -S /dev/md2
mdadm -Cf /dev/md2 -R -n 1 -l 1 /dev/sda3
mount /dev/md2 /volume1
reboot

Volume 1 liegt dann als basic auf HDD1. Wenn alles geklappt hat sollten auch alle Daten/Pakete usw. noch da sein. Volume 2 (die Überreste vom vorherigen RAID) ist nach dem Neustart als degraded gekennzeichnet. Ich habe das Volume 2 dann entfernt und komplett neu eingerichtet.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.882
Punkte für Reaktionen
1.168
Punkte
754
Hervorragende Beschreibung, vielen Dank dafür. Werde ich mir merken, denn diese Frage kommt ja regelmäßig.
 

mlight

Benutzer
Mitglied seit
09. Mrz 2011
Beiträge
25
Punkte für Reaktionen
1
Punkte
0
Ich würde das bei Zeiten auch mal ins Wiki übertragen wenn keiner was dagegen hat. Allerdings war das bei mir zum Teil eher "try and error" da ich dann doch nicht so tiefgehend mit den Linux Kommandos vertraut bin. Vor allem beim Beenden der Dienste bin ich eher willkürlich vorgegangen. Gibts da irgendwelche Ratschläge, welche Dienste man besser nicht einfach so beenden sollte (abgesehen natürlich von sshd wenn an per ssh verbunden ist)?

Was die drei mdadm Befehle tun konnte ich soweit nachvollziehen. Was es mit dem dmsetup auf sich hat ist mir allerdings noch nicht so ganz klar...

Ich will nur sicher sein, dass ich keine falsche Anleitung ins Wiki stelle und wäre sehr dankbar wenn ein Linux Experte mal noch seinen Senf dazu abgeben könnte!
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.882
Punkte für Reaktionen
1.168
Punkte
754
Vor allem beim Beenden der Dienste bin ich eher willkürlich vorgegangen. Gibts da irgendwelche Ratschläge, welche Dienste man besser nicht einfach so beenden sollte?

Du bist da meiner Meinung nach sehr sauber und gewissenhaft vorgegangen, das ginge per kill- oder killlall-Befehl auch schneller und weniger sauber. Letztlich geht es doch darum, alle Prozesse loszuwerden, die auf das Datenvolume zugreifen. Wenn Du dabei einen erwischst, der nur aufs Systemvolume zugreift, sollte das in diesem Zusammenhang eigentlich nicht so tragisch sein. Anschließend wird durch den Reboot sowieso alles wieder neu gestartet.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat