在OpenStack中给LVM管理的根分区扩容
给OpenStack中给LVM管理的根分区扩容一、背景二、环境三、操作3.1 创建虚拟机选择“源”时,给虚拟机分配较大容量磁盘(卷)3.2 进入虚拟机系统内发现根分区仍没有使用多分配的磁盘空间3.3 将虚拟磁盘剩余空间划分到一个扩展分区3.4 创建物理卷3.5 将新创建的物理卷加入卷组3.6 将卷组所有可用容量分配给该逻辑卷3.7 将新加入的blocks格式化,扩容成功一、背景最近发现在OpenS
·
在OpenStack中给LVM管理的根分区扩容
一、背景
最近发现在OpenStack环境中创建虚拟机时,在选择“源”页面给虚拟机分配了较大的虚拟磁盘(容量大于制作RAW格式镜像时的容量)后,进入虚拟机的操作系统后,它默认的根分区的大小还是制作RAW镜像时的大小,**那要怎么将现在分配的较大虚拟磁盘空间挂载到根目录上,给根目录扩容呢?**我的办法如下,也许还有其他更好的办法,以后发现了再记录。
—2021年2月1日更新:如果在制作RAW镜像时安装cloud-utils组件则可以在openstack创建虚拟机实现根目录扩容(还未验证过)
二、环境
(1)写此博客用的是X86构架的OpenStack-T环境
(2)制作的OpenStack虚拟机RAW格式镜像用的是LVM来管理分区
(3)虚拟机安装的操作系统是:Ubuntu 18.04.3 LTS
三、操作
3.1 创建虚拟机选择“源”时,给虚拟机分配较大容量磁盘(卷)
其他的虚拟机参数不是此博客关注的内容,就不再截图了。
3.2 进入虚拟机系统内发现根分区仍没有使用多分配的磁盘空间
#列出所有的块设备
lsblk
3.3 将虚拟磁盘剩余空间划分到一个主分区
#使用fdisk 命令对虚拟磁盘/dev/vda划分分区
fdisk /dev/vda
以下是关于主分区与、扩展分区、逻辑分区的一点知识:
创建新分区时,一定要选择创建primary分区(即主分区)。我先前认为既然是扩容逻辑卷,就应该创建扩展分区,
这样操作后导致重启虚拟机报“lvmid xxx-xxx-xxx... not found”直接进入rescue grub命令行。后来出现了这
个问题后,才意识到将扩展分区扩充到主分区(虽然已经格式化成逻辑卷)中但是它们不一定是相邻的区域,重启
后导致主分区不连续【这是我猜测的原因】。我记得主分区好像最多只能有4个,扩展分区可以有几十个,从扩展
分区中划分出来的逻辑分区可以有无数个
3.4 创建物理卷
#将主分区初始化为一个物理卷,以给LVM使用
pvcreate /dev/vda2
#查看所有的物理卷的简略信息
pvs
#查看所有物理卷的详细信息,注意查看当前挂载到/目录的逻辑分区所在的卷组名(我的是ubuntu-vg)
pvdisplay
##你也可以使用 vgdisplay 或 vgs 来查看当前存在的所有卷组
3.5 将新创建的物理卷加入卷组
#将上述创建的物理卷添加到卷组ubuntu-vg中
vgextend ubuntu-vg /dev/vda2
#查看所有的物理卷
pvdisplay
3.6 将卷组所有可用容量分配给该逻辑卷
#将逻辑卷/dev/ubuntu-vg/root所在卷组(即ubuntu-vg)中所有(100%)可用容量(FREE)扩容给逻辑卷/dev/ubuntu-vg/root
lvextend -l +100%FREE /dev/ubuntu-vg/root
lsblk
#查看根目录的使用情况
df ./ -TH
3.7 将新加入的blocks格式化,扩容成功
#将逻辑卷/dev/ubuntu-vg/root中新增的blocks格式化,不会损坏此逻辑卷以前的blocks
resize2fs /dev/ubuntu-vg/root
df -TH
3.8 重启
我已经重启测试过,可以再次正常进入系统且扩容结果保留、系统正常工作。
更多推荐
已为社区贡献6条内容
所有评论(0)