Amazon EC2 上通过 snapshots 的img在EBS上创建大硬盘的实例时,登录后会发现硬盘仍然为原img的大小。比如,做过的snapshots的img大小为10G,我根据这个img创建一个40G的Instance,启动后发现40G并没有显示出来,仍然显示硬盘容量为10G。其实解决办法很简单,只要执行 resize2fs 一个命令即可。
[root@ip-172-31-25-13 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvde1 9.9G 3.6G 6.3G 36% / none 1.9G 0 1.9G 0% /dev/shm [root@ip-172-31-25-13 ~]# resize2fs /dev/xvde1 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/xvde1 is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 3 Performing an on-line resize of /dev/xvde1 to 10485760 (4k) blocks. The filesystem on /dev/xvde1 is now 10485760 blocks long. [root@ip-172-31-25-13 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvde1 40G 3.6G 36G 10% / none 1.9G 0 1.9G 0% /dev/shm
现在显示正常了,EC2使用的虚拟化技术时Xen,玩过Xen/Kvm,并且给vm硬盘/分区括过容的都会用到这个命令。