我刚创建了一个运行RHEL7的Amazon AWS EC2实例:
[root@ip-10-184-161-46 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) [root@ip-10-184-161-46 ~]#
即使我选择10GB作为我的存储容量,无论出于何种原因我只能看到6GB可供我立即使用:
[root@ip-10-184-161-46 ~]# mount | grep xfs | grep -v selinux /dev/xvda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota) [root@ip-10-184-161-46 ~]# df -h | grep xvda /dev/xvda1 6.0G 2.2G 3.9G 37% / [root@ip-10-184-161-46 ~]# fdisk -l /dev/xvda Disk /dev/xvda: 10.7 GB,10737418240 bytes,20971520 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 label type: dos Disk identifier: 0x0000b85c Device Boot Start End Blocks Id System /dev/xvda1 * 2048 12584959 6291456 83 Linux [root@ip-10-184-161-46 ~]#
这就是我所做的:
[root@ip-10-164-175-246 ~]# fdisk -l /dev/xvda Disk /dev/xvda: 10.7 GB,20971520 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 label type: dos Disk identifier: 0x0000b85c Device Boot Start End Blocks Id System /dev/xvda1 * 2048 12584959 6291456 83 Linux /dev/xvda2 12584960 20971519 4193280 83 Linux [root@ip-10-164-175-246 ~]# xfs_growfs / Meta-data=/dev/xvda1 isize=256 agcount=4,agsize=393216 blks = sectsz=512 attr=2,projid32bit=1 = crc=0 data = bsize=4096 blocks=1572864,imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560,version=2 = sectsz=512 sunit=0 blks,lazy-count=1 realtime =none extsz=4096 blocks=0,rtextents=0 [root@ip-10-164-175-246 ~]# df -h | grep xvda /dev/xvda1 6.0G 2.3G 3.8G 38% / [root@ip-10-164-175-246 ~]#
我的其他4GB在哪里?我以为运行xfs_growfs /会增加我的xfs分区的大小.
我究竟做错了什么?
解决方法
有趣的是,我在EC2上找到我的RHEL实例之后的另一天就完成了这一点,只有6GB左右的10GB空间分配给它…
[root@ip-172-31-20-177 ~]# xfs_info / Meta-data=/dev/xvda1 isize=256 agcount=4,rtextents=0
这里的问题是你创建了第二个分区.
相反,您应该调整第一个分区的大小.
因此,您将使用fdisk删除第二个分区,然后同时删除并重新创建第一个分区. fdisk默认值将使其填充磁盘(并正确对齐).
启动fdisk并删除分区:
[root@ip-172-31-20-177 ~]# fdisk /dev/xvda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only,until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/xvda: 10.7 GB,20971520 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 label type: dos Disk identifier: 0x0000b85c Device Boot Start End Blocks Id System /dev/xvda1 * 2048 12584959 6291456 83 Linux Command (m for help): d Selected partition 1 Partition 1 is deleted
现在使用所有默认值重新创建分区,这将最大化其大小:
Command (m for help): n Partition type: p primary (0 primary,0 extended,4 free) e extended Select (default p): p Partition number (1-4,default 1): First sector (2048-20971519,default 2048): Using default value 2048 Last sector,+sectors or +size{K,M,G} (2048-20971519,default 20971519): Using default value 20971519 Partition 1 of type Linux and of size 10 GiB is set Command (m for help): p Disk /dev/xvda: 10.7 GB,20971520 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 label type: dos Disk identifier: 0x0000b85c Device Boot Start End Blocks Id System /dev/xvda1 2048 20971519 10484736 83 Linux
保存新分区表:
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.
重新启动时,应该通过cloud-init自动为您调整文件系统的大小.如果没有,您可以使用xfs_growfs /手动扩展文件系统.
[root@ip-172-31-20-177 ~]# xfs_info / Meta-data=/dev/xvda1 isize=256 agcount=7,projid32bit=1 = crc=0 data = bsize=4096 blocks=2621184,rtextents=0 [root@ip-172-31-20-177 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 10474496 818560 9655936 8% /