我有一个 amazonw ec2 实例,希望将根设备从 100G 扩展到 500G。创建新的 500G 卷并重新连接到实例后。 我可以通过命令 $lsblk 看到音量是否存在。但是,在我调整磁盘大小后。我无法执行此操作,并出现错误“文件系统已经有 26212055 块长。无事可做!
name@ip-172-1-1-3:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 8.0K 3.9G 1% /dev
tmpfs 799M 840K 798M 1% /run
/dev/xvda1 99G 92G 3.1G 97% /
name@ip-172-1-1-3:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE
MOUNTPOINT
xvda 202:0 0 500G 0 disk
└─xvda1 202:1 0 100G 0 part /
name@ip-172-1-1-3:~$sudo resize2fs /dev/xvda1
resize2fs 1.42.9 (4-Feb-2014)
The filesystem is already 26212055 blocks long. Nothing to do!
这就是具体要做的事情:
df -h
#打印启动分区的名称
lsblk
#显示所有块设备上的信息
您将从该输出中看到根分区的磁盘名称。例如,您可能会看到这样的内容:
xvde 202:64 0 32G 0 disk
└─xvde1 202:65 0 8G 0 part /
我们的目标是让
xvde1
使用 xvde
的全部可用空间。
以下是调整分区大小的方法:
fdisk /dev/xvda
(磁盘名称,不是您的分区)
这将进入 fdisk
实用程序。
u
#将显示更改为扇区 p
#打印信息d
#删除分区n
#新分区p
#主分区1
#分区号2048
#第一扇区p
#打印信息a
#切换可启动标志1
#选择分区1 w
#将表写入磁盘并退出现在,重新启动您的实例:
reboot
返回后执行:
resize2fs /dev/xvde1
(分区的名称,而不是块设备)
最后验证新的磁盘大小:
df -h
在我按照@error2007s第12步使用“a”a #Toggle the bootable flag stop and restart 后。我无法举出实例。
Disk /dev/xvda: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270 cylinders, total 1048576000 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: 0x00000000
Device Boot Start End Blocks Id System
/dev/xvda1 2048 1048575999 524286976 83 Linux
Command (m for help): a
Partition number (1-4): 1
Command (m for help): w
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.
name@ip-172-1-1-3:~$ reboot
reboot: Need to be root
name@ip-172-1-1-3:~$ sudo reboot
Broadcast message from name@ip-172-1-1-3
(/dev/pts/1) at 10:18 ...
The system is going down for reboot NOW!
$ ssh -i "a.pem" [email protected] -p 22
ssh: connect to host ec2-172.1.1.3.compute-1.amazonaws.com port 22: Operation timed out
您需要扩展可用空间:
$ lsblk
xvda 202:0 0 500G 0 disk
└─xvda1 202:1 0 100G 0 part /
$ growpart /dev/xvda 1
$ resize2fs /dev/xvda1
看来较新的映像将在初始化时自动执行根磁盘大小调整,因此您可能可以调整磁盘大小并重新启动。