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)
上一篇 2016-11-08 23:00
下一篇 2016-11-09 14:34

相关推荐

  • linux用户和组及其配置

    LINUX用户和组概念及相关配置 1.   用户 我们在使用linux过程中,最直观的就是用户。用户就是我们要登录、操作的那个人。系统验证密码的过程就是在验证“你就是你”的过程。用户分为管理员和普通用户,计算机能识别的语言就是一堆的数字。你所看到的用户名计算机也会把它转化为数字,叫做ID号。管理员的ID为0,普通用户分为两种,一种是系统用…

    Linux干货 2016-10-24
  • LVM理论及实践

    LVM综述创建LV创建PV:pvcreate DEVICES创建VG:vgcreate VG_NAME PV_DEVICES创建lv格式化:mkfs.ext4 /dev/vg0/lv0挂载LVM的扩展扩展LV:lvextend扩展后检查挂载文件夹大小,发现扩展前后没有变化这是因为硬盘的修改需要同步:resize2fs /dev/vg0/lv0假设这时候VG的…

    Linux干货 2016-09-19
  • Git 分布式 Moosefs + Corosync + DRBD 集群

        对于 Git 集群来说,在不采用存储阵列的情况下,分布式存储系统是一个很好的解决方案。目前可使用的分布式文件系统,初步了解了一下,Git 是属于小文件的应用,因此可考量的我想就只有目前的 Moosefs、Ceph 了,Ceph 目前好似国内应用不多,貌似不太稳定。至于 GlusterFS 其比较适用于大文件的应…

    Linux干货 2016-02-22
  • MBR、GPT的结构和区别

    本章学习内容         ——–介绍MBR、GPT         ——–不同的启动流程         ——–分区结构 &nb…

    Linux干货 2016-08-29
  • 快速删除无用包组

    快速删除无用组 第一步: [root@cloud ~]# yum grouplist >> list.txt 第二步: 编辑 list.txt把需要留下来的删除 第三步: 创建脚本 remove.sh 运行 #/bin/bash # # while read…

    Linux干货 2016-06-09
  • Hello World 集中营

    编程的人应该都知道什么是Hello World。这是一个最简单的程序,其只在屏幕上输出“Hello World”字样,这通常是初学者的在学习编程时的第一个示例。把打印出 “Hello World” 作为第一个范例程序,现在已经成为编程语言学习的传统。“Hello World”起源于Brian Kernighan 和Dennis MacAlistair Rit…

    2016-05-17