建立LVM

概念:VG是最大的,由一个个LV组成,LV由很多PE组成,PE有16M,4M等等;硬盘在LVM文件系统里叫做PV。


1.你可以拿一些分区来做,我喜欢增加一个硬盘。

2.分区增加了的硬盘,这里例子增加4个分区,fdisk /dev/sdb,查看命令为fdisk -l,别急着格式化,这个最后做。

3.分区之后输入partprobe,据闻是更新系统信息作用。

4.把硬盘变成PV,命令pvcreate /dev/sdb{1,2,3,4},命令pvscan和pvdisplay可以查看pv信息。

5.创建VG,vgcreate -s 16M vbirdvg /dev/sdb{1,2,3},创建一个pe为16M的,还可以选择例如4M的,用vgscan查看,一个VG最大256G。

6.创建出VG大硬盘之后就是创建分区,LV;命令lvcreate -l 365 -n vbirdlv vbirdvg;通过ll /dev/vbirdvg/vbirdlv查看;通过lvdisplay查看。



格式化,挂载

1.命令mkfs -t ext3 /dev/vbirdvg/vbirdlv

2.mkdir /mnt/lvm

3.mount /dev/vbirdvg/vbirdlv /mnt/lvm 挂载

4.df查看剩余空间


放大lv容量

例如又增加了一个硬盘

1.fdisk /dev/sdc

2.partprobe

3.fdisk -l 查看

4.若不用新增的硬盘而是用腾空出来的分区,则从此步开始。建立pv;pvcreate /dev/sdc1.

5.vgextend vbird /dev/sdc1,把sdc1加入到vg里面.

6.通过vgdisplay查看有多少PE,假如有179个.

7.lvresize -l +179 /dev/vbirdvg/vbirdlv 增加179个pe,虽然能看到增加了,但实际还不能用上,要等第10步之后才能用上。

8.通过lvdisplay看lv size,和df /mnt/lvm查看容量变化,此时df会看到还没变化。

9.先看一下原本档案系统内superblock的情况dumpe2fs /dev/vbirdvg/vbirdlv。

10.resize2fs /dev/vbirdvg/vbirdlv完整的将lv的容量扩展到整个档案系统,因为档案系统在格式化得时候已经定了block group,只有增加block group才行。

11.df /mnt/lvm即可看到容量变大了,用dumpe2fs /dev/vbirdvg/vbirdlv查看block group增加了。



缩小lv容量

假设想把sdb3离开vg。

1.先找出sdb3容量大小pvdisplay。

2.计算减去sdb3之后容量应为多少pvscan显示总容量,减去sdb3的容量。

3.用resize2fs缩小容量时要umount,增加时就不用,命令umount /mnt/lvm。

4.改变LV的容量,resize2fs /dev/vbirdvg/vbirdlv 6900M,6900M是之前的容量减去sdb3容量之后的值,因不能用小数点所以用M表示。

5.按下了resize2fs之后它会要求你用e2fsck -f /dev/vbirdvg/vbirdlv,照做。

6.e2fsck之后再来第4步。

7.mount /dev/vbirdvg/vbirdlv /mnt/lvm。

8.df /mnt/lvm就能看到改变后的容量。

9.将lv的容量降低,lvresize -l -89 /dev/vbirdvg/vbirdlv,sdb3里面有89个PE。

10.用lvdisplay查看能看到lv减少了。

11.用pvdisplay看看哪个盘的89个PE腾空了,假如sdb4被腾空了,所以要把sdb3的被用了的pe移动去sdb4,那sdb3就是空的了,命令pvmove /dev/sdb3 /dev/sdb4。

12.vgreduce vbirdvg /dev/sdb3,从vg中抽离。


建立快照区

1.看看vg还有多少容量命令vgdisplay,若没有FREE PE了要加入PE,参考放大LV容量,vgextend完之后不需要resize2fs命令。

2.创建快照区lvcreate -l 60 -s -n vbirdss /dev/vbirdvg/vbirdlv,-s是快照区的意思,-l后面接多少个PE,-n后面加你要的名字。

3.创建完毕,用lvdisplay看到其中以个LV叫做vbirdss,COW-table size/LE 就是说快照区得大小和PE数,空间大小跟vbirdlv一样。

4.创建挂载目录,mkdir /mnt/snapshot。

5.挂载上去,mount /dev/vbirdvg/vbirdss /mnt/snapshot.

6.用df查看容量,vbirdvg-vbirdlv和vbirdvg-vbirdss大小一模一样。


利用快照区还原硬盘

1.假如你还没mount,mount /dev/vbirdvg/vbirdss /mnt/snapshot

2.用df可以看出,snapshot与被备份的分区有大小有分别

3.mkdir -p /backups 要确定有这个目录。

4.cd /mnt/snapshot, tar -jcv -f /backups/lvm.tar.bz2 *;把准备个snapshot的目录内容全都备份到/backups。

5.umount /mnt/snapshot,lvremove /dev/vbirdvg/vbirdss,卸载vbirdss,因为里面的东西都被储存起来了。

6.umount /mnt/lvm把vbirdlv卸载。

7.mkfs -t ext3 /dev/vbirdvg/vbirdlv 格式化vbirdlv。

8.mount /dev/vbirdvg/vbirdlv /mnt/lvm

9.tar -jxv -f /backups/lvm.tar.bz2 -C /mnt/lvm


还可以利用快照区来做测试区,坏了很快就能还原。

1.mount /dev/vbirdvg/vbirdss /mnt/snapshot

2.用rm,cp等手段破坏。

3.mount /dev/vbirdvg/vbirdlv /mnt/lvm

4.umount /mnt/snapshot

5.lvremove /dev/vbirdvg/vbirdss 铲除坏掉的vbirdss

6.lvcreate -s -l 89 -n vbirdss /dev/vbirdvg/vbirdlv 在创建一个新的快照区

7.mount /dev/vbirdvg/vbirdss /mnt/snapshot 再挂载





你可能感兴趣的:(建立LVM)