詳解VPS上給CentOS添加硬盤(pán)而不用重啟服務(wù)器的方法

對(duì)大多數(shù)系統(tǒng)管理員來(lái)說(shuō)擴(kuò)充 Linux 服務(wù)器的磁盤(pán)空間是日常的工作之一。因此這篇文章會(huì)通過(guò)使用 Linux 命令,在 CentOS 7 系統(tǒng)上演示一些簡(jiǎn)單的操作步驟來(lái)擴(kuò)充您的磁盤(pán)空間而不需要重啟您的生產(chǎn)服務(wù)器。關(guān)于擴(kuò)充和增加新的磁盤(pán)到 Linux 系統(tǒng),我們會(huì)提及多種方法和多種可行性,可按您所需選擇最適用的一種。
1. 在虛擬機(jī)客戶(hù)端擴(kuò)充磁盤(pán)空間:
在為 Linux 系統(tǒng)增加磁盤(pán)卷之前,您首先需要添加一塊新的物理磁盤(pán),或在 VMware vShere、VMware 工作站以及你使用的其它虛擬環(huán)境軟件中進(jìn)行設(shè)置來(lái)增加一塊虛擬磁盤(pán)的容量。
2. 檢查磁盤(pán)空間:
運(yùn)行如下命令來(lái)檢查當(dāng)前磁盤(pán)空間大小。
# df -h
# fdisk -l

可以看到,雖然我們已經(jīng)在后端給其增加到 50 GB 的空間,但此時(shí)的總磁盤(pán)大小仍然為 10 GB。
3. 擴(kuò)展空間而無(wú)需重啟虛擬機(jī)
現(xiàn)在運(yùn)行如下命令,通過(guò)重新掃描 SCSI (注:Small Computer System Interface 小型計(jì)算機(jī)系統(tǒng)接口)總線并添加 SCSI 設(shè)備,系統(tǒng)就可以擴(kuò)展操作系統(tǒng)的物理卷磁盤(pán)空間,而且不需要重啟虛擬機(jī)。
# 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
使用下面的命令來(lái)檢查 SCSI 設(shè)備的名稱(chēng),然后重新掃描 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
如下圖所示,會(huì)重新掃描 SCSI 總線,隨后我們?cè)谔摂M機(jī)客戶(hù)端設(shè)置的磁盤(pán)大小會(huì)正常顯示。

4. 創(chuàng)建新磁盤(pán)分區(qū):
一旦在系統(tǒng)中可以看到擴(kuò)展的磁盤(pán)空間,就可以運(yùn)行如下命令來(lái)格式化您的磁盤(pán)以創(chuàng)建一個(gè)新的分區(qū)。請(qǐng)按如下操作步驟來(lái)擴(kuò)充您的物理磁盤(pán)卷。
# 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' 來(lái)查看當(dāng)前的分區(qū)表信息,然后鍵入 'n' 鍵來(lái)創(chuàng)建一個(gè)新的主分區(qū),選擇所有可用的扇區(qū)。 使用 't' 命令改變磁盤(pán)類(lèi)型為 'Linux LVM',然后選擇編碼 '8e' 或者默認(rèn)不選,它默認(rèn)的類(lèi)型編碼為 '83'。
現(xiàn)在輸入 'w' 來(lái)保存分區(qū)表信息并且退出命令環(huán)境,如下示:
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. 創(chuàng)建物理卷:
根據(jù)上述提示,運(yùn)行 'partprob' 或 'kpartx' 命令以使分區(qū)表生效,然后使用如下的命令來(lái)創(chuàng)建新的物理卷。
# partprobe
# pvresize /dev/sda3
要檢查新創(chuàng)建的卷,運(yùn)行如下的命令可以看出新的物理卷是否已經(jīng)被創(chuàng)建,是否可用。接下來(lái),我們就可以使用這個(gè)新的物理卷來(lái)擴(kuò)展 'centos' 卷組了,如下示:
# pvdisplay
# vgextend centos /dev/sda3

6. 擴(kuò)展邏輯卷:
現(xiàn)在我們使用如下的命令擴(kuò)展邏輯卷,以增加我們系統(tǒng)正使用的磁盤(pán)空間。
# lvextend -L +40G /dev/mapper/centos-root
一旦返回增加成功的消息,就可以運(yùn)行如下命令來(lái)擴(kuò)展您的邏輯卷大小。
# xfs_growfs /dev/mapper/centos-root
'/' 分區(qū)的大小已經(jīng)成功的增加了,可以使用 'df' 命令來(lái)檢查您磁盤(pán)驅(qū)動(dòng)器的大小。如圖示。

7. 通過(guò)增加新的磁盤(pán)來(lái)擴(kuò)充根分區(qū)而不用重啟系統(tǒng):
這是第二種方法,它使用的命令非常簡(jiǎn)單, 用來(lái)增加 CentOS 7 系統(tǒng)上邏輯卷空間大小。
所以第一步是打開(kāi)您的虛擬機(jī)客戶(hù)端的設(shè)置頁(yè)面,點(diǎn)擊 ‘增加’ 按紐,然后繼續(xù)下一步操作。
選擇新磁盤(pán)所需要的配置信息,如下圖所示的,選擇新磁盤(pán)的大小和它的類(lèi)型。
然后進(jìn)入服務(wù)端重復(fù)如下的命令來(lái)掃描您的磁盤(pán)設(shè)備,以使新磁盤(pán)在系統(tǒng)中可見(jiàn)。
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
列出您的 SCSI 設(shè)備的名稱(chēng):
# 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

一旦新增的磁盤(pán)可見(jiàn),就可以運(yùn)行下面的命令來(lái)創(chuàng)建新的物理卷,然后增加到卷組,如下示。
# pvcreate /dev/sdb
# vgextend centos /dev/sdb
# vgdisplay

現(xiàn)在根據(jù)此磁盤(pán)的空間大小來(lái)擴(kuò)展邏輯卷,然后添加到根分區(qū)。
# lvextend -L +20G /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-root
# df -h

結(jié)論:
在 Linux CentOS 7 系統(tǒng)上管理磁盤(pán)分區(qū)的操作過(guò)程是非常簡(jiǎn)單的,可以使用這篇文章所述的操作步驟來(lái)擴(kuò)充您的任意邏輯卷的磁盤(pán)空間。您不需要重啟生產(chǎn)線上的服務(wù)器,只是簡(jiǎn)單的重掃描下 SCSI 設(shè)備,和擴(kuò)展您想要的 LVM(邏輯卷管理)。我們希望這文章對(duì)您有用。請(qǐng)隨意的發(fā)表有用的評(píng)論和建議。
相關(guān)文章
vmware虛擬機(jī)中ubuntu 16.04 詳細(xì)安裝教程(圖文)附下載地址
這篇文章主要介紹了vmware虛擬機(jī)中ubuntu 16.04 詳細(xì)安裝教程(圖文)附下載地址,需要的朋友可以參考下2016-09-03Win10系統(tǒng)虛擬機(jī)設(shè)置共享本地磁盤(pán)的方法
我們可以通過(guò)將虛擬機(jī)硬盤(pán)映射本地磁盤(pán)的方法來(lái)實(shí)現(xiàn)文件的共享。那么如何設(shè)置,下面小編就給大家?guī)?lái)Win10系統(tǒng)虛擬機(jī)設(shè)置共享本地磁盤(pán)的方法,一起來(lái)看看吧2016-08-29Win7如何增加虛擬內(nèi)存?Win7增加虛擬內(nèi)存的方法
虛擬內(nèi)存可以彌補(bǔ)系統(tǒng)內(nèi)存的不足,相當(dāng)于把硬盤(pán)的一部分空間拿來(lái)當(dāng)內(nèi)存用,那么Win7如何增加虛擬內(nèi)存?本文就給大家?guī)?lái)Win7增加虛擬內(nèi)存的方法,一起來(lái)看看吧2016-08-23- windows10中新增了一項(xiàng)虛擬桌面功能,用戶(hù)可以在系統(tǒng)在使用多個(gè)桌面,例如在演示時(shí),可以新建一個(gè)桌面,那么Win10虛擬桌面功能有什么實(shí)際用途?下面小編就為大家介紹一下,2016-08-19
win7系統(tǒng)虛擬光驅(qū)怎么刪除 win7系統(tǒng)刪除電腦虛擬光驅(qū)的三種方法圖文教
虛擬光驅(qū)是網(wǎng)絡(luò)高速發(fā)展所產(chǎn)生的一種產(chǎn)物,擁有一般光驅(qū)所沒(méi)有的強(qiáng)大功能。但是一些用戶(hù)想要?jiǎng)h除win7系統(tǒng)虛擬光驅(qū),但是不知道正確刪除方法,本文將提供win7系統(tǒng)刪除電腦虛2016-08-08- 最近有用戶(hù)反映想徹底啊刪除掉虛擬wifi,不知道如何操作,現(xiàn)在腳本之家小編為大家講解一下刪除的具體步驟,一起來(lái)看看吧2016-08-03
Win10虛擬內(nèi)存如何關(guān)閉?Win10關(guān)閉虛擬內(nèi)存的方法
禁用虛擬內(nèi)存可以提高系統(tǒng)運(yùn)行速度,那么Win10虛擬內(nèi)存如何關(guān)閉?下面小編就給大家?guī)?lái)Win10關(guān)閉虛擬內(nèi)存的方法,一起來(lái)看看吧2016-07-19- XP系統(tǒng)電腦如何選擇虛擬聲卡,這篇文章主要為大家詳細(xì)介紹了XP系統(tǒng)電腦選擇虛擬聲卡的方法,感興趣的小伙伴們可以參考一下2016-10-20
win10忘記電腦密碼怎么辦 利用虛擬機(jī)打開(kāi)win10電腦密碼方法
win10忘記了電腦密碼怎么辦?今天小編就為大家?guī)?lái)使用虛擬機(jī)打開(kāi)win10電腦密碼方法,需要的朋友可以一起看看2016-07-09Win10虛擬機(jī)嘗試連接到服務(wù)器時(shí)出錯(cuò)怎么辦?嘗試連接到服務(wù)器xxx時(shí)出錯(cuò)
在使用Windows10系統(tǒng)的虛擬機(jī)服務(wù)Hyper-v功能時(shí),發(fā)現(xiàn)運(yùn)行Hyper虛擬會(huì)出現(xiàn)提示“虛擬機(jī)嘗試連接到服務(wù)器‘XXX’時(shí)出錯(cuò),請(qǐng)檢查虛擬管理服務(wù)是否正在運(yùn)行以及是不授權(quán)你連接2016-07-04