zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    uva 147 Dollars
    hdu 2069 Coin Change(完全背包)
    hdu 1708 Fibonacci String
    hdu 1568 Fibonacci
    hdu 1316 How Many Fibs?
    poj 1958 Strange Towers of Hanoi
    poj 3601Tower of Hanoi
    poj 3572 Hanoi Tower
    poj 1920 Towers of Hanoi
    筛选法——素数打表
  • 原文地址:https://www.cnblogs.com/jackydalong/p/2408777.html
Copyright © 2011-2022 走看看