linux磁盤擴容


Linux 磁盤擴容操作指引

磁盤新擴容的空間,可以被獨立創建成一個分區,或者用於擴容已有分區的空間。
Linux 虛擬機雲硬盤擴容有以下兩種場景需求:
1.        對於新增的容量空間,建立獨立的新分區,老的分區保持不變。
2.        擴容舊的分區至新增的容量空間,並且保持老分區的數據不丟失。
以上兩種場景,在您的linux虛擬機雲硬盤升級成功之后,都可以通過linux下的分區擴容工具(fdisk/e2fsck/resize2fs),執行一系列命令,完成分區擴容,並且保證原數據不會丟失。

以下分別介紹兩種場景下的操作流程:

新空間格式化成一個獨立分區

1. 查看數據盤信息
登錄Linux雲服務器后,可以使用“fdisk -l”命令查看數據盤的已分區和未分區的信息。使用“df –h”命令,無法看到未分區和格式化的數據盤。




2. 數據盤分區
執行以下命令,新建一個分區
fdisk /dev/xvdc
按照界面的提示,依次輸入”p”(查看現有分區信息)、“n”(新建分區)、“p”(新建主分區)、“2”(使用第2個主分區),兩次回車(使用默認配置),輸入“w”(保存分區表),開始分區。
這里是以創建1個分區為例,用戶也可以根據自己的需求創建多個分區。


3. 查看新分區
使用“fdisk -l”命令,即可查看到,新的分區xvdc2已經創建完成


4. 格式化新分區
在進行分區格式化時,用戶可以自行決定文件系統的格式,如ext2、ext3等。
這里以“ext3”為例:
使用下面的命令對新分區進行格式化。 
mkfs.ext3 /dev/ xvdc2


5.掛載新分區
使用命令“mkdir /data1”創建data1目錄,再通過“mount /dev/xvdc2 /data1”命令手動掛載新分區后,用“df -h”命令查看,出現以下信息說明掛載成功,即可以查看到數據盤了。


6.添加分區信息
如果希望雲服務器在重啟或開機時能自動掛載數據盤,必須將分區信息添加到/etc/fstab中。如果沒有添加,則雲服務器重啟或開機后,都不能自動掛載數據盤。
使用“echo '/dev/xvdc2 /data1 ext3 defaults 0 0' >> /etc/fstab
”命令添加分區信息后,使用“cat /etc/fstab”命令查看,出現以下信息表示添加分區信息成功。


新空間增加到已有分區空間中

1. 查看數據盤信息
登錄Linux雲服務器后,可以使用“fdisk -l”命令查看數據盤的已分區和未分區的信息。使用“df –h”命令,無法看到未分區和格式化的數據盤。 

 

2. 卸載正在使用的磁盤
使用以下命令,卸載已掛載的需要擴容的磁盤
umount /data

 

3. 數據盤分區
執行以下命令:
fdisk /dev/xvdc
按照界面的提示,一次輸入”p”(查看已有分區信息), ”d”(刪除需要擴容的分區)、“n”(新建分區)、“p”(新建主分區)、“1”(使用第1個主分區,必須保持與需要擴容的分區一樣),兩次回車(使用默認配置),輸入“w”(保存分區表),開始分區。
這里是以創建1個分區為例,用戶也可以根據自己的需求擴容多個分區。


4. 檢查擴容后的分區
使用“fdisk –l /dev/xvdc1”命令,即可查看到,新的分區xvdc1已經創建並擴容完成
再使用e2fsck -f /dev/xvdc1檢查擴容的分區是否ok


5. 擴容分區
使用resize2fs /dev/xvdc1命令擴容分區


6.掛載擴容后的分區
通過“mount /dev/xvdc1 /data”命令手動掛載擴容后的分區,用“df -h”命令查看,出現以下信息說明掛載成功,即可以查看到數據盤了。
再執行”ll /data”命令,可以查看到,擴容后原分區的數據沒有丟失

 

將新空間增加到已有分區空間中(第二中情況適用於磁盤未分區)

若原有的硬盤分區為一個MBR分區(可以看到vdb1,vdc1等字樣),同時在此分區上制作了文件系統。或原有的硬盤沒有分區,直接在此硬盤上制作了文件系統。這兩種情況都可以選擇使用自動擴容工具進行擴容。

自動擴容工具適用於Linux操作系統,用於將擴容時新擴的雲硬盤存儲空間添加到已存在的文件系統中,擴容能夠成功必須滿足下面3個條件:

  • 文件系統是ext2/ext3/ext4

  • 當前文件系統不能有錯誤

  • 擴容后的磁盤大小不超過2TB

下面介紹自動擴容工具的使用方法。

卸載正在使用的硬盤分區

執行以下命令卸載分區:

umount 掛載點

下載一鍵擴容工具

執行以下命令下載工具:

wget -O /tmp/devresize.py http://mirrors.tencentyun.com/install/virts/devresize.py

執行擴容工具

執行以下命令進行擴容:

python /tmp/devresize.py 硬盤路徑

請注意,這里硬盤路徑是需要擴容的雲硬盤,而不是分區名。若您的文件系統在vdb1上,則應執行python /tmp/devresize.py /dev/vdb

若輸出“The filesystem on /dev/vdb1 is now XXXXX blocks long.“則表示擴容成功。

若輸出的是“[ERROR] - e2fsck failed!!“,請先用fsck對文件系統所在分區進行修復,可以執行以下命令進行自動修復:

fsck -a 分區路徑

請注意這里與前一個命令不同,需要填寫的是文件系統所在分區。若您的文件系統在vdb1上,則應執行fsck -a /dev/vdb1

修復成功后,再使用python /tmp/devresize.py 硬盤路徑來使用擴容工具進行擴容。

重新掛載擴容后的分區

執行以下命令掛載擴容后的分區:

mount 分區路徑 掛載點

並通過以下命令查看擴容后的分區容量:

df -h

這里通過mount /dev/vdb1 /data命令手動掛載擴容后的分區(如果原先是沒有分區的,執行mount /dev/vdb /data),用df -h命令查看,出現以下信息說明掛載成功,即可以查看到數據盤了:


再執行ll /data命令,可以查看到,擴容后原分區的數據沒有丟失,新增加的存儲空間已經擴容到文件系統中。


免責聲明!

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



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