本文在介紹的基礎上如何擴容資料盤並使擴容後的容量可用,重點探討了其具體操作步驟。
擴容資料碟_Linux
隨著業務的成長,您的資料磁碟容量可能無法滿足資料儲存的需要,這時您可以使用 磁碟擴容 功能擴充資料磁碟。
說明
掛載在實例上的資料盤,只有當實例處於 運行中 (Running) 或 已停止(Stopped) 狀態時才可以擴容。擴容這種資料盤需要在控制台上重新啟動實例後才能使擴充功能後的容量生效,而重啟實例會停止實例,中斷您的業務,所以請您謹慎操作。
建議在擴容資料盤之前手動建立快照,以備份資料。
無論資料磁碟的狀態是 待掛載 或 使用中,都可以執行磁碟擴充操作。
包年包月實例如果做過 續費降配 操作,當前計費週期的剩餘時間內,實例上的包年包月雲盤不支援擴充磁碟操作。
如果資料碟正在建立快照,則不允許執行擴充資料碟的操作。
磁碟擴充功能只能擴容資料盤,無法擴容系統磁碟或本機磁碟(本機 SSD 磁碟等)。
本文以一個高效能雲端碟的資料盤和一個運行CentOS 7.3 64位元的 ECS 實例為例,說明如何擴容資料碟並使擴容後的容量可用。
您可以依照下列步驟完成擴充操作:
步驟1. 在控制台上擴充資料磁碟的磁碟空間
步驟2. 登入實例擴充檔案系統
步驟1. 在控制台上擴充磁碟機的磁碟空間
#依照下列步驟在控制台上擴充資料磁碟的磁碟空間:
登入ECS管理控制台。
在左側導覽列裡,選擇 儲存 > 雲端碟。
說明
如果您需要擴容的資料碟已經掛載在某個實例上,您可以按一下實例,找到對應實例後,進入實例詳情頁,並按一下本實例磁碟.
選擇地域。
找到需要擴充的磁碟,並在 操作 列中,選擇 更多 > 磁碟擴容。
在 磁碟擴容 頁面上,設定 擴容後容量,在本範例中為30 GiB。擴容後容量只能比目前容量大。
待頁面上顯示費用資訊後,按一下 確定擴充功能。
說明
擴充功能成功後,磁碟清單裡即顯示擴容後的容量。但是,如果您的資料碟已經掛載到實例上,只有在控制台上 重新啟動實例 後,登入實例才能看到新的磁碟空間容量。
在控制台上擴充資料碟的磁碟空間後,
如果資料碟已經掛載到實例上,您必須執行 步驟 2. 登入實例擴充檔案系統。
如果資料碟未掛載到執行個體上,您必須先掛載資料磁碟(請參閱掛載雲端磁碟),再根據資料磁碟的實際情況執行不同的操作:
#如果這是一個未格式化的資料盤,您必須格式化資料盤。詳細信息,請參見 Linux 格式化和掛載資料碟。
如果這個資料盤之前已經格式化並且分割區,您必須 步驟 2. 登入實例擴充檔案系統。
步驟2. 登入實例擴充檔案系統
在ECS控制台上完成磁碟擴充後,磁碟每個分割區的檔案系統並未擴容。您需要登入實例擴容檔案系統。
在本範例中,假設資料碟掛載在一台Linux實例上,實例的作業系統為CentOS 7.3 64位,未擴充前的資料碟只有一個主分割區(/dev/vdb1,ext4檔案系統),檔案系統的掛載點為/resizetest,檔案系統擴充完成後,資料碟仍只有一個主分割區。
使用使用者名稱密碼驗證連線 Linux 實例。
執行 umount 指令卸載主分割區。
umount /dev/vdb1
說明
使用 df -h 查看是否卸載成功,如果看不到 /dev/vdb1 的資訊表示卸載成功。以下為範例輸出結果。
[root@iXXXXXX ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 1.5G 36G 4% / devtmpfs 487M 0 487M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 312K 496M 1% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0
使用fdisk 指令刪除原先的分割區並建立新分割區:
說明
如果您使用parted 工具操作分割區,不能與fdisk 交叉使用,否則會導致分割區的起始扇區不一致。關於 parted 工具的使用說明可以參考這裡。
執行指令 fdisk -l 羅列分割區資訊並記錄擴充前資料碟的最終容量、起始磁區(First sector)位置。
運行指令 fdisk [資料盤設備名稱] 進入 fdisk 介面。本範例中,指令為 fdisk /dev/vdb。
輸入 d 並按下回車鍵,刪除原先的分割區。
說明
刪除分割區不會造成資料盤內資料的遺失。
輸入 n 並按下回車鍵,開始建立新的分區。
输入 p 并按回车键,选择创建主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。
说明
如果要创建4个以上的分区,您应该创建至少一个扩展分区,即选择 e。
输入分区编号并按回车键。因为这里仅创建一个分区,所以输入 1。
输入第一个可用的扇区编号:为了保证数据的一致性,First sector需要与原来的分区保持一致。在本示例中,按回车键采用默认值。
说明
如果发现First sector显示的位置和之前记录的不一致,说明之前可能使用 parted 来分区,那么就停止当前的 fdisk 操作,使用 parted 重新操作。
输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
输入 wq 并按回车键,开始分区。
[root@iXXXXXX ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d Selected partition 1 Partition 1 is deleted Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): First sector (2048-62914559, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): Using default value 62914559 Partition 1 of type Linux and of size 30 GiB is set Command (m for help): wq The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
说明
如果您使用的是 parted 工具,进入 parted 界面后,输入 p 罗列当前的分区情况。如果有分区,则使用 rm+ 序列号来删除老的分区表,然后使用 unit s 定义起始位置,单位使用扇区个数计量,最后使用 mkpart 命令来创建即可,如下图所示。
部分操作系统里,修改分区后可能会重新自动挂载文件系统。建议先执行 df -h 重新查看文件系统空间和使用情况。如果文件系统重新被挂载,执行 umount [文件系统名称] 再次卸载文件系统。
检查文件系统,并变更文件系统大小。
e2fsck -f /dev/vdb1 # 检查文件系统 resize2fs /dev/vdb1 # 变更文件系统大小
说明
使用 e2fsck 时,由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据丢失。
以下为示例输出结果。
[root@iXXXXXX ~]# e2fsck -f /dev/vdb1 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vdb1: 11/1835008 files (0.0% non-contiguous), 159218/7339776 blocks [root@iXXXXXX ~]# resize2fs /dev/vdb1 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/vdb1 to 7864064 (4k) blocks. The filesystem on /dev/vdb1 is now 7864064 blocks long.
将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /resizetest)。
mount /dev/vdb1 /resizetest
查看文件系统空间和使用情况:运行命令 df -h。如果出现扩容后的文件系统信息,说明挂载成功,可以使用扩容后的文件系统了。
说明
挂载操作完成后,不需要在控制台上重启实例即可开始使用扩容后的文件系统。
以下为示例输出结果。
[root@iXXXXXX ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 1.5G 36G 4% / devtmpfs 487M 0 487M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 312K 496M 1% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0 /dev/vdb1 30G 44M 28G 1% /resizetest
以上是如何擴容資料盤並使擴容後的容量可用的詳細內容。更多資訊請關注PHP中文網其他相關文章!