Software Raid: Difference between revisions

From Q
Jump to navigation Jump to search
Zulasch (talk | contribs)
Tgurr (talk | contribs)
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 8: Line 8:
Ich habe 2 Festplatten mit je 160 GB davon möchte ich 100 GB auf eine andere Partition haben.  
Ich habe 2 Festplatten mit je 160 GB davon möchte ich 100 GB auf eine andere Partition haben.  


{{Box File|Ist und Soll Stand|
{{Code|Ist und Soll Stand|
<pre>
<pre>


Line 28: Line 28:
== Raid konfigurieren ==
== Raid konfigurieren ==


{{Box File| text  |
{{Code||
<pre>
<pre>
# Zuerst erstellen wir ein Raid 1:
# Zuerst erstellen wir ein Raid 1:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1


# dateisystem erstellen,  
# dateisystem erstellen,  
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1


# md0 Raid mounten,  
# md0 Raid mounten,  
mount /dev/md0 /mnt/test
mount /dev/md1 /mnt/test


# Erstellen einer Testdatei und md5sum um es später wieder zu prüfen:
# Erstellen einer Testdatei und md5sum um es später wieder zu prüfen:
Line 47: Line 47:


# Nun entfernen wir eine Partition:
# Nun entfernen wir eine Partition:
mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1
mdadm /dev/md1 --fail /dev/sda1 --remove /dev/sda1


# und löschen wir die sda1, erstellen eine neue (kleinere) und setzen den Partitionstyp auf fd (Linux raid autodetect):
# und löschen wir die sda1, erstellen eine neue (kleinere) und setzen den Partitionstyp auf fd (Linux raid autodetect):
Line 53: Line 53:


# Partition dem Raid wieder hinzufügen:
# Partition dem Raid wieder hinzufügen:
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda1


# Unbedingt wieder prüfen ob das Raid syncronisiert ist:
# Unbedingt wieder prüfen ob das Raid syncronisiert ist:
cat /proc/mdstat
cat /proc/mdstat


Das Ganze lässt sich natürlich auch für mehrere Festplatten wiederholen. <br/>
also Egal ob Raid 1 oder 5. Ausser stripes natürlich.
Nun wird das Raid auf die neue Größe anegpasst:
# mdadm --detail /dev/md1 | grep -e 'Array Size' -e 'Device Size'
    Array Size : 390912 (381.81 MiB 400.29 MB)
    Device Size : 195456 (190.91 MiB 200.15 MB)
# mdadm --grow /dev/md1 -z max
# mdadm --detail /dev/md1 | grep -e "Array Size" -e 'Device Size'
    Array Size : 976512 (953.79 MiB 999.95 MB)
    Device Size : 488256 (476.89 MiB 499.97 MB)
# df -h | grep test
/dev/md1              370M  15M  336M  5% /mnt/test
# resize2fs /dev/md1
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/md1 is mounted on /mnt/test; on-line resizing required
Performing an on-line resize of /dev/md1 to 976512 (1k) blocks.
The filesystem on /dev/md1 is now 976512 blocks long.
# df -h | grep test
/dev/md1              924M  16M  861M  2% /mnt/test
Nun die testdatei checken:
# md5sum -c md5sum
/mnt/test/dd: OK
Als letztes erstellen wir die neue Patition ebenfalls in einem Raid 1 Verbund:
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4
Jetzt noch ein Dateisystem drauf:
# mkfs.ext3 /dev/md2
Fertig!!!


</pre>
</pre>
}}
}}
== Installation ==
<br/>
Zuerst erstellen wir ein Raid 1 <br/>
{{Codeline|# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1}}<br/>
<br/>
Dateisystem erstellen <br/>
{{Codeline|# mkfs.ext3 /dev/md0}}<br/>
<br/>
md0 Raid mounten <br/>
{{Codeline|# mount /dev/md0 /mnt/test}}<br/>
<br/>
Erstellen einer Testdatei und md5sum um es später wieder zu prüfen:<br/>
{{Codeline|# dd if=/dev/urandom of=/mnt/test/dd bs=512 count=10000}}<br/>
{{Codeline|# md5sum /mnt/test/dd > md5sum}}<br/>
<br/>
Unbedingt prüfen ob das Raid syncronisiert ist:<br/>
{{Codeline|# cat /proc/mdstat}}<br/>
<br/>
Nun entfernen wir eine Partition:<br/>
{{Codeline|# mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1}}<br/>
<br/>
und löschen die sda1, erstellen eine neue (kleinere) und setzen den Partitionstyp auf fd (Linux raid autodetect):<br/>
{{Codeline|# cfdisk /dev/sda}}<br/>
<br/>
Partition dem Raid wieder hinzufügen:<br/>
{{Codeline|# mdadm -a /dev/md0 /dev/sda1}}<br/>
<br/>
Unbedingt wieder prüfen ob das Raid syncronisiert ist:<br/>
{{Codeline|# cat /proc/mdstat}}<br/>
<br/>
<br/>
Das ganze lässt sich natürlich auch für mehrere Festplatten wiederholen. <br/>
also Egal ob Raid 1 oder 5. Ausser stripes natürlich.<br/>
<br/><br/>

Latest revision as of 15:17, 27 July 2011

Hinweise

WICHTIG!!! Ihr wisst schon: Bitte macht ein Backup vorher!

Dieses HowTo beschreibt wie man ein Raid 1 Online umpartitionieren kann d.h. es muss nicht in einem Rescu Modus oder von eine externe CD gebootet werden. Das ist der Vorteil beim Raid man kann eine Platte entfernen und wieder hinzufügen und das ganze wärend dem Betrieb. Ich habe 2 Festplatten mit je 160 GB davon möchte ich 100 GB auf eine andere Partition haben.

Code: Ist und Soll Stand

Vorhandene Festplatten im Server:
HDD1 = /dev/sda 160 GB
HDD2 = /dev/sbb 160 GB

IST Stand:
MD1 = 160 GB (2x 160 GB Raid 1) 

SOLL Stand:
MD1 = 60 GB (2x 60 GB Raid 1)
MD2 = 100 GB (2x 100 GB Raid 1)


Raid konfigurieren

Code:
# Zuerst erstellen wir ein Raid 1:
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

# dateisystem erstellen, 
mkfs.ext3 /dev/md1

# md0 Raid mounten, 
mount /dev/md1 /mnt/test

# Erstellen einer Testdatei und md5sum um es später wieder zu prüfen:
dd if=/dev/urandom of=/mnt/test/dd bs=512 count=10000
md5sum /mnt/test/dd > md5sum

# Unbedingt prüfen ob das Raid syncronisiert ist:
cat /proc/mdstat

# Nun entfernen wir eine Partition:
mdadm /dev/md1 --fail /dev/sda1 --remove /dev/sda1

# und löschen wir die sda1, erstellen eine neue (kleinere) und setzen den Partitionstyp auf fd (Linux raid autodetect):
cfdisk /dev/sda

# Partition dem Raid wieder hinzufügen:
mdadm -a /dev/md1 /dev/sda1

# Unbedingt wieder prüfen ob das Raid syncronisiert ist:
cat /proc/mdstat

Das Ganze lässt sich natürlich auch für mehrere Festplatten wiederholen. <br/>
also Egal ob Raid 1 oder 5. Ausser stripes natürlich.


Nun wird das Raid auf die neue Größe anegpasst:

# mdadm --detail /dev/md1 | grep -e 'Array Size' -e 'Device Size'
    Array Size : 390912 (381.81 MiB 400.29 MB)
    Device Size : 195456 (190.91 MiB 200.15 MB)

# mdadm --grow /dev/md1 -z max
# mdadm --detail /dev/md1 | grep -e "Array Size" -e 'Device Size'
    Array Size : 976512 (953.79 MiB 999.95 MB)
    Device Size : 488256 (476.89 MiB 499.97 MB)


# df -h | grep test
/dev/md1              370M   15M  336M   5% /mnt/test

# resize2fs /dev/md1
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/md1 is mounted on /mnt/test; on-line resizing required
Performing an on-line resize of /dev/md1 to 976512 (1k) blocks.
The filesystem on /dev/md1 is now 976512 blocks long.

# df -h | grep test
/dev/md1              924M   16M  861M   2% /mnt/test

Nun die testdatei checken:

# md5sum -c md5sum
/mnt/test/dd: OK


Als letztes erstellen wir die neue Patition ebenfalls in einem Raid 1 Verbund:
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4

Jetzt noch ein Dateisystem drauf:
# mkfs.ext3 /dev/md2


Fertig!!!