操作系统

当前位置:金沙棋牌 > 操作系统 > LVM基本概念,逻辑卷管理

LVM基本概念,逻辑卷管理

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-08-29 16:04

CentOS 6.3下配置LVM

一、简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层 应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于 分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层 服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。**

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

关系图如下:

金沙棋牌 1

PE(Physical Extent)- 物理块

LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

金沙棋牌 2

二、系统环境

实验环境:Oracle VM VirtualBox

系统平台:CentOS release 6.3 (Final)

mdadm 版本:mdadm - v3.2.6 - 25th October 2012

LVM 版本:lvm2-2.02.100-8.el6.i686

设备类型:分区、物理硬盘、raid 设备

三、磁盘准备

在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

金沙棋牌 3

四、安装LVM管理工具

4.1 检查系统中是否安装了LVM管理工具

# rpm -qa|grep lvm

4.2 如果未安装,则使用yum 方式安装

# yum install lvm*

# rpm -qa|grep lvm

金沙棋牌 4

五、新建一个raid5 设备

使用/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四块物理硬盘做软raid模拟。

# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]

金沙棋牌 5

写入RAID配置文件/etc/mdadm.conf 并做适当修改。

# echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

详细请参考上篇文章:

六、新建一个分区

使用/dev/sdf 模拟分区。

# fdisk /dev/sdf

# fdisk -l /dev/sdf

金沙棋牌 6

准备工作就绪,下面我们使用三种设备/dev/md5、/dev/sdf1、/dev/sdg 来完成LVM实验。

七、创建PV

# pvcreate /dev/md5 /dev/sdf1 /dev/sdg

金沙棋牌 7

查看PV

# pvdisplay

金沙棋牌 8

还可以使用命令pvs 和pvscan 查看简略信息。

# pvs

金沙棋牌 9

# pvscan

金沙棋牌 10

八、创建VG

# vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

金沙棋牌 11

说明:vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.

查看VG

# vgdisplay

金沙棋牌 12

说明:

VG Name  VG的名称

VG Size  VG的总大小

PE Size  PE的大小,默认为4MB

Total PE  PE的总数量,5114 x 4MB = 19.98GB

Free PE / Size  剩余空间大小

同样可以使用命令vgs 和vgscan 查看。

# vgs

金沙棋牌 13

# vgscan

金沙棋牌 14

九、创建LV

# lvcreate -L 5G -n lv1 vg0

金沙棋牌 15

说明:

-L 指定创建的LV 的大小
-l 指定创建的LV 的PE 数量
-n LV的名字
上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

查看LV的信息

# lvdisplay

金沙棋牌 16

说明:

LV Path  LV的路径,全名

LV Name  LV的名字

VG Name  所属的VG

LV Size  LV的大小

再来看VG 的信息

# vgs

金沙棋牌 17

VFree 从19.98g 减少到了14.98g,另外的5g 被分配到了lv1.

十、格式化LV

# mkfs.ext4 /dev/vg0/lv1

金沙棋牌 18

十一、挂载使用

# mkdir /mnt/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

# df –TH

金沙棋牌 19

将挂载信息写入/etc/fstab

金沙棋牌 20

十二、添加测试数据

下面我们将对LVM进行扩容和缩减操作,所以向/mnt/lv1 中写入测试数据以验证LVM 的磁盘动态管理。

# touch /mnt/lv1/test_lvm_dynamic.disk

# touch /mnt/lv1/test_金沙棋牌,lvm_dynamic.disk2

# touch /mnt/lv1/test_lvm_dynamic.disk3

# ll /mnt/lv1/

金沙棋牌 21

十三、LVM的扩容操作

LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。

假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢?

因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。

13.1 LV的扩容

查看vg0 的剩余容量,还有14.98g 可用。

金沙棋牌 22

对lv1进行扩容。

# lvextend -L 1G /dev/vg0/lv1

金沙棋牌 23

说明:在lv1原有的基础上增加了1G.

查看现在vg0 的剩余容量,减少了1G.

金沙棋牌 24

再查看lv1的容量,从5G增加到了6G.

金沙棋牌 25

使用df –TH 命令查看实际的磁盘容量。

金沙棋牌 26

发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。

# resize2fs /dev/vg0/lv1

# df –TH

金沙棋牌 27

现在的可用容量已经增加到了5.9G。

查看测试数据

金沙棋牌 28

数据正常,对lv1的在线动态扩容完成。

还有一种情况,就是假如我们的vg0 空间不够用了,怎么办?这时我们就需要对VG进行扩容。

13.2 VG的扩容

VG的扩容可以有两种方法,第一种方法是通过增加PV来实现,操作如下:

A. 创建PV,使用/dev/sdh 来创建一个PV。

金沙棋牌 29

B. 扩容VG

现在的vg0 容量为19.98g.

金沙棋牌 30

# vgextend vg0 /dev/sdh

# vgs

金沙棋牌 31

现在vg0 的容量为24.97g, 增加了5GB,即一块物理硬盘的容量,VG扩容成功。

第二种方法是通过扩展RAID设备的容量来间接对VG进行扩容。这种方法在上一篇文章中有介绍,这里不再赘述,需要注意的地方是,/dev/md5 的大小变化后,需要调整PV的大小,操作如下:

# pvresize /dev/md5

金沙棋牌 32

十四、LVM的缩减操作

缩减操作需要离线处理。

14.1 LV的缩减

A. umount 文件系统

金沙棋牌 33

B. 缩减文件系统

# resize2fs /dev/vg0/lv1 4G

金沙棋牌 34

提示需要先运行磁盘检查。

C. 检查磁盘

# e2fsck –f /dev/vg0/lv1

金沙棋牌 35

D. 再次执行缩减操作

金沙棋牌 36

缩减文件系统成功,下面缩减LV的大小。

E. 缩减LV

# lvreduce /dev/vg0/lv1 –L 4G

金沙棋牌 37

说明:Step E 和Step D 缩减的大小必须保持一致,这里的4G是缩减到的大小;如果使用的是"-4G",则表示容量减少多少的意思。

F. 挂载查看

金沙棋牌 38

LV 缩减成功。

G. 查看测试数据

金沙棋牌 39

数据正常。

14.2 VG的缩减

A. umount 文件系统

金沙棋牌 40

B. 查看当前的PV详情

金沙棋牌 41

C. 将/dev/sdg 从vg0 中移除

# vgreduce vg0 /dev/sdg

金沙棋牌 42

D. 再次查看PV情况

金沙棋牌 43

/dev/sdg 已经不属于vg0了。

E. 查看vg0 的情况

金沙棋牌 44

vg0 的大小减少了5GB.

VG 缩减成功。

十五、删除LVM

如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。

15.1 umount 文件系统

金沙棋牌 45

15.2 移除LV

# lvremove /dev/vg0/lv1

金沙棋牌 46

15.3 移除VG

# vgremove vg0

金沙棋牌 47

15.4 移除PV

# pvremove /dev/md5 /dev/sdf1 /dev/sdg /dev/sdh

金沙棋牌 48

LVM 移除成功。

十六、LVM 快照(snapshot)

快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享。

金沙棋牌 49

LVM 系统快照区域的备份示意图(虚线为档案系统,长虚线为快照区)

左图为最初建立系统快照区的状况,LVM 会预留一个区域 (左图的左侧三个PE 区块) 作为数据存放处。此时快照区内并没有任何数据,而快照区与系统区共享所有的PE 数据, 因此你会看到快照区的内容与文件系统是一模一样的。等到系统运作一阵子后,假设A 区域的数据被更动了 (上面右图所示),则更动前系统会将该区域的数据移动到快照区,所以在右图的快照区被占用了一块PE 成为A,而其他B 到I 的区块则还是与文件系统共享!

快照区与被快照的LV 必须要在同一个VG 里。

16.1 建立LV

# lvcreate -L 100M -n lv1 vg0

# mkfs.ext4 /dev/vg0/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

16.2 写入测试数据

# touch /mnt/lv1/test_lvm_snapshot_1

# touch /mnt/lv1/test_lvm_snapshot_2

# cp -a /etc/ /mnt/lv1/

# cp -a /boot/ /mnt/lv1/

金沙棋牌 50

16.3 创建快照

# lvcreate -L 80M -s -n lv1snap /dev/vg0/lv1

说明:为/dev/vg0/lv1 创建一个大小为80M,名称为lv1snap 的快照。

# lvdisplay

金沙棋牌 51

/dev/vg0/lv1snap 的LV Size 为100MB,使用量为0.01%.

16.4 将刚才创建的快照挂载查看

金沙棋牌 52

/mnt/lv1 和/mnt/snapshot 是一模一样的。

16.5 进行档案的修改操作

金沙棋牌 53

16.6 再次查看

金沙棋牌 54

snapshot 的使用量为10.36%,原始资料有改动。

16.7 对snapshot 里的资料进行打包备份,准备还原

金沙棋牌 55

16.8 卸载并移除snapshot

金沙棋牌 56

16.9 卸载并格式化/mnt/lv1,清空数据

金沙棋牌 57

16.10 恢复数据

金沙棋牌 58

可以看到,原始数据已经成功恢复。

LVM 快照实验成功。

6.3下配置LVM 一、简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬...

CentOS 6.3下配置LVM(逻辑卷管理)

一、简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。**

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

关系图如下:

金沙棋牌 59

PE(Physical Extent)- 物理块

LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

金沙棋牌 60

二、系统环境

实验环境:Oracle VM VirtualBox

系统平台:CentOS release 6.3 (Final)

mdadm 版本:mdadm - v3.2.6 - 25th October 2012

LVM 版本:lvm2-2.02.100-8.el6.i686

设备类型:分区、物理硬盘、raid 设备

三、磁盘准备

在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

金沙棋牌 61

四、安装LVM管理工具

4.1 检查系统中是否安装了LVM管理工具

# rpm -qa|grep lvm

4.2 如果未安装,则使用yum 方式安装

# yum install lvm*

# rpm -qa|grep lvm

金沙棋牌 62

五、新建一个raid5 设备

使用/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四块物理硬盘做软raid模拟。

# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]

金沙棋牌 63

写入RAID配置文件/etc/mdadm.conf 并做适当修改。

# echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

详细请参考上篇文章:

六、新建一个分区

使用/dev/sdf 模拟分区。

# fdisk /dev/sdf

# fdisk -l /dev/sdf

金沙棋牌 64

准备工作就绪,下面我们使用三种设备/dev/md5、/dev/sdf1、/dev/sdg 来完成LVM实验。

七、创建PV

# pvcreate /dev/md5 /dev/sdf1 /dev/sdg

金沙棋牌 65

查看PV

# pvdisplay

金沙棋牌 66

还可以使用命令pvs 和pvscan 查看简略信息。

# pvs

金沙棋牌 67

# pvscan

金沙棋牌 68

八、创建VG

# vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

金沙棋牌 69

说明:vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.

查看VG

# vgdisplay

金沙棋牌 70

说明:

VG Name  VG的名称

VG Size  VG的总大小

PE Size  PE的大小,默认为4MB

Total PE  PE的总数量,5114 x 4MB = 19.98GB

Free PE / Size  剩余空间大小

同样可以使用命令vgs 和vgscan 查看。

# vgs

金沙棋牌 71

# vgscan

金沙棋牌 72

九、创建LV

# lvcreate -L 5G -n lv1 vg0

金沙棋牌 73

说明:

-L 指定创建的LV 的大小
-l 指定创建的LV 的PE 数量
-n LV的名字
上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

查看LV的信息

# lvdisplay

金沙棋牌 74

说明:

LV Path  LV的路径,全名

LV Name  LV的名字

VG Name  所属的VG

LV Size  LV的大小

再来看VG 的信息

# vgs

金沙棋牌 75

VFree 从19.98g 减少到了14.98g,另外的5g 被分配到了lv1.

十、格式化LV

# mkfs.ext4 /dev/vg0/lv1

金沙棋牌 76

十一、挂载使用

# mkdir /mnt/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

# df –TH

金沙棋牌 77

将挂载信息写入/etc/fstab

金沙棋牌 78

十二、添加测试数据

下面我们将对LVM进行扩容和缩减操作,所以向/mnt/lv1 中写入测试数据以验证LVM 的磁盘动态管理。

# touch /mnt/lv1/test_lvm_dynamic.disk

# touch /mnt/lv1/test_lvm_dynamic.disk2

# touch /mnt/lv1/test_lvm_dynamic.disk3

# ll /mnt/lv1/

金沙棋牌 79

十三、LVM的扩容操作

LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。

假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢?

因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。

13.1 LV的扩容

查看vg0 的剩余容量,还有14.98g 可用。

金沙棋牌 80

对lv1进行扩容。

# lvextend -L 1G /dev/vg0/lv1

金沙棋牌 81

说明:在lv1原有的基础上增加了1G.

查看现在vg0 的剩余容量,减少了1G.

金沙棋牌 82

再查看lv1的容量,从5G增加到了6G.

金沙棋牌 83

使用df –TH 命令查看实际的磁盘容量。

金沙棋牌 84

发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。

# resize2fs /dev/vg0/lv1

# df –TH

金沙棋牌 85

现在的可用容量已经增加到了5.9G。

查看测试数据

金沙棋牌 86

数据正常,对lv1的在线动态扩容完成。

还有一种情况,就是假如我们的vg0 空间不够用了,怎么办?这时我们就需要对VG进行扩容。

13.2 VG的扩容

VG的扩容可以有两种方法,第一种方法是通过增加PV来实现,操作如下:

A. 创建PV,使用/dev/sdh 来创建一个PV。

金沙棋牌 87

B. 扩容VG

现在的vg0 容量为19.98g.

金沙棋牌 88

# vgextend vg0 /dev/sdh

# vgs

金沙棋牌 89

现在vg0 的容量为24.97g, 增加了5GB,即一块物理硬盘的容量,VG扩容成功。

第二种方法是通过扩展RAID设备的容量来间接对VG进行扩容。这种方法在上一篇文章中有介绍,这里不再赘述,需要注意的地方是,/dev/md5 的大小变化后,需要调整PV的大小,操作如下:

# pvresize /dev/md5

金沙棋牌 90

十四、LVM的缩减操作

缩减操作需要离线处理。

14.1 LV的缩减

A. umount 文件系统

金沙棋牌 91

B. 缩减文件系统

# resize2fs /dev/vg0/lv1 4G

金沙棋牌 92

提示需要先运行磁盘检查。

C. 检查磁盘

# e2fsck –f /dev/vg0/lv1

金沙棋牌 93

D. 再次执行缩减操作

金沙棋牌 94

缩减文件系统成功,下面缩减LV的大小。

E. 缩减LV

# lvreduce /dev/vg0/lv1 –L 4G

金沙棋牌 95

说明:Step E 和Step D 缩减的大小必须保持一致,这里的4G是缩减到的大小;如果使用的是"-4G",则表示容量减少多少的意思。

F. 挂载查看

金沙棋牌 96

LV 缩减成功。

G. 查看测试数据

金沙棋牌 97

数据正常。

14.2 VG的缩减

A. umount 文件系统

金沙棋牌 98

B. 查看当前的PV详情

金沙棋牌 99

C. 将/dev/sdg 从vg0 中移除

# vgreduce vg0 /dev/sdg

金沙棋牌 100

D. 再次查看PV情况

金沙棋牌 101

/dev/sdg 已经不属于vg0了。

E. 查看vg0 的情况

金沙棋牌 102

vg0 的大小减少了5GB.

VG 缩减成功。

十五、删除LVM

如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。

15.1 umount 文件系统

金沙棋牌 103

15.2 移除LV

# lvremove /dev/vg0/lv1

金沙棋牌 104

15.3 移除VG

# vgremove vg0

金沙棋牌 105

15.4 移除PV

# pvremove /dev/md5 /dev/sdf1 /dev/sdg /dev/sdh

金沙棋牌 106

LVM 移除成功。

十六、LVM 快照(snapshot)

快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享。

金沙棋牌 107

LVM 系统快照区域的备份示意图(虚线为档案系统,长虚线为快照区)

左图为最初建立系统快照区的状况,LVM 会预留一个区域 (左图的左侧三个PE 区块) 作为数据存放处。此时快照区内并没有任何数据,而快照区与系统区共享所有的PE 数据, 因此你会看到快照区的内容与文件系统是一模一样的。等到系统运作一阵子后,假设A 区域的数据被更动了 (上面右图所示),则更动前系统会将该区域的数据移动到快照区,所以在右图的快照区被占用了一块PE 成为A,而其他B 到I 的区块则还是与文件系统共享!

快照区与被快照的LV 必须要在同一个VG 里。

16.1 建立LV

# lvcreate -L 100M -n lv1 vg0

# mkfs.ext4 /dev/vg0/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

16.2 写入测试数据

# touch /mnt/lv1/test_lvm_snapshot_1

# touch /mnt/lv1/test_lvm_snapshot_2

# cp -a /etc/ /mnt/lv1/

# cp -a /boot/ /mnt/lv1/

金沙棋牌 108

16.3 创建快照

# lvcreate -L 80M -s -n lv1snap /dev/vg0/lv1

说明:为/dev/vg0/lv1 创建一个大小为80M,名称为lv1snap 的快照。

# lvdisplay

金沙棋牌 109

/dev/vg0/lv1snap 的LV Size 为100MB,使用量为0.01%.

16.4 将刚才创建的快照挂载查看

金沙棋牌 110

/mnt/lv1 和/mnt/snapshot 是一模一样的。

16.5 进行档案的修改操作

金沙棋牌 111

16.6 再次查看

金沙棋牌 112

snapshot 的使用量为10.36%,原始资料有改动。

16.7 对snapshot 里的资料进行打包备份,准备还原

金沙棋牌 113

16.8 卸载并移除snapshot

金沙棋牌 114

16.9 卸载并格式化/mnt/lv1,清空数据

金沙棋牌 115

16.10 恢复数据

金沙棋牌 116

可以看到,原始数据已经成功恢复。

LVM 快照实验成功。

注意:对lv1的修改量不能超过快照的大小,由于原始数据会被搬移到快照区,如果你的快照区不够大,若原始资料被更动的实际数据量比快照区大,那么快照区当然容纳不了,这时候快照功能会失效喔!

参考资料

  • 鸟哥的Linux 私房菜:
  • 羽飞博客:

6.3下配置LVM(逻辑卷管理) 一、简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制...

一、简介

LVM基本概念、管理

一、传统磁盘管理的问题

当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。

二、LVM逻辑卷的基本概念

LVM(Logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。

作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

金沙棋牌 117 

PE(physical extend)默认为4MB的基本块

PV(physical volume)硬盘或分区

VG(volume group)由一个或多个PV组成的整体

LV(logical volume)从VG中切割出的空间用于创建文件系统

三、LVM创建过程
1.物理磁盘被格式化为PV,空间被分为一个个PE
2.不通的PV加入同一个VG,不同PV的PE全部进入VG的PE池内
3.LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘
4.LV现在就直接可以格式化后挂载使用了
5.LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量。其过程不丢失原始数据

四、创建LVM

将物理磁盘设备初始化为物理卷

pvcreate /dev/sdb /dev/sdc

创建卷组,并将PV加入卷组中

vgcreate vg0 /dev/sdb /dev/sdc

基于卷组创建逻辑卷

lvcreate -n lv0 -L 5G vg0

为创建好的逻辑卷创建文件系统

mkfs.ext4 /dev/vg0/lv0

将格式化好的逻辑卷挂载使用

mount /dev/vg0/lv0 /mnt/

将挂载信息写入/etc/fstab中重启依然生效

echo "/dev/vg0/lv0 /mnt ext4 defaults 0 0 " >> /etc/fstab

五、查看LVM

查看物理卷信息:pvs、pvdisplay(详细)

查看卷组信息:vgs、vgdisplay(详细)

查看逻辑卷信息:lvs、lvdisplay(详细)

六、删除LVM

删除LV:lvremove /dev/vg0/lv0

删除VG:vgremove vg0

删除PV:pvremove /dev/sdb

七、拉伸一个逻辑卷

逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷

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

vgs、vgdisplay

扩充逻辑卷

lvextend -L 5G /dev/vg0/lv0

查看扩充后LV大小

lvs、lvdisplay

更新文件系统

resize2fs /dev/vg0/lv0

查看更新后的文件系统

df –h

八、拉伸一个卷组

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

pvcreate /dev/sdd

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

vgextend vg0 /dev/sdd

查看扩充后VG大小

vgs、vgdisplay

九、缩小一个逻辑卷

逻辑卷的缩小操作必须离线执行,要卸载逻辑卷

卸载已经挂载的逻辑卷

umount /dev/vg0/lv0

缩小文件系统(原lv0为10G)

e2fsck -f /dev/vg0/lv0

resize2fs /dev/vg0/lv0 3G

缩小LV

lvreduce -L -7G /dev/vg0/lv0

查看缩小后的LV

lvs、lvdisplay

挂载

mount /dev/vg0/lv0 /mnt

十、缩小卷组

将一个PV从指定组中移除

vgreduce vg0 /dev/sdd

查看缩小后的卷组大小

vgs、vgdisplay

移除PV

pvremove /dev/sdd

LVM2详解 

Ubuntu 上使用 LVM 轻松调整分区并制作快照 

使用LVM创建弹性磁盘存储——第一部分 

在Linux中扩展/缩减LVM(第二部分) 

在 LVM中 录制逻辑卷快照并恢复(第三部分)

在LVM中设置精简资源调配卷(第四部分)

使用条块化I/O管理多个LVM磁盘(第五部分)

本文永久更新链接地址:

一、传统磁盘管理的问题 当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新...

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

关系图如下:

二、系统环境

实验环境:Oracle VM VirtualBox

系统平台:CentOS release 6.3 (Final)

mdadm 版本:mdadm - v3.2.6 - 25th October 2012

LVM 版本:lvm2-2.02.100-8.el6.i686

设备类型:分区、物理硬盘、raid 设备

三、磁盘准备

在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

四、安装LVM管理工具

4.1 检查系统中是否安装了LVM管理工具

# rpm -qa|grep lvm

4.2 如果未安装,则使用yum 方式安装

# yum install lvm*

# rpm -qa|grep lvm

五、新建一个raid5 设备

使用/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四块物理硬盘做软raid模拟。

# mdadm -C /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[b,c,d,e]

六、新建一个分区

使用/dev/sdf 模拟分区。

# fdisk /dev/sdf

# fdisk -l /dev/sdf

七、创建PV

# pvcreate /dev/md5 /dev/sdf1 /dev/sdg

八、创建VG

# vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

九、创建LV

# lvcreate -L 5G -n lv1 vg0

十、格式化LV

# mkfs.ext4 /dev/vg0/lv1

十一、挂载使用

# mkdir /mnt/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

# df –TH

十二、添加测试数据

下面我们将对LVM进行扩容和缩减操作,所以向/mnt/lv1 中写入测试数据以验证LVM 的磁盘动态管理。

# touch /mnt/lv1/test_lvm_dynamic.disk

# touch /mnt/lv1/test_lvm_dynamic.disk2

# touch /mnt/lv1/test_lvm_dynamic.disk3

# ll /mnt/lv1/

十三、LVM的扩容操作

LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。

假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢?

因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。

13.1 LV的扩容

查看vg0 的剩余容量,还有14.98g 可用。

十四、LVM的缩减操作

缩减操作需要离线处理。

14.1 LV的缩减

A. umount 文件系统

十五、删除LVM

如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。

15.1 umount 文件系统

十六、LVM 快照(snapshot)

快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享

LVM 系统快照区域的备份示意图(虚线为档案系统,长虚线为快照区)

左图为最初建立系统快照区的状况,LVM 会预留一个区域 (左图的左侧三个PE 区块) 作为数据存放处。此时快照区内并没有任何数据,而快照区与系统区共享所有的PE 数据, 因此你会看到快照区的内容与文件系统是一模一样的。等到系统运作一阵子后,假设A 区域的数据被更动了 (上面右图所示),则更动前系统会将该区域的数据移动到快照区,所以在右图的快照区被占用了一块PE 成为A,而其他B 到I 的区块则还是与文件系统共享!

快照区与被快照的LV 必须要在同一个VG 里。

16.1 建立LV

# lvcreate -L 100M -n lv1 vg0

# mkfs.ext4 /dev/vg0/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

16.2 写入测试数据

# touch /mnt/lv1/test_lvm_snapshot_1

# touch /mnt/lv1/test_lvm_snapshot_2

# cp -a /etc/ /mnt/lv1/

# cp -a /boot/ /mnt/lv1/

注意:对lv1的修改量不能超过快照的大小,由于原始数据会被搬移到快照区,如果你的快照区不够大,若原始资料被更动的实际数据量比快照区大,那么快照区当然容纳不了,这时候快照功能会失效喔!

 

参考资料

  • 鸟哥的Linux 私房菜:
  • 羽飞博客:

 

CentOS 6.3下配置软RAID(Software RAID)

 


David Camp

  • 技术交流,请加QQ群:

    系统运维技术分享:296513821

  • 业务合作,请联系作者QQ:562866602
  • 我的微信号:mchina_tang
  • 给我写信:[email protected]
  • 我的地址:江苏·苏州

**我们永远相信,分享是一种美德 | **We Believe, Great People Share Knowledge...

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一...

本文由金沙棋牌发布于操作系统,转载请注明出处:LVM基本概念,逻辑卷管理

关键词: