In diesem Abschnitt befassen wir uns mit erstellen eine Raid6 über die Linux Konsole.
Voraussetzungen:
– mindestens 4 Festplatten
– etwas Rechenleistung für das Softraid (mdadm)
Vorteile:
– hohe Datensicherheit: da bis zu 2 Festplatten gleichzeitig ausfallen können ohne Daten zu verlieren
Nachteile:
– man verschenkt etwas Festplattenplatz (2 Festplatten werden für Paritydaten benutzt) und stehen nicht für Daten zur Verfügung. Bei Raids mit mehr als 4 Platten relativiert sich der Nachteil aber schnell.
Installation von mdadm:
yum install mdadm [RedHat]
apt-get install mdadm [Debian]
Nach der Installation müssen die Festplatten ausgewählt werden, welche als Raid verbunden werden sollen. Um die Laufwerkszuordung anzuzeigen verwedet man am besten:
# fdisk -l | grep sd
Disk /dev/sda: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sdc: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sdd: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sde: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Disk /dev/sdf: 256.1 GB, 256060514304 bytes, 500118192 sectors
In diesem Fall verwenden wir die Laufwerke /dev/sda bis / dev/sde
Um zu prüfen, ob eine der Platten zu einem Raid gehört kann man mdadm –examine (-E) ausführen:
# mdadm -E /dev/sd[a-e]
mdadm: No md superblock detected on /dev/sda.
mdadm: No md superblock detected on /dev/sdb.
mdadm: No md superblock detected on /dev/sdc.
mdadm: No md superblock detected on /dev/sdd.
mdadm: No md superblock detected on /dev/sde.
Wird kein superblock gefunden ist alles sauber und man kann weiter machen.
Nun müssen die Laufwerke partitioniert werden:
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x57755548.
WARNING: The size of this disk is 3.0 TB (3000592982016 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Befehl (m für Hilfe): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e Erweiterte
Select (default p): p
Partitionsnummer (1-4, default 1): 1
Erster Sektor (2048-4294967295, Vorgabe: 2048):
Benutze den Standardwert 2048
Last Sektor, +Sektoren or +size{K,M,G} (2048-4294967294, Vorgabe: 4294967294):
Benutze den Standardwert 4294967294
Partition 1 of type Linux and of size 2 TiB is set
Befehl (m für Hilfe): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'
Befehl (m für Hilfe): p
Disk /dev/sda: 3000.6 GB, 3000592982016 bytes, 5860533168 sectors
Units = Sektoren of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x57755548
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 2048 4294967294 2147482623+ fd Linux raid autodetect
Befehl (m für Hilfe): w
Die Partitionstabelle wurde verändert!
Rufe ioctl() um Partitionstabelle neu einzulesen.
Synchronisiere Platten.
Das muss mit allen Festplatten durchgeführt werden.
Anschließend kann dann das Raid erzeugt werden:
# mdadm --create /dev/md0 --level=6 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
Der Bereitstellungsprozess dauert je nach Festplattenanzahl und Größe mehrere Stunden.
Den Status kann man mit folgendem Befehl beobachten:
# watch -n 1 cat /proc/mdstat
Every 1,0s: cat /proc/mdstat Fri Jan 6 16:31:45 2017
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sde1[4] sdd1[3] sdc1[2] sdb1[1] sda1[0]
6442053120 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/5] [UUUUU]
[=====>...............] resync = 26.8% (576457508/2147351040) finish=195.0min speed=134255K/sec
bitmap: 12/16 pages [48KB], 65536KB chunk
unused devices: <none>
Nach dem das Raid synchronisiert ist kann man sich den Zustand mit folgendem Befehl anzeigen lassen:
# mdadm --detail /dev/md0 :(
/dev/md0:
Version : 1.2
Creation Time : Fri Jan 6 15:22:54 2017
Raid Level : raid6
Array Size : 6442053120 (6143.62 GiB 6596.66 GB)
Used Dev Size : 2147351040 (2047.87 GiB 2198.89 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Fri Jan 6 20:19:54 2017
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : localhost.local:0 (local to host localhost.local)
UUID : 7a7b49b9:ebaf805a:a9ec676c:d6c31c13
Events : 3224
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
3 8 49 3 active sync /dev/sdd1
4 8 65 4 active sync /dev/sde1
Als nächstes muss das Raid mit einem Dateisystem formatiert werden. Hier bietet sich für Raids z.B. xfs an.
# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=32, agsize=50328448 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1610510336, imaxpct=5
= sunit=128 swidth=384 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =Internes Protokoll bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =keine extsz=4096 blocks=0, rtextents=0
Anschließend muss man das Raid im Dateisystem einhängen:
# mkdir /mnt/raid6
# mount /dev/md0 /mnt/raid6/
Wenn es funktioniert sollte man noch das automatische Einhängen einrichten:
# vi /etc/fstab
/dev/md0 /mnt/raid6 xfs defaults,nobootwait,nofail 0 0
! Wichtig ! hierbei sind die Optionen nobootwait,nofail welche dafür sorgen, dass das System auch noch startet wenn das RAID mal in einen Fehlerzustand kommt. Sonst hat man nur noch die Möglichkeit an der lokalen Konsole das System zu reparieren.
Ob die Konfiguration richtig ist lässt sich mit mount -av testen:
mount -av
/ : ignored
/boot : already mounted
/home : already mounted
swap : ignored
/mnt/raid6 : already mounted
Zu guter Letzt muss noch die Konfiguration des Raids gespeichert werden:
# mkdir /etc/mdadm [if it does not already exist]
# mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid6 num-devices=5 metadata=1.2 name=localhost.local:0 UUID=7a7b49b9:ebaf805a:a9ec676c:d6c31c13
devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
Um über Probleme mit dem Raid informiert zu werden kann man sich von mdadm Mails senden lassen.
Hierfür müssen /etc/mdadm/mdadm.conf noch die folgenden Einträge hinzugefügt werden:
MAILADDR <receivers mail address>
MAILFROM <senders mail address>
Anschließend kann mit der Installation von oVirt begonnen werden. Weiter