LVM的创建和使用

作者: SevChen | 来源:发表于2017-11-02 00:10 被阅读16次

    写在前面

    在日常使用Linux的时候,不免碰到一个比较尴尬的问题,磁盘空间不够用了!这个时候,正常情况下,我们有2个办法解决这个问题。

    1. 重新分配一个新的分区,挂载在所需要的目录下。

    2. 备份数据,重新安装系统,重新将磁盘分区。

    但是,无论选择哪个方法,都不够优雅,而且,一般情况下重装系统会需要重新所有必须的软件,而第一种办法又无法扩展/分区。所以才会有下面使用LVM管理磁盘。

    创建PV

    在虚拟机中新建了一个10G的磁盘,使用sudo fdisk -l 命令列出如下

    列出磁盘信息

    其中/dev/sdc是新建的磁盘,接下来,我们可以将整个磁盘作为一个PV,也可以将sdc分区后,再将其中的某个分区作为一个PV。下面我采用的是第一种方案:将整个磁盘作为一个PV。

    创建PV

    通过sudo pvcreate /dev/sdc就可以将磁盘创建成了一个PV,sudo pvscan 可以查看目前存在哪些PV。由上图可以知道sdc刚创建,还没加入到某一个VG里面。

    创建VG

    通过sudo vgcreate vg1 /dev/sdc 创建了一个VG,其中物理卷/dev/sdc属于个vg1,其实我们可以在创建vg1时,指定多个物理卷。

    创建VG

    我们还可以通过sudo vgdisplay 显示更加详细的信息

    VG详情

    我们可以通过sudo vgextend vg1 /dev/sdd 给vg1扩展一个物理卷轴。

    也可以通过 sudo vgreduce vg1 /dev/sdd 给vg1移除一个物理卷轴。

    从VG里面移除一个PV

    当然,我们也可以通过 sudo vgremove vg1 直接删除一个vg

    也可以通过 sudo pvremove /dev/sdd 删除 一个pv

    删除PV和VG

    创建LV

    LV是建立在一个VG上的。下面是LV的创建和删除

    sudo lvcreate -L 10G -n lv1 vg1

    在vg1卷轴组的基础上创建了一个大小10G的逻辑卷轴lv1

    创建一个大小为10G的逻辑卷轴

    当然,我们也可以创建一个使用了卷轴组vg1全部空间的逻辑卷轴

    sudo lvcreate -l 5118 -n lv1 vg1

    可以从下图看出PE总数量是5118

    创建一个使用vg1全部空间的逻辑卷轴

    接下来,才是重头戏,扩展逻辑卷轴的大小

    sudo lvextend -L +5G /dev/vg1/lv1  扩展5G

    sudo lvextend -L 15G /dev/vg1/lv1  直接设置成15G,注意这个15G必须大于原来的值

    sudo lvextend -l +50 /dev/vg1/lv1  扩展50个PE大小

    sudo lvextend -l 3000 /dev/vg1/lv1  直接设置成3000个PE,注意这个3000必须大于原来的值

    逻辑卷轴的PE数量

    有扩展,就有缩减。

    sudo lvreduce -L -5G /dev/vg1/lv1  减少5G

    sudo lvreduce -L 5G /dev/vg1/lv1  直接设置成5G,注意这个5G必须小于原来的值

    sudo lvreduce -l -50 /dev/vg1/lv1  减少50个PE大小

    sudo lvreduce -l 1000 /dev/vg1/lv1直接设置成1000个PE,注意这个1000必须小于原来的值

    剩下的,就是格式化和挂载了,超出了本文介绍的范围。如果逻辑分区卷轴已经挂载到文件系统了,那么我们在改变了卷轴大小后,需要使用

    reszie2fs /dev/vg1/lv1 更新分区大小

    相关文章

      网友评论

        本文标题:LVM的创建和使用

        本文链接:https://www.haomeiwen.com/subject/iednpxtx.html