CentOS7擴充磁盤空間


對大多數系統管理員來說擴充 Linux 服務器的磁盤空間是日常的工作之一。因此這篇文章會通過使用 Linux 命令,在 CentOS 7 系統上演示一些簡單的操作步驟來擴充您的磁盤空間而不需要重啟您的生產服務器。關於擴充和增加新的磁盤到 Linux 系統,我們會提及多種方法和多種可行性,可按您所需選擇最適用的一種。
clip_image001

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

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

clip_image002

Increase disk

2. 檢查磁盤空間:

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

clip_image003

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 總線,隨后我們在虛擬機客戶端設置的磁盤大小會正常顯示。

clip_image004

Rescan disk device

4. 創建新磁盤分區:

一旦在系統中可以看到擴展的磁盤空間,就可以運行如下命令來格式化您的磁盤以創建一個新的分區。請按如下操作步驟來擴充您的物理磁盤卷。

1. # fdisk /dev/sda

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

3. Command (m for help): m

4. Command action

5. a toggle a bootable flag

6. b edit bsd disklabel

7. c toggle the dos compatibility flag

8. d delete a partition

9. g create a new empty GPT partition table

10. G create an IRIX (SGI) partition table

11. l list known partition types

12. m print this menu

13. n add a new partition

14. o create a new empty DOS partition table

15. p print the partition table

16. q quit without saving changes

17. s create a new empty Sun disklabel

18. t change a partition's system id

19. u change display/entry units

20. v verify the partition table

21. w write table to disk and exit

22. x extra functionality (experts only)

23. 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

New disk Volume

5. 創建物理卷:

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

# partprobe

# pvresize /dev/sda3

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

# pvdisplay

# vgextend centos /dev/sda3

image

Extend volume Group

6. 擴展邏輯卷:

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

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

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

# xfs_growfs /dev/mapper/centos-root

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

image

Increase disk space

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

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

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

image

Add new disk

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

image

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

image

Scanning new disk

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

# pvcreate /dev/sdb

# vgextend centos /dev/sdb

# vgdisplay

image

Extending Volume Group

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

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

# xfs_growfs /dev/mapper/centos-root

# df –h

image

Increase / Partition

參考

[1]: http://linoxide.com/author/kashifs/

[2]: https://github.com/runningwater

[3]: https://github.com/wxy

[4]: https://github.com/LCTT/TranslateProject


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM