案例:服务器(centos7)根分区空间不足,需要扩容,该磁盘是做过lvm逻辑卷的,扩容过程稍微麻烦一点 扩容步骤: 第一步:插入一块硬盘 (废话) 第二步:重启服务器,执行 fdisk -l命令查看新增的硬盘(这么容易),好,我们来研究一下在不重启服务器的情况下,怎么识别新增的硬盘,执行命令 cat /proc/scsi/scsi ,查看当前scsi设备,观察划红线的地方 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Host: scsi1 Channel: 00 Id: 00 Lun: 01 Host: scsi1 Channel: 00 Id: 00 Lun: 02 Host: scsi1 Channel: 00 Id: 00 Lun: 03 观察发现,若是同类型磁盘,都是按lun的序号排列的,若是新增的磁盘,lun的序号应该是04 所以我们执行如下命令即可 echo "scsi add-single-device 1 0 0 4" > /proc/scsi/scsi 命令中1对应的是 Host: scsi1 第一个0对应的是Channel: 00 第二个0对应的是Id: 00 最后4对应的是lun 再次执行命令 cat /proc/scsi/scsi 可以发现新增的scsi设备,执行fdisk -l也能发现新增的磁盘 第三步:进入正题,磁盘扩容 整体思路: 基于lvm,新增的硬盘要创建分区才可以使用,在分区的基础上,创建pv,几个pv可以组成vg,在vg上划分lv,格式化lv,挂载lv;根分区不够用,先查看,根分区属于那个vg,给这个vg添加pv,添加pv的过程就是扩容vg的过程,vg中有足够的pv,就可以给lv扩容了,lv扩容后,要执行命令重新识别分区大小。 第一步: 创建分区,新增的硬盘是sdc 输入n开始新建,一下几步都是默认回车,直到再次出现Command (m for help): 这几步意思就是该磁盘是主分区,还是扩展分区,分区大小,我全部是默认,一块盘就是一个pv,如果想更详细的划分,可以网上搜索具体步骤(centos6版本会有小小的不同); lvm分区类型是8e,默认的分区类型是linux,所以我们要改变一下分区类型 Command (m for help): 此处输入 t ,接着输入 8e ,就可以把分区类型变成 linux lvm了。 输入 w,保存退出 (一定要输入w) 好的,现在分区做好了,名字是 sdc1 第二步: 创建pv,执行命令 pvcreate /dev/sdc1 第三步:将创建的pv加入vg中,查看vg列表,看看要加入哪个vg中,执行df 可以看到根目录所属的vg名字是centos,lv名字是root 执行vgdisplay 可以看到vg的名字,状态,vg的大小,最小单位pe的大小,数量,已经使用的,空闲的等等 第四步:扩容vg,执行命令 vgextend centos /dev/sdc1 第五步:扩容lv,执行命令 lvextend -L +20G /dev/centos/root centos是vg的名字,root是vg中lv的名字 再次查询 df -h,发现 容量并没有增加,因为系统没有识别 执行以下识别命令 xfs_growfs /dev/centos/root resize2fs /dev/centos/root resize2fs 适用于非根分区 xfs_growfs 适用于根分区 centos 6用resize2fs即可 至此 扩容完毕