详解Linux 虚拟机根分区磁盘扩充空间记录

yizhihongxing

详解Linux 虚拟机根分区磁盘扩充空间记录

当我们的Linux虚拟机的根分区磁盘空间不足时,我们需要进行扩充。下面是一份详细的攻略,让您轻松处理这个问题。

1. 查看当前磁盘空间使用情况

在进行磁盘扩充之前,我们需要确保知道当前的磁盘使用情况。通过如下的命令可以查看根分区的磁盘使用情况。

df -h

运行命令后,会显示所有分区的磁盘使用情况。其中,包括我们要扩充的根分区。

2. 创建一个新的虚拟硬盘

在我们扩充根分区磁盘之前,我们需要先创建一个新的虚拟硬盘。可以通过如下的步骤创建一个10G的虚拟硬盘。

  1. 在虚拟机的控制台中选择“添加硬盘”。
  2. 点击“新硬盘”。
  3. 选择硬盘大小,例如10G。
  4. 为硬盘命名,并选择存储位置。
  5. 点击“完成”。

3. 将新的虚拟硬盘挂载到虚拟机上

现在我们已经成功创建了新的虚拟硬盘,需要将其挂载到虚拟机上。

  1. 运行如下命令,查看新硬盘所在的设备名称。

fdisk -l

运行命令后,会将所有的磁盘设备列出并显示磁盘大小等信息。找到我们刚才创建的新的硬盘所在的设备名称,例如 /dev/sdb

  1. 运行如下的命令,将新硬盘挂载到 /mnt 目录下。

mkdir /mnt/newdisk
mount /dev/sdb /mnt/newdisk

4. 复制根分区到新的虚拟硬盘

现在,我们需要将根分区中的所有数据复制到新的虚拟硬盘中。

  1. 运行如下命令,将根分区上的所有数据复制到新的虚拟硬盘。

cp -ax / /mnt/newdisk

  1. 等待复制过程完成。可能需要花费一些时间。

5. 更新 /etc/fstab 文件

现在,我们需要更新 /etc/fstab 文件,以便将新的虚拟硬盘作为根分区。

  1. 运行如下命令,获取新硬盘的UUID。

blkid /dev/sdb1

运行命令后,会显示新硬盘的UUID。例如:

/dev/sdb1: UUID="8eddc834-0949-48e2-86a5-ea8b0a2cd28e" TYPE="ext4" PARTUUID="231ff22d-01"

  1. 编辑 /etc/fstab 文件,并将根分区的设备名称和 UUID 更新为新的虚拟硬盘。

nano /etc/fstab

找到类似下面的行:

/dev/sda1 / ext4 defaults 0 1

将其中的 /dev/sda1 和 UUID 更新为新的虚拟硬盘。

UUID=8eddc834-0949-48e2-86a5-ea8b0a2cd28e / ext4 defaults 0 1

保存并退出。

6. 重新启动虚拟机并验证

现在,我们重新启动虚拟机,以验证磁盘扩展是否成功。

  1. 运行如下的命令:

shutdown -r now

这将立即重新启动虚拟机。

  1. 运行如下命令,检查根分区的磁盘使用情况。

df -h /

这将只显示根分区的磁盘使用情况。确保空间已经扩充。

示例

例如,我们的虚拟机中有一个名为 /dev/sda1 的根分区,其已满。我们需要将其扩充到 20G。

  1. 检查磁盘使用情况。

df -h

输出结果类似:

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 10G 0G 100% /

  1. 创建一个大小为20G的硬盘,并将其挂载到 /mnt/newdisk 目录下。

  2. 对新挂载的硬盘格式化并分区。

fdisk /dev/sdb
mkfs.ext4 /dev/sdb1

  1. 将根分区复制到新的虚拟硬盘中。

cp -ax / /mnt/newdisk

  1. 更新 /etc/fstab 文件,以便将新硬盘作为根分区。

blkid /dev/sdb1
UUID=8eddc834-0949-48e2-86a5-ea8b0a2cd28e / ext4 defaults 0 1

  1. 重新启动虚拟机并验证磁盘扩展是否成功。

shutdown -r now
df -h /

输出结果类似:

Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 20G 10G 10G 50% /

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux 虚拟机根分区磁盘扩充空间记录 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • linux下使用fork,exec,waitpid模拟system函数

    代码如下: #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> #include <errno.h> #include <stdlib.h> inline int mySy…

    Linux 2023年4月13日
    00
  • 0002 嵌入式开发带你从小白到大佬系列之——Linux文件系统、常用文件操作命令(一)及用户权限

    1、熟悉Linux的文件系统结构 Linux的文件系统结构其实是一个树形的分层组织结构,如下图: Linux系统目录结构及目录路径: 1.1、文件系统层次结构标准 Linux是开源的操作系统,各个Linux发行机构都可以按照自己的需求对Linux系统的文件系统进行相应的裁剪,所以各个Linux发行版本的目录结构也都不尽相同。 Linux官方为了规范文件目录命…

    2023年4月8日
    00
  • Linux运行级别

    1、运行级别介绍   运行级别说明:     0:关机     1:单用户 【找回丢失密码】     2:多用户状态没有网络服务     3:多用户状态有网络服务     4:系统未使用保留给用户     5:图形界面     6:系统重启   常用的运行级别时 3 和 5 ,要修改默认的运行级别可修改/etc/inittab的     id:5:initd…

    Linux 2023年4月12日
    00
  • Redis安装图文教程(Windows和Linux)

    以下是“Redis安装图文教程(Windows和Linux)”的完整攻略。 Redis安装图文教程(Windows和Linux) 准备 在开始安装 Redis 之前,需要先准备好以下内容: Redis 安装文件 Redis 的安装目录 Windows 安装 下载 Redis 安装文件 首先,需要下载 Redis 的安装文件。可以在 Redis 官网上找到相应…

    Linux 2023年5月14日
    00
  • Linux环境下安装SQL Server 2017

       参考链接 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017   我的Linux环境是CentOS. 1、下载 Microsoft SQL Server Red Hat 存储库配置文件: sudo curl …

    Linux 2023年4月16日
    00
  • .NETCore Docker实现容器化与私有镜像仓库管理

    针对“.NETCoreDocker实现容器化与私有镜像仓库管理”的完整攻略,我们可以从以下几个方面来进行说明: 容器化基础知识 安装 Docker 和构建 .NET Core 应用镜像 使用 Docker Compose 实现简化部署 搭建私有镜像仓库管理 首先,我们来讲一下容器化基础知识: 容器化是一种新型的应用部署方式,它把应用与应用所需要的依赖打包在一…

    Linux 2023年5月14日
    00
  • Linux certutil命令

    Linux certutil 命令的作用与使用方法 Linux certutil 命令用于管理证书和密钥库。它可以帮助用户创建、导入、导出和删除证书和密钥库。 命令语法 certutil 命令的基本语法如下: certutil [选项] [文件名] 命令选项 certutil 命令支持以下选项: -A:将证书添加到证书库中。 -d:指定证书库的路径。 -D:…

    Linux 2023年5月10日
    00
  • Linux基础命令日常积累

    Linux基础命令日常积累攻略 为了在日常使用Linux系统时更加高效和便捷,需要掌握一些基础的Linux命令,本攻略将介绍一些常用的Linux命令,并提供相应的示例说明。 1. 常见的基础命令 以下是一些常见的基础命令: 1.1 ls ls 命令用于列出当前目录下的文件列表。 示例: ls 输出: Desktop Documents Downloads M…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部