最近因为公司服务器大量构建项目导致虚机的根目录严重不足,本着linux新手的心态到网上查阅资料,真的那个叫百家争鸣啊(乱抄乱写乱复制),不容易得解决了这个问题,今天来小结记录下解决方法。 

1. 在虚机管理器中增加挂载盘

服务器是个测试服务器,装了个 KVM 虚拟机,通过 VMM(Virtual Machine Manager)管理控制,和Vmware Workstation差不多,也是一系列的简单控制,不过 VMM 轻量化许多,同时代表着它的功能过于简单(甚至对虚机的重命名都没有,尴尬)。

上图是KVM增加一个挂载盘的方法:先选择增加相应的挂载盘,然后输入需要扩容的量,完成后应用即可。在Vmware的平台,也可以用类似的方法添加,非常好找,我就不在这里阐述了。

2. 对新增的挂载盘进行分区和格式化

不确定是不是因为虚机不一样,还是添加硬盘格式不同的原因,在我添加的挂载盘是显示 vda、vdb、vdc 的,貌似vm虚机显示的是 sda、sdb、sdc 。

2018.08.16更新:

这里说到类似/dev/sda,/dev/vda,/dev/hda这样的。

sd一般是指sata或scsi接口的硬盘(sda是第一块,sdb是第二块);hd一般是指IDE接口的硬盘;vd一般是指虚拟硬盘。

值得注意的是,在最新的2.6.19内核里,所有的硬盘都叫sdx了。

硬盘接口分为:

  • ide  (integrated drive electronics)  把盘体和控制器集成在一起
  • sata (serial ATA(advanced technology attachment))
  • scsi (small computer system interface)
  • 光纤通道 fibre channel

建议通过 ls /dev/ 命令查找到新添加的挂载盘,然后对新增加的盘进行分区操作:

fdisk /dev/vdb

一般情况下,vda或sda都是初始装虚机时的硬盘,包括vdb或sdb之后的才是新加的硬盘。

以下是操作步骤:

一般做到这一步,有条件的话可以重启下机器并格式化新建分区,当然不操作也是可以的。

3. 添加新LVM到已有的LVM组实现扩容

lvm                                              //进入lvm管理

lvm> pvcreate /dev/sda3                          //初始化刚才的分区

lvm> vgextend 虚拟卷组名 /dev/sda3                //将初始化过的分区加入到虚拟卷组名(命令查看vgdisplay)

lvm>lvextend -L +200G /dev/mapper/centos-root    //扩展已有卷的容量

lvm>pvdisplay                                    //查看卷容量

lvm>quit                                         //退出

以上命令只是卷扩容了,下面这句命令才是文件系统的真正扩容:

resize2fs /dev/mapper/centos-root

然而很皮,它报错了:

[root@master1 ~]# resize2fs /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时
找不到有效的文件系统超级块.

问题解决办法:查看文件系统格式,确认文件系统是xfs,需要用xfs的命令来扩磁盘空间。

[root@master1 ~]# cat /etc/fstab | grep centos-root
/dev/mapper/centos-root /                       xfs     defaults        0 0
[root@master1 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=2956800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=11827200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=5775, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11827200 to 64256000

OK,完美!

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐