如何在Linux CentOS 7中添加新磁盘而无需重新启动

时间:2020-03-05 15:25:52  来源:igfitidea点击:

Linux服务器上的磁盘空间增加是每次系统管理员的日常生活。
因此,在本文中,我们将向我们展示一些简单的步骤,我们可以使用在Linux CentOS 7上增加磁盘空间,而无需使用Linux命令重新启动到生产服务器。

我们将介绍多种方法和可能性来增加和向Linux系统添加新磁盘,以便根据要求,我们可以遵循我们觉得舒适的磁盘。

1)增加VM Guest的磁盘

在增加Linux系统内的磁盘卷之前,我们需要通过从VMware vSphere,Workstation或者我们正在使用的任何其他基础架构环境编辑其设置,添加新磁盘或者增加其已添加系统所连接的磁盘。

2)检查磁盘空间

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

# df -h
# fdisk -l

其中我们可以看到总磁盘大小仍然是10 GB的同时,我们已经从后端增加到50 GB。

3)扩展空间而不重新启动VM

现在运行以下命令以通过重新扫描SCSI总线然后添加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总线和我们从VM Guest Setting增加的磁盘大小将显示在下面的图像中可以看到。

4)新磁盘分区

一旦我们能够在系统内看到增加的磁盘空间,那么运行以下命令以格式化磁盘以通过按照提高物理磁盘卷的步骤来创建新分区。

# fdisk /dev/sda

欢迎来到FDISK(Util-Linux 2.23.2)按"M"键获取帮助

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)

5)创建物理量

如上所述,运行'partprobe'或者kpartx命令,以便表准备好使用,然后使用以下命令创建新的物理卷。

# partprobe
# pvcreate /dev/sda3

要检查新创建的卷运行以下命令,请查看新的物理卷是否已创建和可见。
之后,我们将使用新建的物理卷扩展卷组"CentOS",如图所示。

# pvdisplay
# vgextend centos /dev/sda3

6)扩展逻辑卷

现在,我们将使用以下命令扩展逻辑卷以增加其上的磁盘空间。

# lvextend -L +40G /dev/mapper/centos-root

获取成功增加的消息后,按如下所示的命令延长逻辑卷的大小。

# xfs_growfs /dev/mapper/centos-root

"/"分区的大小已成功增加,可以使用"DF"命令使用"DF"命令来检查磁盘驱动器的大小。

7)通过添加新磁盘而无需重新启动扩展根分区

这是第二种方法,但具有非常相似的命令,以增加CentOS 7中逻辑卷的大小。

因此,第一步是打开VM Guest设置的设置,然后单击"添加"新按钮并继续下一个选项。

通过选择新磁盘的大小及其类型,选择新磁盘所需的配置,如下图所示。

然后来服务器端并重复下面的命令才能将磁盘设备扫描到新磁盘上的系统上可见。

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

列出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/3\:0\:0\:0/device/rescan
# fdisk -l

一旦可见新磁盘,请执行以下命令以创建新的物理卷并将其添加到卷组,如图所示。

# pvcreate /dev/sdb
# vgextend centos /dev/sdb
# vgdisplay

现在通过在其上添加磁盘空间来扩展逻辑卷,然后将其添加到根分区。

# lvextend -L +20G /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-root
# df -h