我使用Centos 6.3 x64的社区图像创建了我的EC2机器。我添加了35 GB的磁盘。现在我做#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.2G 6.4G 16% /
tmpfs 7.3G 0 7.3G 0% /dev/shm
我的磁盘是35GB,但它在root中显示为8 GB,在tmpfs中显示为7。
我试图使用resize2fs,但它没有在centos上工作。磁盘有ext4分区..
# resize2fs /dev/xvda
resize2fs 1.41.12 (17-May-2010)
resize2fs: Device or resource busy while trying to open /dev/xvda
Couldn't find valid filesystem superblock.
或者即使我尝试了resize2fs / dev / xvda1,它也说设备无关。
任何想法或其他方式,它是我的根磁盘(/)。所以无法卸下它。
答案 0 :(得分:39)
我找到了一种方法,resize2fs不工作,以防不知道为什么,但它说设备或资源忙。我在resizedisk上使用fdisk发现了一篇非常好的文章我们可以通过删除和创建块来增加块大小并使分区可启动。它需要的只是重启。如果你使用相同的起始气缸,它不会影响你的数据。
# df -h <<1>>
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 6.0G 2.0G 3.7G 35% /
tmpfs 15G 0 15G 0% /dev/shm
# fdisk -l <<2>>
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
97 heads, 17 sectors/track, 25435 cylinders
Units = cylinders of 1649 * 512 = 844288 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b587
Device Boot Start End Blocks Id System
/dev/xvda1 * 2 7632 6291456 83 Linux
# fdisk /dev/xvda <<3>>
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): u <<4>>
Changing display/entry units to sectors
Command (m for help): p <<5>>
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
97 heads, 17 sectors/track, 25435 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b587
Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 12584959 6291456 83 Linux
Command (m for help): d <<6>>
Selected partition 1
Command (m for help): n <<7>>
Command action
e extended
p primary partition (1-4)
p <<8>>
Partition number (1-4): 1 <<9>>
First sector (17-41943039, default 17): 2048 <<10>>
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): <<11>>
Using default value 41943039
Command (m for help): p <<12>>
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
97 heads, 17 sectors/track, 25435 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003b587
Device Boot Start End Blocks Id System
/dev/xvda1 2048 41943039 20970496 83 Linux
Command (m for help): a <<13>>
Partition number (1-4): 1 <<14>>
Command (m for help): w <<15>>
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
# reboot <<16>>
<wait>
# df -h <<17>>
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 2.0G 17G 11% /
tmpfs 15G 0 15G 0% /dev/shm
# resize2fs /dev/xvda1 <<18>>
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 5242624 blocks long. Nothing to do!
答案 1 :(得分:16)
以下步骤对我来说非常简单:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
└─xvda1 202:1 0 8G 0 part /
以root身份执行以下命令:
# yum install cloud-utils-growpart
# growpart /dev/xvda 1
# reboot
重启后:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
└─xvda1 202:1 0 30G 0 part /
答案 2 :(得分:5)
我遇到了同样的问题。我需要做的就是
运行命令
sudo resize2fs -f /dev/xxxx
它适用于我。
答案 3 :(得分:4)
加入Adeel Ahmad的答案:
如果您尝试使用交换分区从AMI启动实例,则必须执行其他步骤。
例如,如果ami包含如下:
# fdisk -l
Disk /dev/xvde: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe211223f
Device Boot Start End Blocks Id System
/dev/xvde1 * 1 1291 10369926 83 Linux
/dev/xvde2 1292 1305 112455 82 Linux swap / Solaris
如果我必须将容量升级到20GB,我将创建一个AMI并尝试启动另一个20GB空间的实例。在此之后,如果我尝试上述步骤,磁盘空间不会增加,因为在xvde1和新空间之间存在xvde2分区。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvde1 9.8G 7.5G 1.8G 81% /
$ fdisk -l
Disk /dev/xvde: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe211223f
Device Boot Start End Blocks Id System
/dev/xvde1 * 1 1291 10369926 83 Linux
/dev/xvde2 1292 1305 112455 82 Linux swap / Solaris
$ resize2fs /dev/xvde1
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 2592481 blocks long. Nothing to do!
在这种情况下,请执行以下操作
删除分区1选定的分区1
Command (m for help): d <<6>>
Partition number (1-4): 1 <<6.0.1>>
删除分区2选择的分区2
Command (m for help): d <<6.2>>
创建已调整大小的主分区1
Command (m for help): n <<7>>
Command action
e extended
p primary partition (1-4)
p <<8>>
Partition number (1-4): 1 <<9>>
First sector (17-41943039, default 17): 2048 <<10>>
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):<<NEW_UPPER_LIMIT>> <<11>>
注意:2048应该由您原来的起始部门取代 或系统不会启动。 NEW_UPPER_LIMIT将是新的扇区号 上限,其余的将留给交换。为了维护 相同的交换空间,减去原始的开始和结束扇区 数字,然后从41943039(或你的上层)减去结果 极限)
创建交换分区
Command (m for help): n <<12>>
Command action
e extended
p primary partition (1-4)
p <<13>>
Partition number (1-4): 2 <<14>>
First sector (<<NEW_UPPER_LIMIT+1>>-41943039, default <<NEW_UPPER_LIMIT+1>>): <<USE_DEFAULT>> <<15>>
Last sector, +sectors or +size{K,M,G}(<<NEW_UPPER_LIMIT+1>>-41943039,default 41943039):<<USE_DEFAULT>> <<16>>
Using default value 41943039
为分区1添加可引导位
Command (m for help): a <<17>>
Partition number (1-4): 1 <<18>>
将分区2标记为交换
Command (m for help): l <<19>>
现在您将看到一个文件系统列表。注意与Linux swap相对应的那个(比如说82)
Command (m for help): t <<20>>
Partition number (1-4): 2 <<21>>
Hex Code (type l to list codes) : 82 <<22>>
写下更改并重新启动
Command (m for help): w <<23>> The partition table has been altered!
....
$ sudo reboot
重启后运行
resize2fs /dev/xvde1
这会调整你的fs
现在将第二个分区用作交换
$ mkswap /dev/<<SECOND SWAP PARTITION(run fdisk -l to get the name)>>
$ swapon /dev/<<SECOND SWAP PARTITION(run fdisk -l to get the name)>>
您可以检查/ proc / swaps文件以验证
$ cat /proc/swaps
现在将以下内容添加到/ etc / fstab中,以使这些更改成为持久性
在/ etc / fstab结尾(用nano或vi等打开)
/dev/<<SECOND SWAP PARTITION>> swap swap defaults 0 0
保存并退出
重新启动并检查
答案 4 :(得分:0)
我的Debian 8 ec2实例遇到了同样的问题,并且遇到了错误
FAILED: failed to get CHS from /dev/xvda
解决方案:
$ sudo parted /dev/xvda resizepart 1
Warning: Partition /dev/xvda1 is being used. Are you sure you want to continue?
Yes/No? yes
End? [8588MB]? 100
$ sudo resize2fs /dev/xvda1
$ lsblk
$ df -h
您将看到ebs音量现在已经增加。