无法在EC2 centos上调整根分区

Ade*_*mad 23 centos amazon-ec2 disk-partitioning

我使用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
Run Code Online (Sandbox Code Playgroud)

我的磁盘是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.
Run Code Online (Sandbox Code Playgroud)

或者即使我尝试resize2fs/dev/xvda1它说设备无关.

任何想法或其他方式,它的根磁盘(/).所以无法卸下它.

Ade*_*mad 39

我找到了一种方法,resize2fs不工作,以防不知道为什么,但它说设备或资源忙.我在使用fdisk 发现了一篇关于resizedisk的非常好的文章我们可以通过删除和创建它来增加块大小并使分区可启动.它需要的只是重启.如果你使用相同的起始气缸,它不会影响你的数据.

# 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!
Run Code Online (Sandbox Code Playgroud)

  • 我尝试这些,但重新启动后,无法连接到服务器 (2认同)

小智 18

以下步骤非常简单适合我:

# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  30G  0 disk 
??xvda1 202:1    0   8G  0 part /
Run Code Online (Sandbox Code Playgroud)

以root身份执行以下命令:

# yum install cloud-utils-growpart

# growpart /dev/xvda 1

# reboot
Run Code Online (Sandbox Code Playgroud)

重启后:

# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  30G  0 disk 
??xvda1 202:1    0  30G  0 part /
Run Code Online (Sandbox Code Playgroud)


小智 5

我遇到了同样的问题。我要做的就是

  1. 重新启动实例
  2. 运行命令

    sudo resize2fs -f /dev/xxxx
    
    Run Code Online (Sandbox Code Playgroud)

对我来说效果很好。