disk /dev/md1 vergrößern

wemaflo

New Member
Ich verstehe die Aussage nicht so ganz. Wie groß ist denn dein Array und wie groß die Partition? Und wie groß soll die Partition darauf werden?
 

peterle1984

New Member
HTML:
Filesystem             Size  Used Avail Use% Mounted on
rootfs                 4.0G  224M  3.8G   6% /
udev                    10M     0   10M   0% /dev
tmpfs                  2.4G  160K  2.4G   1% /run
/dev/md1               4.0G  224M  3.8G   6% /
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  5.6G     0  5.6G   0% /run/shm
/dev/mapper/vg00-usr   4.0G  389M  3.4G  11% /usr
/dev/mapper/vg00-var   4.0G  231M  3.6G   7% /var
/dev/mapper/vg00-home  4.0G  136M  3.7G   4% /home
none                    12G     0   12G   0% /tmp

Ich will die dev/md1 um 20 GB vergrößern den dort liegen alle Temp und die 4 GB sind viel zu klein
 

wemaflo

New Member
Ich habe dazu mal was geschrieben, ist schon nen Moment her und wurde für ein Debian-Desktop-System geschrieben, bis auf den Partitionsmanager gibt es aber keine Unterschiede zu nem Serversystem.
http://wemaflo.net/2014/03/partitionsgroesse-aendern-bei-festplatten-im-software-raid1-debian/

So wie ichs gemacht habe, kann es im laufenden Betrieb und ohne Neustart geschehen und du hast immer eine lauffähige Platte mit deinen Daten (entweder eine mit der Originalgröße oder die mit der größeren Partition).

Ach so: Ist für ein RAID1.
 

wemaflo

New Member
Ja, wie gesagt. Es ist alles gleich, bis auf den Partitionsmanager. Du hast hoffentlich keine grafische Oberfläche auf deinem Server installiert, kannst also auch keine grafischen Programme nutzen.
Nutze einen konsolenbasierten Manager wie z.B. fdisk.
http://wiki.ubuntuusers.de/fdisk
 

peterle1984

New Member
HTML:
root@s17749691:~# fdisk /dev/md1

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.

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): e
Partition number (1-4, default 1): 1
First sector (2048-8388479, default 2048): 10000
Last sector, +sectors or +size{K,M,G} (10000-8388479, default 8388479): m
Last sector, +sectors or +size{K,M,G} (10000-8388479, default 8388479): 10000

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
root@s17749691:~# fdisk -l /dev/md1 

Disk /dev/md1: 4294 MB, 4294901760 bytes
1 heads, 1 sectors/track, 8388480 cylinders, total 8388480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xf622ae93

    Device Boot      Start         End      Blocks   Id  System
/dev/md1p1           10000       10000           0+   5  Extended
root@s17749691:~# resize2fs /dev/md1 
resize2fs 1.42.5 (29-Jul-2012)
The filesystem is already 1048560 blocks long.  Nothing to do!

root@s17749691:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          4.0G  227M  3.8G   6% /
udev             10M     0   10M   0% /dev
tmpfs           2.4G  104K  2.4G   1% /run
/dev/md1        4.0G  227M  3.8G   6% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           5.6G     0  5.6G   0% /run/shm
root@s17749691:~#

Leider funktioniert es nicht :-( was mache ich falsch ?
 

wemaflo

New Member
Du solltest dich an das halten, was ich im Artikel schrieb ;)

Du schaust mittels
Code:
cat /proc/mdstat
ob dein Array synchron ist und aus welchen Partitionen es besteht.
Du entfernst eine der beiden Partitionen aus dem RAID-Verbund, wie im Artikel beschrieben.

Nun läuft dein RAID weiter, allerdings mit nur einer Festplatte. Jetzt kannst du die Partition, die du aus dem Array entfernt hast, vergrößern oder komplett neu anlegen (mit fdisk). Also nicht /dev/md1, sondern eben die Partition, die du entfernt hast aus /dev/md1.

Jetzt fügst du die neue bzw. vergrößerte Partition wieder dem Verbund hinzu und wartest ab, bis die Synchronisierung fertig ist.

Hernach entfernst du die andere, kleinere Partition aus dem Verbund und rührst sie erst einmal nicht an.

Jetzt kannst du mittels
Code:
mdadm --grow -z max /dev/md1
dein Array auf die maximale Größe der eben hinzugefügten Partition vergrößern.

Wenn das fertig ist und alles immer noch fehlerfrei läuft, machst du mit der zuletzt entfernten Partition das gleiche wie vorher mit der anderen: Entweder vergrößern oder neu anlegen (mit fdisk) und danach dem RAID wieder hinzufügen.

Jetzt wird wieder synchronisiert und wenn das abgeschlossen ist, ist dein RAID vergrößert.

EDIT:
Poste doch mal die Ausgabe von cat /proc/mdstat
 

peterle1984

New Member
HTML:
root@s17749691:~# cat /proc/mdstat
Personalities : [raid1] 
md3 : active raid1 sda3[0] sdb3[2]
      1947222016 blocks [2/1] [U_]
      [>....................]  recovery =  0.1% (3183296/1947222016) finish=369.8min speed=87616K/sec
      
md1 : active raid1 sda1[0] sdb1[1]
      4194240 blocks [2/2] [UU]
      
unused devices: <none>
root@s17749691:~#
 
Last edited by a moderator:

wemaflo

New Member
Okay, du siehst also, dass /dev/md3 gerade im recovery steckt, hier ist /dev/sdb3 nicht synchron. Warte das am besten erst mal ab.

Wieviel nicht zugewiesener Platz ist denn auf den Platten sda und sdb noch vorhanden?
 

peterle1984

New Member
Mit der 1&1 anleitung konnte ich VAR und Home vergrößern aber nicht dev/md1

HTML:
Filesystem             Size  Used Avail Use% Mounted on
rootfs                 4.0G  224M  3.8G   6% /
udev                    10M     0   10M   0% /dev
tmpfs                  2.4G  160K  2.4G   1% /run
/dev/md1               4.0G  224M  3.8G   6% /
tmpfs                  5.0M     0  5.0M   0% /run/lock
tmpfs                  5.6G     0  5.6G   0% /run/shm
/dev/mapper/vg00-usr    14G  391M   13G   3% /usr
/dev/mapper/vg00-var   369G  238M  350G   1% /var
/dev/mapper/vg00-home   24G  139M   23G   1% /home
none                    12G     0   12G   0% /tmp
 

elias5000

Site Reliability Engineer
Die Platten sind bereits vollständig aufgeteilt (/dev/md3 ist das Physical Volume für die Volume Group, in der der meiste Speicher aufgeteilt ist).
Es ist also weder möglich, /dev/md1 zu vergrößern, noch ist das die Lösung deines Problems.

Der bisher ungenutzte Platz harrt unzugeordnet in der Volume Group seiner zukünftigen Verwendung.

Das macht auch am meisten Sinn für eine initiale Konfiguration (nur noch zu übertreffen davon, / auch als Logical Volume anzulegen und das native RAID nur für /boot zu verwenden).

Die Lösung ist also nicht, sich an den RAIDs zu schaffen zu machen, was ich nebenbei bemerkt für reichlich riskant halte, sondern eigene Logical Volumes für Sachen anzulegen, die derzeit noch auf / wohnen aber die du gerne vergrößern würdest (/tmp z.B.).

(Edit: Konjunktiv in absolute Aussagen umgeschrieben, da meine Annahme von der Doku von 1&1 und mdstat aus dem Post des TE untermauert wird.)
 
Last edited by a moderator:

peterle1984

New Member
HTML:
root@s17749691:~# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/md3   vg00 lvm2 a--  1.81t 1.28t
root@s17749691:~# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg00   1   3   0 wz--n- 1.81t 1.28t
root@s17749691:~# lvs
  LV   VG   Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  home vg00 -wi-ao--  24.00g                                           
  usr  vg00 -wi-ao--  14.00g                                           
  var  vg00 -wi-ao-- 504.00g
 

PHP-Friends

Blog Benutzer
verifizierter Anbieter
Ja - wie andere schon sagten, kannst du dein md1 und somit dein Root-Filesystem nicht vergrößern. Zumindest nicht ohne größere experimentelle Verrenkungen im Rescue-System. Das einzig Sinnvolle ist, die Verzeichnisse unterhalb des Roots mit entsprechendem Mehrbedarf an Speicherplatz in ein eigenes Logical Volume auszulagern.

Von einem Logical Volume booten mag ich persönlich nicht so wirklich. Das ist halt eine potenzielle Fehlerquelle mehr und gerade den Bootvorgang - also quasi die halbe Miete - möchte man doch möglichst schmerzfrei hinter sich bringen. :)
 

elias5000

Site Reliability Engineer
Du erstellst einfach ein neues Logical Volume, formatierst das und trägst das in der fstab ein so dass es unter /tmp gemountet wird.
 
Top