Lvm逻辑卷

Lvm它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现。

PV、VG、LV 逻辑关系

Lvm逻辑卷

透过pv,vg,lv 的规划后,在利用mkfs就可以将你的lv格式化可以利用的文件系统了,而且这个文件系统的容量可以动态的扩充或减少,而且里面的数据不会被影响。

Lvm逻辑卷               

1.创建逻辑卷

Fdisk /dev/vdb   //fdisk命令创建分区

Pvcreate /dev/vdb1                  //pvcreate 创建物理卷

Pvcreate /dev/vdb1 /dev/vdb2 /dev/vdb3      //可以跟多个分区

Pvs     //查看pv信息

Pvdisplay    //详细查看pv信息

Vgcreate  vgtest  /dev/vdb1           //vgcreate 创建卷组

Vgcreate  vgtest  /dev/vdb1  /dev/vdb2   /dev/vdb3     //可以跟多个分区

vgcreate   -s  8M  vgtest  /dev/vdb1     //创建vg时指定PE块的大小

vgchange   –s  2M  vgtest    //改变vg的PE块大小

Vgs    //查看vg信息

Vgdisplay   //详细查看vg信息

Lvcreate –n lvtest  -L  400M  vgtest  //lvcreat 创建逻辑卷, -n 参数是lv的名字, -L 参数是逻辑卷的大小, vgtest 是来自哪个卷组

Lvcreate  –n  lvtest1  –l  50  vgtest    //通过指定多少个PE块指定lv大小,一个PE块默认大小4M

Lvcreate  -n  lvtest2  -l  %50FREE  vgtest   //通过指定剩余空间的大小来指定大小  

Lvs      //查看lv信息

Lvdisplay      //详细查看lv信息

Mkfs.ext4  /dev/vgtest/lvtest   //创建文件系统

Mount   /dev/vgtest/lvtest   /test   //挂载

Vim  /etc/fstab   //设置开机挂载

Blkid  /dev/vgtest/lvtest   //查看lv使用的什么系统

/dev/vgtest/lvtest 与 /dev/mapper/vgtest-lvtest 相同

Lv扩展

如果vg空间满足扩展需求,则直接扩展lv

Lvextend  –L  500M  /dev/vgtest/lvtest  //-L 500M 扩展至多少,lv加绝对路径

Lvextend   -L  +300M   /dev/vgtest/lvtest  //-L +300M  扩展多少

Resize2fs  /dev/vgtest/lvtest  //进行文件系统的扩展,这里是ext系统

Xfs_growfs  /test   //xfs文件系统的扩展,后面跟的是挂载点

如果vg空间不够,先扩展vg

Vgextend   vgtest  /dev/vdb4    //vgextend 扩展, vgtest 是vg名,后面是pv绝对路径

Lv缩小

Umount  /test  //卸载

E2fsck  -f  /dev/vgtest/lvtest   //检测

Resize2fs  /dev/vgtest/lvtest   800M    //缩小文件系统到多少  resize2fs  绝对路径 大小

Lvreduce  -L  800M  /dev/vgtest/lvtest  //lv缩小到多少 lvreduce  大小  绝对路径

Lvreduce  -L  -800M  /dev/vgtest/lvtest      //缩小多少

Vgreduce  vgtest  /dev/vdb4   //缩小vg,通过抽走pv实现 vgredude  vg名  pv绝对路径

删除

Umount  /test   //卸载

Lvremove  /dev/vgtest/lvtest    //删除lv   lvcreate  lv绝对路径

Vgremove    vgtest    //删除vg    vgremove  vg名

Pvremove   /dev/vdb1   //删除pv   pvremove  pv分区名

Fdisk   //删除分区

Pv的移动:把一个pv的数据移动到另一个pv,移动的pv要属于同一个卷组,可以不同硬盘、不同分区的移动,尽量保持pv大小一致

Pvremove  /dev/vdb1  /dev/vdb5  //pvremove  要移动的数据  数据移动的目标