我这个系统是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. 实战:Mailivery 模拟登录

    问题情景 混淆群内的小伙伴遇到这么个问题,Mailivery 这个网站登录后,明明提交的表单(邮箱和密码也正确).请求头等等都没问题,为啥一直重定向到登录页面呢?唉,该出手时就出手啊,我也看看咋回事吧 ...

  2. Django之常见问题

    总结Django在使用过程中遇到的一些问题 1.在使用model进行数据查询的时候出现错误: django matching query does not exist. 是使用get函数引起的错误.使 ...

  3. 从解决Github TimeOut到经典面试题:从输入URL到浏览器显示页面发生了什么?

    问题描述 在Windows 操作系统上,push代码到git的时候,出现了Failed to connect to github.com port 443: Timed out的错误.一脸懵逼,浏览器 ...

  4. 鸿蒙NEXT元服务:论如何免费快速上架作品

    [引言]天下武功,唯快不破. 本文讨论如何免费且以最快速度上架自己的作品. 作者以自己从零开始到提交发布审核一共俩小时的操作流程分享给大家作参考. [1]立项选择 结论:元服务,单机,工具类(非游戏) ...

  5. 一个关于CountDownLatch的并发需求

    需求 A,B,C可并发运行,全部成功才算成功,一个失败全员回滚. 思考 使用CountDownLatch,可以保证三个线程结束后,才进行提交成功状态.但是怎么才能判断某个任务失败了呢? 捕获子线程异常 ...

  6. ThreeJs-07操控物体实现家具编辑器

    本章节实现效果,通过gui快速添加场景,家具,并且可以快速设置家具实现一个编辑器效果 一.基础设置与物体添加列表 用之前做过的一个案例来改 首先不要这个模型,然后换个背景颜色,并且添加一个网格辅助器 ...

  7. 逍遥模拟器+Fiddler抓包 (附带软件)

    获取软件地址: 链接:https://pan.baidu.com/s/1zE9AECWOZlw_VDVMAnkBhQ?pwd=c0kq 提取码:c0kq 一.逍遥模拟器安装 1. 安装逍遥模拟器: 2 ...

  8. 【前端】display:inline-block中间的间隙

    父元素宽度800px 两个并列子元素宽度设为50%,并且使用了display:inline-block 结果一运行,两个元素不在同一行? 我查审元素,两个子元素div的宽度都是400,也没有边框,边距 ...

  9. postman -- 把上一接口的响应值作为下一接口的入参

    一.方法

  10. shell脚本忽略错误继续执行

    在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行.如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set +e 命令来取消该设置. 例如,下面是一个忽略错误并继 ...