• LVM_逻辑卷


    -----------'创建逻辑卷'[LV - Logical Volume]

    ---//n注:As of this writing, the Linux 2.6 kernel supports on-line resize for
    // filesystems mounted using ext3 only.
    n'目前[在线放大]resize只适用于ext3,对于其他文件系统需要先umount‘

    ---//RHEL5 VS RHEL6 的区别

    [RHEL5]: /dev/vg0/lv0 [link] --> /dev/mapper/vg0-lv0 ['设备']
    (lv0是由lvcreate -n 指定) 映射 (blkid查看)

    [RHEL6]: /dev/vg0/lv0 [link] && /dev/mapper/vg0-lv0 [link] --> /dev/dm-0 ['设备']


    ---//n:PV.VG.LV引用方式

    1.PV:/dev/sda6

    2.VG: vg0

    3.LV:/dev/vg0/lv0 /dev/mapper/vg0-lv0 /dev/dm-0(RHEL6)


    ---//n创建LV

    1.fdisk /dev/sda //n:创建/dev/sda{6,7,8}:各100M

    2.pvcreate /dev/sda{6,7,8} //创建PV:Initialize a disk or partition for use by LVM.

    3.vgcreate '[-s 8M]' vg0 /dev/sda{6,7} //创建VG.-s:指定PE的大小。PE:physicalExtend,由多个block组成

    4.lvcreate -L 160M -n lv0 vg0 //-L:指定LV大小(默认PE=4M,所以必须是PE=4M的整数倍), -n:LV名字
    lvcreate -L 20M -n lv1 vg0
    lvcreate -l 100 -n lv2 vg0 //-l:指定PE的个数,100*8M=800M

    5.mkfs.ext3 /dev/vg0/lv0 //格式化:/dev/vg0/lv0 or /dev/mapper/vg0-lv1
    mkfs.ext3 /dev/mapper/vg0-lv1

    6.mout -a //修改fstab,挂载LV上的FS。


    ---//n[快照snapshot]

    1.lvcreate -L 160M -n lv0_snapshot -s /dev/vg0/lv0 // -s:快照;为lv0创建snapshot;

    [a.snapshot是建立在 VG 上,所以占用vg0的空间]

    [b.snapshot'无须格式化',挂载即可使用]

    [c.snapshot'不'能写在fstab中]

    [d.snapshot'写时复制COW'(copy on write),'[稀疏文件]'] //保证all data在创建snapshot时一致,不会出现“2+4=9”

    ---//n查看PV.VG.LV信息

    1.pvs / pvscan / pvdisplay

    2.vgs / vgscan / vgdisplay

    3.lvs / lvscan / lvdisplay



    ---//n查看LV上的FS信息

    1.tune2fs -l /dev/vg0/lv0

    tune2fs -l /dev/mapper/vg0-lv0

    tune2fs -l /dev/dm-0 //RHEL6中可以

    ---//n:lvextend -L 240M /dev/vg0/lv0
    Block count: 163840//total size = 1K * count = 160M
    Block size: 1024 //block size = 1K

    ---//n:resize2fs /dev/vg0/lv0
    Block count: 245760//total size = 240M



    ---//n[在线]'扩大"逻辑卷LV' : [VG -> ] LV -> FS

    1.vgextend vg0 /dev/sda8 //扩大VG

    2.lvextend /dev/vg0/lv0 -L 240M //扩大LV -> 240M

    3.resize2fs /dev/vg0/lv0 [240M] //扩大FS,默认放大到分区大小(即the filesystem blocksize of the filesystem)
    [*******如果不放大FS -> lv0中未被FS覆盖的{新增}物理空间 [不可用]n *******]



    ---//n[离线]‘缩小LV‘ : FS -> LV [-> VG]

    1.umount /mnt/lv0

    2.resize2fs /dev/vg0/lv0 150M

    3.e2fsck -f /dev/vg0/lv0 //check a Linux ext2/3/4 filesystem

    3.lvreduce /dev/vg0/lv0 -L 150M //lvreduce

    4.mount /mnt/lv0



    ---//n删除 做为 PV的 分区

    ---//n删除LV

    1.lvremove [-f] vg0/lv0 //删除vg0上的lv0 [-f:无须确认,直接删除]

    2.lvremove [-f] vg0 //删除vg0上所有LV

    ---//n删除VG

    1.vgremove [-f] vg0 //[-f]:如果vg0上有LV,此时会提示是否remove;-f强制vgremove(一并remove所有LV)

    ---//n删除PV

    1.pvremove /dev/sda{6,7,8}

    ---//n删除partition

    1.fdisk /dev/sda //-d:删除/dev/sda6,7,8

    2.partprobe //RHEL6需要reboot

    ---------<'LVM快照' >-----------

    @当一个snapshot创建的时候,仅拷贝原始卷里数据的元数据(meta-data)。

    #创建的时候,并不会有数据的物理拷贝,因此snapshot的创建 几乎是实时的,

    #当原始卷上有写操作执行时,snapshot跟踪原始卷块的改变,

    #这个时候原始卷上将要改变的数据在改变之前被拷贝到snapshot预留 的空间里,

    #因此这个原理的实现叫做写时复制(copy-on-write)。


    @在写操作写入块之前,CoW讲原始数据移动到 snapshot空间里,这样就保证了所有的数据在snapshot创建时保持一致。

    #而对于snapshot的读操作,如果是读取数据块是没有修改过的, 那么会将读操作直接重定向到原始卷上,

    #如果是要读取已经修改过的块,那么就读取拷贝到snapshot中的块。

    #这样,通常的文件I/0流程有一个改变,那就是在文件系统和设备驱动之间增加了一个cow层,变成了下面这个样子:

    $file I/0 ---> filesystem -- >CoW --> block I /O

    $采取 CoW 实现方式时,snapshot的大小并不需要和原始卷一样大,其大小仅仅只需要考虑两个方面:

    1.从shapshot创建到释放这段时间内,估计块的 改变量有多大;

    2.数据更新的频率。

    $一旦 snapshot的空间记录满了原始卷块变换的信息,那么这个snapshot立刻被释放,从而无法使用,从而导致这个snapshot无效。

    $所以,非常重要的一点,一定要在snapshot的生命周期里,做完你需要做得事情。

    $当然,如果你的snapshot大小和原始卷一样大,甚至还要大,那它的寿命就 是“与天齐寿”了。

    #我们假定创建一个120M的snapshot,这就意味着在snapshot生命周期里,你仅能有120M的数据量改变。


    我在IBM工作,可以为大家内部推荐IBM各种职位 IBM全球职位尽在以下链接(请在浏览器中打开,QQ/微信 会阻止): http://ibmreferrals.com/ 很乐意为感兴趣的小伙伴分享:我的面试经验^_^ 如需咨询,请邮件发送以下邮箱,有问必回 1026096425@qq.com
  • 相关阅读:
    Android_EditText
    JAVA_Gson_example
    JAVA_Gson
    JAVA_eclipse 保留Java文件时自动格式化代码和优化Import
    JAVA_JSON_example
    JAVA_JSON
    JAVA_HttpClientUtils
    Android_Gallery
    JAVA_JDBC
    day05 Pyhton学习
  • 原文地址:https://www.cnblogs.com/jackydalong/p/2408777.html
Copyright © 2020-2023  润新知