Festplattenpartition vergrössern
! ACHTUNG ! BEIM RESIZEN (SYSTINSTALL LABEL) WERDEN ALLE DATEN AUF DER FESTPLATTE GELÖSCHT! VORHER UNBEDINGT BACKUP MACHEN
Ich möchte nun die Disk für die Web Logfiles von 4GB auf 14GB vergrössern. Dazu für den nächsten Start die betroffenen Partitionen zuerst umounten (einfach im /etc/fstab entsprechende Einträge deaktivieren). Nun Server runterfahren und die Disk über das Webinterface entsprechend vergrössern. Danach Server wieder hochfahren.
Die zusätzlichen 9GB sind nun sichtbar:
#> gpart show vtbd3
=> 63 29360065 vtbd3 MBR (14G)
63 2096577 1 freebsd [active] (1G)
2096640 8388576 2 freebsd [active] (4G)
10485216 18874912 - free - (9.0G)
Nun möchte ich die 2. Partition auf dieser Platte resizen. (Die 1. kann man nicht mehr vergrössern, da die 2. „im Weg“ ist.). Man kann effektiv nur die letzte Partition in der Liste einfach vergrössern.
#> gpart resize -i 2 vtbd3
vtbd3s2 resize
Nun sieht das ganze so aus:
#> gpart show vtbd3
=> 63 29360065 vtbd3 MBR (14G)
63 2096577 1 freebsd [active] (1G)
2096640 27263439 2 freebsd [active] (13G)
29360079 49 - free - (24k)
Nun ist die Partition vergrössert. Allerdings ist das Filesystem immernoch 4GB gross:
#> mount /dev/vtbd3s2d /logs_www
#> df -h
[..]
/dev/vtbd3s2d 3.9G 8.0k 3.6G 0% /logs_www
Daher muss das Filesystem nun ebenfalls vergrössert werden (vorher muss Partition allerdings wieder umounted werden):
#> umount /logs_www
Jetzt im über sysinstall neu labeln:
ACHTUNG! Bei meinem Versuch hatte es auf der Partition /logs_www keine Daten drauf. Daher habe ich keine Ahnung, ob per „sysinstall Label“ bestehende Daten erhalten bleiben oder gelöscht werden! Auf jedenfall sollten Backups gemacht werden oder das Label manuell mit bsdlabel editiert werden!
#> sysinstall
Configure -> Label -> [x] vtbd3
Nun runterscrollen zu der alten 4GB Partition (vtbd3s2d) und löschen (D)
Jetzt im oberen Sektor die 2. Partition wieder auswählen und C für create. Gesamte Platte wählen.
W für write und dann Sysinstall beenden.
Praktisch: über sysinstall wird growfs anscheinend automatisch ausgeführt. Denn das Filesystem hat nun bereits die korrekte Grösse:
/dev/vtbd3s2d 12G 8.0k 11G 0% /logs_www
Ansonsten wäre das noch der „reguläre“ Weg über die Konsole:
bsdlabel -e /dev/vtbd3s2d
growfs /dev/vtbd3s2d
Meine ersten Gehversuche – bleiben als Referenz 😉
Ich will die /usr Partition vergrössern. Momentan habe ich 5GB zur Verfügung. Im Webinterface hab ich dem Server weitere 5GB zugeteilt. Diese füge ich nun zur /usr Partition hinzu.
$ df -h
Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 5.9G 675M 4.8G 12% / devfs 1.0k 1.0k 0B 100% /dev /dev/ada0p3 6.9G 5.1G 1.2G 80% /usr /dev/ada0p4 1G 8.1M 918M 1% /tmp
mit gpart kann ich nun die neue Grösse sehen (vorher waren es 15GB)
root@FreeBSD9(/> gpart show ada0
=> 34 31457213 ada0 GPT (20G) [CORRUPT]
34 128 1 freebsd-boot (64k)
162 12582912 2 freebsd-ufs (6.0G)
12583074 14680064 3 freebsd-ufs (7.0G)
27263138 2097152 4 freebsd-ufs (1.0G)
29360290 2095104 5 freebsd-swap (1G)
31455394 1853 - free - (926k)
root@FreeBSD9(/)> gpart status ada0 Name Status Components ada0p1 CORRUPT ada0 ada0p2 CORRUPT ada0 ada0p3 CORRUPT ada0 ada0p4 CORRUPT ada0 ada0p5 CORRUPT ada0
Nun reparieren…
root@FreeBSD9(/)> gpart recover ada0 ada0 recovered
Und das sieht doch jetzt schon mal gut aus 🙂
root@FreeBSD9(/)> gpart status ada0 Name Status Components ada0p1 OK ada0 ada0p2 OK ada0 ada0p3 OK ada0 ada0p4 OK ada0 ada0p5 OK ada0
root@FreeBSD9(/)> gpart show ada0
=> 34 41942973 ada0 GPT (20G)
34 128 1 freebsd-boot (64k)
162 12582912 2 freebsd-ufs (6.0G)
12583074 14680064 3 freebsd-ufs (7.0G)
27263138 2097152 4 freebsd-ufs (1.0G)
29360290 2095104 5 freebsd-swap (1G)
31455394 10487613 - free - (5.0G)
Nun will ich die 3. Partition (/usr) resizen. Dafür muss ich in den Single User Modus booten, da sonst /usr busy ist. Reboote System mit der
- Single User Option (6)
- <Enter> to boot
Ich arbeite normal mit der /bin/sh shell. Tipp: Hier übrigens im Windows-Eingabegebietsschema wieder auf DE schalten für die deutsche Tastatur! So jetzt sind alle Partitionen ausser der Root umounted.
# df -h
Filesystem Size Used Avail Capacity Mounted on /dev/ada0p2 5.9G 675M 4.8G 12% / devfs 1.0k 1.0k 0B 100% /dev
Partition nun resizen
# gpart resize -i 3 -s ada0 ada0p3 resized
das geht aber nicht… ich kann nur die letzte (swap) partition resizen… da der Endsektor von der Swap Partition (31455393) an den Startsektor (33554594) der freien Partition angrenzt.
root@FreeBSD9(/)> gpart list Geom name: ada0 modified: false state: OK fwheads: 16 fwsectors: 63 last: 41943006 first: 34 entries: 128 scheme: GPT Providers: 1. Name: ada0p1 Mediasize: 65536 (64k) Sectorsize: 512 Stripesize: 0 Stripeoffset: 17408 Mode: r0w0e0 rawuuid: 0019c91e-436e-11e1-bb89-0200b216445b rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f label: (null) length: 65536 offset: 17408 type: freebsd-boot index: 1 end: 161 start: 34 2. Name: ada0p2 Mediasize: 6442450944 (6.0G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 82944 Mode: r1w1e1 rawuuid: 39f9b0ff-436e-11e1-bb89-0200b216445b rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b label: (null) length: 6442450944 offset: 82944 type: freebsd-ufs index: 2 end: 12583073 start: 162 3. Name: ada0p3 Mediasize: 7516192768 (7.0G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 2147566592 Mode: r1w1e1 rawuuid: 47b2ee2a-436e-11e1-bb89-0200b216445b rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b label: (null) length: 7516192768 offset: 6442533888 type: freebsd-ufs index: 3 end: 27263137 start: 12583074 4. Name: ada0p4 Mediasize: 1073741824 (1.0G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 1073824768 Mode: r1w1e1 rawuuid: cc28ce6b-436f-11e1-bb89-0200b216445b rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b label: (null) length: 1073741824 offset: 13958726656 type: freebsd-ufs index: 4 end: 29360289 start: 27263138 5. Name: ada0p5 Mediasize: 1072693248 (1G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 2147566592 Mode: r1w1e0 rawuuid: be9a781f-4370-11e1-bb89-0200b216445b rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b label: (null) length: 1072693248 offset: 15032468480 type: freebsd-swap index: 5 end: 31455393 start: 29360290 Consumers: 1. Name: ada0 Mediasize: 21474836480 (20G) Sectorsize: 512 Mode: r4w4e7
mit CTRL + D in den normalen modus booten
Weiterführende Links