如何轻松调整(扩展)KVM虚拟磁盘大小
您是否曾发现自己陷入KVM虚拟机磁盘空间不足的困境?你并不孤单!无论是为了安装新软件、容纳更多数据,还是仅仅给虚拟机一点喘息的空间,扩展KVM虚拟磁盘大小都是我们在某个时刻面临的任务。但别担心!
在本文中,我们将指导您高效、安全地调整(扩展)KVM虚拟磁盘大小,确保您以轻松的方式获得所需的所有空间。
但是,在我们卷起袖子开始调整磁盘大小之前,让我们快速绕行一下,了解一下我们故事中的主要角色:KVM磁盘类型。
KVM虚拟磁盘类型
KVM(基于内核的虚拟机)世界主要使用两种类型的磁盘文件——
qcow2
和
未经加工的
,其中qcow2是最常见的。
- qcow2
:把qcow2想象成磁盘文件的瑞士军刀。它很灵活,支持快照(捕捉虚拟机在特定时间点的状态)、压缩(节省空间)和加密(确保数据安全)等功能。这是一种设计得尽可能方便、平衡性能和功能的文件格式。 - 未经加工的
:原始磁盘类型是简单明了的选项。它就像一块空白的画布,提供了高性能和简单性。原始文件本质上是未格式化的块,虚拟机可以直接有效地访问这些块。它们缺乏qcow2的高级功能,但其简单性和速度在特定任务中是无与伦比的。
有了这些知识,您就可以调整KVM虚拟磁盘的大小,确保虚拟机拥有蓬勃发展所需的所有空间。那么,让我们向您展示如何做到这一点。
扩展KVM虚拟机磁盘大小
首先,以下是我们的KVM虚拟机的情况,我们希望扩展它的磁盘。
是的,我们似乎陷入了困境——正如您从图片中看到的那样,我们的20 GB磁盘几乎达到了98%的最大容量。但不要担心。如前所述,我们可以在几分钟内扩展它。所以,让我们深入了解并开始
步骤1:识别虚拟磁盘
首先,我们需要确定要调整大小的KVM的虚拟磁盘文件。让我们首先列出所有使用
virsh
命令
苏多维什
列表
全部的
代码语言:
PHP
(
php
)
我们将在其上扩展磁盘的KVM虚拟机名为“
乌班图
”(在KVM术语中,虚拟机的名称被称为“域”),目前已关闭。但如果它打开了,我们就必须先关闭它,因为在运行时我们无法调整磁盘的大小。要关闭它,只需运行:
sudo-virsh关闭
<
vm_name
>
代码语言:
HTML,XML
(
xml
)
在我们的情况下,这将是:
sudo virsh关闭ubuntu
在确定了虚拟机的确切名称后,我们的下一步是定位其虚拟磁盘的绝对路径,该路径对应于一个单一的物理文件。为此,我们将执行以下命令:
sudo virsh domblklist ubuntu
上面的命令输出显示“
乌班图
“虚拟机的虚拟磁盘是
“/data/kvm/uuntu22.04
“.
此外,我们可以通过执行
qemu img信息
命令,后跟虚拟机磁盘的完整路径:
sudo qemu img info/data/kvm/ubuntu22.04
正如您所看到的,所显示的信息确认我们当前的磁盘大小为20 GB。
步骤2:检查快照
在继续之前,重要的是要确保我们的虚拟机没有快照。这是因为KVM不允许在存在快照时调整磁盘大小。要验证是否存在特定虚拟机的快照,我们执行以下命令:
sudo-virsh快照-
列表
乌班图
代码语言:
PHP
(
php
)
在我们的案例中,尚未为此虚拟机创建任何快照。但是,如果有,在继续操作之前,应使用下面的命令将其删除。
sudo virsh快照删除
<
vm_name
>
<
快照名称
>
代码语言:
HTML,XML
(
xml
)
步骤3:调整KVM虚拟磁盘的大小
现在,我们都可以使用
qemu img
命令例如,为了增加我们的“
乌班图
“虚拟机磁盘从20 GB增加到30 GB,或者换句话说,增加更多的10 GB,我们将使用:
sudo qemu img resize/data/kvm/ubuntu22.04+10G
重新检查虚拟磁盘的文件大小后,我们会发现它已成功地增加了10 GB,从20 GB增加到30 GB。
sudo qemu img info/data/kvm/ubuntu22.04
然而,你发现了吗
非常重要的事情
在上图中?虚拟大小已提升到30 GB,但根磁盘大小字段仍徘徊在20 GB左右。
如果深入虚拟机,您会注意到根文件系统的大小似乎仍然是20 GB。同时,当我们使用
lsblk
为了列出块设备,它方便地显示更新后的30GB大小。
你可能想知道,”
发生了什么事?我很困惑
。”“但是不用担心,一切都是应该的。让我为你分解一下。
当您使用
qemu img调整大小
命令,您正在扩展所有数据所在的磁盘文件,使其能够容纳更多内容。这有点像给学校买一个更大的背包。然而,仅仅因为背包更大并不意味着你会自动在里面放更多的笔记本或课本。
类似地,
虚拟机内的文件系统
–决定数据存储方式的组织结构–
不会自动拉伸以填充新空间
。它仍然使用以前的旧设置。
要使用额外的空间,您需要告诉文件系统展开并占用较大容器中的空间。否则,KVM虚拟机上的Linux操作系统将无法访问新容量。
这正是我们现在要向您展示的方法。
调整分区和文件系统的大小
必须理解
调整文件系统分区的大小需要两个步骤
:
- 删除并重新创建具有新大小的分区表
- 从操作系统吸收新尺寸
虽然步骤一对所有情况都是通用的
第二步严格针对您的文件系统
。下面,我们将研究如何使用Linux最广泛使用的三种文件系统类型(ext4、XFS和Btrfs)来实现这一点。
登录到要调整其磁盘大小的KVM虚拟机。要了解您使用的文件系统,请键入以下命令:
df-Th
这个
类型
“列指示的文件系统”
/dev/vda3
“我们计划调整分区大小的分区是ext4。这个文件系统是Linux生态系统中使用最广泛的文件系统。
从现在起,必须谨慎执行以下命令。我们将使用
fdisk
工具来调整磁盘分区的大小。
sudo fdisk/dev/vda
按
然后点击“Enter”查看磁盘的分区布局。对我们来说,由于
qemu img调整大小
命令是根(“
/
)分区,标识为
/dev/vda3
“.
按
d
“然后命中”
进来
。然后系统会提示您选择要删除的分区。我们选择3,因为这个数字对应于我们的
/dev/vda3
隔断
重要的是要明白,你并不是通过删除来擦除存储在这个分区上的数据。相反,你只是删除了分区的信息表,这并不等于物理地删除了存储在它上面的文件。
要重新创建磁盘分区,请按“
n
“然后点击确认”
进来
.”当提示输入分区号时,输入您之前删除的分区号,即3。有关“”的以下提示
第一个扇区
和
最后一个扇区
“,只需按”
进来
”接受默认值。当被问及是否要删除当前分区的签名时,回答为“
n
.”
您将收到一个新分区已成功创建的通知。它现在拥有30 GB的理想大小,其中包括通过
qemu img调整大小
命令
最后,键入“
w
“并用确认”
进来
“以保存您的更改并退出fdisk程序。
这就完成了我们任务的第一部分,其中包括更新分区表以包括额外的空间。然而,我们的工作还没有结束。如前所述,还有一个步骤需要完成,它具体与所使用的文件系统类型有关。
这是最后一点,具体取决于使用的文件系统。
ext4
要指示操作系统采用更改后的分区布局
大小2fs
命令,后跟相关分区的完整路径。它是一个专门设计的工具,可用于ext2、ext3或ext4文件系统。
sudo resize2fs/dev/vda3
重新启动虚拟机。然后,检查可用的磁盘空间。
磁盘空间
你会很高兴找到这个:
已经变成这样:
任务完成了!您已经成功地将KVM虚拟机的磁盘大小增加了10 GB,因此您完全有理由为出色的工作而沾沾自喜。
XFS
对于押注XFS文件系统的Linux发行版,如Red Hat Enterprise Linux、AlmaLinux、Rocky Linux等,为了利用额外的磁盘空间,您应该执行以下命令:
sudo xfs_growfs-d
<
partition_mount_point
>
代码语言:
HTML,XML
(
xml
)
然而,除了执行上述命令之外,还需要更多的内容,因为这些发行版在后台使用逻辑卷管理(LVM)。因此,有必要首先调整LVM卷的大小。以下是操作方法。
最重要的是,确保您已完成
fdisk
部分,并在进行下一个LVM操作之前将所需的磁盘空间添加到磁盘分区表中。
以下是LVM操作之前的KVM虚拟机。
查找LVM物理卷的名称。
sudo pvdisplay
一旦你知道它的名字,”
/dev/vda2
“在我们的情况下,调整它的大小。
sudo pvresize/dev/vda2
如果我们再次检查,我们将看到我们的LVM卷现在包括由
qemu img调整大小
命令
确定要调整大小的LVM卷的路径。在我们的例子中,它是根分区,安装在“
/dev/rl_locky/root
。”我们将在以下命令中使用此名称作为参数。
将未使用的空间添加到逻辑卷,该卷现在已从17 GB扩展到27 GB。
sudo lvextennd-l+100%免费/dev/rl_rocky/root
调整根的大小(“
/
“)文件系统:
sudo xfs_growfs-d/
重新启动KVM虚拟机。检查后,您会注意到磁盘空间已成功采用额外的10 GB。
Btrfs
Btrfs是Linux中最受欢迎的“三大”文件系统之一,Fedora和openSUSE等发行版都在赌它。
我们的操作假设您已经完成
qemu img调整大小
和
fdisk
步骤。以下是干预前Fedora系统的状态。
从上图中可以看出,操作系统目前占用了20 GB的磁盘空间,而实际的KVM磁盘容量为30 GB。为了利用可用的10 GB,我们可以使用以下命令轻松地扩展Btrfs文件系统,将挂载路径指定为最后一个参数,在我们的例子中,它是根(“
/
“)文件系统。
sudo btrfs文件系统最大大小/
重新启动系统,经过检查,您会发现10 GB已成功添加到文件系统中,操作系统现在正在利用新添加的空间。
结论
调整KVM虚拟机的虚拟磁盘大小是一个简单的过程,可以显著增强虚拟环境的灵活性和可扩展性。按照上面概述的步骤,您可以确保您的虚拟机有足够的空间来增长和适应您的需求。
无论您是需要额外的空间来安装额外的软件、存储更多的数据,还是想给您的虚拟环境一些喘息的空间,我们制定的流程都能确保您实现目标,而无需担心数据丢失或不必要的麻烦。因此,请庆祝您的成功,并享受您扩展的虚拟磁盘空间带来的新可能性。
最后,但绝对不是最不重要的一点,感谢您信任我们的指导——这真的意味着整个世界!我们很想听听您的反馈或想法,所以请不要犹豫,在下面的评论框中与我们分享。
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...