环境

  • CentOS7 minimal
  • HDD 320G
  • HDD 500G
  • CentOS 7 默认使用lvm分区方式和xfs文件系统;默认home分区最大

方案1:后增加硬盘到lvm

免重启识别硬盘

ls /sys/class/scsi_host #默认host0,可能有多个host文件
sudo echo "- - -" > /sys/class/scsi_host0/scan #如果有多个host序列文件,需要分别执行一次
sudo echo "- - -" > /sys/class/scsi_host1/scan #以此类推

新硬盘分区

sudo fdisk -l #查看硬盘
sudo fdisk /dev/sdb #注意新硬盘序列
n #添加新的物理分区
Partition type:p #添加主分区
起始扇区(默认2048):#默认
分区大小:#默认使用全部,或使用数字加(K,M,G)
t #修改分区ID
8e #Linux LVM
w #将修改写入到磁盘
sudo partprobe #重新读取分区表

创建物理卷PV

sudo pvdisplay #查看当前物理卷
sudo pvcreate /dev/sdb1 #sdb1为第二块硬盘的第一个分区

将PV加入到卷组VG

sudo vgdisplay #查看当前卷组
sudo vgextend centos /dev/sdb1 #将sdb1 PV加入到centos卷组
sudo vgdisplay #查看加入后的卷组信息,注意 Free PE / Size;如果卷组没有剩余容量的话为新硬盘容量如果卷组没有剩余容量的话为新硬盘容量

创建逻辑卷LV

sudo lvdisplay #查看当前逻辑卷信息
sudo lvcreate -L 10G -n download centos #在centos卷组上创建一个download的逻辑卷,容量为10G,或者为VG的剩余全部容量

格式化新的逻辑卷

sudo mkfs.xfs /dev/centos/download #把download格式化为xfs文件格式(注意:xfs不支持弹性缩小,ext4支持)
sudo mount -t xfs /dev/centos/download download #挂载到download目录
sudo df -Th #T为查看分区类型

开机自动挂载

sudo vim /etc/fstab
sudo blkid /dev/centos/download #查看这个逻辑卷的UUID
UUID=xxxx download  defaults 0 0 #download为绝对路径,最后两个0如果是1或2的话,开机要检查,可能会影响开机速度;没有特殊要求,保持零即可
sudo mount -fav #查看挂载

扩容(加大)逻辑卷

sudo lvextend -l +100%FREE /dev/centos/download #添加剩余卷组全部容量(小写l);或者使用 vgdisplay 显示结果中的Free PE 数字
sudo lvextend -L +10G /dev/centos/download #增加10G容量
sudo lvextend -L 20G /dev/centos/download #增加到20容量,酌情三选一
#这里有坑;添加完之后要进行同步,centOS6或ext3-4格式使用 resize2fs 加逻辑卷路径,centOS7或xfs格式用 xfs_growfs 加逻辑卷路径,不然会提示“resize2fs: Bad magic number in super-block 当尝试打开 /dev/centos/download 时找不到有效的文件系统超级块.”
sudo xfs_growfs #执行(同步)更改
sudo lvdisplay #查看扩容后的容量
sudo df -Th #查看扩容后的挂载容量

删除lvm

sudo lvremove /dev/centos/download #先删除逻辑卷
sudo vgremove /dev/centos #在删除卷组
sudo pvremove #最后删除物理卷
#前提是不能有占用

案例二:修改home分区容量

centos7使用xfs为默认文件系统,而且home分区最大

  1. 注意:xfs文件系统不支持弹性缩小,ext4可以;xfs只能弹性增大
  2. 在进行home分区缩小之前务必备份全部home分区数据;
  3. 如果当前ssh登陆在home分区,将无法卸载,强制卸载会导致ssh掉线;可能需要开启ssh的root登陆,退出当前用户,从root登陆
  4. 计算缩小后的home分区不能小于当前数据的容量,否则会有截断发生,既数据丢失;
sudo umount /home
#如果提示home在忙,无法卸载,则使用
sudo fuser -m -k -i #-k为强制kill掉home进程,-i交互进行
sudo lvreduce -L -20G /dev/centos/home #从home分区减去20G容量

#xfs文件无法执行减小的操作错误提示
sudo xfs_growfs /dev/centos/home
xfs_growfs: /dev/mapper/centos-home is not a mounted XFS filesystem
#也不能挂载
sudo mount /dev/centos/home /home
mount /dev/centos/home 不能读取超级块

#home分区只能重新格式化之后才能挂载使用
sudo mkfs.xfs /dev/centos/home -f #需要加 -f 参数强制执行,否则会提示
mkfs.xfs: /dev/centos/home appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

sudo mount /dev/centos/home /home #重新格式化之后才能挂载使用

sudo mkfs.ext4 /dev/centos/home #也可以格式化为ext4分区类型

简略命令

pvscan #查看物理卷简略信息
vgscan #查看卷组简略信息
lvscan #查看逻辑卷简略信息
lsblk #树形查看磁盘与分区 or LVM结构

参考链接

  • http://www.cnblogs.com/kevingrace/p/5825963.html
  • http://aurthurxlc.github.io/Aurthur-2017/Centos-7-extend-lvm-volume.html
  • https://hk.saowen.com/a/8dae7a945e032952fd004c513276d824cb3c005505a3546fe4415334f094154c
  • https://sc8log.blogspot.com/2017/03/linux-lvm-lvm.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

18 − 5 =