LVM介绍(内附案例)

博文结构
什么是LVM
LVM中PV、VG、PE、LV
扩大LV容量
LVM的磁盘快照
LVM 相关指令汇整

1.什么是LVM:
LVM 的重点在于“可以弹性的调整 filesystem 的容量!而并非在于性能与数据保全上面。
若需要文件的读写性能或者是数据的可靠性,应该用RAID磁盘阵列
LVM 可以整合多个实体 partition 在一起,让这些 partitions 看起来就像是一个磁盘一样!而且,还可以在未来新增或移除其他的实体 partition 到这个 LVM 管理的磁盘当中
2.LVM中PV、VG、PE、LV:
LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑卷轴管理员。
LVM 的作法是将几个实体的 partitions (或 disk)通过软件组合成为一块看起来是独立的大磁盘(VG),然后将这块大磁盘再经过分区成为可使用分区(LV),最终就能够挂载使用了。
3.Physical Volume, PV, 实体卷轴
我们实际的 partition (或 Disk)需要调整系统识别码(system ID)成为 8e (LVM 的识别码),然后再经过pvcreate 的指令将他转成 LVM 最底层的实体卷轴(PV),之后才能够将这些 PV 加以利用!调整 system ID 的方是就是通过gdisk
在这里插入图片描述
4。Volume Group, VG, 卷轴群组
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态的添加或移除物理卷。许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。
所谓的 LVM 大磁盘就是将许多 PV 整合成这个 VG 的东西就是啦!所以 VG 就是 LVM 组合起来的大磁盘!
那么这个大磁盘最大可以到多少容量呢?(PE 以及 LVM 的格式版本有关)
在默认的情况下,使用 32位的 Linux 系统时,基本上 LV 最大仅能支持到 65534 个 PE 而已,若使用默认的 PE 为 4MB 的情况下,最大容量则仅能达到约 256GB 而已~不过,这个问题在 64位的 Linux 系统上面已经不存在了!LV 几乎没有啥容量限制在这里插入图片描述

5.Physical Extent, PE, 实体范围区块
LVM 默认使用 4MB 的 PE 区块,而 LVM 的 LV 在 32 位系统上最多仅能含有 65534 个 PE (lvm1 的格式),因此默认的 LVM 的 LV 会有4M*65534/(1024M/G)=256G。
他是整个 LVM 最小的储存区块,也就是说,其实我们的文件数据都是借由写入PE 来处理的。(类似文件系统的block大小)
6.Logical Volume, LV, 逻辑卷轴
在这里插入图片描述
逻辑卷建立子啊卷组之上,与物理卷没有直接关系,对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷,使用mkfs等工具在逻辑卷上创建文件系统以后,就可以直接挂载到Linux操作系统中目录下使用。
最终的 VG 还会被切成 LV,这个 LV 就是最后可以被格式化使用的类似分区
那么 LV 是否可以随意指定大小呢?(否)
既然 PE 是整个 LVM 的最小储存单位,那么 LV 的大小就与在此 LV 内的 PE 总数有关。

为了方便使用者利用 LVM 来管理其系统,因此 LV 的设备文件名通常指定为“/dev/vgname/lvname ”的样式!
在这里插入图片描述在这里插入图片描述

VG阶段
vgcreate :就是主要创建 VG 的指令
vgscan :搜寻系统上面是否有 VG 存在
vgdisplay :显示目前系统上面的 VG 状态
vgextend :在 VG 内增加额外的 PV
vgreduce :在 VG 内移除 PV
vgchange :设置 VG 是否启动(active)
vgremove :删除一个 VG

LV 阶段
lvcreate :创建 LV
lvscan :查询系统上面的 LV
lvdisplay :显示系统上面的 LV 状态
lvextend :在 LV 里面增加容量
lvreduce :在 LV 里面减少容量
lvremove :删除一个 LV
lvresize :对 LV 进行容量大小的调整

创建逻辑卷并使用的顺序:创建物理卷→创建卷组→创建逻辑卷→格式化挂载
在这里插入图片描述
常用的LVM逻辑卷与文件系统管理的命令:
在这里插入图片描述
pvscan命令:用于扫描系统中所有的物理卷,并输出相关信息

[ root@localhost ~]# pvscan
PV /dev/sda2 VG cl Lvm2 [40.00 GiB / 4. 00 MiB free ]
Total :1[40.00 GiB] / inuse :[40.00 GiB] /innoVG:0

pvcreate命令:用于将分区或整个硬盘转换为物理卷,主要是添加LVM属性信息并划分PE存储单位(该命令需要使用硬盘或分区的设备文件作为参数,可以是多个)

[ root@locaLhost ~]# pvcreate /dev/sdbl /dev/sdb2 /dev/s db3
Physical volume ” /dev/sdb1" successfully created .
Physical volume" /dev/sdb2" successfully created.
Physical volume" / dev/sdb3" successfully created.

pvdisplay命令:用于显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有物理卷的信息

[ root@localhost ~]# pvdisplay /dev/sdb1
”/dev/sdb1" is a new physical volume of “2.00 GiB”
- - - NEW Physical volume - - -
PV Name /dev/sdbl
VG Name
PV Size 2.00 GiB
AL Locatable NO
PE Size 0
Total PE 0
Free PE 0
ALLocated PE 0
PV UUID aMIKm5- nrdA- e6Hn-j 1fL - Fwau一wd53 sv3a8A

pvremove命令:用于将物理卷还原成普通分区或磁盘,不再用于LVM体系,被移除的物理卷将无法被pvscan识别。

[ rootalocalhost ~] #
pvremove /dev/sdb3
L abels on physical volume " /dev/sdb3" successfully wip

卷组管理命令:
vgscan命令:用于扫描系统中以建立的LVM卷组及相关信息。通过执行命令可以列出cl卷组。

[ rootalocathost 一]# vgscan
Reading volume groups from cache.
Found volume group “cl” using metadata type lvm2

vgcreate命令:用于将一个或多个物理卷创建为一个卷组。

[root@localhost ~]# vgcreate web_document /dev/sdb1 /dev/sdb2
#使用物理卷/dev/sdb1、/dev/sdb2创建名为web_document的卷组。

vgdisplay命令:用于显示系统中个卷组的详细信息,需要使用指定卷组名作为命令参数(未指定卷组名时将显示所有卷组的信息)

[ root@localhost ~ ]# vgdisplay web_ document
- - - Volume group - - -
VG Name web _docunent
System ID
Format Lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status res izable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 6.99 GiB
PE Size 4.00 MiB
Total PE 1790
AlLoc PE / Size 0/0
Free PE / Size 1790 / 6.99 GiB
VG UUID 18FDCV- Guec xXnC Ud10- Lrgb- yNy8- rMXLdt

vgremove命令:用于删除指定的卷组,将指定卷组名作为参数即可。

[ root@localhost ~ ]# vgremove web_ document
Volume group ”web _document” successfully remove

vgextend命令:用于扩展卷组的磁盘空间,当创建新的物理卷,并需要将其添加到已有卷组中时,就可以使用vgextend命令,该命令的第一个参数为需要扩展容量的卷组名称,后面是为需要添加到该卷组中的物理卷。

[ rootalocalhost ~]# vgcreate web _document /dev/sdb1
Volume group web_document" successfully created

[ root@locaLhost ~]# vgextend web_ document /dev/sdb2 /dev/sdb3
VoLume group “web_document” successfully extended

逻辑卷管理命令:
lvscan命令:用于扫描系统中已建立的逻辑卷及相关信息。通过命令可以可以列出cl卷组中的逻辑卷。

[ root@localhost ~]# lvscan
ACTIVE ‘/ dev/cl/swap’ [2.00 GiB] inherit
ACTIVE ‘/dev/cl/root’ [37.99 GiB] inherit

lvcreate命令:用于从指定的卷组中分割空间,以创建新的逻辑卷,需要指定逻辑卷大小、名称及所在的卷组名作为参数

[ root@localhost ~]# Lvcreate -L 3G -n bdgn web_ document
Logical volume " bdgn" created .
[ root@localhost ~]# Ls /dev/web_document /bdgn
/ dev/web document/bdqn 逻辑卷bdgn的连接文件
[ root@localhost ~]# ld /dev/mapper/web_document-bdqn
/dev/mapper /web_document_bdqn 逻辑卷bdgn的设备文件

lvdisplay命令:用于显示逻辑卷的详细信息,可以指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息

[ root@localhost ]# Lvdisplay /dev/web_ document/bdqn
- - - Logical volume - - -
LV Path /dev/web_ document /bdqn
LV Name bdqn
VG Name web_ document
LV UUID yaosaQ 9s6d H57S- 05KY 7Wb0 ! 6HYx-YeIjRS
LV Write Access read/write
LV Creation host, time LocaLhost. Localdomain, 2019-06-30 01:25:54 + 0800
LV Status available

open 0

LV Size 3. 00 GiB
Current LE 768
Segments 1
AL Location inherit
Read ahead sectors auto
currently set to 8192
BLock device 253:2

lvextend命令:用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。只要指定需增加的容量大小及逻辑卷设备文件位置即可,前提条件是该卷组中还有尚未分配的磁盘空间,否则需要先扩展卷组容量。

[ root@localhost ~]# lvextend -l +2G /dev/web_ docunent /bdqn
Size of logical volume web_ document/bdqn changed from 3.00 GiB (768 extents) to 5.00 GiB ( 1280 extents),
Logical volume web document/bdqn successfully resized .

vcreate命令:用于删除指定的逻辑卷,直接使用逻辑卷的设备文件作为参数即可
[ root@localhost ~]# lvremove /dev/web_ document /bdqn
DO you really want to remove active Logical volume web document/bdqn7 [y/n]: y
Logical Vo Lume “bdqn” successfully r emoved

配置案例
创建逻辑卷
在这里插入图片描述
格式化逻辑卷,创建XFS文件系统。
在这里插入图片描述
挂载
在这里插入图片描述
如果添加逻辑卷或删除后,使用命令“ xfs_growfs 挂载点”来更新逻辑卷!

1、xfs文件系统的备份——xfsdump命令:

xfsdump命令的限制:
xfsdump不支持没有挂载的文件系统,所以只能备份已挂载的;
Xfsdump必须使用root的权限才能操作(涉及文件系统的关系);
Xfsdump只能备份xfs文件系统;
Xfsdump备份下来的数据(文件或存储媒体)只能让xfsrestore解压;
Xfsdump是通过文件系统的UUID来分辨各个备份文件的,因此不能备份两个具有相同UUID的文件系统。

常用选项:
-L:xfsdump会记录每次备份的session标头,这里可以填写针对此文件系统的简易说明;
-M:xfsdump可以记录存储媒体的标头,这里可以填写此媒体的简易说明。
-l:是L的小写,就是指定等级,有09共10个等级,默认为0,即完整备份,19是指增量备份。
-f:有点类似tar,后面接产生的文件,也可以接例如/dev/st0设备文件名或其他一般文件文件名;
-I:大写的“i”,从/var/lib/xfsdump/inventory 列出目前备份的信息状态。

root@localhost ~]# xfsdump -l O -L boot_all -Mboot_all -f /srv/boot.dump /boot
#将完整备份的文件名记录成为/srv/boot.dump
#如果不加-L和-M选项进入互动模式
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: WARNING: most recent level 0 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 0 dump of localhost.localdomain:/boot #开始备份本机的/boot系统
xfsdump: dump date: Wed Aug 21 00:04:00 2019 #备份的时间
xfsdump: session id: 2ab52f27-54d8-4cb3-b99f-5f78601afeed #这次dump的ID
xfsdump: session label: “boot_all” #简单给予一个名字记忆
#开始备份程序
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 146934272 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 146605160 bytes
xfsdump: dump size (non-dir files) : 146370000 bytes
xfsdump: dump complete: 1 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /srv/boot.dump OK (success)
xfsdump: Dump Status: SUCCESS
[root@localhost ~]# xfsdump -I #查看有没有文件被xfsdump备份过的数据

2、xfs文件系统的还原——xfsrestore命令:

常用选项如下:
-I:大写的“i”跟xfsdump相同的输出!可查询备份数据,包括Label名称和备份时间等;
-f:后面接的就是备份文件!企业中很有可能会接/dev/st0等磁带机!
-L:可用“-I”查询到的数据。在这个选项后输入;
-s:需要接某特定目录,也能复原某一文件或目录;
-r:如果是用文件来存储备份数据,那这个就不需要使用。如果是一个磁盘内有多个文件,需要使用它来达成累积复原;
-i:进入互动模式(一般不需要)

[root@localhost ~]# xfsrestore -I #查看备份文件数据
[root@localhost ~]# xfsrestore -f /srv/boot.dump -L boot_all /boot# 直接将备份数据覆盖回去

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值