resizing virtual disk (vn0)
Glenn Dawson
glenn at antimatter.net
Mon Jul 25 10:26:39 GMT 2005
At 02:36 AM 7/25/2005, alexandre.delay at free.fr wrote:
>hi,
>
>I am searching how to resize a virtual disk created with:
>
>
> # dd if=/dev/zero of=newimage bs=1k count=5k
> 5120+0 records in
> 5120+0 records out
> # vnconfig -s labels -c vn0 newimage
> # disklabel -r -w vn0 auto
> # newfs vn0c
> Warning: 2048 sector(s) in last cylinder unallocated
> /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
> 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
> super-block backups (for fsck -b #) at:
> 32
> # mount /dev/vn0c /mnt
>
>When I decide to add more space to this virtual disk, I would like to be
>able to
>resize it.
>
>The only solution I have is creating an other virtual disk and copy files
>before
>deleting the first one. It takes a long time and two time more space than
>what I
>want during the process.
>
>any idea?
Here's a set of step by step instructions to go along with my previous reply:
adding space to a vn backed filesystem
unmount the file system to be enlarged
# umount /foo
unconfigure the vn node that needs to be enlarged
# vnconfig -u /dev/vn0
*** MAKE A BACKUP of the file that was attached to the vn device
# cp /path/to/oldfile /path/to/backup
create a new file that's as big as the amount of space you want to add
# dd if=/dev/zero of=addfile count=2000000
(2000000 blocks is 1GB)
cat the original file and the new space into a new file
# cat origfile addfile > newfile
associate the new file with the vn device
# vnconfig -u /dev/vn0
# vnconfig -s labels -c /dev/vn0 /path/to/newfile
use disklabel to increase the size of the "disk"
(you'll need to do a bit of math to get the right numbers, but make sure you
edit the size of the disk and the size of the "c" partition)
# disklabel -r -e vn0
now use growfs to enlarge the actual filesystem
(size for growfs should match the size of the "c" partition when you edited the
disklabel)
# growfs -s 4000000 /dev/vn0c
mount the newly enlarged filesystem
# mount /dev/vn0c /some/path
and that's it.
-Glenn
>Cheers
>
>Alex
>
>_______________________________________________
>freebsd-questions at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions
mailing list