PDA

Bekijk Volledige Versie : Hotswap SATA in Linux



Stefan Mensink
28/09/05, 17:29
Ik vraag me af of hier mensen op het forum ervaring hebben met het hotswappen van SATA disks onder Linux.

Ik heb hier een server met SuSE 9.3 (Linux 2.6.11.4-20a-smp) staan met 3 SATA disks erin. Deze drie disks heb ik in een mirrored (software!) RAID opstelling staan, maar dat doet er even niet toe.

Wat ik nu wil kunnen is een van die disks hotswappen. Het uitswappen gaat prima. Ik kan de disk eerst softwarematig uit de RAID halen, maar als ik 'm er gewoon uittrek, dan haalt het systeem 'm zelf wel uit de array.

Het inswappen daarentegen lukt voor geen meter. In de /var/log/messages gebeurt totaal niets. Een raidhotadd hangt gewoon direct, en de disk wordt niet toegevoegd. Ook is het niet mogelijk het raidhotadd-proces te killen (ook niet -9). Na een reboot lukt raidhotadd trouwens wel gewoon.

Is er een mogelijkheid het systeem de SATA-bus af te laten scannen voor apparaten, zonder te moeten rebooten?

PS: Eigenlijk maakt het me niet echt uit of deze te swappen disk in de RAID komt of niet. Als ik 'm maar kan hotswappen en mounten vind ik het ook best.

Thijs
28/09/05, 20:03
Volgens mij zit je vast aan een reboot.

Misschien handig als er een lijstje wordt gemaakt van de handelingen zodat andere deze aan kunnen vullen.

ensermo
28/09/05, 22:50
Ik weet niet of het relevant is maar met Centos 4.0 en een 2.6 kernel had ik ook verschrikkelijk veel problemen met Raid en swappen. Toen ik overstapte naar kernel 2.4 (CentOS 3.4) ging het helemaal soepel. *(Aantal keer getest om te hotswappen en rebuilden.)
Wat zegt /proc/mdstat als je weer inswap ?

Tuinslak
29/09/05, 00:06
Als je de disk eruit trekt, is de raid1 opstelling niet meer mirrored... Als je hem erin steekt zal hij waarschijnlijk beginnen rebuilden. mogelijk moet je raid handmatig herstarten (raidstop/raidstart/raidhotadd ofzo?)

wat zegt cat /proc/mdstat?

Cliff
29/09/05, 09:59
Hang ook af van je Controller uiteraard. Hier werkt alles perfect met een areca sata2 raid controller.

Stefan Mensink
29/09/05, 11:16
/proc/mdstat zeg standaard:
Personalities : [raid1]
md0 : active raid1 sdc3[2] sdb3[1] sda3[0]
275193344 blocks [3/3] [UUU]

unused devices: <none>
Uitswappen doe ik door eerst:
raidsetfaulty /dev/md0 /dev/sdc3
raidhotremove /dev/md0 /dev/sdc3

Daarna ziet mdstat er zo uit:
Personalities : [raid1]
md0 : active raid1 sdb3[1] sda3[0]
275193344 blocks [3/2] [UU_]

unused devices: <none>
Nadat ik dan de disk terugplaats verandert hier niets aan. Als ik dan raidhotadd uitvoer (zie verderop) hangt die tool domweg.

Na een reboot is de mdstat ook nog ongewijzigd ([UU_]), maar dan kan ik wel de disk weer in de array zetten:
raidhotadd /dev/md0 /dev/sdc3

waarna het volgende gebeurt:
Personalities : [raid1]
md0 : active raid1 sdc3[3] sdb3[1] sda3[0]
275193344 blocks [3/2] [UU_]
[=>...................] recovery = 6.1% (16833536/275193344) finish=72.2
min speed=59596K/sec
unused devices: <none>
Het systeem is een Supermicro P-IV server met een Intel SATA controller. In principe wel met RAID-mogelijkheid, maar daar doe ik niets mee.

Thijs
29/09/05, 11:27
Naar mijn idee doe je het exact op de juiste manier. Je moet zoals ik eerder vertelde naar mijn idee rebooten.

Axis (NetMatch)
29/09/05, 11:30
Origineel geplaatst door Cliff
Hang ook af van je Controller uiteraard. Hier werkt alles perfect met een areca sata2 raid controller.
Nou ja, als je een fatsoenlijke controller gebruikt zoals een Areca, dan heeft je OS er toch niets mee te maken? Die ziet die schijven niet eens, de controller handelt zelf het builden van de disks af etc.

Maar wat heeft de TS? Een intelligente RAID controller of de controller op het mobo?

Stefan Mensink
29/09/05, 11:37
Axis: Geen intelligente RAID controller. Vandaar de software RAID.

Thijs
29/09/05, 11:41
Soft-raid gaat prima tot 4 HD's. Volgens mij is het vaak de ontwetendheid van de beherende persoon dat hij voor een 3-ware gaat bij dit aantal disks; Klik en klaar concept.

Softraid heeft letterlijk niets met de controller van doen. Ik draai het zelfs op een PIII500 uit het jaar nul als testopstelling met IDE.

Axis (NetMatch)
29/09/05, 11:47
Origineel geplaatst door Thijs
Soft-raid gaat prima tot 4 HD's. Volgens mij is het vaak de ontwetendheid van de beherende persoon dat hij voor een 3-ware gaat bij dit aantal disks; Klik en klaar concept.

Softraid heeft letterlijk niets met de controller van doen. Ik draai het zelfs op een PIII500 uit het jaar nul als testopstelling met IDE.
SW RAID heeft z'n voordelen en z'n nadelen.. Een van de voordelen van een intelligente HW-controller is dus dat die alles afhandelt, het OS ziet 1 disk, en hoeft zich nergens druk over te maken. Ik wil hier niet ingaan op de discussie HW-RAID vs SW-RAID, maar iedereen die een HW-controller koopt voor 4 disks (zoals ik met m'n 500 euro Areca) is volgens jou onwetend? Dat vind ik toch een beetje kortzichtig.

Thijs
29/09/05, 12:10
Origineel geplaatst door Axis (NetMatch)

SW RAID heeft z'n voordelen en z'n nadelen.. Een van de voordelen van een intelligente HW-controller is dus dat die alles afhandelt, het OS ziet 1 disk, en hoeft zich nergens druk over te maken. Ik wil hier niet ingaan op de discussie HW-RAID vs SW-RAID, maar iedereen die een HW-controller koopt voor 4 disks (zoals ik met m'n 500 euro Areca) is volgens jou onwetend? Dat vind ik toch een beetje kortzichtig.

Aan de gemiddelde vraag die door mensen gesteld wordt met betrekking tot een server/OS denk ik daar inderdaad zo over.

De vrijheid en controle die je over een soft-Raid hebt is naar mijn idee bij dit aantal disks vele malen groter. Bij een NAS zorg je wel dat je 2-4 spares hebt zodat je niet hoeft te rebuilden terwijl er geen safety voor je data meer is omdat de HD ontbreekt. Daar heb je bij SoftRaid (in Raid1 bijvoorbeeld) niet echt last van. Mislukt je rebuild begin je lekker opnieuw, dat kan bij HW nog wel eens anders uitpakken.

Maar deze discussies zijn al te vaak gevoerd en leveren niets op omdat het ook een gevoelsmatige kwestie is voor ieder persoon verschillend.

Maar om je verhaal even compleet te maken. Je moet rebooten. Moet je met een 3-ware ook als je het mij vraagt omdat je anders problemen kunt krijgen met je rebuild als je machine veel changes op de HD heeft. Je bak is hier echt offline, is bij Softraid van Linux niet het geval.

Dit is mijn opinie, kan altijd wat aan bijgeschaafd worden :D

Stefan Mensink
29/09/05, 12:22
Oke, maar hoe krijg ik een disk die ik net in de hotswap-bay klik nu aan de praat onder een reeds draaiende linux? Op een eenvoudige SATA controller, RAID interesseert me in dezen wat minder, daar kom ik wel uit.

Thijs
29/09/05, 12:44
Origineel geplaatst door Stefan Mensink
Oke, maar hoe krijg ik een disk die ik net in de hotswap-bay klik nu aan de praat onder een reeds draaiende linux? Op een eenvoudige SATA controller, RAID interesseert me in dezen wat minder, daar kom ik wel uit.

Dat kan niet volgens mij. Een HD heeft een Serie-nummer en nog wat van die ongein. Ik denk dat de BIOS het nodig vindt om te rebooten om de HD goed te kunnen gebruiken, vandaar de reboot. Je machine zal dan 1 minuut offline zijn.

Er is wel een mogelijkheid om het zonden reboot te doen, maar ik denk dat dit wel van je hardware afhangt en in deze opstelling niet opgaat. Ik doe het altijd met een reboot en heb failback voor alle critische zaken.

mkraid failed-disk ? OK, het raid-verhaal kom je wel uit, maar dit is volgens mij wat je moet doen. Ik zal eens een HD eruit trekken binnenkort en mijn manier van werken toepassen zoals gedocumenteerd op kantoor. Dat werkte voorheen prima.

Stefan Mensink
29/09/05, 12:59
Origineel geplaatst door Thijs
Dat kan niet volgens mij. Een HD heeft een Serie-nummer en nog wat van die ongein. Ik denk dat de BIOS het nodig vindt om te rebooten om de HD goed te kunnen gebruiken, vandaar de reboot. Je machine zal dan 1 minuut offline zijn.

Ja okay. Da's jammer, maar misschien wel acceptabel. Ik had gehoopt dat ik wekelijks een disk even kon omwisselen om zo gemakkelijk een off-site backup te hebben.

Wat ik me dan wel afvraag: waarom noemt men dat dan raid 'hotswap' als je niet fatsoenlijk kan swappen zonder reboot?

Thijs
29/09/05, 13:11
Origineel geplaatst door Stefan Mensink


Ja okay. Da's jammer, maar misschien wel acceptabel. Ik had gehoopt dat ik wekelijks een disk even kon omwisselen om zo gemakkelijk een off-site backup te hebben.

Wat ik me dan wel afvraag: waarom noemt men dat dan raid 'hotswap' als je niet fatsoenlijk kan swappen zonder reboot?

Hotswap is een breed begrip. Meestal bedoelt men hiermee dat de kast het kan, of het OS het aan kan icm moederboard en dergelijke blijft een vraag.

Het grote voordeel is dat de de kast niet uit het rack hoeft te halen !

Draai overigens wel minimaal een 2.6.0 kernel, dit is wel vereist voor een goede SoftRaid.

Stefan Mensink
29/09/05, 13:35
Het lijkt erop dat we alleen even aan het scsi subsystem moesten vertellen dat de disk eruit en er weer in ging.


#raid-zaken
raidsetfaulty /dev/md0 /dev/sdc3
raidhotremove /dev/md0 /dev/sdc3

#swap-zaken
echo "scsi remove-single-device 2 0 0 0" > /proc/scsi/scsi

# ------ op dit punt de disk eruit trekken ------

# ------ op dit punt de disk erin stoppen ------

#swap-zaken
echo "scsi add-single-device 2 0 0 0" > /proc/scsi/scsi

#raid-zaken
raidhotadd /dev/md0 /dev/sdc3

Doe even een cat op het bestand /proc/scsi/scsi om te zien wat er zoal aan de scsi-bus hangt.

Een uitleg over de argumenten voor het remove-single-device commando vind je hier (http://www.linux1394.org/sbp2.php).

Hij staat nu vrolijk te resyncen. Weet iemand trouwens of er een optie is waarin ik kan aangeven dat hij het resyncen doet met een lage prioriteit? Ik heb namelijk wel geduld.

Thijs
29/09/05, 13:38
Het is inderdaad een SCSI-Sub-system wat gebruikt wordt. Wat je even moet bekijken in je dmesg is hoe de HD herkend wordt wanneer je deze erin doet. Als je daar een melding ziet dat er een HD gevonden is met een aantal gegevens er achter lijkt er mij weinig mis te kunnen gaan.

Stefan Mensink
29/09/05, 13:40
Niet nodig Thijs. Zoals ik al zei staat alle info in /proc/scsi/scsi en werkt het genoemde systeem in feite nu al voor het hotswappen. Ik heb in ieder geval niet hoeven rebooten dit keer.

PS: Ik heb al een aantal jaartjes ervaring met soft-raid. Wat voor problemen zouden er dan moeten zijn met 2.4-kernels? Ik heb ze niet gezien.

Thijs
29/09/05, 14:47
Origineel geplaatst door Stefan Mensink
Niet nodig Thijs. Zoals ik al zei staat alle info in /proc/scsi/scsi en werkt het genoemde systeem in feite nu al voor het hotswappen. Ik heb in ieder geval niet hoeven rebooten dit keer.

PS: Ik heb al een aantal jaartjes ervaring met soft-raid. Wat voor problemen zouden er dan moeten zijn met 2.4-kernels? Ik heb ze niet gezien.

Als je al een paar jaar ervaring met bestandsystemen en de indeling daarvan hebt snap ik je vraag eigenlijk niet zo. Het is bekend dat SATA gebruik maakt van het SCSI-subsystem. Verder is Softraid nog niet zo vreselijk doorontwikkeld. Mag jij mij vertellen wat het nadeel is van een SoftRaid5, is weinig over bekend namelijk.

2.6 ondersteund het beter.

Stefan Mensink
29/09/05, 14:51
Mijn enige vraag was in feite: Hoe kan ik fysiek een schijf uit de machine trekken en weer terugplaatsen zonder het OS over de zeik te helpen.

Dat ik wat ervaring heb met RAID betekent niet dat ik ook ervaring heb met SATA en het hotswappen van apparaten :-)

In ieder geval allemaal bedankt voor de feedback!