操作步骤:
1、首先在打开虚拟机设置,在选中硬盘选项,选择扩展选项(expand),设置扩展大小(需要关机状态,并且不能有虚拟机快照),比如我原来是20G ,通过设置扩展到40G。这一步过后linux就多了20G空闲磁盘.
但这只是Vmware给该虚拟机分了硬盘,就像你加了块硬盘到电脑上,下面还要在linux系统中配置使硬盘空间正确挂载:
2、终端输入 > fdisk /dev/sda
然后输入“p”(print分区信息) 查看当前信息
(对本地sda硬盘进行分区管理,其中sda是指SATA接口的硬盘,一般sda一般指第一块硬盘,第二块是sdb。相应的hda一般是指IDE接口的硬盘.)
此时一般只有sda1、sda2两个分区,所以还是在fdisk command里输入“n” (new一个新分区)此时进入扩展、主分区的选择,输入“p”选择主分区,并且选择分区号为3。
然后选择该分区的起始地址和结束地址,一般选默认的即可。此时再次输入p就可以看到已经分好区的sda3了
输入w(write写入)保存分区结果,然后重启或者输入> partprobe /dev/sda3更新一下分区信息。
3、这一步进行扩展LVM(逻辑卷):
先 输入 > pvcreate /dev/sda3 创建物理卷 PV (Physical volume)。
在这可以输入 > vgdisplay,查看下当前的卷组(volumegroup)
4、输入> vgextend /dev/vg_name /dev/sda3 将新的pv加入到原有的vg:
其中,vg的名称是自己机子的vg名称,可以通过df –h 查看
5、扩大当前正在使用的(根文件系统)逻辑卷LV,从vg中取剩下的空间这里是20G,但是有保留地址,直接取20G会报错,所以我这里取了19G:
命令是:> lvextend -l + xxG /dev/vg_name/root
6、最后 输入命令: > resize2fs /dev/vg_name/root Redhat会报错使用xfs_growf 命令挂载
这一步重新刷新了文件系统大小,之后再次df查看一下,就可以看到当前根文件系统已经是37G了。
今天在进行lvm扩容之后,按照惯例进行 resize2fs 操作,发现报如下错误:
resize2fs /dev/centos/root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/centos/root
Couldn’t find valid filesystem superblock.
检查 /dev/centos/root 文件系统,发现是xfs,如下;
mount |grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
xfs的文件系统重新定义大小用如下命令:
xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 39336960
重新进行df -h查看挂载点,发现大小已经更改。