Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Software RAID1 (Mirror) mit Debian

Anleitung Linux Debian

Mitglied: ITwissen

ITwissen (Level 2) - Jetzt verbinden

22.03.2006 um 00:42 Uhr, 64230 Aufrufe

Software RAID1 (Mirror) mit Debian Sarge

Ein Praxisbericht, wie ich meine Debian Server mit zwei Platten nachträglich mit RAID1 (Mirror) gegen Plattenausfälle gesichert habe. Das geschriebene hier basiert auf dem Rootraid Dokument:

https://alioth.debian.org/projects/rootraiddoc/

Obwohl das Dokument alle Ecken der Raidkonfiguration ausleutet war es nicht ganz einfach. Hier also meine Zusammenstellung die bei meinem Server funktioniert hat.

Hardware Konfiguration


Ein PC mit zwei identischen Platten (/dev/sda, /dev/sdb).

Das war die Konfiguration mit dem ich das RAID1 aufgebaut habe. Man könnte woanderst diskutieren, wie gut es ist zwei identische Platten zu nehmen. Das möchte ich hier aber nicht tun.

Debian Installation


Standard Debian 3.1 (Sarge) Installation. Ich persönlich benutze FAI für die unbeaufsichtige Installation. Der 2.6er Kernel hat die Raid Module schon eingebaut. Die notwenidigen Tools sind im Paket mdadm:
apt-get install mdadm

Vorbereitungen


Zuerst mal sicherstellen, dass ein Backup vorhanden ist. Ich habe zwar bisher keines benötigt, aber ich will nicht schuld sein, wenn Daten verlorengehen. Wer sich nicht schon ein wenig mit Linux auskennt, sollte das hier erstmal auf einem Testsystem ausprobieren, um die Sache kennenzulernen.

Ich habe 3 Partitionen. Erstens die Root-Partition (/dev/sda1), dann noch eine Swap-Partition (/dev/sda2) und eine für /var (/dev/sda3). Die zweite Platte (/dev/sdb) ist noch unpartitioniert. Das machen wir als erstes. Partitionstabelle von /dev/sda auf /dev/sdb kopieren und dabei den Typ auf Linux raid autodetect (id: fd) ändern:

01.
sfdisk -d /dev/sda | sed -e 's/=8[23]/=fd/g' | sfdisk /dev/sdb

RAID1 auf nicht root-Partition, in diesem Fall /var


Dazu generieren wir zuerst das RAID1 mit einer fehlenden Platte, die fügen wir später dazu.
01.
mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/sdb3
Damit das ganze auch einen Reboot übersteht muss das in /etc/mdadm/mdadm.conf eingetragen werden. Zuerst die Devices mit folgender Zeile:
01.
DEVICE /dev/sda3 /dev/sdb3
und dann noch die ID des md-Devices:
01.
mdadm --brief --detail --verbose /dev/md3 >> /etc/mdadm/mdadm.conf
Anschliessend die Partition Formatieren und mounten:
01.
mkfs.ext3 /dev/md3 
02.
mount /dev/md3 /mnt
Als nächstes die Daten auf die neue Partition kopieren. Dazu sollte man möglichst alleine auf dem Rechner sein und so viele wie mögliche Dienste abstellen. Im Gegensatz zu Windows ist das kopieren aber unkritisch. Bei Userdaten muss man aufpassen, dass die Benutzer nicht gerade was schreiben.
01.
cd /var ; find . -xdev -print | cpio -dvpm /mnt
oder
01.
cd /var; tar clf - . | (cd /mnt && tar xvpf - )
Schon fast am Ziel. In der Datei /etc/fstab muss aus dem sda3 noch ein md3 gemacht werden. Anschliessend ein Reboot und schauen ob das /dev/md3 richtig gemountet ist. Wenn das so ist wird es zeit den Mirror zu vervollständigen in dem die zweite Disk zugefügt wird:
01.
mdadm --add /dev/md3 /dev/sda3
Die Synchronisation kann man unter /proc/mdstat beobachten z.b. mit cat /proc/mdstat.
Abschliessend noch die /dev/sda3 in /etc/mdadm/mdadm.conf eintragen, statt der missing Partition. mdadm.conf müsste dann etwa diese Einträge haben (UUID natürlich unterschiedlich):
01.
DEVICE /dev/sda3 /dev/sdb3 
02.
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=0fc5588a:2fddde42:87a3b1dd:0d49cb68 devices=/dev/sda3,/dev/sdb3

Swap Partition, /dev/sda2


Man kann sich darüber streiten, ob es Sinn macht die Swap Partition zu spiegeln.

Ich habe es gemacht, denn falls die Swap-Partition ausfällt, stürzt der Rechner ab. Dies zu vermeiden nehme ich den Performazverlust in kauf. Ein gut abgestimmtes System sollte den Swap sowieso möglichst nicht verwenden.

Der Vorgang ist identisch zum vorhergehenden Kapitel, nur das formtieren und kopieren wird ausgelassen.

Root Partition, /dev/sda1


Da man davon Booten muss, braucht es das md und raid1 Kernelmodul schon beim Booten.

md und raid1 in /etc/modules und /etc/mkinitrd/modules eintragen.

Jetzt wird ein neues initrd gebaut werden:
01.
mkinitrd -o /boot/initrd.img....-raid /lib/modules/2.6....
In /boot/grub/menu.lst muss noch das sda1 durch md1 ersetzt werden und die alte durch die neue initrd ersetzt werden.

Ab hier wird vorgegangen wie bei der nicht-root Partition.

Wenn der Rechner dann von der md1 bootet nochmal ein frisches initrd bauen und /boot/grub/menu.lst kontrollieren und gegebenenfalls anpassen:
01.
mkinitrd -o /boot/initrd.img....-raid /lib/modules/2.6....

Grub auf der zweiten Platte installieren


Wenn die erste Platte ausfällt, fällt auch der MBR aus und es kann nicht mehr gebootet werden. Deshalb wird der Grub-Bootsektor zur sicherheit noch auf die zweite Platte installiert werden. Beim Plattenaustausch muss das wiederholt werden.

01.
grub 
02.
device (h0) /dev/sdb 
03.
root (hd0,0) 
04.
setup (hd0)

Schlussbemerkung

Ich bin sicher es gibt an der einen oder anderen Stelle noch etwas Optimierungsmöglicheiten im Ablauf. Gerne nehme ich Anregungen entgegen.
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Debian
Screensaver bei Debian: Software mit Verfallsdatum

Link von MrCount zum Thema Debian ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

LAN, WAN, Wireless
Software für Backup oder Datensynchronisation über WAN gesucht (3)

Frage von Rubiks zum Thema LAN, WAN, Wireless ...

Debian
Debian 8.6 Absichern? (11)

Frage von Motte990 zum Thema Debian ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...