码迷,mamicode.com
首页 > 其他好文 > 详细

Lvm

时间:2015-08-25 12:25:46      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:lvm

linear:线性设备;类似于jbod;能够将多个磁盘上的存储空间装载在一块,拼接成一个使用

mirror:类似于raid1 镜像

snapshot:快照

multipath:对数据可用性可靠性非常高的场和当中用的比较多;多路径【通过多跟不同的线完成】


raid只是在硬件级别,为了保证防止因为硬件损坏而导致数据丢失的机制,并不能预防rm -rf /

DM:可以实现硬盘动态增减

     pv【底层的硬件磁盘、物理卷、也可以是raid】

     vg【中层的卷组,想扩大卷组就得先添加磁盘】

     lv【上层逻辑卷

pv:硬件磁盘

创建pv:pvcreate

删除pv:pvremove

扫描pv:pvcan

查看pv:pvdisplay

移动pv:pvmove【磁盘空间太大,想把一块有数据的磁盘里的信息移动到别的磁盘】

vg:【卷组,和pv息息相关。】

创建vg:vgcreate

删除vg: vgremove

扩展vg:vgextend

缩减vg:vgreduce   【将一个磁盘移走的过程不叫pvremove 而是叫vgreduce】

查看信息:vgs /vgdisplay


来来来,咱们创建一个试试:

      1、创建三个逻辑分区10 11 12  分别分配7G 3G 5G

      2、调整类型为8e 并保存退出  partprobe

      3、fdisk 最多支持15个分区   

      4、pvcreate /dev/hda{10,11}   创建为pv       pvs/pvdisplay可以查看pv的信息

      5、vgcreate myvg /dev/hda{10,11} 将磁盘10 和11 创建为vg 并命名为myvg

       注:将pv加入vg之后 就有了PE了【相当于磁盘管理中的磁盘块】

             vgcreate -s #M myvg /dev/hda{10,11}指定pe大小  默认为4MB  

      6、vgremove myvg 【删除vg的方法】【vg上创建了lv 是不能随便删除的

      7、若想删除pv11(磁盘),首先执行pvs看看这个pv属于哪个vg

         然后pvmove /dev/hda11  里面的信息自动存到别的磁盘上

         vgreduce myvg  /dev/hda11 从myvg中移走hda11    {然后可以pvs查看详细情况}

      8、pvremove /dev/hda11   彻底删除hda11

      9、/*突然发现磁盘不够用了;需要将hda12 加入vg*/

         pvcreate /dev/hda12   创建pv

         vgextend myvg /dev/hda12 将hda12 扩展进myvg


如何创建lv:

创建lv:lvcreate,删除lvremove,扩展lvextend,缩减lvredece 查看lvs/lvdisplay。

      模式:lvcreate -n LV_NAME -L(指定大小#G) VG_NAME

      lvcreate -l 指定盘区的个数

      lvcreate -L 指定盘区的大小


     10、lvcreate -L 50M -n testlv myvg  创建lv 指定50兆大小 指定名称为testlv 

     11、mke2fs -j /dev/myvg/testlv 格式化lv

     12、mount /dev/myvg/testlv /mnt  将lv挂载到mnt

 

练习:创建一个由两个物理卷组成的大小为20G的卷组myvg,要求其PE大小为16M;而后在此卷组中创建一个大小为5G的逻辑卷lv1,此逻辑卷要能在开机后自动挂载至/users目录,且支持ACL功能

(开机自动挂载:vim /etc/fstab 编辑添加

  /dev/myvg/testlv       /mnt    ext3   defaults,acl   0  0    )


一:如何扩展逻辑卷

       扩展物理边界的命令:lvextend       【缩减空间,先缩减文件系统再缩减物理】

       扩展文件系统边界的命令:resize2fs  【扩展空间,先扩展物理后扩展文件系统】


   物理边界:

       lvextend -L 5G PATH/TO/LV  将2G的物理边界扩展到5G

       resize2fs /PATH/TO/LV 5G   修复逻辑卷的边界为5G(不能大于物理边界{确定vgs中有足够的PFree})

       resize2fs -p /PATH/TO/LV    物理卷有多大就扩展到多大


二:缩减逻辑卷

【不要在线缩减,一定要先卸载;】

【在缩减之前,应强行检查文件系统,以确保文件系统处于一致性状态】

        缩减逻辑边界命令:resize2fs /PATH/TO/PV 3G       缩减逻辑卷空间到3G

        缩减物理边界命令:lvreduce -L 3G /PATH/TO/LV

        重新挂载


具体步骤:

     1、umount卸载

     2、e2fsck -f /dev/myvg/testlv   强行对文件系统检测

     3、resize2fs /dev/myvg/testlv 3G  缩减文件系统到3G

     4、lvreduce -L 3G /dev/myvg/testlv  缩减物理边界到3G

     5、mount -a重新挂载

快照卷:

【生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小,否则快照卷自我损毁;可以考虑跟原卷中的数据一样大;也可以跟原卷一样大】

【快照卷是只读的

【快照卷跟原卷在一个卷组内】

    例:lvcreate -L 5G -n SLV_NAME -s -p r /path/to/lv  创建一个大小为5G 名称叫做SLV_NAME 并且以只读方式读取的快照卷   

     1、 然后mount /dev/myvg/SLV_NAME /mnt    原卷在users目录下  但原卷的改变不会影响快照卷

     2、 备份快照卷:tar -jcf /tmp/users.tar.bz2 /mnt/inittab  归档为bz2格式 以快照卷的路径为路径  储存为inittab名称  一定要站在mnt目录上备份     

     2.5、umount /mnt 

     3、 移除超出生命周期的快照卷原件:lvremove /dev/myvg/SLV_NAME

     4、 有一天数据文件损失了,可以通过bz2文件恢复回来,但不是实时恢复;这只是完全备份,想实时恢复还要结合增量备份;

     5:还原   tar xf /tmp/users.tar.bz2 -C ./     (-C表示解压后,解压到什么目录但中去)



Lvm

标签:lvm

原文地址:http://10183596.blog.51cto.com/10173596/1687691

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!