lvm逻辑卷管理

#LVM

逻辑卷管理

一、创建pv
    
    创建pv可以在物理硬盘(裸盘上创建),MBR类型的分区(要更改分区类型为linux lvm: 8e )。GPT分区也要更改分区类型为8e00 Linux LVM 。
    还可以在RAID上创建。注意要在没有数据的分区上创建,否则会丢失数据。
    只有需要拆除pv才需要pvmove移动该pv的数据。否者不需要。拆除前要先调整vg大小。尽量让vg小于剩余pv的总和。

    注意,先调整pv上层的个系统,最后pvmove 移动数据。才能拆除pv

    命令
    
        pvcreat
            pvcreate /dev/sdb
        pvremove

        pvmove

二、创建vg
    
    可以创建多个vg,同一硬盘的不同分区可以属于不同的vg。vg类似于MBR的扩展分区,不能独立使用。需要在vg上创建逻辑分区,才能使用。
    一般不建议单独对vg进行缩减操作。一般都是在要缩减lv的空间,才有可能需要缩减vg
    vg创建后,之后创建的lv设备会以软连接的方式放到/dev/mapper/下。lv名称是由所属vgname组成格式: vgname-lvname,使用者更能区分,lv属于哪个vg上的。

    命令
    
        vgcreat
            vgcreate  vg0 /dev/sdb
        vgextend
            vgextend vg0 /dev/sdc
        vgreduce

        vgremove

三、创建lv

    一个vg上可以创建多个lv。
    lv是系统可以识别的使用单位。一个lv就相当于一个磁盘
    创建lv后需要使用分区工具,进行分区。然后创建需要的文件系统。所以注意,想要调整分区大小,一定要使用。相应分区类型的分区调整工具。
    扩容的话可以先扩容lv在更新分区表。使用相应的分区类型的分区调整工具。ext系列是用resize2fs

    命令
        lvreduce
            lvreduce -L 21G /dev/vg0/lvol0 缩减
        lvextend
            lvextend -L 35G /dev/vg0/lvol0 扩大
        lvcreate
            lvcreate -L 15G vg0
        lvremove
            lvremove /dev/vg0/lvol0
        lvresize
            lvreduce -L 21G /dev/vg0/lvol0  lv上有文件系统需要使用扩大vg或减小vg后需要使用  ?
创建快照

要创建快照,卷组一定要有富裕空间。
创建快照卷,快照卷必须与原卷处于同一卷组之内。
建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。
快照卷的生命周期,为整个数据时长,数据的增长量不能超过快照卷大小。根据数据变化量创建。最安全的做法是快照卷与原卷一样大,或者与原卷的数据一样大。

    使用LVM快照
    
        为现有逻辑卷创建快照
            #lvcreate -L #[mgt] -s -n snap-data -p r /dev/vg0/data
                -s 创建快照卷
                -p r 创建只读
                -n    指明快照卷名称
        挂载快照
            #mkdir -p /mnt/snap
            #mount -o ro /dev/vg0/snap-data /mnt/snap
        删除快照
            #umount /mnt/databackup
            #lvremove /dev/vg0/databackup

    [root@yangyouwei ~]# lvs
      LV        VG   Attr       LSize  Pool Origin    Data%  Meta%  Move Log Cpy%Sync Convert
      arc-snap  myvg sri-aos—  1.00g      archlinux 0.00                                   
      archlinux myvg owi-a-s— 10.00g                                                       
      data      myvg owi-aos—  7.00g                                                       
      data-snap myvg sri-aos—  1.00g      data      0.01                    

    Attr  属性字段中s表示快照卷。 r只读 ,Origin 指的是原卷,Data% 指的是发生改变的数据(快照的中保存的原卷发生改变的数据)。

四、扩容lv

    扩展逻辑卷:可在线执行扩展操作。无需卸载
        # lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
        # resize2fs /dev/VG_NAME/LV_NAME #G 修复文件系统分区到多大。
            resize2fs -p /dev/VG_NAME/LV_NAME  物理边界有多大,就扩展到多大。

五、缩减lv

        # umount/dev/VG_NAME/LV_NAME
        # e2fsck -f /dev/VG_NAME/LV_NAME
        # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
        # lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
        # mount

一定要先卸载,不能在线缩减。

一定要确认缩减后,依然能够容纳下原有的数据。

    [root@yangyouwei ~]# df -hl

一般不建议,进行缩减操作。如必须执行的话,一定要严格按如下步骤执行。否则会造成系统无法识别lv,丢失数据。

先缩减文件系统边界,后缩减lv边界(物理边界)
    
    缩减逻辑卷:严格按照如下步骤只从。
        卸载lv设备             umount/dev/VG_NAME/LV_NAME
        强制检测lv设备         e2fsck -f /dev/VG_NAME/LV_NAME   ####如果是其他文件系统,使用相应的工具进行检查。确保文件系统处于一致状性态。
        调整分区大小            resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]  ####如不是ext系列的分区,许使用相应的工具调整。
        调整lv大小            lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

注意事项:
    
        创建的lvm设备,只有创建了lv以后才能被系统识别看到硬件设备。
        /dev/vgname/vgname-lvname
        /dev/mapper/lvname
        
        lv是被系统设备能够识别的,在/dev下有设备文件。dm-0…dm-n。
        /dev/vgname/lvname  /dev/mapper/lvname都是软连接到 dm设备的

        需要调整分区大小,需要先执行resize2fs,这仅是针对ext系列分区的分区调整工具。其他类型的分区,需要使用相应的工具。
        lvm调整的时候注意各种边界。pv边界,vg边界,lv边界(物理边界) 以及 文件系统边界(逻辑边界)

        创建快照卷,快照卷必须与原卷处于同一卷组之内。

快照的原理

    快照的实现是,创建快照是创建一个元数据监视器,将元数据保存在快照逻辑卷,这监视器,时刻监视着目标磁盘设备的元数据变化,一旦发生变化才将要被修改变化的数据备份到快照卷。(快照卷是指向访问原卷的另一个路径(类似于硬链接))。快照卷的体积很小。快照卷大小,取决于想要保存快照多长时间。时间越久,就需要更大的快照空间,最大到与原卷大小一样。快照卷通常是只读的。还有一种方式,是快照的快照。注意快照的实现是非常快的。

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

(0)
yywyyw
上一篇 2016-09-02
下一篇 2016-09-02

相关推荐

  • bash之运算、测试、if语句及for循环语句

      一、逻辑运算         布尔运算:真、假         与运算:                 真 && 真 = 真       …

    Linux干货 2015-05-25
  • 走进linux的世界

    1、描述计算机的组成及其功能。  所谓的计算机就是一种计算器,而计算器其实是:接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。 计算机系统由硬件系统和软件系统两个部分组成。 硬件系统由运算器、控制器、存储器、输入设备、输出设备组成。 运算器 是计算机中进行算术运算和逻辑运算的主要部件是计算机的主体。 控…

    Linux干货 2017-01-14
  • Shell编程之位置变量

           linux中命令可以接受参数,同样的,shell脚本也可以接受参数。这些参数用$1、$2、$3…$n表示。       $0  表示脚本本身       $1  传递给脚本的第1个参数 $2  传…

    Linux干货 2016-08-12
  • 第五周

      第五周 1 显示/boot/grub/grub.conf中以至少一个空白字符开头的行;      grep "^[[:space:]]\+" /boot/grub/grub.conf 2 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至…

    Linux干货 2017-01-02
  • 8.10作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 echo  "your host is `hostname` " echo  "ip address is `ifconfig | sed -n…

    Linux干货 2016-08-15
  • 第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 一次通信加密过程: 发送方: 1.使用单向加密算法提取生成数据特征码; 2.使用自己的私钥加密特征码附加在数据后面; 3.生成用于对称加密的临时密钥; 4.用此临时密钥加密数据和已经使用私钥加密后的特征码; 5.使用接受方的公钥加密此临时密钥,附加在对称密钥后的数据后方; 接受方: 1.使用自己的私钥解密加密的…

    2017-10-02