LVM 2 介绍以及怎么使用?

一、 LVM是什么?

LVM利用Linux内核的device-mapper来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间, without getting caught up in the problems of fdisking a disk that is in use (and wondering whether the kernel is using the old or new partition table) and without having to move other partition out of the way. LVM是用来方便管理的,不会提供额外的安全保证。 However, it sits nicely with the other two technologies we are using.

LVM的基本组成块(building blocks)如下:

1, 物理卷Physical volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的header,其余部分被切割为一块块物理区域(physical extents)。 Think of physical volumes as big building blocks which can be used to build your hard drive.

2, 卷组Volume group (VG):将一组物理卷收集为一个管理单元。Group of physical volumes that are used as storage volume (as one disk). They contain logical volumes. Think of volume groups as hard drives.

3, 逻辑卷Logical volume (LV):虚拟分区,由物理区域(physical extents)组成。A "virtual/logical partition" that resides in a volume group and is composed of physical extents. Think of logical volumes as normal partitions.

4, 物理区域Physical extent (PE):硬盘可供指派给逻辑卷的最小单位(通常为4MB)。A small part of a disk (usually 4MB) that can be assigned to a logical Volume. Think of physical extents as parts of disks that can be allocated to any partition.

5, 逻辑区域LE(logical extent)逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

blob.png

二、优

比起正常的硬盘分区管理,LVM更富于弹性:

1),使用卷组(VG),使众多硬盘空间看起来像一个大硬盘。

2),使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。

3),可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。

4), 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。

5), 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。LVM上的文件系统也需要重新调整大小,某些文件系统也支持这样的在线操作。

6), 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online/动态(live)迁移至别的硬盘上。

7), 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。

 

三、创建分区(dev/sda#)

~]# fdisk /dev/sda  ;创建3个分区,并调为linux lvm,保存退出,加载到内核中(命令多执行两次^_^

 blob.png

 blob.png

 blob.png

四、创建物理卷(PV)(可以创建在磁盘上,分区上,RAID上…)

 blob.png

pvcreate:创建物理卷,pvmove:移动物理卷上的数据到另一个物理卷上,以方便拆物理卷(磁盘)

pvs,psdisplay:显示物理卷信息;pvremove;移除物理卷,pvscan:扫描;pvck:检测

一般命名规则:/dev/VG_NAME-LV_NAME

~]# pvcreate -v /dev/sda{13,14,15} ; -v表示显示过程

 blob.png

~]# pvremove DEVICE ;直接删除指定物理卷

五、创建卷组(VG)

Vgcreate:创建;vgsplit:切割;vgreduce:缩减;vgextend:扩展;vgremove:移除;vgdisplay:显示

vgcreate [-s|–physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE]](指定PE大小) VolumeGroupName (逻辑卷名) PhysicalDevicePath(指定物理卷)

 ~]# vgcreate -s 8M smile_vg /dev/sda13 ; 指定PE8M(默认是4M)(只要创建,就不能在上层改变) ,命名逻辑卷smile_vg

blob.png 

六、扩增卷组容量

扩展VG容量:指定卷组和需要加入进来的pv卷,PE大小创建时候已经指定了

~]# vgextend smile_vg /dev/sda14 ;扩展VG的容量,就是把物理卷加入进来

 blob.png

 七、缩小卷组容量

1,先pvmove移动数据到其它物理卷中,以免数据丢失(就是备份数据)

~]#pvmove [-n|–name  LogicalVolume]  [SourcePhysi-calVolume[:PE[-PE]…]  

       [DestinationPhysicalVolume[:PE[-PE]…]…]]

~]# pvmove -n smile_vg /dev/sda14  /dev/sda13 ;(如果数据多,需要时间

2,再从卷组(smile_vg)中移除物理卷(/dev/sda14)

~]#vgreduce smile_vg  /dev/sda14;  移除pv物理卷

 

八、创建逻辑卷(LV)

Lvdispaly:显示信息,lvcreate 创建;

-L:指定大小,-l:指定分几个

Lvcreate -L #[mMgGtT] -n NAME VolumeGroup   [PhysicalVolumePath](还可以指定PV)

~]# lvcreate -L  2G  -n lv_users  smile_vg ; 创建一个2G的逻辑卷

blob.png 

九、建立文件系统并挂载到到系统上

~]# mke2fs  -t ext4 -b 1024  -L MYDATA  /dev/smile_vg/my_users ; 建立文件系统

~]# mkdir /mydata

~]# mount /dev/smile_vg/my_users  /mydata

 blob.png

 

 

十、扩展逻辑卷

~]#lvextend -L +2G /dev/mapper/smile_vg-my_users ;+号表示增加,不用就表示扩展到多大

~]# resize2fs  /dev/smile_vg/my_users ; 改变原有的文件系统识别到的大小到扩展后的大小;这里重新挂载是解决不了问题的

 blob.png

 blob.png

十一、缩减逻辑卷

1),先缩减文件系统大小,这是保障做法

 a, ~]# umount  /dev/smile_vg/my_users ;卸载文件系统

 b, ~]#e2fsck -f /dev/smile_vg/my_users ; 强制修复文件系统

 c, ~# resize2fs /dev/smile_vg/my_users  #[mMgGtT] 缩减至多大(逻辑缩减),

注意:缩减后的大小至少能容纳当前的数据,否则数据丢失

   d, ~]# lvreduce -L [-]2[mMgGtT] /dev/smile_vg/my_users ; 物理缩减咯,这次才是真正缩减,

e, ~]#mount /dev/smile_vg/my_users   /mydata  ;重新挂载,检测数据是否有丢失

f, ~]#df  -h;查看是否缩减

 blob.png

十二、快照功能snapshot

LVM可以给系统创建一个快照,由于使用了写入时复制(copy-on-write) 策略,相比传统的备份更有效率。 初始的快照只有关联到实际数据的inode的实体链接(hark-link)而已。只要实际的数据没有改变,快照就只会包含指向数据的inode的指针,而非数据本身。一旦你更改了快照对应的文件或目录,LVM就会自动拷贝相应的数据,包括快照所对应的旧数据的拷贝和你当前系统所对应的新数据的拷贝。这样的话,只要你修改的数据(包括原始的和快照的)不超过2G,你就可以只使用2G的空间对一个有35G数据的系统创建快照。

  特性:

1), 一般为只读权限(-p)

2), 快照卷和原卷肯定在同一个卷组上

3), 创建的快照就像一个硬链接,但是改变原文件,不影响快照卷的映射的文件,因为一旦原件文件改变,快照卷就备份出来了。

~]# lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

~]# umount  /dev/smile_vg/snap_smile ;卸载这个快照卷

~]# lvremove /dev/smile_vg/snap_smile;  删除这个快照卷

 blob.png

blob.png

原创文章,作者:不忘初衷,如若转载,请注明出处:http://www.178linux.com/65996

(0)
不忘初衷不忘初衷
上一篇 2017-01-06 00:04
下一篇 2017-01-06 00:56

相关推荐

  • 文本编辑器vim概述与应用示例

    文本编辑器vim概述与应用示例 文本编辑器概述 vim编辑器是一种易用、功能强大的文本编辑器,可以基于三种不同的模式对文本进行编辑,包括编辑模式、输入模式和末行模式。 编辑模式 模式转换 i 表示在光标所在处插入 a 表示在光标后方插入 o 表示在光标所在处的下一行插入 O 表示在光标所在处的上一行插入 I 表示在光标所在行的行首插入 A 表示在光标所在行的…

    Linux干货 2017-08-06
  • Linux基础知识之cp mv rm

    该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统和sjsir普通用户身份登录系统。 为什么要学习cp、mv、rm命令?     cp、mv、rm命令为Linux系统使用最长使用的三个命令之一,复制、移动和删除是我们平时处理一些文件必须要学会的命令,应该用于熟练掌握和使用的…

    Linux干货 2016-07-29
  • Linux文件管理类命令相关

    Linux文件管理类命令相关 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –…

    Linux干货 2016-09-24
  • N28 第三周【1】:grep和文本处理工具的使用

    grep一些练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who |cut -d” ” -f1 |sort -u root 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last |cut -d” ” -f1|head -1 |…

    Linux干货 2017-12-19
  • PHP5.4最新特性

    原文Oracle:LAMP 体系有了新的竞争,但此版本中的特性使 PHP 再次挑战极限。 稍微做了修改。: 概述总结:1. 内存和性能改进:大型 PHP 应用程序中可节省 20-50% 的内存。通过各种优化使性能提高 10-30%2. 支持特性Trait3. 精简数组语法,可以定义短数组4. 函数数组解除引用,支持Array dereferenci…

    Linux干货 2015-11-18
  • session sticky + session cluster 实战

    前言 在做负载均衡集群的时候,如果后端是应用服务器,我们就有一个不得不考虑的一个问题:会话绑定。为了追踪会话,我们常见的有三种方式:(1)session sticky:会话粘性,常见有2种方式: source_ip:采用源地址绑定方式 nginx:ip_hash,ip地址哈希 haproxy:source lvs:sh,源地址哈希 cookie:基于cook…

    Linux干货 2017-02-13

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-10 16:18

    非常的好,请继续保持~~~加油!!