设为首页 收藏本站
查看: 402|回复: 0

[经验分享] LVM逻辑卷管理及快照卷

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-8 09:21:44 | 显示全部楼层 |阅读模式
一、LVM2简介
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。
如图所示LVM模型:
wKioL1Uibuqh82J8AAC1aO9L8Yk981.jpg

由四个物理卷分区可以组成一个很大的空间,叫做卷组VG,然后在这些空间上划分一些逻辑分区【LV】,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。

二、LVM基本术语
物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
metadisk:dm
devicemapper,将一个或多个底层块设备组织一个逻辑设备的模块
lv的三个访问路径:
设备文件/dev/dm-#: 每个文件都有两个符号链接
/dev/mapper/VG_NAME-LV_NAME
/dev/VG_NAME/LV_NAME
快照:snapshot

三、创建和管理LVM
1、创建逻辑卷步骤:pv--> vg --> lv  【     PE大小是由vg决定的】
               例如:创建一个10G的卷组:
pv1:3G,pv2:7G   或者pv1: 10G

2、管理PV;
(1).创建磁盘分区
#fdisk/dev/sd[ab..]---->将分区格式调整为8e--->让内核重读分区表
注意:将分区的格式调整为8e

(2).创建物理卷【 pvcreate /dev/DEVICE】
#pvcreate /dev/sdb7

(4). 查看是否创建成功
#PvdisplayPV_NAME详细信息  
#pvs显示所有物理卷的简要信息

(5).移除物理卷 【pvremove /dev/DEVICE】
#pvremove/dev/sdb7

3、管理VG;
(1).创建VG:【vgcreateVG_NAME PV...】 选项:-s #{kKmMgGtTpPeE}:指定PE大小,默认为4MB;
#vgcreatemyvg[卷组名称]  /dev/sdb6【物理卷名称】

(2).显示创建的卷组
#vgs

(3).扩展VG并验证 【vgextendVG_NAME PV...】
#vgextendmyvg /dev/sdb7
#vgs

(4).缩小VG[或删除PV] 【vgreduceVG_NAME PV...】
     a.移动PV数据
     #pvmove /dev/sdb6

b.缩减VG
     #vgreduce myvg /dev/sdb6

c.验证是否成功
     #vgs

d.移除PV
     #pvremove /dev/sdb7

注意:先执行pvmove操作,以确保位于此PV上的数据能安全移动至其它PV;

(5).显示VG信息
#vgdisplayVG_NAME

4、管理LV:
(1).显示创建的LV
#lvs

(2).创建LV 【 lvcreate[OPTIONS] VG_NAME ; -n LV_NAME  ; -L#{kKmMgGtTpPeE} 】
#lvcreate-L 2G -n mylv [指定的LV的名字] myvg[VG的名称]

(3).创建文件系统
#mkfs-t ext4  /dev/mapper/myvg-mylv
或者另外的路径:#mkfs -t ext4  /dev/myvg/mylv


(4).挂载使用
#mkdir/users
#mount/dev/mapper/myvg-mylv /users/
#ls/users/  查看内容是否挂载

(5).查看创建的LV大小:
#df-lh

(6).查看LV信息
#lvdisplay  myvg[注意是VG的名称]
或者#lvdisplay  /dev/myvg/mylv
#lvg显示所有的LV


(7).扩展LV
lvextend/dev/VG_NAME/LV_NAME
   -L : +[扩展多少];不用+号则为,扩展到多少

例如:将LV扩展到3G
a.扩展lv大小到3G
#lvextend -L3G /dev/myvg/mylv

b.修改文件系统使用所有包含扩展的空间
#resize2fs/dev/myvg/mylv

c.查看验证是否生效:
#df -lh
步骤思路总结:
(1) 扩展物理边界
      lvextend
(2) 扩展逻辑边界
      resize2fs
(8)收缩LV:lvreduce,lvresize
lvreduce-L [-]#{kKmMgGtTpPeE} /dev/VG_NAME/LV_NAME

步骤思路:
a.先离线【卸载】
umount/users

b.强制检测文件系统【ext系列为例】
e2fsck-f /dev/myvg/mylv

c.收缩逻辑边界
resize2fs/dev/myvg/mylv 1G

d.收缩物理边界
lvreduce-L 1G /dev/myvg/mylv

e.上线挂载
mount/dev/myvg/mylv /users/

注意:收缩lv,要卸载lv;收缩后空间要能够容纳当前的所有数据量;

(9).删除LV
lvremove[-f] /dev/VG_NAME/LV_NAME

a.先卸载LV,并验证
#umount/users
#mount或cat /proc/mounts 查看验证是否卸载生效

b.移除
#lvremove/dev/myvg/mylv

四、快照卷:【原理请参考:http://blog.iyunv.com/woxiaozhi/article/details/11773101
lvcreate -L #{kKmMgGtTpPeE} -s -p r -nSNAP_LV_NAME /dev/VG_NAME/LV_NAME

提示:快照卷与原卷在同一个卷组中,因此,创建快照卷之前要确保原卷所在的卷组中有足够空间可用;
  快照卷无须与原卷一样大;其大小取决于快照卷的存活时长内原卷的数据变化量;

1.创建逻辑卷LVM快照卷并挂载
#lvcreate -L 3G -n mylv myvg
#mke2fs /dev/myvg/mylv -t ext4
#mount /dev/myvg/mylv /users

2.复制文件做验证
#cp -a /etc/* /users
#ls /users

3.备份/users目录
#lvcreate -L 100M -s -p r -n mylv-snap/dev/myvg/mylv
#lvs

4.挂载快照卷至/mnt
#mount -t ext4 /dev/myvg/mylv-snap /mnt
#ls /mnt 看到数据与/users目录一样的

5.在原卷中修改数据并验证挂载的快照卷是否修改
#vim /users/fstab
#cat /mnt/fstab 快照还是没有修改

6.等数据全部复制完成,删除快照卷即可
a.卸载
#umount /mnt


b.删除
#lvremove -f /dev/myvg/mylv-snap



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-54899-1-1.html 上篇帖子: Linux 文件系统 下篇帖子: Linux启动过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表