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 21:53
下一篇 2017-12-09 10:33

相关推荐

  • 编译安装httt服务

    1 软件下载地址:http://httpd.apache.org/ 2 将下载好的httpd-2.2.34.tar.bz2包解压到 /usr/local/src/httpd-2.2.34–  # tar xvf httpd-2.2.34.tar.bz2 3 编译安装http,指定安装路径: –prefix=/app/http…

    Linux干货 2017-08-05
  • N26-博客作业-week9

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin_num=0,login_num=0 for i in $(cut -d: -f7 /etc/passwd); do if …

    Linux干货 2017-04-01
  • 系统自动化安装

    本章内容 系统安装过程配置anaconda自动化安装系统 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系统安装程序 tui: 基于图形库curses的文本窗口 gui:图形窗口 安装程序启动过程 MBR…

    Linux干货 2016-09-19
  • 马哥教育网络班21期+第六周课程练习

    1、描述计算机的组成及其功能 答: (1)计算机组成: 输入(键盘)、输出(显示器),存储器(硬盘),运算器,控制器(CPU) (2)实现功能:    1)文件系统    2)内存管理    3)网络功能    4)进程管理    5)驱动程序 2、按系列罗列…

    Linux干货 2016-08-15
  • phpMyAdmin安装部署

    phpMyAdmin安装部署 phpMyAdmin 是一个用PHP编写的软件工具,可以通过web方式控制和操作MySQL数据库。通过phpMyAdmin 可以完全对数据库进行操作,例如建立、复制和删除数据等等。如果使用合适的工具,MySQL数据库的管理就会变得相当简单。应用 MySQL 命令行方式需要对 MySQL 知识非常熟悉,对SQL语言也是同样的道理。…

    2017-06-13
  • Kickstart实现CentOS 6.5的网络自动安装

    1.KickStart KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的…

    Linux干货 2016-10-24