我这个系统是Redhat7.7的系统。磁盘占用比较高,需要扩充空用空间,同时又不能关停服务器,或者服务。所以就需要在虚拟机中不重启的情况下加新硬盘及扩展根分区容量。

首先,看一下我这个虚拟机分区占用情况:

可以看到根目录总空间44G,已使用78%,属于占用比较高的了,对系统运行效率有严重影响。通过虚拟机管理工具添加一块新的磁盘。

我选择的是Thin Provision磁盘置备,与虚拟机存储在同一目录中。

选择虚拟设备节点。

确定添加新磁盘。添加结果:

=============================

显示当前分区

fdisk -l

通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载。这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可见。这里有一个简单的命令来重新扫描SCSI总线和SCSI设备。

确定主机总线号

ls  /sys/class/scsi_host/

结果:

host0   host11  host14  host17  host2   host22  host25  host28  host30  host4  host7
host1 host12 host15 host18 host20 host23 host26 host29 host31 host5 host8
host10 host13 host16 host19 host21 host24 host27 host3 host32 host6 host9

重新扫描SCSI总线来添加设备

for i in $(ls /sys/class/scsi_host/); do echo "- - -" > /sys/class/scsi_host/$i/scan; done

重新显示分区。这时候发现新硬盘已经自动加载了。

fdisk -l

显示文件系统,可以看到根分区的VG是rhel,VL是root,分区类型是xfs

df -Th

/dev/mapper/rhel-root     xfs       44G  35G  9.8G  78%  /

将/dev/sdb建立为pv

pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created

由于系统已经有了VG:rhel,这里直接将新建的pv加入到这个VG

vgextend rhel /dev/sdb   #Redhat
vgextend centos /dev/sdb #CentOS

Volume group "rhel" successfully extended

给VL:root增加20G的空间

lvextend -L +19G /dev/rhel/root   #Redhat
lvextend -l +5120  /dev/centos/root   #CentOS   

Size of logical volume rhel/root changed from 3.97 GiB (1016 extents) to 8.97 GiB (2296 extents).
Logical volume root successfully resized.

给VL:root增加剩余的空间

lvextend -l +100%FREE /dev/rhel/root   #Redhat
lvextend -l +100%FREE /dev/centos/root   #CentOS

Size of logical volume rhel/root changed from 8.97 GiB (2296 extents) to 9.00 GiB (2305 extents).
Logical volume root successfully resized.

LV扩容之后需要激活修改的配置

xfs_growfs /dev/rhel/root   #Redhat
xfs_growfs /dev/centos/root   #CentOS 

meta-data=/dev/mapper/rhel-root isize=256 agcount=4, agsize=260096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=1040384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1040384 to 2360320

重新显示文件系统,可以看到根分区大小从44G增加到了64G

df -Th

/dev/mapper/rhel-root xfs       64G  41G  24G  64%   /

【完整步骤】

【完】

Linux 虚拟机中不重启的情况下加新硬盘及扩展根分区容量的更多相关文章

  1. RHEL7虚拟机中不重启的情况下加新硬盘及扩展根分区容量

    在VMware中添加一块新的5G硬盘 显示当前分区 # fdisk -l 通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载.这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可 ...

  2. Linux 在不重启的情况下识别新挂载的磁盘

    在使用 Linux 时,有时候会因为初始时磁盘空间分配估计不足,使用中需要将挂载点扩容的情况,这就需要我们挂载新的磁盘.但是如果我们在 Linux 运行过程中挂载磁盘, Linux 又不能在不重启的情 ...

  3. CentOS系统在不重启的情况下为虚拟机添加新硬盘

    一.概述 用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备.但是我们也可能会遇到这样的情况,比如正在运行比 ...

  4. @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码

    一.前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西. 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 ...

  5. linux虚拟机关机、重启命令

    linux虚拟机关机.重启命令   一.shutdown 1.shutdown -h now :立即关机 2.shutdown -h 10:53:到10:53关机 3.shutdown -h +10 ...

  6. @Java web程序员,在保留现场,服务不重启的情况下,执行我们的调试代码(JSP 方式)

    一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得, ...

  7. @Spring Boot程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码

    前言 这篇其实是对一年前的一篇文章的补坑. @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码 当时,就是在spring mvc应用里定义一个 ...

  8. mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法

    mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...

  9. linux虚拟机中安装mongodb

    今天在linux虚拟机中安装了mongodb数据库,安装过程主要参照了网上的一片文档,大部分地方都没有多大区别,只是在某些细节上有所改变. 我参考的文档是:http://my.oschina.net/ ...

  10. linux 存在多个版本的情况下,切换python版本

    linux 存在多个版本的情况下 python 命令默认寻找 /usr/bin下的命令 所以先find / -name python* 找一下所有的Python版本 然后 sudo ln /usr/b ...

随机推荐

  1. C++学习——类当中static关键字的作用

    一.类和对象 我们知道类是"行为"和"属性"的集合,我们可以通过类来实例化对象,从而定义对象的"行为"和"属性".比如: ...

  2. .NET Core 反射底层原理浅谈

    简介 反射,反射,程序员的快乐. 前期绑定与后期绑定 在.NET中,前期绑定(Early Binding)是指在编译时就确定了对象的类型和方法,而后期绑定(Late Binding)或动态绑定是在运行 ...

  3. 剖析Air724UG的硬件设计,有大发现?03篇

    ​ 今天我们分享第三部分. 四.射频接口 天线接口管脚定义如下: 表格 19:RF_ANT 管脚定义 管脚名 序号 描述 LTE_ANT 46 LTE 天线接口 BT/WiFi_ANT 34 蓝牙/W ...

  4. 基站定位与Wi-Fi定位?看这篇就够了

    ​ 同学们纷纷发出需求,要求特别讲解Air780EP模组AT开发基站定位与Wi-Fi定位应用示例. 本文同样适用于以下型号:Air700ECQ/Air700EAQ/Air700EMQAir780EQ/ ...

  5. 鸿蒙NEXT开发案例:计数器

    [引言](完整代码在最后面) 本文将通过一个简单的计数器应用案例,介绍如何利用鸿蒙NEXT的特性开发高效.美观的应用程序.我们将涵盖计数器的基本功能实现.用户界面设计.数据持久化及动画效果的添加. [ ...

  6. weex跨页面通信

    需求: A页面有表单和表格,点击表格中的按钮到B页面,B页面操作完毕,再次回到A页面,表单元素保持不变,表格内容刷新. 通过管道通信去做,用两个管道嵌套,A页面跳转到B页面的时候,直接用管道发过去,B ...

  7. Blazor 组件库 BootstrapBlazor 中Carousel组件介绍

    组件介绍 Carousel 走马灯的作用是在有限空间内,循环播放同一类型的图片.文字等内容. 代码如下: <Carousel Images="@Images" Width=& ...

  8. Codeforces Round #826 (Div

    Codeforces Round #826 (Div. 3) Minimize the Thickness 给定数组a,要求将数组a分成若干个子序列,并且使得每个子序列中的元素和都相等,设这些子序列中 ...

  9. pdf.js 笔记

    1.介绍 官方文档,pdf.js是由mozilla开源的js库,用于在web环境中渲染和显示pdf文档 目前,绝大多数PC浏览器都已经内置了pdf阅读器,能够直接预览pdf文件(内置了pdf.js), ...

  10. Git 克隆部分文件

    使用 sparse-checkout (推荐) git clone \ -b master \ --depth=1 \ --filter=blob:none \ --sparse \ <repo ...