Linux-使用LVM建立和扩展逻辑卷

对于IT运维人员来说,扩容服务器某个卷是比较常见的,在承载数据库、日志、文件等会日益增长的卷中尤为如此。在Windows Server中,一般采取动态磁盘的方式扩容,而在Linux中,使用LVM也能轻松实现卷的扩容。

LVM结构如下图所示,一个或多个物理卷(PV)组成卷组(VG),从卷组中分配逻辑卷(LV)作为Linux文件系统的挂载点。物理卷(PV)一般指的就是硬盘或硬盘分区。

图片

先来看一下系统情况。

lsb_release -asudo fdisk -l | grep /dev/sd  #  查看磁盘
图片

Linux系统是 Ubuntu20.04,有两个硬盘:

/dev/sdb    10G

/dev/sdc    15G

我们要用这两个硬盘创建一个逻辑卷,后期可以随时扩容。

下面是步骤

1. 将 /dev/sdb 硬盘分成一个区 /dev/sdb1,并设置分区为LVM

sudo fdisk /dev/sdbn  #  表示新建p  #  主分区#  下一步默认选中全部空间,整个磁盘建一个分区#  回到选择菜单t  #  表示更改分区类型8E  #  输入类型8E,表示为LVM,p  #  列出分区,确认无误w  #  保存分区表的更改
图片

2. 按同样的方法将 硬盘 /dev/sdc 分一个区 /dev/sdc1 及设置 LVM格式

图片

3. 用 pvcreate 命令分别为 /dev/sdb1 和 /dev/sdc1 创建物理卷(PV)

pvcreate /dev/sdb1pvcreate /dev/sdc1pvs  #  查看物理卷
图片

4. 创建卷组

vgcreate myvg /dev/sdb1 /dev/sdc1vgs  #  查看卷组情况
图片

5. 创建逻辑卷

lvcreate -L 20G -n mylv myvg  #  定义逻辑卷大小、名称,以及来源卷组lvdisplay myvg  #  查看逻辑卷
图片

6. 格式化逻辑卷并挂载到Linux文件系统 /mnt目录

mkfs.ext4 /dev/myvg/mylv  #  设备路径是上一步查到的,格式化成ext4mount /dev/myvg/mylv /mnt  #  挂载到 /mnt 目录df -h  #  查看挂载信息
图片

7. 扩展容量

目前逻辑卷是20G,如果我想增加到30G怎么办?

我的卷组只有空闲空间 5 G,不够。

我们添加一块10G硬盘  /dev/sdd,并进行分区格式化成 /dev/sdd1

fdisk /dev/sdd  #  n  -->  p  -->  选择分区号1,分配硬盘所有空间t  -->  8E  #  更改 lvm 类型w  #  保存更改
图片

8. 扩展卷组

vgextend myvg /dev/sdd1vgs  #  检查卷组,发现卷组已增加到35G了

9. 扩展逻辑卷

lvextend -L +10G /dev/myvg/mylv  #  +10G 表示增加10Gresize2fs  /dev/myvg/mylv  #  更改大小到文件系统

10. 查看扩展结果

df -h  #  发现文件系统里该卷已由20G扩展到30G了
图片

建议

Ubuntu在安装过程分区的时候,默认会将根目录 / 挂载到 LVM 卷下,一般建议保持默认选择,不要修改成普通分区。

后续可以参考上述步骤零影响地扩展Ubuntu文件系统的容量。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注