linux 生成进程快照,Linux下的LVM创建以及Linux快照卷

通过最的学习,我加深了对LVM的理解,在这里,我将它写成博客,一是方便自己记忆,二是让Linux的入门学习者一起学习一下。

首先我们引入LVM的概念,并展开详细的说明,主要是近期学习的看法,我们先看一个图

5716a49dbc8e58652fa1e1fc8a271f34.png

我们将会提到的名词有:PV、VG、LV、PE

在图中,最下面的,我们可以理解为物理存储介质,硬盘或是分区

PV:称为物理卷,是LVM的基本存储块。

VG:称为卷组,我们可以看卷组是由物理卷组合而成的。

LV:称为逻辑卷,是从卷组中划分出来的。

PE:physical extent,我就称为物理块,它是LVM中的最小单元。

原理:LVM技术,就是将一个个物理存储介质,生成一个个物理卷,然后再将多个物理卷构成一个或多个卷组,最后,再从卷组中划分出一个个的逻辑卷,格式化之后,挂载使用。

通俗解释:如果大家没有接触过的话,我就这么解释一下,PV就是一桶一桶的水,VG就是一个大型的水库,LV则是大家按需从水库中取得需要的水,意味着大家把自己的水放在一个水库中,然后,大家按需去索取,而且还能从外面添加进水库中,其中的关键之处就是PE,相当一滴一滴的水,它是整个划分的关键,这样说,不知道大家有没有一些了解呢

下面,我就将通过部分例子来进一步说明LVM的原理,在这之前,我们先看看部分命令。ad7a79652e173250abba7559e3c5e36a.png

接下来,我们将在实验中一步步的解释这些命令的意思,让读者理解LVM的创建流程

实验环境是在虚拟机中进行的,我们有一个20G的硬盘,接下来,我们将它划分为3个5G的分区(最后还剩,我们就先不管了),划分分区用fdisk命令,硬盘为/dev/sdb,结果如下图所示:

注意事项,要将分区的系统格式改为LVM(fdisk中按t更改)

af1bd5d008430d08ef587f82b8c96e48.png

开始实验:

创建物理卷(PV)

1、先将/dev/sdb1、/dev/sdb2和/dev/sdb创建成物理卷(PV)

PV:创建物理卷的命令

PV的用法:pvcreate DEVICE

0c640af7254eeffc69a074a159b1a43e.png

2、查看我们的物理卷(PV)

ba7b56161d105ab881360ea00f4ce15e.png

从上图,我们可以看出刚刚的三个分区已经被成功的创建成物理卷了

3、将我们的任一分区移除物理卷,然后再添加回来(添加用上面的pvcreate)

pvremove:移除分区或是物理介质

pvremove的用法:pvremove  DEVICE

1950113fc2a248825c7d1ad5766e4ea0.png

4、我们的读者可能会提到,我们的pvdisplay呢,这也是查看物理卷的,但是,它返回的信息更详细

(以下的结果类似,就不一一解释了)

e49ff8c9f1fe932c2b3f700bbbbda456.png

创建卷组(VG)

1、接下来,就是把刚刚创建的这些PV一起放到一个卷组(VG)中去

vgcreate:是用来创建卷组的命令

vgcreate的用法:vgcreate  VG_NAME  DEVICE

2cbca275421c70bc9bb09c719151a1b4.png

2、查看我们的VG情况,使用vgs命令

c15943c2ede63a13753550ac39c3b353.png

3、这样,我们的卷组就创建成功了,卷组就是像是一个PV的容器一样,既然是容器,应该就能改变它的容量,下面,我们就说说如何扩展和移除卷组中的物理卷

vgextend:扩展vg的命令

vgextend的用法:vgextend  VG_NAME DEVICE

5ed4d0af64536d8848ea37ccbd692d1f.png

vgreduce:移除VG中的卷组(PV)

vgreduce的用法:vgreduce VG_NAME   DEVICE

9e3d9ec4a62d6409738b7e7246b5680f.png

创建逻辑卷(LV)

1、LV就像是从容器里面取出的水,它可以使一个杯子的容量,也可以使一只碗的容量,但是,它一定不能超过VG这个容器里面的容量,即,逻辑边界不能大于物理边界,LV创建的方法如下:

lvcreate:这个命令是不是跟上面的两个create的相似啊,是的,它就是创建LV的

lvcreate的用法:lvcreate  -L #UNIT -n LV_NAME VG_NAME

假设我们要创建一个6G的逻辑卷,创建后用lvs命令查看

5bc379a4314c8a91946d8b8a72c74549.png

2、然后,我们要如何使用这个逻辑卷呢,我们先将其格式化,再进行挂载使用

步骤如下:#mkdir /mylv

#mke2fs -t ext4 /dev/cshangvg/cshanglv

#mount /dev/cshangvg/shanglv /mylv

这样,我们的LV(逻辑卷)就能够被使用了

3、卷组可以扩展和移除,那我们的逻辑卷可以吗?答案是可以的。

注意:扩展逻辑卷时,它的逻辑边界不能大于物理边界

lvextend:扩展逻辑卷的大小

lvextend的用法: lvextend  -L #UNIT DEVICE_LV

我们先看看/mylv挂载时,它的大小:

94bfe9f043c4b69e9362ae70571b4115.png

然后进行扩展成7G大小,步骤就如下图所示:

6754b1266d8649c73acb274a6782d4e7.png

然后,再次查看/mylv挂载的大小

07b86a5e548fe3c0067e302fab10ce8c.png

从上面两次df命令,我们可以看到,逻辑卷的大小的确扩展了

由于逻辑卷的缩减是一个非常危险的事情,所以,大家操作时,一定要很谨慎

4、先卸载逻辑卷,然后,要进行强制检测#umount  /mylv

#e2fsck  -f  /dev/cshangvg/cshanglv

#resize  /dev/cshangvg/cshanglv  #UNIT

5、lvreduce:缩减逻辑卷的命令

lvreduce的用法: lvreduce  -L #UNIT /dev/cshangvg/cshanglv

831cf49a4492d52420748b7f5202778f.png

6、最后再把逻辑卷挂载上去,我们看看大小

c23de4cbde321b3583d6a69c12411b95.png

可以看出,在这过程中,我们的逻辑卷从扩展到缩减的过程

创建快照卷

快照卷指的是对某个逻辑卷做快照,必须跟目录逻辑卷是在同一个卷组中的,无须指定卷组。

1、我们要查看逻辑卷是否正则被使用,如果有,则让其程序进程结束#fuser -v /mylv

#如果有进程使用中,杀掉

#fuser -km  /mylv

2、为了验证,我们可以拷贝一个文件到/mylv中去,例如/etc/issue

3、创建快照卷

db041125629e92e84fa160c42032cfc9.png

上图中有些参数要解释一番

-L:指定快照卷的大小

-n:快照卷的名称

-p r:表示只有读权限

-s:指定该逻辑卷为快照卷

4、然后,创建一个目录,挂载起来#mkdir /mysnap

#mount /dev/cshangvg/cshang-snap

5、然后我们改变/mylv中的issue时,/mysnap中的issue不发生改变,拷贝文件进去时,是同样的效果,快照卷就很好的起到了备份作用。

总结:LVM的内容比较多,需要大家多多练习,这更是对我自己说的;对于一个服务器的存储大小的扩展有着很好的应用性,最后的快照卷对于备份也是一个很好的选择。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值