Linux基础之LVM

一.LVM介绍

  1. LVM(Logic Volume Management)逻辑卷管理器,其基本原理就是将多个磁盘的分区在逻辑上进行组合,使之成为一个大容量的磁盘进行使用,可以实现动态的分配存储空间。

  2. LVM基本模型以及基本术语,如下图所示:

LVM.png

PV:物理卷,从逻辑上与磁盘分区具有同样功能的设备
VG:卷组,由一个或多个物理卷组成
LV:逻辑卷,具有逻辑边界的存储空间,可以在逻辑卷上创建文件系统
LE(Logic Extend):可以被寻址的基本单元
PE(Physical Extend):是物理卷的基本单位

而逻辑卷的实现要依赖内核模块dm(device mapper),其功能是将一个或多个底层物理设备组织成一个逻辑设备的模块,因为在linux中一切皆文件,所以表现为/dev/dm-#

二.LVM的使用

从上图中可以看出来,要创建逻辑卷,要从下向上进行,即先创建PV,然后创建VG,最后创建LV.

  1. pv管理工具

查看物理卷信息:pvs:简略的显示pv信息
查看物理卷信息:pvdisplay:详细显示pv信息
创建物理卷:pvcreate </dev/device> :创建pv设备

2.vg管理工具

查看卷组:vgs:简略的显示vg信息
查看卷组:vgdisplay:详细的显示vg信息
创建卷组:vgcreate -s <size> vg_name physical_device
扩展卷组:vgextend vg_name physical_device
删除卷组:vgremove <vg_name>

3.lv管理工具

查看逻辑卷:lvs:简略的显示lv信息
查看逻辑卷:lvdisplay:详细的显示lv信息
创建逻辑卷:lvcreate -L <size> -n <lv_name> vg_name
扩展逻辑卷:lvextend -L <size> /dev/vg_name/lv_name 
删除逻辑卷:lvremove /dev/vg_name/lv_name 

4.扩展逻辑卷

(1)扩展物理边界:lvextend -L <size> /dev/vg_name/lv_name 
(2)扩展逻辑边界:resize2fs /dev/vg_name/lv_name

5.缩减逻辑卷

(1)卸载逻辑卷:umount /dev/vg_name/lv_name
(2)对逻辑卷进行强制检查:ex2fsck -f /dev/vg_name/lv_name
(3)缩减逻辑边界:resize2fs -L /dev/vg_name/lv_name
(4)缩减逻辑卷:lvreduce -L /dev/vg_name/lv_name
(5)挂载:mount /dev/vg_name/lv_name

注意:扩展逻辑卷时,要先扩展物理边界,才能扩展逻辑边界;缩减逻辑卷时,先减少逻辑边界,才能减少物理边界

三.使用示例

1.创建一个由至少两个物理卷组成的大小为20G的卷组;要求,PE大小为8M;而在卷组中创建一个大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录,支持acl

(1) pvcreate /dev/sd{b,c}
(2) vgcreate -s 8M myvg /dev/sd{b,c}
(3) lvcreate -L 5G -n mylv1 /dev/myvg
(4) mkfs.ext4 /dev/myvg/mylv1
(5)编辑/etc/fstab文件,/dev/myvg/mylv1 /user1 ext4 acl 0 0

2.、扩展mylv1至9G,确保扩展完成后原有数据完全可用;

(1)lvextend -L +4G -n /dev/myvg/mylv1
(2) resize2fs /dev/myvg/mylv1

3.缩减mylv1至7G,确保缩减完成后原有数据完全可用;

(1) umount /dev/myvg/mylv1
(2) e2fsck -f /dev/myvg/mylv1
(3) resize2fs /dev/myvg/mylv1 7G
(4) lvreduce -L 7G -n /dev/myvg/mylv1

4.对mylv1创建快照,并通过备份数据;要求保留原有的属主属组等信息;

lvcreate -L 2G -p r -s -n mylv1.bak /dev/myvg/mylv1

原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/58589

(0)
zhangbaozhangbao
上一篇 2016-11-08 23:00
下一篇 2016-11-09 14:34

相关推荐

  • 8.2日作业

    8.2作业 1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。   先将文件目录的属组变更为g1 ,chmod  g+s /data/testdir/    …

    Linux干货 2016-08-08
  • “拆”解RAID工作原理

    一、什么是RAID RAID:Redundant Arrays of Inexpensive(Independent)Disks,廉价(独立)的冗余磁盘阵列。1988年由加利福尼亚大学伯克利分校提出。使用多个相对便宜的磁盘通过某种方式组合成一个“阵列”,来提供更好的性能、冗余,或两者同时提供。 性能提高:     &n…

    Linux干货 2016-11-22
  • 用户和组命令的简单使用

    用户和组管理命令: 用户管理命令:useradd usermod userdel 组管理命令:groupadd groupmod groupdel 用户创建:useradd -u:uid 定义在/etc/login.defs -o:配合-u选项,不检查uid的唯一性 -g:gid,指明用户所属基本组,可为组名,也可以gid -c:用户的诠释信息 -d;指定用…

    Linux干货 2016-10-24
  • 初学Linux文件目录结构

    /:根目录 /bin(binary):放置的是二进制文件。可执行的命令;非管理类的命令,通常是系统启动就需要的文件,供所有用户使用的基本命令;不能关联至独立分区, OS启动即会用到的程序。 /sbin:管理类的命令,通常只有管理员可以使用。 /lib:存放的是系统级别的库文件 /lib64:专用于x86_64系统上的辅助共享库文件存放位置  /ro…

    Linux干货 2017-07-13
  • 迁移用户数据到独立分区

    Linux操作系统中,/home目录下为各个普通用户的家目录,主要用于存放用户的配置信息及相关文件。若安装操作系统时,采用了home目录与根目录处在同一分区的分区策略,那么随着用户数据较多,很有可能将分区空间耗尽,导致系统崩溃。所以最好是将用户数据所在目录放在一个独立的分区上,但由于/home目录下已有一些用户数据,要想将home目录建立在一个独立的分区上,…

    Linux干货 2017-08-13
  • 磁盘管理、文件系统管理

    磁盘管理、文件系统管理 磁盘管理 磁盘设备 机械硬盘(非固态) I/O Ports —– I/O 设备地址 块设备:Block 存取单位“块”;(磁盘) 字符设备:char 存取单位“字符”;(键盘) 设备文件:关联一个设备驱动程序,进而能够跟与之对应的硬件设备进行通信; – 设备号码: 主设备号 major number…

    Linux干货 2016-07-22