Linux中國

如何在 CentOS 7 中添加新磁碟而不用重啟系統

1. 在虛擬機客戶端擴充磁碟空間:

在為 Linux 系統增加磁碟卷之前,您首先需要添加一塊新的物理磁碟,或在 VMware vShere、VMware 工作站以及你使用的其它虛擬環境軟體中進行設置來增加一塊虛擬磁碟的容量。

Increase disk

2. 檢查磁碟空間:

運行如下命令來檢查當前磁碟空間大小。

# df -h
# fdisk -l

Fdisk check

可以看到,雖然我們已經在後端給其增加到 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 匯流排,隨後我們在虛擬機客戶端設置的磁碟大小會正常顯示。

Rescan disk device

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)

New disk Volume

5. 創建物理卷:

根據上述提示,運行 'partprob' 或 'kpartx' 命令以使分區表生效,然後使用如下的命令來創建新的物理卷。

# partprobe
# pvresize /dev/sda3

要檢查新創建的卷,運行如下的命令可以看出新的物理卷是否已經被創建,是否可用。接下來,我們就可以使用這個新的物理捲來擴展 'centos' 卷組了,如下示:

# pvdisplay
# vgextend centos /dev/sda3

Extend volume Group

6. 擴展邏輯卷:

現在我們使用如下的命令擴展邏輯卷,以增加我們系統正使用的磁碟空間。

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

一旦返回增加成功的消息,就可以運行如下命令來擴展您的邏輯卷大小。

# xfs_growfs /dev/mapper/centos-root

'/' 分區的大小已經成功的增加了,可以使用 'df' 命令來檢查您磁碟驅動器的大小。如圖示。

Increase disk space

7. 通過增加新的磁碟來擴充根分區而不用重啟系統:

這是第二種方法,它使用的命令非常簡單, 用來增加 CentOS 7 系統上邏輯卷空間大小。

所以第一步是打開您的虛擬機客戶端的設置頁面,點擊 『增加』 按紐,然後繼續下一步操作。

Add new disk

選擇新磁碟所需要的配置信息,如下圖所示的,選擇新磁碟的大小和它的類型。

New disk setup

然後進入服務端重複如下的命令來掃描您的磁碟設備,以使新磁碟在系統中可見。

# 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

Scanning new disk

一旦新增的磁碟可見,就可以運行下面的命令來創建新的物理卷,然後增加到卷組,如下示。

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

Extending Volume Group

現在根據此磁碟的空間大小來擴展邏輯卷,然後添加到根分區。

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

Increase / Partition

結論:

在 Linux CentOS 7 系統上管理磁碟分區的操作過程是非常簡單的,可以使用這篇文章所述的操作步驟來擴充您的任意邏輯卷的磁碟空間。您不需要重啟生產線上的伺服器,只是簡單的重掃描下 SCSI 設備,和擴展您想要的 LVM(邏輯卷管理)。我們希望這文章對您有用。請隨意的發表有用的評論和建議。

via: http://linoxide.com/linux-how-to/add-new-disk-centos-7-without-rebooting/

作者:Kashif S 譯者:runningwater 校對: wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國