目录

一、 LVM PV VG LV 理解

二、磁盘分区新增和删除

新建分区

删除分区

 三、LVM的创建与删除

LVM的创建

LV的缩容

LV的扩容

LVM的卸载

注意:xfs的不能缩容也不能用resize2fs,只有xfs_growfs。

不论哪个系统都不能用e2fsck,因为e2fsck可能会丢失数据。


一、 LVM PV VG LV 理解

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,是磁盘管理的一种工具,就目前基本上所有操作系统均支持。LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

     通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。

  • 物理存储介质(The physical media)

这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。

  • 物理卷(PV physical volume)

物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

  • 卷组(VG Volume Group)

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

  • 逻辑卷(LV logical volume)

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

  • PE(physical extent)

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

  • LE(logical extent)

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

  • PV、VG、LV的关系

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷

首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成。一个卷组由一个或多个物理卷组成。

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_02

从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。

      下图是磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图:

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_03

二、磁盘分区新增和删除

新建分区

  • 使用fdisk -l查看硬盘分区情况

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_04

  • 输入fdisk /dev/sda2对硬盘分区/dev/sda2进行操作,输入m显示帮助信息。

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_05

   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition           注:这是删除一个分区的动作;
   l   list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
   m   print this menu             注:m 是列出帮助信息;
   n   add a new partition       注:添加一个分区;
   o   create a new empty DOS partition table 
   p   print the partition table    注:p列出分区表;
   q   quit without saving changes     注:不保存退出;
   s   create a new empty Sun disklabel    
   t   change a partition's system id    注:t 改变分区类型;
   u   change display/entry units 
   v   verify the partition table
   w   write table to disk and exit    注:把分区表写入硬盘并退出;
   x   extra functionality (experts only)     注:扩展应用,专家功能;

  • 输入n新建一个分区。

 Command (m for help): n             注:添加分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)          注:0个主分区,4个空闲分区
   e   extended                                                         注:扩展分区
Select (default p): p     注:添加主分区,默认主分区;
Partition number (1-4, default 1): 3     注:添加主分区3
First sector (2048-39843839, default 2048):  注:直接回车,主分区3的开始位置。默认为2048,默认就好;
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2099200-209715199, default 209715199): +2G   注:指定分区大小,用+2G来指定大小为2G。

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_06

  • 输入p显示/dev/sda2的分区情况。
  • 输入w把分区表写入硬盘并退出。

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_07

删除分区

  • 输入fdisk /dev/sda2,输入p查看/dev/sda2的分区情况。

centos7如何强制清除ceph的LVM centos删除lvm分区_文件系统_08

  •  输入d删除分区(由于只有一个分区,不需要后面步骤,直接删除)。

输入p查看分区情况,发现分区已被删除。

centos7如何强制清除ceph的LVM centos删除lvm分区_文件系统_09

  •  输入w,把分区写入硬盘并退出。

 

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_10

 三、LVM的创建与删除

LVM的创建

如果想LVM文件系统挂载随机启动需要修改/etc/fastab文件。

  • 在虚拟机设置中添加两块硬盘(sda不能作为新分区进行pvcreate,系统安装时自动分区就已经将sda作为lvm的文件系统)

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_11

  •  使用fdisk -l查看分区情况,新硬盘被识别为/dev/sdb和/dev/sdc

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_12

  •  将/dev/sdb分成sdb1、sdb2、sdb3

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_13

  • 使用sdb1和sdb2创建PV(可以使用pvs查看pv情况)

pvcreate /dev/sdb1

pvcreate /dev/sdb2

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_14

  •  使用刚创建的PV创建VG组(可以使用vgs查看vg情况)

vgcreate vgsxqiu /dev/sdb1 /dev/sdb2

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_15

  •  使用VG组vgsxqiu创建LV(采用lvremove vgsxqiu可以删除使用vgsxqiu创建的lv)

lvcreate -n lvsxqiu01 -L 2G vgsxqiu   注:使用VG组vgsxqiu中的1G创建lvsxqiu01

lvcreate -n lvsxqiu02 -l 30%VG vgsxqiu   注:使用现VG组vgsxqiu中的30%创建lvsxqiu02

lvcreate -n lvsxqiu03 -l 100%free vgsxqiu   注:使用现VG组vgsxqiu中剩余的空间创建lvsxqiu02

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_16

  •  使用lvs查看LV情况

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_17

  • 使用刚创建的LV创建文件系统并进行挂载(用df -h查看挂载情况)

mkfs.ext4 /dev/vgsxqiu/lvsxqiu01

mkfs.ext4 /dev/vgsxqiu/lvsxqiu02

mkfs.ext4 /dev/vgsxqiu/lvsxqiu03

mkdir /orasxqiu01

mkdir /orasxqiu02

mkdir /orasxqiu03

mount /dev/vgsxqiu/lvsxqiu01 /orasxqiu01

mount /dev/vgsxqiu/lvsxqiu02 /orasxqiu02

mount /dev/vgsxqiu/lvsxqiu03 /orasxqiu03

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_18

 

centos7如何强制清除ceph的LVM centos删除lvm分区_linux_19

 

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_20

LV的缩容

LV可以进行在线扩容,所以不需要解挂载。但LV必须是离线缩容,需要解挂载。

  • 使用df -h查看现在的挂载情况

centos7如何强制清除ceph的LVM centos删除lvm分区_文件系统_21

  •  对lvsxqiu01进行解挂载

umount  /orasxqiu01

  • resize2fs命令是用来增大或者收缩未加载的“ext2/ext3/ext4”文件系统的大小、刷新文件系统设备的缓冲区。

缩容可能会破坏缓冲区的数据,所以需要先resize2fs。

resize2fs /dev/mapper/vgsxqiu-lvsxqiu01

  • 对lvsxqiu01进行缩容,将其缩容到1.5G

lvreduce -L 1.5G /dev/mapper/vgsxqiu-lvsxqiu01

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_22

  •  采用resize2fs命令来收缩未加载的“ext2/ext3/ext4”文件系统的大小。

resize2fs /dev/mapper/vgsxqiu-lvsxqiu01

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_23

  •  重新挂载lvsxqiu01到/orasxqiu01

用df -h可以查看到现在lvsxqiu01为1.5G。

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_24

LV的扩容

 LV可以进行在线扩容,所以不需要解挂载。但LV必须是离线缩容,需要解挂载。

  • 对lvsxqiu01进行扩容(lvs可以查看到lvsxqiu01变为2G)

lvextend -L +0.5G /dev/mapper/vgsxqiu-lvsxqiu01

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_25

lvextend -l +100%free /dev/mapper/vgsxqiu-lvsxqiu01(表示将vg的free空间扩容到lvsxqiu01)

  •  采用resize2fs命令来增大未加载的“ext2/ext3/ext4”文件系统的大小。

(若没有使用resize2fs命令,则df -h看到的lvsxqiu01大小仍为1.5G)

resize2fs /dev/mapper/vgsxqiu-lvsxqiu01

  •  df -h查看到resize2fs后的lvsxqiu01大小为2G

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_26

LVM的卸载

LVM的卸载过程与LVM的创建过程相反

  •  解挂载所有LV

umount /orasxqiu01

umount /orasxqiu02

umount /orasxqiu03

  • 删除所有的LV

lvremove /dev/mapper/vgsxqiu-lvsxqiu01

lvremove /dev/mapper/vgsxqiu-lvsxqiu02

lvremove /dev/mapper/vgsxqiu-lvsxqiu03

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_27

  •  删除VG组

 vgremove /dev/mapper/vgsxqiu

centos7如何强制清除ceph的LVM centos删除lvm分区_逻辑卷_28

  •  删除PV

pvremove /dev/sdb1

pvremove /dev/sdb2

centos7如何强制清除ceph的LVM centos删除lvm分区_磁盘分区_29