首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线调整ext2的大小?

在线调整ext2的大小?
EN

Server Fault用户
提问于 2013-06-18 08:27:01
回答 1查看 1.9K关注 0票数 1

ext2文件系统可以调整大小--只要底层块设备可以调整大小--但不能联机。

但是,正如我的另一篇文章所显示的那样,如果ext2文件系统被挂载为ext4,那么resize2fs将不会给出错误消息。

系统信息:

  • Red Hat Enterprise Linux Server release 6.4 (Santiago)
  • e2fsprogs-1.41.12-14.el6_4.2.x86_64

重新创建(例如使用LVM块设备(“磁盘”):

创建一个块设备和一个ext2文件系统( mke2fs在RedHat 6中的默认值)

代码语言:javascript
复制
[root@myServer ~]# lvcreate -L 8M -n test3 vg_myServer
  Logical volume "test3" created
[root@myServer ~]# mke2fs /dev/mapper/vg_myServer-test3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=4 blocks, Stripe width=0 blocks
2048 inodes, 8192 blocks
409 blocks (4.99%) reserved for the super user
First data block=1
Maximum filesystem blocks=8388608
1 block group
8192 blocks per group, 8192 fragments per group
2048 inodes per group

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

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

    # verify by checking the block ID
[root@myServer ~]# blkid /dev/mapper/vg_myServer-test3 | grep ext
/dev/mapper/vg_myServer-test3: UUID="97a46d2c-e157-46ec-a942-2df0d07eb39f" TYPE="ext2"

挂载文件系统

代码语言:javascript
复制
    # Create a mount point and mount the file system
[root@myServer ~]# mkdir -p /mnt/test3
[root@myServer ~]# mount -t ext4 /dev/mapper/vg_myServer-test3 /mnt/test3/

    # See that mount percieves the filesystem as "ext4"
[root@myServer ~]# mount | grep test3
/dev/mapper/vg_myServer-test3 on /mnt/test3 type ext4 (rw)

将文件系统填充到容量

代码语言:javascript
复制
[root@myServer ~]# dd if=/dev/zero of=/mnt/test3/largefile bs=1024 count=8000
dd: writing `/mnt/test3/largefile': No space left on device
7849+0 records in
7848+0 records out
8036352 bytes (8.0 MB) copied, 2.22541 s, 3.6 MB/s

    # Verify
[root@myServer ~]# df -P /dev/mapper/vg_myServer-test3
Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/mapper/vg_myServer-test3     7931     7926      0      100% /mnt/test3

扩展块设备/ LVM,并调整大小

代码语言:javascript
复制
[root@myServer ~]# lvextend -L +8M /dev/mapper/vg_myServer-test3
  Extending logical volume test3 to 16.00 MiB
  Logical volume test3 successfully resized

    # Perform a resize, _without_ umount
[root@myServer ~]# resize2fs /dev/mapper/vg_myServer-test3
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_myServer-test3 is mounted on /mnt/test3; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg_myServer-test3 to 16384 (1k) blocks.
The filesystem on /dev/mapper/vg_myServer-test3 is now 16384 blocks long.

验证-文件系统认为文件系统是扩展的。

代码语言:javascript
复制
[root@myServer ~]# df /dev/mapper/vg_myServer-test3
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_myServer-test3   15863      7957      7089  53% /mnt/test3

创建第二个“大”文件

代码语言:javascript
复制
[root@myServer ~]# dd if=/dev/zero of=/mnt/test3/largefile2 bs=1024 count=8000
dd: writing `/mnt/test3/largefile2': No space left on device
5230+0 records in
5229+0 records out
5354496 bytes (5.4 MB) copied, 0.280078 s, 19.1 MB/s

    # Verify that the OS sees the FS as 88% full - but unable to write any more
[root@myServer ~]# df -P /dev/mapper/vg_myServer-test3
Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/mapper/vg_myServer-test3     15863     13227      1819      88% /mnt/test3

在文件系统上安装和执行fsck

代码语言:javascript
复制
[root@myServer ~]# umount /dev/mapper/vg_myServer-test3
[root@myServer ~]# mount -t ext4 /dev/mapper/vg_myServer-test3 /mnt/test3/

    # FS suddenly has less usage...
[root@myServer ~]# df -P /dev/mapper/vg_myServer-test3
Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/mapper/vg_myServer-test3     15863      7963      7083      53% /mnt/test3

    # Perfor an fsck after an umount, then mount again
[root@myServer ~]# umount /dev/mapper/vg_myServer-test3
[root@myServer ~]# e2fsck -f /dev/mapper/vg_myServer-test3
e2fsck 1.41.12 (17-May-2010)
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
/dev/mapper/vg_myServer-test3: 13/4096 files (15.4% non-contiguous), 8484/16384 blocks
[root@myServer ~]# mount -t ext4 /dev/mapper/vg_myServer-test3 /mnt/test3/

我们现在有多大的尺寸?

代码语言:javascript
复制
    # Same as before the fsck
[root@myServer ~]# df -P /dev/mapper/vg_myServer-test3
Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/mapper/vg_myServer-test3     15863      7963      7083      53% /mnt/test3

    # A bit strange, the 8MB file and an 5MB file...?
[root@myServer ~]# ls -ld /mnt/test3/large*
-rw-r--r--. 1 root root 8036352 Jun 18 09:54 /mnt/test3/largefile
-rw-r--r--. 1 root root 5354496 Jun 18 09:55 /mnt/test3/largefile2

尝试创建第二个大文件

代码语言:javascript
复制
    # Fill up again
[root@myServer ~]# dd if=/dev/zero of=/mnt/test3/largefile2 bs=1024 count=8000
dd: writing `/mnt/test3/largefile2': No space left on device
7870+0 records in
7869+0 records out
8057856 bytes (8.1 MB) copied, 2.43879 s, 3.3 MB/s

    # "largefile2" has increased in size - OK
[root@myServer ~]# ls -ld /mnt/test3/large*
-rw-r--r--. 1 root root 8036352 Jun 18 09:54 /mnt/test3/largefile
-rw-r--r--. 1 root root 8057856 Jun 18 10:12 /mnt/test3/largefile2

    # We are again at capacity
[root@myServer ~]# df -P /dev/mapper/vg_myServer-test3
Filesystem         1024-blocks      Used Available Capacity Mounted on
/dev/mapper/vg_myServer-test3     15863     15858         0     100% /mnt/test3

而且FS (当然)仍然是一个ext2文件系统

代码语言:javascript
复制
    # Still an "ext2" filesystem
[root@myServer ~]# blkid /dev/mapper/vg_myServer-test3
/dev/mapper/vg_myServer-test3: UUID="97a46d2c-e157-46ec-a942-2df0d07eb39f" TYPE="ext2"

    # But mounted as "ext4"
[root@myServer ~]# mount | grep /dev/mapper/vg_myServer-test3
/dev/mapper/vg_myServer-test3 on /mnt/test3 type ext4 (rw)

如果文件系统被挂载为ext2,则在试图调整大小时会得到错误消息(正确)。

代码语言:javascript
复制
[root@myServer ~]# umount /dev/mapper/vg_myServer-test3
[root@myServer ~]# mount -t ext2 /dev/mapper/vg_myServer-test3 /mnt/test3/
[root@myServer ~]# lvextend -L +8M /dev/mapper/vg_myServer-test3
  Extending logical volume test3 to 24.00 MiB
  Logical volume test3 successfully resized
[root@myServer ~]# resize2fs /dev/mapper/vg_myServer-test3
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_myServer-test3 is mounted on /mnt/test3; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
resize2fs: Kernel does not support online resizing

我知道ext4文件系统驱动程序可以挂载ext2 --如果您在没有ext2驱动程序的系统上,这是很好的。

问:这是一个错误还是一个特性--意味着resize2fs没有给出错误消息?如果是的话,它在resize2fs中吗?

EN

回答 1

Server Fault用户

发布于 2013-08-06 14:11:34

您使用的是古代版本的e2fsprogs。

请升级,从1.41.12 (17-5-2010)开始就有固定包了。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/516556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档