Ubuntu 21.04扩展LVM逻辑卷

背景

使用ESXI装好Ubuntu系统后,系统默认使用了200G空间(分配的虚拟磁盘大于该值),造成分配的虚拟磁盘未全部挂载到根目录,使用久了,就出现磁盘空间不足,特别是使用数据库备份的服务器,大量的备份导致磁盘很快就爆满了.
所以我们这里需要将未使用的空间全部分配上.
以前安装Linux按照传统的分区方式,选择custom,可以给磁盘划分出sda1,,sda2...
这些在Linux里称之为分区partition,然后分别把/,/home,/var等挂载到各个分区
但是随着LVM技术的推广,现在安装Ubuntu如果采用默认的格式化整个磁盘的方式来安装,安装完成后发现磁盘空间没有占满,/(根目录)挂载只占用了200多G.造成严重浪费.

表现如下:

df -h

  • 使用lsblk命令查看磁盘信息
lsblk


可以看到实际分配的虚拟磁盘空间为 1T,但是实际使用了200G

  • 原因是由于这里没有直接挂载在物理分区上,而是把/挂载在了逻辑分区LVM文件系统上,而这里显示的/dev/mapper/ubuntu--vg-ubuntu--lv,这是一块逻辑分区文件!它本身只有200G.那理所当然挂载在它之上的/最多就是200G.
  • 要扩展/我们就扩展这个LVM文件,很简单,执行如下命令,让他占满磁盘剩余空间.
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  • 若是无需分配所有磁盘空间,可以按需分配执行如下命令:
sudo lvextend -L 50G /dev/mapper/ubuntu--vg-ubuntu--lv
  • 该命令扩充50G,其他大小按自己需求调整,当然,无法大于实际可使用的剩余空间
  • 执行完上述命令后,需要重新计算磁盘大小.
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
  • 等待数秒.执行完成后即可查看磁盘信息
sudo vgdisplay

  • 再次使用df -h命令查看磁盘信息就可以看到所有空间均已挂载
df -h

二次扩容

由于一些原因,原有的磁盘空间可能不足,需要再次进行扩充容量.
我们先将服务器关机,然后在ESXi 中编辑服务器的磁盘大小为最终想要的大小.保存后开机.

  • 先使用命令查看新增的磁盘容量是否上线.
sudo fdisk -l
  • 扩展分区
sudo fdisk /dev/sda  #这里依据实际情况
  • 根据提示大概是依次输入 n , p ,w 即可成功创建分区.
  • 加载分区表
sudo partprobe
  • 扩展VG
sudo pvcreate /dev/sda4
  • 查看vgs然后把sda4加入到LVM组中
sudo vgs

输出内容如下,这里我们会用到VG的名称,不同系统可能不太一样.需要注意.

VG        #PV #LV #SN Attr   VSize    VFree
ubuntu-vg   1   1   0 wz--n- <199.00g    0
sudo vgextend ubuntu-vg /dev/sda4
  • 扩展LV(其中mapper后边的名称需要根据实际情况来,不同的系统应该不一样.)
sudo lvextend /dev/mapper/ubuntu--vg-ubuntu--lv /dev/sda4
  • 扩展磁盘占用所有空间并重新计算
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
  • 查看容量
sudo df -h
原文地址:https://www.cnblogs.com/dygood/p/15552728.html