Linux虚拟机磁盘空间不足怎么办
金蝶云社区-刘映希
刘映希
0人赞赏了该文章 119次浏览 未经作者许可,禁止转载编辑于2023年08月21日 10:06:30

 对大多数系统管理员来说,扩充 Linux 服务器的磁盘空间是日常的工作之一,下面会通过使用 Linux 命令,在CentOS 7 系统上演示一些简单的操作步骤来扩充系统的磁盘空间而不需要重启服务器。

1. 在虚拟机客户端扩充磁盘空间

      在为 Linux 系统增加磁盘卷之前,首先需要添加一块新的物理磁盘,或在 VMware vShere、VMware 工作站以及其它虚拟环境软件中进行设置来增加一块虚拟磁盘的容量。

 image.png

2. 检查磁盘空间

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

# df -h 

# fdisk -l

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

 image.png

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/1\:0\:0\:0/device/rescan 

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

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

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

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

 image.png


4. 创建新磁盘分区

      一旦在系统中可以看到扩展的磁盘空间,就可以运行如下命令来格式化磁盘以创建一个新的分区。请按如下操作步骤来扩充物理磁盘卷。

# fdisk /dev/sda 

Welcome to fdisk (util-linux 2.23.2) press the 'm' key for help 

Command (m for help): m 

Command action 

a toggle a bootable flag 

b edit bsd disklabel 

c toggle the dos compatibility flag 

d delete a partition 

g create a new empty GPT partition table 

G create an IRIX (SGI) partition table 

l list known partition types 

m print this menu 

n add a new partition 

o create a new empty DOS partition table 

p print the partition table 

q quit without saving changes 

s create a new empty Sun disklabel 

t change a partition's system id 

u change display/entry units 

v verify the partition table 

w write table to disk and exit 

x extra functionality (experts only) 

Command (m for help):

      键入'p'来查看当前的分区表信息,然后键入'n'键来创建一个新的主分区,选择所有可用的扇区,使用't'命令改变磁盘类型为'Linux LVM',然后选择编码 '8e' 或者默认不选,它默认的类型编码为 '83'。现在输入 'w' 来保存分区表信息并且退出命令环境,如下示:

Command (m for help): w 

The partition table has been altered! 

Calling ioctl() to re-read partition table. 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy. 

The kernel still uses the old table. 

The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)

 

image.png

5. 创建物理卷

根据上述提示,运行'partprob'或'kpartx'命令以使分区表生效,然后使用如下的命令来创建新的物理卷。

# partprobe 

# pvcreate /dev/sda3

image.png

要检查新创建的卷,运行如下的命令可以看出新的物理卷是否已经被创建,是否可用。接下来,我们就可以使用这个新的物理卷来扩展 'CentOS' 卷组了,如下示:

# pvdisplay 

# vgextend centos /dev/sda3

6. 扩展逻辑卷

      现在我们使用如下的命令扩展逻辑卷,以增加我们系统正使用的磁盘空间。# lvextend -L +40G /dev/mapper/centos-root一旦返回增加成功的消息,就可以运行如下命令来扩展您的逻辑卷大小。

# xfs_growfs /dev/mapper/centos-root

低版本Linux系统使用下面命令

# resize2fs /dev/mapper/centos-root

'/' 分区的大小已经成功的增加了,可以使用 'df' 命令来检查您磁盘驱动器的大小。如图示。

image.png


本文转载自:公共号金蝶云·天梯

作者:侯辉

原文链接:公共号金蝶云·天梯

赞 0