Linux LVM 动态扩容磁盘

相信大家对LVM都有一定的了解,这里就不再赘述原理相关的知识,直接展示命令使用方法。

物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。

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

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

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

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

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

一块硬盘(物理存储介质)被格式化为物理卷(physical volume),其内部被分成若干个默认大小为4M的PE(physical extent),然后在PV的基础上创建卷组(Volume Group),可以把一个或者多个PV加到VG中,VG就好像一个空间池,假如多少个PV,VG就有多大的容量,最后基于VG创建逻辑卷(logical volume)   ,一个逻辑卷就是若干个PE,然后将LV格式化再挂载(将LV当成是分区)。

命令部分:

创建PV 物理卷

第一步:创建物理卷(PV)

pvcreate 硬盘名称

pvcreate /dev/sdb /dev/sdc

#可以通过pvdisplay或者pvs命令来查看创建的物理卷

创建VG 卷组

第二步:创建一个卷组(VG),将物理卷加入卷组中

vgcreate 自定义VG名称 要加入的PV

vgcreate VGName /dev/sdb /dev/sdc

#可以通过vgdisplay或vgs来查看创建的卷组

创建LV 逻辑卷

第三步:基于卷组创建逻辑卷(LV)

lvcreate -n 自定义逻辑卷名称 -L 要创建的逻辑卷的大小 VG名称

lvcreate -n LVName -L 3G VGName
   
#可以使用命令lvs或lvdisplay查看lv的详细信息

##如果出现以下错误,则代表 卷组的空间不够
Volume group "test" has insufficient free space (25599 extents): 25600 required.

#可以使用此命令解决,-l 指定PE数据来创建 逻辑卷(vgdisplay)
lvcreate -n LVName -l 25599 VGName

格式化逻辑卷

第四步:为创建好的逻辑卷创建文件系统

mkfs.ext4 /dev/VGName/LVName

挂载分区逻辑卷

第五步:挂载LV

mount /dev/VGName/LVName /mnt
注意:删除逻辑卷的过程一定是

         卸载挂载---删除lv---删除vg---删除pv
删除LV        

 lvremove 逻辑卷名称

 lvremove /dev/vgTest/lvTest

删除VG

vgremove vg名称

vgremove vgTest

删除PV

pvremove pv名称

 pvremove /dev/sdb /dev/sdc

拉伸与缩小LVM

LVM和其他的分区方式最大的优势就是可以动态的拉伸或缩小逻辑卷空间,并且是在线执行的,拉伸并不会影响原有数据无需下线,缩小逻辑卷需要下线,如果直接缩小,数据则有可能被破坏

 拉伸LV:

         1、保证VG中有足够的空闲空间

vgdisplay
        2、扩充逻辑卷

 lvextend -L +1G /dev/vgTest/lvTest
    或
 lvextend -l +25599 /dev/cl/root
         3、查看扩充后的lv的大小

lvdisplay

  4、更新文件系统

resize2fs /dev/vgTest/lvTest
        5、查看更新后的文件系统

df -h

当逻辑卷空间不够的时候,我们可以扩充逻辑卷,其实质就是从VG中拿若干PE到LV中,但是当VG中空间也不够时,我们就需要拓展VG,也就是将新硬盘格式化为PV添加到VG中

拉伸VG

1、将要添加到VG的硬盘格式化为PV

pvcreate /dev/sdd

2、将新的PV添加到指定卷组中

vgextend linuxcast /dev/sdd
     3、查看扩充后的VG

vgs

缩小逻辑卷

  逻辑卷的缩小必须离线,需要卸载逻辑卷,如果在线缩小,则有可能丢失数据,先缩小文件系统,再缩小LV

1、卸载已经挂载的逻辑卷

2、缩小文件系统

resize2fs 需要缩小的文件系统 缩小到的大小

resize2fs /dev/linuxcast/mylv 10G

3、缩小LV

lvreduce -L 缩小大小 缩小的LV

缩小卷组     

1、将一个PV从指定的卷组中移除

vgreduce 卷组名称 硬盘名称

vgreduce linuxcast /dev/sdd
2、查看缩小后的卷组

vgdisplay

实战:

1.查看现有分区

2. lvs

3. fdisk -l 查看新磁盘,并分区

分区命令如下

fdisk /dev/sdb1

p 查看分区

n 新建主分区

t 更改分区类型 为8e

格式化新分区

mkfs -t ext3 /dev/sdb1

4. 创建新物理卷

pvcreate /dev/sdb1

5.扩容卷组

vgextend /dev/mapper/centos /dev/sdb1

6.扩容逻辑卷

lvextend  -L +300G /dev/mapper/centos-root /dev/sdb1

7.刷新分区

resize2fs /dev/mapper/centos-root或者用下面的命令

xfs_growfs /dev/mapper/centos-root

8.最终效果

常见错误

resize2fs /dev/cl/root
resize2fs 1.44.3 (10-July-2018)
resize2fs: 超级块中的幻数有错 尝试打开 /dev/cl/root 时
找不到有效的文件系统超级块。

使用命令解决,/ 代表 逻辑分区实际挂载的路径

xfs_growfs /

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值