Software Raid: Difference between revisions

From Q
Jump to navigation Jump to search
Zulasch (talk | contribs)
No edit summary
Tgurr (talk | contribs)
No edit summary
 
(3 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|     |
{{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:
Line 64: Line 64:
Nun wird das Raid auf die neue Größe anegpasst:
Nun wird das Raid auf die neue Größe anegpasst:


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


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


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


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


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


Nun die testdatei checken:
Nun die testdatei checken:
Line 92: Line 92:




Als letztes erstellen wir die neue 100 GB Patition ebenfalls in einem Raid 1 Verbund:
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
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4



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!!!