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

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben