您的位置:首页 > Web前端 > Node.js

resize2fs 修改ext2 ext3文件系统的大小 (普通分区也可,或者解决inode不够的问题)

2014-04-20 01:37 696 查看
resize2fs - ext2 file system resizer

resize2fs 是 ext2 文件系统大小调整工具

可以扩大 可以缩小原ext2分区(当然 ext3只是多了 Journal的ext2 也可以)

需要注意的是 增大的话

起始柱面不能变

步骤就是:

先fdisk 调整分区

所谓调整 也就是删了相关的分区 再重建分区

最后在分区上再用 resize2fs 调整文件系统大小

所以一个概念 或者说对照就是

文件系统(file system)是在分区(Partition)基础上的

# rpm -qf /sbin/resize2fs
e2fsprogs-1.32-15.1

# rpm -qil e2fsprogs
Name        : e2fsprogs                    Relocations: (not relocatable)
Version     : 1.32                              Vendor: Red Hat, Inc.
Release     : 15.1                          Build Date: Mon 04 Oct 2004 10:23:16 PM CST
Install Date: Mon 17 Jan 2005 03:36:34 PM CST      Build Host: tweety.build.redhat.com
Group       : System Environment/Base       Source RPM: e2fsprogs-1.32-15.1.src.rpm
Size        : 1069923                          License: GPL
Signature   : DSA/SHA1, Thu 18 Nov 2004 05:35:43 AM CST, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc.
URL         : http://e2fsprogs.sourceforge.net/ Summary     : Utilities for managing the second extended (ext2) filesystem.
Description :
The e2fsprogs package contains a number of utilities for creating,
checking, modifying, and correcting any inconsistencies in second
extended (ext2) filesystems. E2fsprogs contains e2fsck (used to
repair filesystem inconsistencies after an unclean shutdown), mke2fs
(used to initialize a partition to contain an empty ext2 filesystem),
debugfs (used to examine the internal structure of a filesystem, to
manually repair a corrupted filesystem, or to create test cases for
e2fsck), tune2fs (used to modify filesystem parameters), and most of
the other core ext2fs filesystem utilities.

You should install the e2fsprogs package if you need to manage the
performance of an ext2 filesystem.
/lib/evms/libe2fsim.1.2.1.so
/lib/libcom_err.so.2
/lib/libcom_err.so.2.0
/lib/libe2p.so.2
/lib/libe2p.so.2.3
/lib/libext2fs.so.2
/lib/libext2fs.so.2.4
/lib/libss.so.2
/lib/libss.so.2.0
/lib/libuuid.so.1
/lib/libuuid.so.1.2
/sbin/badblocks
/sbin/debugfs
/sbin/dumpe2fs
/sbin/e2fsck
/sbin/e2image
/sbin/e2label
/sbin/findfs
/sbin/fsck
/sbin/fsck.ext2
/sbin/fsck.ext3
/sbin/mke2fs
/sbin/mkfs.ext2
/sbin/mkfs.ext3
/sbin/resize2fs
/sbin/tune2fs
/usr/bin/chattr
/usr/bin/lsattr
/usr/bin/uuidgen
/usr/sbin/mklost+found
/usr/share/doc/e2fsprogs-1.32
/usr/share/doc/e2fsprogs-1.32/README
/usr/share/doc/e2fsprogs-1.32/RELEASE-NOTES
/usr/share/man/man1/chattr.1.gz
/usr/share/man/man1/lsattr.1.gz
/usr/share/man/man1/uuidgen.1.gz
/usr/share/man/man3/libuuid.3.gz
/usr/share/man/man3/uuid_clear.3.gz
/usr/share/man/man3/uuid_compare.3.gz
/usr/share/man/man3/uuid_copy.3.gz
/usr/share/man/man3/uuid_generate.3.gz
/usr/share/man/man3/uuid_generate_random.3.gz
/usr/share/man/man3/uuid_generate_time.3.gz
/usr/share/man/man3/uuid_is_null.3.gz
/usr/share/man/man3/uuid_parse.3.gz
/usr/share/man/man3/uuid_time.3.gz
/usr/share/man/man3/uuid_unparse.3.gz
/usr/share/man/man8/badblocks.8.gz
/usr/share/man/man8/debugfs.8.gz
/usr/share/man/man8/dumpe2fs.8.gz
/usr/share/man/man8/e2fsck.8.gz
/usr/share/man/man8/e2image.8.gz
/usr/share/man/man8/e2label.8.gz
/usr/share/man/man8/findfs.8.gz
/usr/share/man/man8/fsck.8.gz
/usr/share/man/man8/fsck.ext2.8.gz
/usr/share/man/man8/fsck.ext3.8.gz
/usr/share/man/man8/mke2fs.8.gz
/usr/share/man/man8/mkfs.ext2.8.gz
/usr/share/man/man8/mkfs.ext3.8.gz
/usr/share/man/man8/mklost+found.8.gz
/usr/share/man/man8/resize2fs.8.gz
/usr/share/man/man8/tune2fs.8.gz

# fdisk /dev/sdb
The number of cylinders for this disk is set to 8924.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/sdb1   *         1       522   4192933+  82  Linux swap
/dev/sdb2           523       783   2096482+  83  Linux
/dev/sdb3           784      1436   5245222+  83  Linux
/dev/sdb4          1437      8924  60147360    f  Win95 Ext'd (LBA)
/dev/sdb5          1437      8924  60147328+  83  Linux

Command (m for help): d
Partition number (1-5): 3

Command (m for help): p

Disk /dev/sdb: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/sdb1   *         1       522   4192933+  82  Linux swap
/dev/sdb2           523       783   2096482+  83  Linux
/dev/sdb4          1437      8924  60147360    f  Win95 Ext'd (LBA)
/dev/sdb5          1437      8924  60147328+  83  Linux

Command (m for help): d
Partition number (1-5): 2

Command (m for help): n
Command action
l   logical (5 or over)
p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (523-8924, default 523):
Using default value 523
Last cylinder or +size or +sizeM or +sizeK (523-1436, default 1436):
Using default value 1436

Command (m for help): p

Disk /dev/sdb: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/sdb1   *         1       522   4192933+  82  Linux swap
/dev/sdb2           523      1436   7341705   83  Linux
/dev/sdb4          1437      8924  60147360    f  Win95 Ext'd (LBA)
/dev/sdb5          1437      8924  60147328+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

# resize2fs -p /dev/sdb2 7341705
resize2fs 1.32 (09-Nov-2002)
The containing partition (or device) is only 1835426 blocks.
You requested a new size of 7341705 blocks.

Syncing disks.

# resize2fs 1.32 (09-Nov-2002)
The containing partition (or device) is only 1835426 blocks.
You requested a new size of 7341705 blocks.

Syncing disks.

# e2fsck -f /dev/sdb2
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
/var: 599/262144 files (4.5% non-contiguous), 74698/524120 blocks

# resize2fs -p /dev/sdb2
resize2fs 1.32 (09-Nov-2002)
Begin pass 1 (max = 40)
Extending the inode table     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/sdb2 is now 1835008 blocks long.

然后 mount 上 ls 一下 就发现 原来 sdb2 的区大了 还有 sdb3 的东西也在

RESIZE2FS(8)                                                      RESIZE2FS(8)

NAME
resize2fs - ext2 file system resizer

SYNOPSIS
resize2fs [ -d debug-flags ] [ -f ] [ -F ] [ -p ] device [ size ]

DESCRIPTION
The resize2fs program will resize ext2 file systems.  It can be used to
enlarge or shrink an ext2 file system located on device so that it will
have  size  blocks.   If  the  size parameter is not specified, it will
default to the size of the partition.  The size parameter may never  be
larger than the size of the partition.

The  resize2fs  program does not manipulate the size of partitions.  If
you wish to enlarge a filesystem, you must  first  make  sure  you  can
expand  the  size  of the underlying partition first.  This can be done
using fdisk(8) by deleting the  partition  and  recreating  it  with  a
larger  size.   When  recreating the partition, make sure you create it
with the same starting disk cylinder as before!  Otherwise, the  resize
operation  will  certainly  not  work,  and  you  may  lose your entire
filesystem.

If you wish to shrink an ext2 partition, first use resize2fs to  shrink
the  size  of filesystem.  Then you may use fdisk(8) to shrink the size
of the partition.  When shrinking the size of the partition, make  sure
you do not make it smaller than the new size of the ext2 filesystem!

OPTIONS
-d debug-flags
Turns on various resize2fs debugging features, if they have been
compiled into the binary.  debug-flags  should  be  computed  by
adding  the  numbers  of the desired features from the following
list:
1    - Print out all disk I/O
2    - Debug block relocations
8    - Debug inode relocations
16   - Debug moving the inode table

-p     Prints out a percentage completion bars for each resize2fs oper-
ation,  so  that  the user can keep track of what the program is
doing.

-f     Forces resize2fs to proceed with the  filesystem  resize  opera-
tion,  overriding  some  safety  checks which resize2fs normally
enforces.

-F     Flush the filesystem device's buffer  caches  before  beginning.
Only really useful for doing resize2fs time trials.

AUTHOR
resize2fs was written by Theodore Ts'o .

COPYRIGHT
Resize2fs  is Copyright 1998 by Theodore Ts'o and PowerQuest, Inc.  All
rights reserved.  As of April,  2000  Resize2fs  may  be  redistributed
under the terms of the GPL.

SEE ALSO
fdisk(8), e2fsck(8), mke2fs(8)

E2fsprogs version 1.32           November 2002                    RESIZE2FS(8)

转载自:http://windtear.net/archives/2005/09/14/000771.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐