一、物理卷PV操作

  1. #1.创建物理卷PV
  2. pvcreate /dev/sdb #整块硬盘都建立成物理卷
  3. pvcreate /dev/sdb5 ##把分区建立成物理卷
  4. #2.查看物理卷
  5. pvs
  6. pvscan
  7. pvdisplay
  8. pvdisplay -vm
  9. #3.删除物理卷
  10. pvremove /dev/sd5 #在删除物理卷时,物理卷必须不属于任何卷组,也就是需要先将物理卷从卷组中删除,再删除物理卷。其实所有的删除就是把创建过程反过来,建立时不能少某个步骤,删除时也同样不能跳过某一步直接删除
  11. #调整物理卷的大小
  12. pvresize /dev/sda5 #调整物理卷/dev/sda5的大小为磁盘或分区/dev/sda5的大小
  13. pvresize --setphysicalvolumesize 40G /dev/sda3 #调整物理卷/dev/sda5的大小为40GB
  14. #物理卷数据迁移
  15. pvmove --alloc anywhere /dev/sdb2:225410-238209 /dev/sdb2:116224-129025 #将 225410 - 238209 段中的数据移动到 11624 - 129025 段中:

二、卷组VG操作

  1. #1.创建卷组
  2. vgcreate data /dev/sdb
  3. #vgcreate [-s PE 大小] 卷组名 物理卷名
  4. #[-s PE 大小] 选项的含义是指定 PE 的大小,单位可以是 MB、GB、TB 等。
  5. #如果不写,则默认 PE 大小是 4MB。这里的卷组名指的就是要创建的卷组的名称,而物理卷名则指的是希望添加到此卷组的所有硬盘区分或者整个硬盘。
  6. #把 /dev/sdb5 和 /dev/sdb6 加入卷组,指定了PE的大小是8MB
  7. #vgcreate -s 8MB scvg /dev/sdb5 /dev/sdb6
  8. #2.激活卷组
  9. vgchange -a y data #vgchange -a y 卷组名
  10. #3.停用卷组
  11. vachange -a n data # vachange -a n 卷组名
  12. #4.查看卷组
  13. vgs
  14. vgscan
  15. vgdisplay
  16. #5.增加卷组容量
  17. vgextend data /dev/sdb7 #把 /dev/sdb7 加入卷组data
  18. #6.减小卷组容量
  19. vgreduce data /dev/sdb7 #把 /dev/sdb7 移除卷组data
  20. #7.删除卷组
  21. vgremove data
  22. #只有在删除卷组之后,才能删除物理卷。还要注意的是,data 卷组中还没有添加任何逻辑卷,
  23. #如果拥有了逻辑卷,则记得先删除逻再删除卷组。再次强调,删除就是安装的反过程,每一步都不能跳过。
  24. #8.改名
  25. vgrename centos test

三、逻辑卷LV操作

  1. #1.创建逻辑卷lv
  2. lvcreate [选项] [-n 逻辑卷名] 卷组名
  3. 选项:
  4. -L 容量:指定逻辑卷大小,单位为 MBGBTB 等;
  5. -l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦;
  6. -n 逻辑卷名:指定逻辑卷名;
  7. #建立一个 1.5GB 大小的 lamplv 逻辑卷 从卷组scvg中创建
  8. lvcreate -L 1.5G -n lamplv scvg
  9. lvcreate -l 100%FREE -n lamplv scvg
  10. lvcrete -T -l 100%FREE -n lamplv scvg #创建一个thin类型的lv
  11. lvcreate -V 200G -T pve/pve-data -n iso_nfs #在thinpool中创建了一个200G的lv
  12. #2.查看
  13. lvs
  14. lvscan
  15. lvdisplay
  16. #3.删除逻辑卷
  17. lvremove /dev/scvg/lamplv
  18. #4.扩容或缩容逻辑卷
  19. lvresize /dev/centos/root /dev/sda2 -r # 将sda2的剩余空间分区root分区
  20. lvresize [选项] 逻辑卷的设备文件名
  21. 选项:
  22. -L 容量:安装容量调整大小,单位为 KBGBTB 等。使用 + 増加空间,- 代表减少空间。如果直接写容量,则代表设定逻辑卷大小为指定大小;
  23. -l 个数:按照 PE 个数调整逻辑卷大小;
  24. lvresize -L +1G /dev/scvg/lamplv #增加1G容量
  25. lvresize -L 15G -r /dev/centos/test #扩容逻辑卷并更新文件系统为15G
  26. lvresize -L 10G -r /dev/centos/test #缩容逻辑卷并更新文件系统 ,会先卸载,在缩容 ,注意不支持xfs文件系统
  27. #5.格式化逻辑卷
  28. mkfs.ext4 /dev/test/va #格式化逻辑卷为ext4文件系统
  29. #6.挂载
  30. mount /dev/test/va /home/demoa/

四、缩容PV

将原来2T容量的物理卷缩容为100G,如果其中的数据段不是连续的,会缩容失败。所有先需要将数据迁移在一起,保持数据段连续

1、数据迁移

  1. #查看物理卷的信息
  2. pvdisplay -v -m
  3. #将 225410 - 238209 段中的数据移动到 11624 - 129025 段中:
  4. pvmove --alloc anywhere /dev/sdb2:225410-238209 /dev/sdb2:116224-129025

2、减小物理卷的容量

  1. #将物理卷/dev/sda3的大小减小为100G
  2. pvresize --setphysicalvolumesize 100G /dev/sda3
  3. #pvresize /dev/sda5 #调整物理卷/dev/sda5的大小为磁盘

3、重新划分分区

  1. fdisk /dev/sda3
  2. #1.先删除 /dev/sda3
  3. #2.在创建100G的/dev/sda3 LVM 分区
  4. #3.在将1.9T的空间划分为/dev/sda4 的分区

4、将原来的逻辑卷重新挂载

  1. lvresize -L 15G -r /dev/centos/test #扩容逻辑卷并更新文件系统,如果是缩容逻辑卷并更新文件系统 ,会先卸载,在缩容
  2. lvcreate -l +100%FREE -r /dev/centos/test #会使用剩余的容量扩容

五、调整分区大小

注意:xfs文件系统统只支持增大分区空间的情况,不支持减小的情况,硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。但是ext文件系统可以支持减小减小逻辑卷操作

  1. #刚刚只是逻辑卷的大小改变了,但是逻辑卷上面的文件系统并没有更新,所以需要先更新文件系统才能真正使用到扩充后的空间
  2. xfs文件系统需要用xfs_group命令更新
  3. ext2/ext3/ext4等文件系统则需使用 resize2fs 命令来更新文件系统了
  4. #xfs文件系统
  5. xfs_growfs /dev/myvg/mylv #更新一下文件系统,不能重新格式化整个分区的文件系统:
  6. #ext文件系统
  7. resize2fs [选项] [设备文件名] [调整的大小]
  8. 选项:
  9. -f:强制调整;
  10. 设备文件名:指定调整哪个分区的大小;
  11. 调整的大小:指定把分区调整到多大,要加 MG 等单位。如果不加大小,则会使用整个分区;
  12. resize2fs /dev/scvg/lamplv #更新 ,不支持在线收缩 ,扩容可以
  13. #ext文件系统缩容时,需要先卸载,在调整文件系统的大小,在减小逻辑卷的大小,最后挂载
  14. umount /dev/centos/test #卸载
  15. resize2fs /dev/centos/test 5g #缩容到5G
  16. lvreduce -L 5G /dev/centos 5G #lv缩容到5G
  17. lvs #查看lv大小
  18. mount /dev/centos/test /home/test #挂载
  19. #可以一个命令完成
  20. lvresize -L 15G -r /dev/centos/test #扩容逻辑卷并更新文件系统
  21. lvresize -L 10G -r /dev/centos/test #缩容逻辑卷并更新文件系统 ,会先卸载,在缩容