lvm的基本使用

lvm的创建、扩展、迁移以及逻辑卷快照的使用

逻辑卷管理(LVM)

通过整个磁盘和多个分区作为物理卷(pv),将其组成一个物理卷组(vg),通过卷组来弹性分配大小的磁盘就是逻辑卷(lv)。下图就是逻辑卷的创建过程,所以逻辑卷的创建主要分为三部分。

逻辑卷

一、物理卷的选择

物理卷可以是整个磁盘也可是磁盘的一个分区,通过”pvcreate”来创建,如果是分区的话,在创建分区时要指定分区类型为’Linux LVM’。可以通过’pvs’来粗略查看pv。

pv

图中是我创建的两个物理卷,其中sdb1是一个分区而sdc是一整个磁盘,创建完成后通过’pvs’来查看。

二、卷组的创建

我们将创建好的pv组成一个卷组以便以后逻辑卷使用,通过”vgcreate”来创建,创建时我们要跟上’-s size’来指定PE size的大小。

vg

通过”vgdispaly”我们看到了pe的大小就是我们设置的8M,还可以看到vg的UUID、总容量等等信息。

三、逻辑卷的建立

在vg0的基础上我们通过”lvcreate”来创立逻辑卷,逻辑卷的总大小不可超过vg的大小。

lv

“lvcreate”命令中’-l’是指定创建lv大小的单位为”pe size”  ‘-L’是自己指定单位。

创建好逻辑卷后即可创建需要的文件系统。然后挂载到目录下就可以使用了。

扩展、缩小逻辑卷

在对逻辑卷进行设置前要先取消挂载。增加逻辑卷的大小通过”lvextend -L “来指定大小,缩减逻辑卷的大小则是通过”lvreduce -L”,-L后跟的大小不是增加或缩小的大小而是总容量。以扩展逻辑卷为例

首先通过”lvdisplay”来查看lv1的大小为20G

lv1

然后通过”lvextend -L 30G  /dev/vg0/lv1″扩展lv1的大小

lvextend

然后查看

后

我们发现lv1的大小从20G扩展到了30G而不是增加了30G。

 

删除物理卷

移除

再删除底层PV前我们先要确保vg中的可用空间要大于我们要删除的pv大小。通过”pvmove /dev/sdb1″来搬出sdb1的容量,在”vgreduce vg0 /dev/sdb1″来减出vg中sdb1的空间,最后”pvremove  /dev/sdb1″来删除pv。

此时我们查看vg的大小也少去了sdb1的大小。移除后

 

 

逻辑卷迁移

如果我们要将逻辑卷迁移到其他主机,首先要取消与当前主机的挂载关系,然后为了避免与新主机的冲突,要将lv与vg都改名为目标主机中不存在的名字。通过”lvrename””vgrename”来进行改名。

改名

这是我们把原来的vg0和lv1改成了vg000he lv111。接着我们要禁用设备并导出。

禁用

导出

接着将设备在旧主机上拔出,接入新主机。查看新主机中没有同名设备后,导入vg000(“vgimport vg000”),启用设备后(“vgchange -ay /dev/vg000/lv111”),挂在到新主机的目录下即可使用。

逻辑卷快照的原理及使用

逻辑卷快照的原理是通过命令对逻辑卷中的内容创建一个逻辑卷快照,此时无论我们修改或删除逻辑卷的内容,快照里面都是被修改内容刚刚创建的状态。当我们通过快照还原逻辑卷时,逻辑卷就会还原到快照创建时的样子,还原后快照也会被删除。

通过”lvcreate -n lv0-snapshot -p r -L 1G -s /dev/vg000/lv0″来创建关于逻辑卷’lv0’的快照,将其挂载到目录后我们可以看到创建快照时’lv0’中的内容,若要还原逻辑卷,首先要将逻辑卷和逻辑卷快照取消挂载,然后通过”lvconvert — merge /dev/vg000/lv0-snapshot”即可还原数据。

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89683

(3)
yoyiccccyoyicccc
上一篇 2017-12-08
下一篇 2017-12-09

相关推荐

  • Heartbeat-Gui V2 实现HA LAMP 搭建wordpress博客

    环境:           N F S: 172.16.0.3 (OS CentOS 7)           node1:172.16.0.5 (OS CentOS 6.7)    &nb…

    Linux干货 2016-10-27
  • linux用户和用户组

    一、用户和组 1、用户账号类型 在Linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同。主要包括超级用户、普通用户和程序用户。 【超级用户】:root用户是Linux系统中默认的超级用户账号,对本主机拥有最高的权限,类似于Windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使…

    Linux干货 2017-07-22
  • PHP SOCKET编程

    1. 预备知识        一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实php的socket模块可以做很多事情,包括做ftplist,http post提交,smtp提交,组包并进行特殊报文的交互(如smpp协议),whois查询。这些都是比较常见…

    Linux干货 2015-04-10
  • 马哥教育网络班19期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   whoami 只显示已经登录的用户     who | cut -d' ' -f1 | sort&nbs…

    Linux干货 2016-06-19
  • 马哥教育网络班22期+第2周课程练习 忍者乱太郎喻成

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?  type 查看文件类型的命令    type /dev/sda     mkdir 创建文件夹     mkdir [ -p -v…

    Linux干货 2016-09-06