Linux中的逻辑卷管理-LVM

Linux中的逻辑卷管理-LVM

目录:
1、管理逻辑卷管理LVM的概念
2、设置步骤-创建逻辑卷
  1、先分区
  2、分区表写入内核
  3、创建物理卷
  4、创建卷组
  5、创建逻辑卷
  6、创建文件系统(格式化)
  7、挂载
  8、检查
3、查看物理卷,卷组和逻辑卷信息
  1、查看物理卷信息-pvdisplay
  2、查看卷组信息-vgdisplay
  3、查看逻辑卷-lvdisplay
4、高级逻辑卷配置
  1、增加卷组大小
  2、减少卷组大小
  3、增加逻辑卷的大小,基于XFS文件系统
  4、增加逻辑卷的大小,基于ext4文件系统
  5、删除逻辑卷
5、卸载已经挂载的硬盘
  2、删除逻辑卷
  3、删除卷组
  4、删除物理卷

1、管理逻辑卷管理LVM的概念

我们在对普通的硬盘分区,格式化和挂载对磁盘分区时,如果发现磁盘空间不够了,或者发现磁盘分配的空间太大了。如果需要重新规划硬盘的话,就需要对硬盘进行重新格式化,当然这样硬盘的数据也就都没有了,而逻辑卷就可以完美的这个问题。

逻辑卷可以很轻松的对磁盘进行管理,比如可以很轻松的增加和减少硬盘的大小。

从物理层面考虑,使用逻辑卷可以针对物理磁盘,RAID阵列或者SAN磁盘等

逻辑卷管理中几个重要的内容
1、物理卷(PV):对物理设备进行注册,以便可以划分到卷组
2、卷组(VG):由一个或多个物理卷组成,可以理解为一个硬盘池。注意一个PV只能给一个VG
3、逻辑卷(LV):从卷组中空闲的空间获取磁盘容量,也可以把多余的容量还给卷组

2、设置步骤-创建逻辑卷

1、先分区
分区类型是Linux LVM,使用fdisk分区是0x8e

[root@localhost ~]# fdisk /dev/sdb
<省略部分输出>
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-419430399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): +10G    //给该分区10G
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): t     //修改分区类型
Selected partition 1

Hex code (type L to list all codes): 8e    //设置分区类型
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w   //保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

2、分区表写入内核

[root@localhost ~]# partprobe /dev/sdb

3、创建物理卷

[root@localhost ~]# pvcreate /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y   //新分区应该不会弹出该告警
  Wiping xfs signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.

4、创建卷组
其中lewis是卷组的名字。卷组的容量就是sdb1这个分区的大小。如果卷组lewis的容量用完了,再新建分区或者增加硬盘来扩容,很方便。

[root@localhost ~]# vgcreate lewis /dev/sdb1
  Volume group "lewis" successfully created

5、创建逻辑卷
-n 设置逻辑卷的名称为:lvlewis
-L 指定逻辑卷的大小为:2G
lewis 指从卷组lewis中,取2G的空间

[root@localhost ~]# lvcreate -n lvlewis -L 2G lewis
  Logical volume "lvlewis" created.

6、创建文件系统(格式化)
注意看格式化的路径:/dev/卷组名/逻辑卷名

[root@localhost ~]# mkfs.xfs /dev/lewis/lvlewis
meta-data=/dev/lewis/lvlewis     isize=256    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

7、挂载

[root@localhost ~]# mkdir lewisfile     //创建一个挂载点,也就是一个目录
[root@localhost ~]# vim /etc/fstab      //编辑配置文件
/dev/lewis/lvlewis /root/lewisfile  xfs  defaults 0 0    //增加如下内容
[root@localhost ~]# mount -a   //挂载测试

8、检查
发现有/dev/mapper/lewis-lvlewis 2.0G 33M 2.0G 2% /root/lewisfile,表示创建成功

[root@localhost ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/centos-root     50G  8.4G   42G  17% /
devtmpfs                   7.8G     0  7.8G   0% /dev
tmpfs                      7.8G     0  7.8G   0% /dev/shm
tmpfs                      7.8G   57M  7.8G   1% /run
tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos-home    142G   23G  119G  17% /home
/dev/sda1                  497M  130M  368M  27% /boot
tmpfs                      1.6G     0  1.6G   0% /run/user/0
/dev/mapper/lewis-lvlewis  2.0G   33M  2.0G   2% /root/lewisfile

3、查看物理卷,卷组和逻辑卷信息

1、查看物理卷信息-pvdisplay
命令后面不跟参数,会显示所有物理卷

[root@localhost ~]# pvdisplay /dev/sdb1
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               lewis
  PV Size               10.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              2559
  Free PE               2047
  Allocated PE          512
  PV UUID               hRUtFB-sTAc-V3CH-BL42-dMMZ-QxHu-G1zYCR

主要字段解释
PV Name 分区
VG Name 被分配到的卷组名
PV Size 物理卷的空间大小,包括不可用
PE Size 物理卷以PE作为最小单位进行结算,即最小是4M
Free PE 总共有多少个PE可用,所以物理卷可用空间大小一定是4M的倍数,所以某系情况下,我们看到最终分好的逻辑卷和实际情况会有些差异。

2、查看卷组信息-vgdisplay

命令后面不跟参数,会显示所有卷组

[root@localhost ~]# vgdisplay lewis
  --- Volume group ---
  VG Name               lewis
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       2047 / <8.00 GiB
  VG UUID               5AQA0E-b3qZ-qDJj-4AYq-pBk5-xpDO-xJ1UFe

主要字段解释
1、VG Name 卷组名
2、VG Size 卷组大小
3、Total PE 以PE单位来表示总大小
4、free PE / Size 还剩下多少个PE(剩余空间有多少)

3、查看逻辑卷-lvdisplay
命令后面不跟参数,会显示所有逻辑卷

[root@localhost ~]# lvdisplay /dev/lewis/lvlewis
  --- Logical volume ---
  LV Path                /dev/lewis/lvlewis
  LV Name                lvlewis
  VG Name                lewis
  LV UUID                bdaiVL-Ue2l-5pkQ-RhWv-720q-emRI-36b12v
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-02-12 15:51:52 +0800
  LV Status              available
  # open                 1
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

主要字段解释
LV Path 逻辑卷的路径
LV Name 逻辑卷的名字
VG Name 卷组名字
LV Size 逻辑卷大小

4、高级逻辑卷配置

1、增加卷组大小
卷组是用通过物理卷增加,物理卷是通过分区给的。因此增加一个分区sdb2为50G,并且把sdb2设置为物理卷
具体操作间上文

给卷组lewis增加分区sdb2

[root@localhost ~]# vgextend lewis /dev/sdb2
  Volume group "lewis" successfully extended

查看卷组大小,看到了VG Size字段为59.99 GiB,表示成功

[root@localhost ~]# vgdisplay lewis
//省略部分输出
  VG Size               59.99 GiB
//省略部分输出

2、减少卷组大小
把sdb2这个分区,从lewis卷组中拿走,减少卷组大小的前提是里面没有数据

[root@localhost ~]# vgreduce lewis /dev/sdb2
Removed "/dev/sdb2" from volume group "lewis"

3、增加逻辑卷的大小,基于XFS文件系统
主要分为四个步骤
1、检查卷组是否有空间–vgdisplay
2、增加逻辑卷大小–lvextend

[root@localhost ~]# lvextend -L +20G /dev/lewis/lvlewis
  Size of logical volume lewis/lvlewis changed from 2.00 GiB (512 extents) to 22.00 GiB (5632 extents).
  Logical volume lewis/lvlewis successfully resized.

3、刷新文件系统

[root@localhost ~]# xfs_growfs /dev/lewis/lvlewis
meta-data=/dev/mapper/lewis-lvlewis isize=256    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 524288 to 5767168

4、检查确认

[root@localhost ~]# df -h
/dev/mapper/lewis-lvlewis   22G   34M   22G   1% /root/lewisfile

4、增加逻辑卷的大小,基于ext4文件系统
所有步骤都是xfs一样,唯一不同的是第三步,刷新文件系统
3、刷新文件系统命令

[root@localhost ~]# resize2fs /dev/lewis/lvlewis

5、删除逻辑卷

注意:删除之前请先做好数据备份,需要按照以下四步一次进行
5、卸载已经挂载的硬盘
然后df检查。删除/etc/fstab文件下的挂载内容的配置

[root@localhost ~]# umount /dev/lewis/lvlewis

2、删除逻辑卷

[root@localhost ~]# lvremove /dev/lewis/lvlewis
Do you really want to remove active logical volume lewis/lvlewis? [y/n]: y
  Logical volume "lvlewis" successfully removed

3、删除卷组

[root@localhost ~]# vgremove lewis
  Volume group "lewis" successfully removed

4、删除物理卷

[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2
  Labels on physical volume "/dev/sdb1" successfully wiped.
  Labels on physical volume "/dev/sdb2" successfully wiped.

你可能感兴趣的:(Linux)