← Back to team overview

sslug-teknik team mailing list archive

Re: Grow'e et loopback filsystem

 

"Jesper Hess Nielsen" <jesper@xxxxxxxxxx> writes:

> Hej!
>
> Jeg sidder og roder med noget Usermode Linux og kom til at tænke på
> hvordan man egentlig gør sådan et loopback filsystem større?

Lige ud ad landevejen, i hvert fald med ext2. Du gør filen større med
dd og kalder så resize2fs på filen. Tilsvarende med andre filsystemer
der kan resizes.

Der du lige skal holde tungen lige i munden er at seek skal være
korrekt.

mac:~# dd if=/dev/zero of=/tmp/testfs count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes transferred in 0.013181 seconds (79552257 bytes/sec)
mac:~# mke2fs /testfs
mke2fs 1.32 (09-Nov-2002)
Could not stat /testfs --- No such file or directory

The device apparently does not exist; did you specify it correctly?
mac:~# mke2fs /tmp/testfs
mke2fs 1.32 (09-Nov-2002)
/tmp/testfs is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
128 inodes, 1024 blocks
51 blocks (4.98%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
128 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
mac:~# mount -o loop /tmp/testfs /mnt
mac:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3               253871     60369    180395  26% /
/dev/VG/usr            4128448    940684   2978052  25% /usr
/dev/VG/var            2064208    734204   1225148  38% /var
/dev/VG/news           4194172   2466680   1727492  59% /var/news
/dev/VG/home          10321208   2943796   6853124  31% /home
/tmp/testfs               1003        13       939   2% /mnt
mac:~# umount /mnt
mac:~# dd if=/dev/zero of=/tmp/testfs seek=1024 count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes transferred in 0.013497 seconds (77689590 bytes/sec)
mac:~# resize2fs /tmp/testfs
resize2fs 1.32 (09-Nov-2002)
Please run 'e2fsck -f /tmp/testfs' first.

mac:~# e2fsck -f /tmp/testfs
e2fsck 1.32 (09-Nov-2002)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/tmp/testfs: 11/128 files (0.0% non-contiguous), 34/1024 blocks
mac:~# resize2fs /tmp/testfs
resize2fs 1.32 (09-Nov-2002)
The filesystem on /tmp/testfs is now 2048 blocks long.

mac:~# mount -o loop /tmp/testfs /mnt
mac:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3               253871     61397    179367  26% /
/dev/VG/usr            4128448    940684   2978052  25% /usr
/dev/VG/var            2064208    734208   1225144  38% /var
/dev/VG/news           4194172   2466704   1727468  59% /var/news
/dev/VG/home          10321208   2943796   6853124  31% /home
/tmp/testfs               2027        13      1933   1% /mnt
mac:~#


Og så overvejer jeg lige om man ikke ville kunne have brugt

dd if=/dev/zero bs=1024 count=1024 >> /tmp/testfs istedet

?

[tester]

Jo, det kunne man godt. Så behøver man ikke at holde tungen så lige...

-- 
 Peter Makholm     |     If you can't do any damage as root, are you still
 peter@xxxxxxxxxxx |                                          really root?
 http://hacking.dk |                       -- Derek Gladding about SELinux


References