LINUX虚拟机磁盘在线扩容不重启

LINUX虚拟机磁盘在线扩容不重启,第1张

1.虚拟机里添加磁盘

2. 检查磁盘空间:

运行如下命令来检查当前磁盘空间大小。

# df -h 

# fdisk -l

如图可以看到,虽然我们已经在后端给其增加到 50 GB 的空间,但此时的总磁盘大小仍然为 10 GB。

3. 扩展空间而无需重启虚拟机

现在运行如下命令,通过重新扫描 SCSI (注:Small Computer System Interface 小型计算机系统接口)总线并添加 SCSI 设备,系统就可以扩展 *** 作系统的物理卷磁盘空间,而且不需要重启虚拟机。

# ls /sys/class/scsi_host/ 

# echo "- - -" >/sys/class/scsi_host/host0/scan 

# echo "- - -" >/sys/class/scsi_host/host1/scan 

# echo "- - -" >/sys/class/scsi_host/host2/scan

使用下面的命令来检查 SCSI 设备的名称,然后重新扫描 SCSI 总线。

# ls /sys/class/scsi_device/ 

# echo 1 >/sys/class/scsi_device/0\:0\:0\:0/device/rescan 

# echo 1 >/sys/class/scsi_device/2\:0\:0\:0/device/rescan

如下图所示,会重新扫描 SCSI 总线,随后我们在虚拟机客户端设置的磁盘大小会正常显示。

4. fdisk /dev/sdb

5. 按n键 添加一个分区

6. 按p键创建主分区

7. 按1键 输入主分区号

8. 按回车 输入大小,默认都回车键

9. 按t键更改磁盘system id 输入8e

10. 按w键保存

11. partprobe /dev/sdb1

12. pvcreate /dev/sdb1

13. vgextend VolGroup00 /dev/sdb1

14. lvextend -l +100%FREE /dev/mapper/VolGroup00-LogVol00

15. resize2fs /dev/VolGroup00/LogVol00  如果此命令无法使用 可以使用ext2online /dev/VolGroup00/LogVol00

16. xfs格式使用xfs_growfs /dev/VolGroup00/LogVol00

    公司使用了虚拟机环境,容量不够的情况下,需要新加硬盘。但添加了新硬盘后,使用fdsik不能看到新硬盘。查找相关资料,有两种思路可以选择。

查看/proc/scsi/scsi/ 下面

可使用命令直接进行添加

所以本次就可以直接使用

思路二:触发系统的磁盘扫描

此处可以使用暴力方法针对所有的总线进行扫描

扫描后就会识别所有总线上的硬盘了

格式化未使用的磁盘空间

查看分区信息

看到/dev/sda3分区已经成功,但是没法使用,是因为分区表没更新,根据提示使用partprobe命令更新分区表,如果没有此命令,请安装parted包

此时我们创建的sda3分区根本没显示出来,分区表更新失败

查看官网文档,解决方法:https://access.redhat.com/solutions/57542

官网给出原因:

partprobe在RHEL5中常用于通知 *** 作系统磁盘上的分区表更改。在RHEL6中,只有当那些磁盘上任何分区都没有在使用的磁盘下(例如,mounted)它才会触发OS去更新磁盘的分区表。如果正在使用磁盘上的任何分区,partprobe则不会触发 *** 作系统更新系统中的分区,因为在某些情况下它被认为是不安全的。

推荐解决方法:

如果添加了新分区且未修改任何现有分区,请考虑使用该partx命令更新系统分区表

列出分区表

读取磁盘并尝试将所有分区添加到系统

再去查看系统,已经正常/dev/sda3 已经显示


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11825606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存