虚拟机下Linux系统磁盘扩容

2023-05-16

在VM虚拟机中,我们经常会选择默认磁盘大小20G,用着用着才发现20G不够用,服务启动不了,就很尴尬,让我们今天一起来学习下,如何在虚拟机给磁盘扩容。

一:关闭虚拟机,添加硬盘

背景:我们使用df -h命令,发现磁盘使用率已经37%,我们给此磁盘扩容,简单演示下扩容的过程。

1:虚拟机关机,添加一块20G大小的硬盘,添加硬盘一路选择默认,并单击确定添加完成,就不多赘述,如图所示。然后开启虚拟机

2:虚拟机开机后,我们用fdisk -l 命令查看新增加的硬盘,如图所示

3:我们通过fdisk命令来对新增加硬盘进行分区,fidsk +硬盘名,不同环境名字可能不一样,我这里的管理命令是: fdisk /dev/sdb

先输入n 新建分区

后输入 p 主分区

连续输入2次回车确认

然后输入 wq 保存并退出

然后我们就创建了一个新分区,大小是20GB。

[root@GMtest ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x4c4d9e95 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n  //创建新分区
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p  //输入P,设置为主分区
分区号 (1-4, 默认  1): //输入1保持默认
第一个扇区 (2048-41943039, 默认 2048):  //输入回车,默认
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): //输入回车,默认

创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。

命令(输入 m 获取帮助):wq
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

二:扩容磁盘

1:使用命令mkfs.ext4 硬盘名对刚才创建的分区进行格式化,我的是:mkfs.ext4 /dev/sdb1

[root@GMtest ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
创建含有 5242624 个块(每块 4k)和 1310720 个inode的文件系统
文件系统UUID:dd061fdb-49af-42d4-9f20-8811cc0ce301
超级块的备份存储于下列块: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(32768 个块)完成
写入超级块和文件系统账户统计信息: 已完成 

[root@GMtest ~]# 

2:使用命令pvcreate /dev/sdb1 创建物理卷

[root@GMtest ~]# pvcreate /dev/sdb1 
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@GMtest ~]# 

3:使用pvdisplay命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

需要扩容的磁盘的VG Name是”r1“[也就是默认40G的那块硬盘]

[root@GMtest ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rl
  PV Size               <39.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              9983
  Free PE               0
  Allocated PE          9983
  PV UUID               lj7TOE-p6bV-h2fC-9Gpq-do7K-s5PL-nnDJO1
   
  "/dev/sdb1" is a new physical volume of "<20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               RYESlr-62wA-Q0Gk-bBUi-FsOZ-LOSK-SUpnMa

4:使用vgextend 命令用于扩容卷组大小,这里是:

[root@GMtest ~]# vgextend rl /dev/sdb1
  Volume group "rl" successfully extended

5:我们使用lvextend -L +19.9G +路径名扩容根分区【+那里新增的硬盘多大就输入多大】,不知道路径的可以用df -h命令查看。我扩容了20G,只能加小于20G。

[root@GMtest ~]# lvextend -L +19.9G /dev/mapper/rl-root
  Rounding size to boundary between physical extents: 19.90 GiB.
  Size of logical volume rl/root changed from <35.08 GiB (8980 extents) to 54.98 GiB (14075 extents).
  Logical volume rl/root successfully resized.
[root@GMtest ~]# 

6:使用xfs_growfs命令增加 XFS 文件系统的大小,实际增加存储空间。

[root@GMtest ~]# xfs_growfs /dev/mapper/rl-root
meta-data=/dev/mapper/rl-root    isize=512    agcount=4, agsize=2298880 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=9195520, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=4490, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 9195520 to 14412800
[root@GMtest ~]# 

7:扩容完成,使用df -h命令查看

之前

之后

[root@GMtest ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                1.8G     0  1.8G    0% /dev/shm
tmpfs                726M  9.6M  716M    2% /run
/dev/mapper/rl-root   55G   14G   42G   24% /
/dev/sda1           1014M  285M  730M   29% /boot
tmpfs                363M   52K  363M    1% /run/user/42
tmpfs                363M   36K  363M    1% /run/user/0
[root@GMtest ~]# 

至此,扩容就完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚拟机下Linux系统磁盘扩容 的相关文章

随机推荐

  • Java利用poi 3.9对excel进行读写操作的工具类支持多Sheet

    一 什么是POI POI全称PoorObfuscation Implementation xff0c 是Apache组件的一个开源项目 xff0c 可以对微软的Office一系列办公软件进行读写操作 官方下载地址 xff1a https p
  • JAVA利用POI scratchpad 5.2.1 将Word文档doc格式转换成HTML 格式 含文档里面图片

    一 POM文件 lt dependency gt lt groupId gt org apache poi lt groupId gt lt artifactId gt poi scratchpad lt artifactId gt lt
  • Centos7搭建安装freeswitch1.6

    前言 xff1a 请各大网友尊重本人原创知识分享 xff0c 谨记本人博客 xff1a 南国以南i 介绍 xff1a freeswitch可集成ASR 语音识别 和TTS 文本转语音 创建智能电话机器人和用户通话 xff0c 可用于问卷调查
  • 树莓派安装远程桌面(XRDP)服务

    首先试用了一下VNC xff0c 发现质量惨不忍睹 xff0c 明明是在局域网内啊 于是打算安装XRDP服务 xff0c 网上各种文章都有 xff0c 有的说需要先安装tightVNC 参考了 xff1a http shumeipai nx
  • 关于ubuntu20.04中安装ros的一些package时出现“unable to locate”的问题记录

    在运行ros仿真时出现如下错误 xff1a 提示缺少 gmapping的包 xff0c 直接下载包 xff1a sudo apt get install ros noetic gmapping 结果提示 xff1a Unable to lo
  • Linux配置篇 | Ubuntu配置apt镜像源

    以下以 Ubuntu18 04 LTS 为例 xff0c 也适用于 Ubuntu 其他版本 一 修改apt镜像源 xff08 1 xff09 备份apt配置文件 xff1a cp etc apt sources list etc apt s
  • 多种缺陷管理软件简介

    缺陷管理工具 xff1a 1 Bugzilla 2 Bugfree 3 TestDirector xff08 Quality Center xff09 4 ClearQuest 5 JIRA 6 Mantis 7 Bugzero 8 Bug
  • 线程与进程之间的共享资源

    线程和进程之间的共享资源方式 进程之间的共享资源的方式 1 消息队列 2 共享内存 3 管道 xff08 有名管道 无名管道 xff09 4 信号 5 套接字 同一个进程的不同线程之间可以共享的资源 1 堆 xff0c 由于堆是在进程启动的
  • Redis基本知识

    总结 基础知识 基础命令 1 xff09 测试Redis性能 2 xff09 Redis沟通命令 xff0c 查看状态 解释 xff1a 输入ping xff0c redis给我们返回PONG xff0c 表示redis服务运行正常 3 x
  • redis的配置文件

    回顾 redis的配置文件 1 redis安装完成之后 xff0c 在redis的根沐会提供一个配置文件 redis conf xff1b redis服务可以参考配置文件中的参数进行运行 xff1b 只有启动redis服务器指定使用的配置文
  • VSCode 配置 C++ 环境

    1 1 MinGW 编译套件 MinGW 提供了一套简单方便的 Windows 下的基于 GCC 程序开发环境 xff0c 并且 收集了一系列免费的 Windows 使用的头文件和库文件 它整合了 GNU 的工具集 xff0c 特别是 GN
  • C++中string与char*相互转换

    C 43 43 中string与char 相互转换 一 string转换为char 有3中方法 xff1a 1 data string str 61 34 good boy 34 const char p 61 str data 2 c s
  • Python hex()十六进制转换

    Python hex 函数用于将整数转换为以 0x 为前缀的小写十六进制字符串 xff1a print hex 255 decimal十进制 print hex 0b111 binary二进制 print hex 0o77 octal八进制
  • rocksdb的原子flush

    如果始终启用 WAL xff0c 则无需使用原子刷新选项 启用 WAL 后 xff0c 单个 WAL 文件用于捕获对所有列族的写入 因此 xff0c 恢复的数据库 xff08 通过在崩溃 恢复路径中重播 WAL 日志 xff09 保证在所有
  • rocksdb的设置选项和基本调整

    除了在 RocksDB 上使用基本操作编写代码外 xff0c 您可能还对如何调整 RocksDB 以实现所需的性能感兴趣 在本页中 xff0c 我们将介绍如何进行初始设置 xff0c 该设置应该足以满足许多用例的需求 RocksDB 有许多
  • rocksdb的wal配置

    wal配置 数据库 xff1a xff1a wal dir DBOptions wal dir设置 RocksDB 存储预写日志文件的目录 xff0c 该目录允许将 WAL 存储在与实际数据不同的目录中 数据库 xff1a xff1a WA
  • Winpcap常用函数解析

    1 int pcap findalldevs pcap if t char 说明 xff1a 用来获得网卡的列表 参数 xff1a 指向pcap if t 类型的列表的指针的指针 char型指针 当打开列表错误时返回错误信息 返回值 为in
  • 终端、虚拟终端、shell、控制台、tty的区别

    终端与控制台的区别 xff1f 最近开始接触Linux xff0c 终端 虚拟终端 shell 控制台 tty等概念让我很混乱 xff0c 有必要认识清楚 今天看到有人问终端和控制台的区别 xff0c 而且这个问题比较有普遍性 xff0c
  • Windows下C++使用thread时无法识别thread和mutex相关库的解决

    问题描述 今天我在Windows下打算尝试C 43 43 多线程编程 xff0c 在CLion上进行编码 CLion的C 43 43 编译器是正常的 xff0c 以前也跑过好几个项目 xff0c 使用其他STL库函数也正常 xff0c 唯独
  • 虚拟机下Linux系统磁盘扩容

    在VM虚拟机中 xff0c 我们经常会选择默认磁盘大小20G xff0c 用着用着才发现20G不够用 xff0c 服务启动不了 xff0c 就很尴尬 xff0c 让我们今天一起来学习下 xff0c 如何在虚拟机给磁盘扩容 一 xff1a 关