案例1:扩展/目录,然后将磁盘从centos卷组中移除。

1 使用df –hT查看系统文件系统信息

centos7 删除自带的mysql centos删除vg_服务器

2先对虚拟机进行关机

[root@localhost ~]# init 0

3 添加硬盘并分区

centos7 删除自带的mysql centos删除vg_centos_02

4 fdisk –l查看硬盘设备

centos7 删除自带的mysql centos删除vg_centos_03

5使用fdsik /dev/sdb对新加的sdb硬盘进行分区,输入n p 1,然后二次回车,将全部容量分配给sdb1。

centos7 删除自带的mysql centos删除vg_linux_04

6修改sdb1的分区文件格式为LVM并输入w保存分区表

centos7 删除自带的mysql centos删除vg_服务器_05

7 激活分区信息表

centos7 删除自带的mysql centos删除vg_文件系统_06

8 使用mkfs –t ext4 /dev/sdb1进行格式化分区

centos7 删除自带的mysql centos删除vg_文件系统_07

9 使用df –hT查看系统文件,发现并没有/dev/sdb1硬盘

centos7 删除自带的mysql centos删除vg_linux_08

10 blkls查看硬盘设备信息

centos7 删除自带的mysql centos删除vg_文件系统_09

LVM操作

1 使用pvcreate /dev/sdb1创建物理卷

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_10

2 使用PVS查看系统中的物理卷

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_11

3 查看系统中的VG卷组

centos7 删除自带的mysql centos删除vg_文件系统_12

  1. 将物理卷/dev/sdb1加入到卷组centos中

centos7 删除自带的mysql centos删除vg_centos_13

5 查看PVS

centos7 删除自带的mysql centos删除vg_文件系统_14

6 查看VGS

centos7 删除自带的mysql centos删除vg_centos_15

7 vgdisplay查看卷组仔细信息

centos7 删除自带的mysql centos删除vg_服务器_16

在线扩容/根分区

注:扩容不需要卸载关联挂载点

1 使用lvresize –l +100%FREE /dev/centos/root将所有可用容量分配给/分区

centos7 删除自带的mysql centos删除vg_centos_17

2 同步文件系统

centos7 删除自带的mysql centos删除vg_文件系统_18

  1. df –hT查看扩容后的文件系统大小

centos7 删除自带的mysql centos删除vg_linux_19

  1. lsblk查看硬盘设备

centos7 删除自带的mysql centos删除vg_linux_20

  1. vgdisplay查看卷组信息

centos7 删除自带的mysql centos删除vg_centos_21

5重启系统

[root@localhost ~]# init 6

测试OK!!!

上传一些测试文件到虚拟机,使用ls –lhF查看/根分区使用的容量

centos7 删除自带的mysql centos删除vg_centos_22

模拟/dev/sdb1硬盘故障,将磁盘从卷组中移除

注1:实际中是通过磁盘阵列建立LVM磁盘,为系统提供高可用,保障数据安全。因为不同的磁盘加入到卷组中,当某中的某个磁盘坏掉以后会导致整个VG卷组不可用或损坏等极端情况发生,这是一个安全隐患。

注2:/根分区不能在线缩减,必须进入系统救援模式

1 进入rescue mode模式,设置系统从光盘启动

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_23

2右键虚拟机-电源-打开电源时进入固件

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_24

3 设置从CD-ROM启动,然后按F10保存并重启

centos7 删除自带的mysql centos删除vg_文件系统_25

4 进入Troubleshooting

centos7 删除自带的mysql centos删除vg_centos_26

5 进入Rescue a CentOS system

centos7 删除自带的mysql centos删除vg_centos_27

6 选择第3项

centos7 删除自带的mysql centos删除vg_centos_28

7 df –h查看,发现根目录没有被挂载上

centos7 删除自带的mysql centos删除vg_linux_29

8 lvscan pvscan vgscan

centos7 删除自带的mysql centos删除vg_服务器_30

9使用lvm vgchange –a y激活卷组

centos7 删除自带的mysql centos删除vg_linux_31

10 再次扫描lvscan显示已是ACTIVE状态

centos7 删除自带的mysql centos删除vg_文件系统_32

12 使用e2fsck检查文件系统硬盘

centos7 删除自带的mysql centos删除vg_centos_33

13 对逻辑卷重定义大小为16G

resize2fs  /dev/mapper/centos-root 16G

centos7 删除自带的mysql centos删除vg_centos_34

14 重新检查文件系统,显示是 4194304

centos7 删除自带的mysql centos删除vg_服务器_35

15 缩减逻辑卷大小

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_36

15 备份数据(重要)

注:扩展块(数据)将被分配到同个卷组中的其他设备上,如果卷组中的其他物理卷没有足够空间,则需要添加新的硬盘以扩展卷组空间。

pvmove /dev/sdb1

centos7 删除自带的mysql centos删除vg_linux_37

16 注销sdb1

centos7 删除自带的mysql centos删除vg_linux_38

通过pvdisplasy查看Allocatabl状态已变为NO

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_39

17 使用pvs –o+pv_used查看卷组可用空间,

centos7 删除自带的mysql centos删除vg_centos_40

19 从卷组centos中移除/dev/sdb1

centos7 删除自带的mysql centos删除vg_centos_41

20 查看卷组信息,VG Size大小变成<19G

centos7 删除自带的mysql centos删除vg_centos_42

21 删除物理卷

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_43

22 pvdisplay查看物理卷,sdb1已不见

centos7 删除自带的mysql centos删除vg_centos7 删除自带的mysql_44

23 查看逻辑卷

centos7 删除自带的mysql centos删除vg_linux_45

24 重启系统

centos7 删除自带的mysql centos删除vg_linux_46

删除/dev/sdb硬盘

fdisk /dev/sdb

d

回车

w进行保存

partprobe

最后使用fdisk –l查看

centos7 删除自带的mysql centos删除vg_linux_47

写在最后:如非需要,尽量不要去扩容或缩小/分区。/根分区多点就让他多点啊,前期规划要做好。特别是缩小根分区,会导致系统无法开机,甚至数据丢失。实际工作中不要去碰。