这里只针对卷的扩容而讲解,磁盘的添加不在这里做说明,请参考其它文章。
一、想看相关信息
1.1查看文件系统的磁盘使用情况
df -hT //查看磁盘空间使用情况
显示如下图:
1.2查看分区信息
fdisk -l //查看分区信息
如下图:
二、磁盘分区及LVM卷扩容
2.1磁盘分区
根据分区信息,确定好需要分区的磁盘以后进行分区,以上图为例:
磁盘的名称是 sdb
fdisk /dev/sdb //对第二块磁盘进行分区
依次输入 n p t 8e w
n //新建分区
p //主分区,紧接着敲两次回车,把所有的空间划出来
t //改变分区格式
输入 8e
w //保存
2.2LVM卷扩容
如果有系统本身已经有卷的话,查看系统卷信息
vgdisplay
显示如下:
扩展卷组
vgextend cs /dev/sdb1 //cs指的是卷的名称,根据自己实际情况修改卷名称
说明:因安装的系统不同,vgextend显示出来的卷名称和上面磁盘分区的卷名称不太一样,请行根据自己的情况进行适合。
扩展卷组
vgextend cs /dev/sdb1 //cs指的是卷的名称
扩展逻辑卷
lvextend -L +500G /dev/mapper/cs-home //将剩余的空间都扩展到centos-home上面
//或者
lvextend -l +100%free /dev/mapper/cs-home //一般情况下我会采用这样的方式,会把磁盘的所有空间分配到cs-home里面
//如果采用第一种方式的话,因为块大小的原因不一定能分配完磁盘的所有空间。
让扩展磁盘生效
xfs_growfs /dev/mapper/cs-home
通过以上操作就对cs-home的卷进行了完整的扩容过程,期间顺序不能错,输入命令不能有误,否则无法正常扩容,在生产环境正式扩容前,可采用测试环境进行验证,如果没有什么问题,则再在生产环境上进行操作。
三、在现有VG上新建LV并扩容
如果没有多余的空间,则新建一块磁盘,根据需求对磁盘分区。
将需要扩容的VG进行扩容,对应刚刚新建的磁盘,比如:
vgextend ol /dev/sdb1
//ol 是VG的名称 sdb1是用于扩容的分区
//一般情况下OracleLinux系统默认就是采用ol名称命名VG卷
创建新的LV
lvcreate -n oracle -L 800G ol
//-n 是要创建新的LV名称
//ol 是GV的名称
//-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
//-l:指定逻辑卷的大小(LE数)。
//格式化已经建好的LV
mkfs.xfs /dev/卷组名/逻辑卷名
mkfs.xfs /dev/mapper/ol-oracle
//ol是VG名称
//oracle是刚刚新建的lv名称
LVM相关命令
物理卷PV
pvcreate 创建pv 例:pvcreate /dev/sda1
pvs 查看pv信息 例:直接在命令行里输入pvs
pvdisplay 查看pv详细信息 例:pvcreate /dev/sda1
pvmove 将pv数据移动到其他pv 例:pvmove /dev/sda1 /dev/sda4
pvremove 将pv删除 例:pvremove /dev/sda1
================================================================
卷组VG
vgcreate 创建vg 例:vgcreate vg01 /dev/sda{m,n}
vgs 查看vg信息 例:直接在命令行里输入vgs
vgdisplay 查看vg详细信息 例:vgdisplay vg01
vgremove 将vg删除 例:vgremove vg01
vgextend 扩容vg 例:vgextend vg01 /dev/sdb2 扩展vg01卷组,把/dev/sda2加进去
vgreduce 缩减vg 例:vgreduce vg01 /dev/sdb2 缩减vg01卷组,把/dev/sda2去掉
================================================================
逻辑卷LV
lvcreate 创建lv
例:lvcreate -l 100%FREE -n lv01 vg01 将vg01空间全部新建到lv01上
lvcreate -n lv01 -L 100G vg01 指定新建lv大小100G
lvs 查看lv信息 例:直接在命令行里输入lvs
lvdisplay 查看lv详细信息 例:vgdisplay lv01
lvremove 将lv 移除 例:lvremove /dev/vg01/lv01
lvextend 扩容lv
例:lvextend -L +100%FREE /dev/vg01/lv01 将vg01空间全部扩到lv01上
lvextend -L +100G /dev/vg01/lv01 指定扩容大小100G