【Linux】LVM逻辑卷详解

                            版权声明:本文为博主 丶川江子 原创文章

LVM逻辑卷基本概念

1、磁盘分区的缺点:

    没有备份功能 ------> 诞生raid来解决

    无法扩容     ------> 诞生逻辑卷来解决

    性能读写io取决于硬盘本身

2、为什么要使用lvm逻辑卷

    逻辑卷解决了分区无法扩容的问题

3、LVM逻辑卷的机制

   (1)、先确定可以使用的磁盘或分区

   (2)、将硬盘拆分成一个个小的块PE(块大小默认为4M,可以修改)

   (3)、然后将这些块组成一个集合(vg卷组)

   (4)、从这个集合中取所需大小的块数

    PV(物理卷):将所选的磁盘或分区进行分块(PE)

    VG(卷组): 将所选的磁盘或分区分块组合成一个卷组

    LV(逻辑卷):从指定的卷组中获取大小并且取名

    注意:如果需要对分区创建逻辑卷,则需要修改分区的类型为8e

                       

#安装lvm环境

yum install lvm2

systemctl start lvm2-lvmetad.service

systemctl start lvm2-lvmetad.socket

#查看有几块硬盘

lsblk

    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

    sda      8:0    0 931.5G  0 disk

    ├─sda1   8:1    0   512M  0 part /boot/efi

    ├─sda2   8:2    0 899.1G  0 part /

    └─sda3   8:3    0  31.9G  0 part [SWAP]

    sdb      8:16   0 931.5G  0 disk

    sdc      8:32   0 931.5G  0 disk

#对sdb这块硬盘分2个区,分别500G

fdisk  /dev/sdb  # 依次输入:p查看当前分区、 d删除当前分区、 n新建分区(回城两次选择默认,分区大小分配输入一半500G)、 p再次查看是否完成分区、 w保存分区、

lsblk

    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

    sda      8:0    0 931.5G  0 disk

    ├─sda1   8:1    0   512M  0 part /boot/efi

    ├─sda2   8:2    0 899.1G  0 part /

    └─sda3   8:3    0  31.9G  0 part [SWAP]

    sdb      8:16   0 931.5G  0 disk

    ├─sdb1   8:33   0 465.8G  0 part

    └─sdb2   8:34   0 465.8G  0 part

    sdc      8:32   0 931.5G  0 disk

#创建物理卷

pvcreate /dev/sdb1 /dev/sdb2

#查看物理卷,查看详细信息命令:pvdisplay

pvs

#创建卷组,vg为卷组名称

vgcreate vg /dev/sdb1 /dev/sdb2

#查看卷组,查看详细信息命令:vgdisplay

vgs

#需要LV使用整个VG,可首先用vgdisplay,查找Total PE值,然后在运行lvcreate时指定

vgdisplay vg |grep "Total PE"

      Total PE     238466

#建立逻辑卷,-n逻辑名称,vg上面创建的卷组的名称

lvcreate -l 238466 -n lvm vg

#查看逻辑卷

lvs

#格式化文件系统为ext4类型

mkfs.ext4 /dev/mapper/vg-lvm

#查看逻辑卷UUID,写入开机挂载/etc/fstab配置文件

blkid /dev/mapper/vg-lvm

vim /etc/fstab

#挂载上目录

mount /dev/mapper/vg-lvm /data

#查看挂载情况

df -Th

lsblk

   NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

   sda                  8:0    0 931.5G  0 disk

   ├─sda1               8:1    0   512M  0 part /boot/efi

   ├─sda2               8:2    0 899.1G  0 part /

   └─sda3               8:3    0  31.9G  0 part [SWAP]

   sdb                  8:32   0 931.5G  0 disk

   ├─sdb1               8:33   0 465.8G  0 part

   │ └─vg_lvm           252:0  0 931.5G  0 lvm  /data

   └─sdb2               8:34   0 465.8G  0 part

     └─vg_lvm           252:0  0 931.5G  0 lvm  /data

   sdc                  8:16   0 931.5G  0 disk


 

#lvm逻辑卷扩容,将sdc硬盘扩容到lvm

fdisk /dev/sdc   # 依次输入:p查看当前分区、 d删除当前分区、 n新建分区(回车三次选择默认,默认所有容量一个分区)、 p再次查看是否完成分区、 w保存分区

lsblk

   NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

   sda                  8:0    0 931.5G  0 disk

   ├─sda1               8:1    0   512M  0 part /boot/efi

   ├─sda2               8:2    0 899.1G  0 part /

   └─sda3               8:3    0  31.9G  0 part [SWAP]

   sdb                  8:32   0 931.5G  0 disk

   ├─sdb1               8:33   0 465.8G  0 part

   │ └─vg_lvm           252:0  0 931.5G  0 lvm  /data

   └─sdb2               8:34   0 465.8G  0 part

     └─vg_lvm           252:0  0 931.5G  0 lvm  /data

   sdc                  8:16   0 931.5G  0 disk

   └─sdc1               8:17   0 931.5G  0 part

#将/dev/sdc1扩容到vg卷组

vgextend vg /dev/sdc1

#查看物理卷,查看详细信息命令:pvdisplay

pvs

#查看卷组,查看详细信息命令:vgdisplay

vgs

#lvm扩容全部的vg卷组

lvextend -l +100%free -r /dev/mapper/vg-lvm

#再次查看物理卷和卷组

pvs && vgs

#重新刷新应用总容量

resize2fs  /dev/mapper/vg-lvm

#如下就扩容成功

lsblk

   NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

   sda                  8:0    0 931.5G  0 disk

   ├─sda1               8:1    0   512M  0 part /boot/efi

   ├─sda2               8:2    0 899.1G  0 part /

   └─sda3               8:3    0  31.9G  0 part [SWAP]

   sdb                  8:32   0 931.5G  0 disk

   ├─sdb1               8:33   0 465.8G  0 part

   │ └─vg_lvm           252:0  0   1.8T  0 lvm  /data

   └─sdb2               8:34   0 465.8G  0 part

     └─vg_lvm           252:0  0   1.8T  0 lvm  /data

   sdc                  8:16   0 931.5G  0 disk

   └─sdc1               8:17   0 931.5G  0 part

     └─vg_lvm           252:0  0   1.8T  0 lvm  /data

df -Th  /data


 

#lvm逻辑卷的缩减,移除硬盘分区/dev/sdc1

#取消lvm挂载点

umount /data

#检查磁盘

e2fsck -f /dev/mapper/vg-lvm

#如上sdc1硬盘分区是931.5G,则缩减931.5G文件系统,提示需要先磁盘检查(如果不加-,则为缩减至931.5G)

resize2fs  /dev/mapper/vg-lvm  -931.5G

#缩减931.5G逻辑卷,此处缩减大小必须与文件系统缩减大小保持一致,否则数据出问题

lvreduce -L -931.5G /dev/mapper/vg-lvm

#从vg中移除硬盘分区并检查

vgreduce vg /dev/sdc1

vgs

#从物理卷中移除硬盘分区并检查

pvreemove /dev/sdc1

pvs

#挂载目录查看

mount /dev/mapper/vg-lvm /data

df -Th /data



 

#lvm逻辑卷的删除

若要移除lvm,则按照创建的过程反向操作,即:

#1、取消挂载点

umount /data

df -Th /data

#2、移除逻辑卷lv并检查

lvremove /dev/mapper/vg-lvm

lvs

#3、移除卷组vg并检查

vgremove vg

vgs

#4、移除物理卷pv并检查

pvreemove  /dev/sdb1 /dev/sdb2 /dev/sdc1

pvs

#5、删除分区(可无)

fdisk /dev/sdb1 /dev/sdb2 /dev/sdc1

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值