Linux我用 Linux

LVM的创建和使用

2017-11-02  本文已影响16人  SevChen

写在前面

在日常使用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 更新分区大小

上一篇下一篇

猜你喜欢

热点阅读