Hi,
ich habe hier einen Server im Rescue, der eine Swap-, eine Boot- und eine Root-Partition (/) hat. Die Partitionen sind auf zwei Platten identisch und es liegt ein Software-RAID-1 drüber - soweit nicht ungewöhnlich. Um das noch mal zu veranschaulichen (Stand vorher):
md0 ist halt Swap.
Nun muss ich den Swap auf 32 GB vergrößern, die Boot-Partition von der Größe her so lassen, wie sie ist, und die Root-Partition kriegt den Rest (abzüglich ca. 10%, die die SSD für's Neuzuteilen bei kaputten Sektoren behalten darf). Hierzu muss ja jeweils folgendes geschehen: Dateisystem verkleinern, RAID-Array verkleinern und letztlich die physikalische Partition auf beiden Platten verkleinern.
Konkrete Herangehensweisen gibt es wohl viele; ich persönlich habe mich nach einiger Recherche dazu entschieden, das RAID zu degraden, auf einer der Platten die neuen Partitionen anzulegen und mich danach um den Rest zu kümmern. Aber irgendwas will da nicht passen:
Meine neue (physikalische) Root-Partition bekommt genau 353716224 Sektoren. Aus den existenten Partitionen auf der anderen Platte und den RAID-Arrays habe ich abgeleitet, dass das RAID demnach - natürlich nach Anpassung des ext4 - wegen der Sektorgröße von 512 Bytes die Hälfte der Sektoren der physikalischen Partition bekommt (klar, 1 KB ist doppelt so viel wie 512 Byte). Also: mdadm --grow /dev/md2 --size=176858112 - Und dann wird's traurig:
Kurz: Warum ist das so? Wo ist mein Denkfehler? Es geht mir weniger um Alternativen, sondern in dem Fall absolut um das Verständnis der Sache.
Danke vorab!
Viele Grüße
Tim
ich habe hier einen Server im Rescue, der eine Swap-, eine Boot- und eine Root-Partition (/) hat. Die Partitionen sind auf zwei Platten identisch und es liegt ein Software-RAID-1 drüber - soweit nicht ungewöhnlich. Um das noch mal zu veranschaulichen (Stand vorher):
Code:
md2 : active raid1 sda3[0] sdb3[1]
230685560 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
524276 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
2096116 blocks super 1.2 [2/2] [UU]
(parted) print
Model: ATA INTEL SSDSC2CW24 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 2149MB 2147MB primary raid
2 2150MB 2686MB 537MB primary raid
3 2688MB 239GB 236GB primary raid
Filesystem Size Used Avail Use% Mounted on
/dev/md2 219G 85G 134G 39% /
/dev/md1 496M 31M 440M 7% /boot
md0 ist halt Swap.
Nun muss ich den Swap auf 32 GB vergrößern, die Boot-Partition von der Größe her so lassen, wie sie ist, und die Root-Partition kriegt den Rest (abzüglich ca. 10%, die die SSD für's Neuzuteilen bei kaputten Sektoren behalten darf). Hierzu muss ja jeweils folgendes geschehen: Dateisystem verkleinern, RAID-Array verkleinern und letztlich die physikalische Partition auf beiden Platten verkleinern.
Konkrete Herangehensweisen gibt es wohl viele; ich persönlich habe mich nach einiger Recherche dazu entschieden, das RAID zu degraden, auf einer der Platten die neuen Partitionen anzulegen und mich danach um den Rest zu kümmern. Aber irgendwas will da nicht passen:
Meine neue (physikalische) Root-Partition bekommt genau 353716224 Sektoren. Aus den existenten Partitionen auf der anderen Platte und den RAID-Arrays habe ich abgeleitet, dass das RAID demnach - natürlich nach Anpassung des ext4 - wegen der Sektorgröße von 512 Bytes die Hälfte der Sektoren der physikalischen Partition bekommt (klar, 1 KB ist doppelt so viel wie 512 Byte). Also: mdadm --grow /dev/md2 --size=176858112 - Und dann wird's traurig:
Code:
root@rescue ~ # mdadm /dev/md2 --add /dev/sda3
mdadm: /dev/sda3 not large enough to join array
Kurz: Warum ist das so? Wo ist mein Denkfehler? Es geht mir weniger um Alternativen, sondern in dem Fall absolut um das Verständnis der Sache.
Danke vorab!
Viele Grüße
Tim