Growfs From Hackepedia
Here is a breakdown on how to grow an ffs filesystem. Let's make a big file which will represent our disk, 32MB in size:
# dd if=/dev/zero of=disk bs=32m count=1 1+0 records in 1+0 records out 33554432 bytes transferred in 0.164 secs (204133427 bytes/sec) # vnconfig -cv svnd0 disk svnd0: 33554432 bytes on disk/dev/svnd0c is now our disk. Create a partition on it, this time we'll make it too small so that there is space left on the disk:
# disklabel -E svnd0 disklabel: Can't get bios geometry: Device not configured Initial label editor (enter '?' for help at any prompt) > a partition: [a] offset: [0] size: [65536] 32768 FS type: [4.2BSD] > p device: /dev/rsvnd0c type: SCSI disk: vnd device label: fictitious bytes/sector: 512 sectors/track: 100 tracks/cylinder: 1 sectors/cylinder: 100 cylinders: 655 total sectors: 65536 free sectors: 32768 rpm: 3600 16 partitions: # size offset fstype [fsize bsize cpg] a: 32768 0 4.2BSD 2048 16384 16 # Cyl 0 - 327* c: 65536 0 unused 0 0 # Cyl 0 - 655* > q Write new label?: [y] yWrite the filesystem on it:
# newfs /dev/rsvnd0a
Warning: cylinder groups must have a multiple of 8 cylinders
Warning: 32 sector(s) in last cylinder unallocated
/dev/rsvnd0a: 32768 sectors in 328 cylinders of 1 tracks, 100 sectors
16.0MB in 1 cyl groups (328 c/g, 16.02MB/g, 2048 i/g)
super-block backups (for fsck -b #) at:
32,
Mount the filesystem and populate it with files:
# mount /dev/svnd0a /mnt # cd /mnt # cp /bin/* . # cp /sbin/* . /mnt: write failed, file system is full ... # df . Filesystem 512-blocks Used Avail Capacity Mounted on /dev/svnd0a 32156 31992 -1440 105% /mnt ... # df -i . Filesystem 512-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/svnd0a 32156 31740 -1188 104% 134 1912 7% /mnt # cd /tmp # umount /mntNote the reason the filesystem Capacity changed from 105% to 104% is because the author had deleted some files and represented this with "...". Don't get confused! Now we grow the partition:
# disklabel -e svnd0
# growfs /dev/rsvnd0a
We strongly recommend you make a backup before growing the Filesystem
Did you backup your data (Yes/No) ? Yes
new file system size is: 16384 frags
growfs: 65536 sectors in 656 cylinders of 1 tracks, 100 sectors
32.0MB in 2 cyl groups (328 c/g, 16.02MB/g, 2048 i/g)
superblock backups (for fsck -b #) at:
32832
Mount it and check it: \
# mount /dev/svnd0a /mnt # cd /mnt # df . Filesystem 512-blocks Used Avail Capacity Mounted on /dev/svnd0a 64348 31740 29392 52% /mnt # df -i . Filesystem 512-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/svnd0a 64348 31740 29392 52% 134 3960 3% /mntConclusions: growfs not only increased the data space on the filesystem but also the index (inodes).
German - von Hackepedia
Hier sind die Schritte um ein FFS Dateisystem zu vergroessern.
Wir fangen an mit einer grossen Datei die unser Dateisystem repraesentiert, es ist 32 MB gross:
# dd if=/dev/zero of=disk bs=32m count=1 1+0 records in 1+0 records out 33554432 bytes transferred in 0.164 secs (204133427 bytes/sec) # vnconfig -cv svnd0 disk svnd0: 33554432 bytes on disk/dev/svnd0c ist nun das gesammte Disk. Wir werden eine Partition darauf erstellen aber kleiner als das gesamte Disk so das wir es vergroessern koennen.
# disklabel -E svnd0 disklabel: Can't get bios geometry: Device not configured Initial label editor (enter '?' for help at any prompt) > a partition: [a] offset: [0] size: [65536] 32768 FS type: [4.2BSD] > p device: /dev/rsvnd0c type: SCSI disk: vnd device label: fictitious bytes/sector: 512 sectors/track: 100 tracks/cylinder: 1 sectors/cylinder: 100 cylinders: 655 total sectors: 65536 free sectors: 32768 rpm: 3600 16 partitions: 16 partitions: # size offset fstype [fsize bsize cpg] a: 32768 0 4.2BSD 2048 16384 16 # Cyl 0 - 327* c: 65536 0 unused 0 0 # Cyl 0 - 655* > q Write new label?: [y] yNun schreiben wir das neue Dateisystem auf die Partition:
# newfs /dev/rsvnd0a
Warning: cylinder groups must have a multiple of 8 cylinders
Warning: 32 sector(s) in last cylinder unallocated
/dev/rsvnd0a: 32768 sectors in 328 cylinders of 1 tracks, 100 sectors
16.0MB in 1 cyl groups (328 c/g, 16.02MB/g, 2048 i/g)
super-block backups (for fsck -b #) at:
32,
Jetzt mounten wir das neue Dateisystem und erstellen viele Dateien darauf:
# mount /dev/svnd0a /mnt # cd /mnt # cp /bin/* . # cp /sbin/* . /mnt: write failed, file system is full ... # df . Filesystem 512-blocks Used Avail Capacity Mounted on /dev/svnd0a 32156 31992 -1440 105% /mnt ... # df -i . Filesystem 512-blocks Used Avail Capacity iused ifree %iused Mount ed on /dev/svnd0a 32156 31740 -1188 104% 134 1912 7% /mnt # cd /tmp # umount /mntDer Grund das dieses filesytem nur 104% Kapazitaet hat ist weil ich ein paar Dateien wieder geloescht habe und es mit "..." abgekuertzt habe. Bitte nicht denken das dieses Dateisytem speziell ist.
Jetzt werden wir das Dateisystem vergroessern:
# disklabel -e svnd0
...
# growfs /dev/rsvnd0a
We strongly recommend you make a backup before growing the Filesystem
Did you backup your data (Yes/No) ? Yes
new file system size is: 16384 frags
growfs: 65536 sectors in 656 cylinders of 1 tracks, 100 sectors
32.0MB in 2 cyl groups (328 c/g, 16.02MB/g, 2048 i/g)
superblock backups (for fsck -b #) at:
32832
Dateisystem mounten und ueberpruefen:
# mount /dev/svnd0a /mnt # cd /mnt # df . Filesystem 512-blocks Used Avail Capacity Mounted on /dev/svnd0a 64348 31740 29392 52% /mnt # df -i . Filesystem 512-blocks Used Avail Capacity iused ifree %iused Mount ed on /dev/svnd0a 64348 31740 29392 52% 134 3960 3% /mntEndergebniss: "growfs" hat nicht nur den Daten Speicher vergroessert sondern auch inodes.