Gå til innhold

[LØST] Resize en extended partisjon


Anbefalte innlegg

Jeg har en server som opprinnelig hadde 2x 80GB disker kjørende i RAID-1 (hda og hdg).

 

I mars kræsjet en av de (hda), og jeg swappet inn en 160GB. RAIDet var naturlig nok fortsatt på 80GB, pga. den minste disken. I går kræsjet imidlertid den andre 80GB-disken (hdg), og jeg swappet inn en 180GB-disk.

 

Dette betyr jo at jeg kan øke størrelsen på RAIDet til 160GB.

 

Når jeg swappet inn 160GB-disken i mars, gjorde jeg den "identisk" som 80GB-disken med denne kommandoen :

 

# sfdisk -d /dev/hdg | sfdisk /dev/hda

 

Dette kopierte partisjonstabellen, og jeg fikk dermed en extended partisjon som ikke gikk lenger enn til 80GB-merket.

 

Partisjonstabellen:

   Device Boot	  Start		 End	  Blocks   Id  System
/dev/hda1			   1		  12	   96358+  83  Linux
/dev/hda2			  13		9729	78051802+   5  Extended
/dev/hda3			9730		9979	 2008125   82  Linux swap / Solaris
/dev/hda5			  13		9729	78051771   fd  Linux raid autodetect

 

Når jeg så gjorde det samme på 180GB-disken, så ser ting naturlig nok helt likt ut der.

 

Så, mitt spørsmål er, hvordan kan jeg resize extended-partisjonen på begge diskene til 160GB-merket?

Planen er å lage to nye partisjoner og et RAID-1 til (og muligens, resize extended helt til 180GB på ene disken og lage enda en frittstående partisjon på 20GB).

 

I denne maskinen er det ikke noe "brukbart" skjermkort. Den klarer ihvertfall ikke å vise grafikk på noen livecd'er jeg har prøvd, så gparted ser ut til å være uaktuelt.

 

Dette bør også, hvis det er mulig, kunne gjøres via ssh.

 

Noen tips?

Endret av Sokkalf^
Lenke til kommentar
Videoannonse
Annonse

Jeg regner med at OS'et kjører fra partisjon 1 i lista, og at denne ikke kan/skal røres?

 

I såfall så er det "bare" å

- disable swapping (siden du har swap i extended)

- "feile" og fjerne raid-partisjonen fra en av diskene (kaller den "disk 1") fra raidet

- slette extended+logical part. og opprette nye partisjoner på "disk 1"

- opprette raid på partisjon fra "disk 1" og "missing" (bruk missing i stedet for partisjonen fra "disk 2")

- lag filsystem (formatere) på nytt raid og mount etterpå. pass på å ikke bruke samme /dev/md som du allerede har :p

- kopiere over data til nytt raid fra det gamle raidet på den andre disken ("disk 2")

- stoppe raidet på "disk 2"

- lage "matchende" partisjoner på "disk 2"

- legge "ny" partisjon fra "disk 2" til raidet på "disk 1" (avhengig av hva som blir start og slutt verdier for de nye partisjonene kan det være at den sier at partisjonen allerede ser ut til å være del av et raid. Hvis du har holdt styr på partisjoner og disker kan du bare svare "ja").

- aktivere swap

 

Alt dette kan gjøres med ssh. Kan være at det nye raidet blir /dev/md1 istedet for /dev/md0 selv etter at det "gamle" er borte, men det bør vel gå greit?

Denne metoden er, om ikke annet, iallefall ganske sikker (så sant du holder styr på partisjoner og disker :p )

Endret av HawP
Lenke til kommentar

Takk for innspill.

 

Ja, det var ikke så dumt, og siden jeg allerede har ting i RAID kan jeg forsåvidt prøve meg litt frem på en av diskene.

 

Alt jeg egentlig trenger å gjøre er å fjerne extended og opprette denne på nytt, med en partisjon med lik størrelse som den gamle inni, samt en ny.

 

Swap er ikke i extended, jeg har imidlertid en litt rar nummerering (swap er partisjon 3, extended er partisjon 2).

 

Edit: ser nå at swap ligger fysisk etter extended, så bør vel uansett flytte på den, ja. :)

Endret av Sokkalf^
Lenke til kommentar

Ser ut som jeg fikk til det jeg ønsket nå..

 

Failet disken og fjernet den slik :

mdadm --manage /dev/md0 --fail /dev/hdg5
mdadm --manage /dev/md0 --remove /dev/hdg5

 

Fjernet swap :

swapoff /dev/hdg3

 

Satte så opp partisjoner slik :

Disk /dev/hdg: 180.0 GB, 180045766656 bytes
255 heads, 63 sectors/track, 21889 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot	  Start		 End	  Blocks   Id  System
/dev/hdg1			   1		  12	   96358+  83  Linux
/dev/hdg2			  13	   21889   175727002+   5  Extended
/dev/hdg5			  13		9729	78051771   83  Linux
/dev/hdg6			9730		9979	 2008093+  82  Linux swap / Solaris
/dev/hdg7			9980	   19457	76132003+  fd  Linux raid autodetect
/dev/hdg8		   19458	   21889	19535008+  83  Linux

 

(dette er 180GB-disken, så har 20GB "ekstra" på slutten, la derfor inn en vanlig partisjon her.. siste cylinder på hdg7 matcher siste cylinder på 160GB-disken)

 

Byttet om swap-partisjonen i fstab og enablet den igjen etter å ha formatert den..

mkswap /dev/hdg6

 

Deretter addet jeg hdg5 til RAIDet igjen..

mdadm --manage /dev/md0 --add /dev/hdg5

 

Nå driver RAIDet og syncer, så når det er ferdig får jeg gjøre samme øvelse på den andre disken.. :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...