====== Austausch einer Festplatte für Adaptec-Raid-Controlller ("getestet" mit Adaptec 6805) - MAY-2025 ====== ===== Voraussetzungen ===== **Voraussetzung 1:** Das Raid befindet sich maximal im Zustand "//degraded//" und es gibt noch genügend Redundanz, sobald die Platte ausgebaut ist. Gibt es keine weitere Platte mit den Daten, die auf der auszutauschenden Platte befindlich sind, und man nimmt diese heraus, sind **ALLE DATEN AUF ALLEN PLATTEN KOMPLETT FÜR IMMER UNWIEDERBRINGLICH VERLOREN! ** Überprüfen kann man die Raidkonfiguration über den "//maxView Storage Manager//" oder über das "//arcconf.exe//"-Kommandozeilenprogramm, sofern die Tools installiert sind. * Über **arcconf.exe:** "//arcconf.exe GETCONFIG 1//" (sofern nur ein einziger Raidcontroller im Server eingebaut ist, ansonsten muss die Zahl am Ende u.U. variiert werden). * Über **maxView Storage Manager: **Enterprise View > Servername > Logical Devices, dann nacheinander die "//Resources//" der logischen Platten inspizieren. * Beispiel bei zwei logischen RAID10-Platten die über insg. acht physikalische Platten verteilt sind (DISCLAIMER: Die Infos wurden durch empirisches Ausprobieren und Recherche herausgefunden. Zu den genauen Infos zu den Segmenten und Gruppen bzgl. RAID10 gibt es von Adaptec keine stichhaltige Dokumentation. Bei Fehlern die zu Datenverlust führen wird keine Haftung übernommen): {{:server:raidaufbau.png?nolink&2560x1440|Diagramm zur Beschreibung des RAID-Aufbaus.}} \\ //Abb. 1:// Hier gibt es insgesamt acht physikalische Festplatten (PHDDs) mit je rund 7,25TB Speicherplatz die zwei logische Festplatten (LHDDs) mit unterschiedlicher Größe (1TB und 28TB) bilden. Jede physikalische Festplatte ist in zwei unterschiedlich große "physikalische Segmente (PSEGs)" aufgeteilt, um Speicher für die "logischen Segmente (LSEGs)" der beiden LHDDs bereitzustellen. Betrachtet man jetzt z.B. nur die orangene LHDD auf der sich das Betriebssystem befindet, dann bilden immer zwei PSEGs von zwei unterschiedlichen PHDDs LSEGs, die zu einer gemeinsamen "logischen Gruppe (LGRP)" zusammengefasst werden. Die beiden LSEGs innerhalb einer LGRP enthalten exakt die selben Daten und sind damit identisch ("mirror"), wobei die LGRP damit ein RAID1 ist. Alle LGRPs / RAID1s einer LHDD werden letztendlich zusammengebaut, wobei der Speicher addiert wird, womit dies dann das RAID0 darstellt. Sprich, eine Datei, die auf die LHDD gespeichert wird, wird dabei in kleine Stücke zerlegt und über alle LGRPs der LHDD verteilt ("striping"). D.h. fällt eine PHDD aus, gehen keine Daten verloren, da ja dann noch das identische LSEG auf der anderen PHDD der LGRP / des RAID1 vorhanden ist, welches die selben Daten enthält. Fallen allerdings beide PHDDs der selben LGRP aus, sind alle Daten auf allen Platten komplett verloren, da ja dann allen Dateien auf der LHDD ihre Bruchstücke fehlen, die zuvor auf dieser LGRP gespeichert waren. Es wäre sozusagen, als ob man einen Teil aus jeder Datei herausschneiden würde. Die Verkomplizierung mit den PSEGs, LSEGs ist nur nötig, da man ja mehrere LHDDs erzeugen kann (insgesamt so viele, bis der Speicher auf den Platten voll ausgenutzt ist). Würde man nur eine einzige LHDD erstellen können, würde sich obiges Schaubild zur folgenden einfacheren Darstellung kürzen: \\ {{:server:raidaufbau_vereinfacht.png?nolink&2560x1440|Vereinfachte Darstellung eines RAID10s.}} \\ //Abb. 2:// Wie zu sehen kann in jedem RAID1-Mirror maximal eine einzige der beiden enthaltenen Festplatten ausfallen. Fallen in einem Mirror beide Platten gleichzeitig aus, sind alle Daten wertlos, da der Beispieldatei dann ein Bruchstück fehlt. Bei sehr viel Pech kann also schon die zweite ausfallende Festplatte einen Totalverlust aller Daten bedeuten, wohingegen bei sehr sehr viel Glück bis zu vier Festplatten gleichzeitig ausfallen können. \\ {{:server:phdd_res.png?nolink&1584x183|Auszug der Segmente einer physikalischen Festplatte.}} \\ //Abb. 3:// Hier zu sehen ist die Ressourcenansicht einer physikalischen Festplatte auf wserver01. Es befinden sich die physikalischen Segmente 0 und 1 auf der Platte, wobei ersteres zur logischen Festplatten HDD01 und letzteres zu HDD02 gehört. Des Weiteren gibt es noch ein physikalisches Segment 2, das Metadaten des Raidcontrollers enthält. \\ {{:server:vhdd_res.png?nolink&1583x190|Auszug der Segmente einer logischen Festplatte.}} \\ //Abb. 4:// Dies ist die Ressourcenansicht einer logischen Festplattte auf wserver01. Es gibt, wie in Abbildung 1 erklärt, vier RAID1-Gruppen mit je zwei logischen Segmenten. Die Daten werden über die Gruppen gestriped und innerhalb der Gruppe über die beiden Segmente gespiegelt. Fallen beide Segmente der selben Gruppe aus, ist das komplette Raid verloren. Parallel dazu, kann aber in jeder Gruppe (maximal) eine Festplatte gleichzeitig ausfallen. Bei anderen RAIDs stellt sich die Situation je nach RAID-Level natürlich anders dar. Siehe dazu "[[https://storage.microsemi.com/nr/rdonlyres/64c019d1-278a-4dad-9a71-60d325eac8d6/0/ge_3994_raid_whichone_112.pdf|https://storage.microsemi.com/nr/rdonlyres/64c019d1-278a-4dad-9a71-60d325eac8d6/0/ge_3994_raid_whichone_112.pdf]]". Des Weiteren: Ist weder der "//maxView Storage Manager//" noch "//arcconf.exe//" installiert, kann dies u.U. (nicht getestet) noch nachträglich getan werden (siehe: [[https://storage.microsemi.com/pdfs/user_guides/msm_smart_11_23_users_guide.pdf|https://storage.microsemi.com/pdfs/user_guides/msm_smart_11_23_users_guide.pdf]] und [[https://storage.microsemi.com/pdfs/user_guides/adaptec_cli_smarthba_smartraid_7_24_ug.pdf|https://storage.microsemi.com/pdfs/user_guides/adaptec_cli_smarthba_smartraid_7_24_ug.pdf]] ). Außerdem, allerdings muss man den Rechner dazu herunterfahren, hat der Raidcontroller ein BIOS-Option-ROM. das beim starten des Servers auftaucht umd mit der Tastenkombination "//strg+a//" aufgerufen werden kann. — **Voraussetzung 2:** Man hat eine intakte Austauschfestplatte mit mindestens exakt der genau gleichen Größe wie die zu ersetzende (obligatorisch) / siehe auch "[[https://en.wikipedia.org/wiki/Cylinder-head-sector|https://en.wikipedia.org/wiki/Cylinder-head-sector]]". Darüber hinaus sollte die neue Platte mindestens genau so "schnell" sein wie die alte (fakultativ). War die Festplatte bereits in Verwendung oder man ist sich nicht sicher, bereitet man diese am besten vor, indem man alle Partitionierungseigenschaften von dieser löscht. Dazu steckt man die Festplatte an seinen Computer an (entweder man baut sie normal ein und schließt sie per SATA an, oder man benutzt einen SATA zu USB-Adapter). Anschließend öffnet man eine administrative Kommandozeile ("//cmd.exe//"), startet das Programm "//diskpart.exe//" und gibt sich per Befehl "//list disk//" die angeschlossenen Festplatten aus: \\ {{:server:diskpartexe0.png?nolink&989x316|Oeffnen von diskpart.exe und Ausgabe der angeschlossenen Festplattten}} \\ //Abb. 5:// Der Befehl "//list disk//" des Kommandozeilenprogramms "//diskpart.exe//" gibt alle an den PC angeschlossenen Festplatten aus. Im Beispiel hier gehen wir davon aus, dass "Datenträger 1" unsere zu bereinigende Festplatte ist. Allg. muss man sehr darauf acht geben, dass man nicht ausversehen eine falsche Platte löscht (z.B. seine eigene Datenplatte). Siehe mehr Infos zu "//diskpart.exe//" unter "[[https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/diskpart|https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/diskpart]]". \\ {{:server:diskpartexe1.png?nolink&991x387|Bereinigung eines Datentraegers in diskpart.exe}} \\ //Abb. 6:// Hat man die Festplatte identifiziert, wählt man sie per Befehl "//select disk X//" aus, wobei "X" der Datenträger-Nummer der Ausgabe des Befehls "//list disk//" entspricht. Um zu überprüfen, ob die richtige Festplatte ausgewählt wurde, führt man anschließend erneut den Befehl "//list disk//" aus. Hierbei sollte die momentan selektierte Festplatte nun ein kleines Sternchen/Asterisk vor ihrem Namen tragen. **Obacht:** Um die Partitionstabelle und weitere Metadaten von der Festplatte zu löschen braucht man nur noch den Befehl "//clean//" ausführen. Dies führt vereinfacht gesagt dazu, dass alle derzeitigen Daten auf der Platte verloren sind. **Voraussetzung 3: **Optimalerweiße (siehe auch in Voraussetzung 1) hat man den **maxView Storage Manager oder arcconf.exe** installiert. Ist dies nicht der Fall, gestaltet sich der Austausch und die Identifikation eines Problems überhaupt als sehr schwierig. Es ist anzuraten keinen Austausch ohne zumindest eines der oben genannten Tools vorzunehmen (für Adaptec Raid Controller 6805 kann arcconf.exe z.B. von [[https://storage.microsemi.com/en-us/downloads/storage_manager/sm/productid=sas-6805&dn=adaptec+raid+6805.php|https://storage.microsemi.com/en-us/downloads/storage_manager/sm/productid=sas-6805&dn=adaptec+raid+6805.php]] heruntergeladen werden. Ob / wie die Installation funktioniert kann/konnte nicht getestet werden. Alle Angaben ohne Gewähr). — ===== Fall 1 - Platte ist noch nicht komplett ausgefallen, aber zeigt sehr viele Fehler / fällt bald aus. ===== Identifiziert werden kann dies durch die Windows-Ereignisanzeige ("//eventvwr.exe//"). Die Quelle für Fehler im Raid ist "//maxView Storage Manager Agent//", sofern das Programm (siehe oben) installiert ist: \\ {{https://itwiki.smns-bw.org/_media/server/eventvwr_maxview.png?nolink&1152x479|Screenshot der Windows-Ereignisanzeige.}} \\ Anzeichen für einen baldigen Ausfall sind z.B. sehr viele wiederkehrende Warnungen für eine Festplatte, dass Blöcke als defekt idenzifiziert wurden. Des Weiteren kann man sich den Status des Raids direkt in der Software selbst anzeigen: \\ {{https://itwiki.smns-bw.org/_media/server/maxview_mgmt01.png?nolink&853x737|Screenshot des maxView Storage Managers}} \\ Sind hier noch alle Festplatten eines Raids vorhanden, aber eine hat z.B. ein gelbes Warnsymbol, muss diese links angeklickt werden und dann unter dem Reiter "Events" nach den Problemen geschaut werden. Vor dem Tausch muss unbedingt die **Seriennummer und der WWN** der auszutauschenden Platte notiert werden, um diese danach identifizieren zu können. Um eine Platte zu tauschen, die noch im Raid vorhanden ist, muss diese zuerst **manuell auf den Status "Ausgefallen / Failed"** gesetzt werden. **Vorsicht:** Setzt man bei einem bereits vorhandenen Ausfall die falsche Platte auf "//failed//" kann man das komplette RAID zerschießen. Im "//maxView Storage Manager//" geschieht dies durch die Auswahl der physikalischen Festplatte links und dann durch Auswahl des **"Force Offline"-Buttons**: \\ {{https://itwiki.smns-bw.org/_media/server/force_offline.png?nolink&853x378|Festplatte Offline setzen}} \\ Parallel dazu kann über "//arcconf.exe//" eine Platte folgendermaßen auf "//failed//" gesetzt werden: - "//arcconf.exe GETCONFIG 1//" (sofern nur ein Raidcontroller am Server angeschlossen ist) > Für die auszutauschende Festplatte muss der "//Channel//" und die "//Device-ID//" herausgefunden werden (z.B.: "//Reported Channel,Device(T:L) : 0,3(3:0)//", d.h. der "//Channel//" ist 0 und die "//Device-ID//" ist 3). Die Infos können auch vom "//maxView Storage Manager//" abgelesen werden (siehe Bild oben "//Reported Channel//" und "//Reported SCSI Device ID//"). - "//arcconf.exe setstate 1 device X Y DDD//", wobei X der "//Channel//" und Y die "//Device-ID//" ist. Dann wird der Server heruntergefahren, die auszutauschende Festplatte anhand der Seriennummer und des WWN identifiziert und ausgetauscht. Beim Starten des Servers wird von dem Raidcontroller-Option-ROM gemeldet, dass es eine Konfigurationsänderung gab und man muss diese durch Drücken von "Enter" bestätigen bevor es timeouted. Ist der Server gestartet sollte die neue Festplatte automatisch vom Raidcontroller geschnappt und in das/die Raids aufgenommen werden. Überprüfen kann man dies wieder mit "//arcconf.exe//" oder dem "//maxView Storage Manager//". Die Festplatte sollte unter dem "//Physical Devices//" tree auftauchen und im Status "//rebuild//" sein. Ebenso sollten alle "//Logical Devices//" im Status rebuild sein. **Achtung: Es ist bei z.B. wserver01 passiert, dass nur eine der zwei logischen Festplatten auf der neuen physikalischen Festplatte "rebuilded" wurde. Um das Problem zu beheben hat geholfen, nach Abschluss des "rebuilds" der einen logischen Festplatte, die neue physikalische Festplatte über arcconf.exe auf "failed" zu setzen ("arcconf.exe setstate 1 device X Y DDD") und danach auf "ready" ("arcconf.exe setstate 1 device X Y RDY"). Danach hat der Raidcontroller die Festplatte wieder automatisch geschnappt, aber diesmal beide logischen Festplatten auf der Platte neu rebuilded.**— ===== Fall 2 - Platte ist komplett ausgefallen, aber Server startet noch. ===== Dies erkennt man daran, dass im "//maxView Storage Manager//" eine Platte komplett fehlt und nicht mehr angezeigt wird. Außerdem sollten dann alle logischen Platten im Status "//degraded//" sein mit einem gelben Warnsymbol gekennzeichnet. \\ {{https://itwiki.smns-bw.org/_media/server/maxview_mgmt02.png?nolink&1897x241|Screenshot vom maxView Storage Manager}} \\ Hier auf der Abbildung ist alles OK. Würde eine Platte fehlen, wären links die beiden logischen Platten nicht mehr grün, sondern gelb und in der Ressourcenansicht würde eine Platte (Segment) als "//missing//" deklariert sein. Alternativ kann man sich diese Information auch über "//arcconf.exe GETCONFIG 1//" auf der Kommandozeile ausgeben lassen. Findet man die Seriennummer oder/und WWN der fehlenden Platte nicht mehr über den "Events"-Tab heraus, muss man dann nach Ausschlussverfahren vorgehen. Zum Austausch fährt man den Server herunter, tauscht die Platte aus und startet wieder. Dann akzeptiert man die Konfigurationsänderungsmeldung im Raidcontroller-Option-ROM durch "Enter". Ist der Server gestartet geht man in den "//maxView Storage Manager//". Der "//rebuild//" sollte/kann in diesem Fall unter Umständen nicht automatisch starten. Mann muss die neue Platte, sofern sie im Status "//ready//" ist, als "//Global Hotspare//" deklarieren. Erst dann schnappt sich der Raidcontroller die Platte automatisch und fängt mit dem Rebuild an. Dazu wählt man links die Platte aus und drückt auf den "//Spare Management//"-Button: \\ {{https://itwiki.smns-bw.org/_media/server/maxview_mgmt03.png?nolink&311x188|Screenshot vom maxView Storage Manager}} \\ Wichtig ist, die Platte als "//Global Hot Spare//" zu konfigurieren, damit alle logischen Platten (sofern diese sich die selben physikalischen Festplatten teilen natürlich nur. Bei anderen Setups kann die Situation anders aussehen) "//rebuilded//" werden. Alternativ kann über "//arcconf.exe//" dies auch mit dem Befehl "//arcconf.exe SETSTATE 1 DEVICE X Y HSP//" bewerkstelligt werden. Der Raidcontroller sollte dann automatisch mit dem "//rebuild//"-Prozess beginnen. Nach Fertigstellung des Wiederaufbaus, wird die Festplatte weiterhin im Status "//Global Hot Spare//" verbleiben. Man kann dies ändern, indem man die Platte links erneut auswählt und wieder auf den "//Spare Management//"-Button klickt und die Zuordnung löscht. Dabei werden KEINE Daten von der Platte gelöscht. Dies entfernt nur die Markierung "//Hot Spare//" von der Platte, da diese ja wieder "normal" in Verwendung ist. Die Platte sollte anschließend im Zustand "//Optimal//" sein. — ===== Fall 3 - Platte ist komplett ausgefallen und der Server startet nicht mehr. ===== Dies passiert eigentlich nur, wenn die Betriebssystemfestplatte auch auf dem RAID war und "zu viele" Festplatten ausgefallen sind. Sprich alle Daten sind verloren. Wahrscheinlich kann man nichts mehr retten, allerdings sollte man zuerst im Raidcontroller-Option-ROM (strg+a) nachschauen wie der Stand ist. Anscheinend gibt es dort auch die Möglichkeit ein verlorenes RAID zum Start zu zwingen. D.h. mann kann dann u.U. von einem anderen System aus noch ein paar Daten retten. Im allg. hat man aber verloren.