parted 怎麼用? 6步驟操作Linux磁碟分割區
LINUX 實用技巧

parted 怎麼用? 如何操作 Linux LVM (建立、擴充) 以及掛載全新的硬碟

parted 是什麼?

Linux 中的 Parted 是一個用來管理磁碟分割區的工具,任何新增、刪除、大小變更等動作都可以用這個工具來處理。

傳統上 Linux 系統中若要管理磁碟分割區,最常使用的工具就是 fdisk,而這個工具只適用於容量較小的硬碟,容量太大的硬碟 (超過2TB) 就無法使用 fdisk 來處理。

Linux LVM 是什麼?

LVM 的全名是 Logical Volume Manager,中文可以翻譯作邏輯捲軸管理員。之所以稱為『捲軸』可能是因為可以將 filesystem 像捲軸一樣伸長或縮短之故!LVM 的作法是將幾個實體的 partitions (或 disk) 透過軟體組合成為一塊看起來是獨立的大磁碟 (VG) , 然後將這塊大磁碟再經過分割成為可使用分割槽 (LV), 最終就能夠掛載使用了。

  • Physical Volume, PV, 實體捲軸:作為 LVM 最基礎的物理捲軸,可以是 partition 也可以是整顆 disk。
  • Volume Group, VG, 捲軸群組:將許多的 PV 整合成為一個捲軸群組 (VG),這就是所謂的最大的主要大磁碟。 讀者應該知道磁碟的最小儲存單位為 sector,目前主流 sector 為 512bytes 或 4K。而 LVM 也有最小儲存單位, 那就是 Physical Extent (PE),所有的資料都是透過 PE 在 VG 當中進行交換的。
  • Physical Extent, PE, 實體範圍區塊:PE 是整個 LVM 最小的儲存區塊,系統的檔案資料都是藉由寫入 PE 來處理的。 簡單的說,這個 PE 就有點像檔案系統裡面的 block 。PE 預設需要是 2 的次方量,且最小為 4M 才行。
  • Logical Volume, LV, 邏輯捲軸:最終將 VG 再切割出類似 partition 的 LV 即是可使用的裝置了。 LV 是藉由『分配數個 PE 所組成的裝置』,因此 LV 的容量與 PE 的容量大小有關。

鳥哥前輩很用心,幫大家整理了一張常用的表,在各個階段會使用到相關指令如下表:

本段落引用 鳥哥Linux私房菜

安裝 parted 磁碟分割工具

sudo yum install parted

安裝完後,就可以繼續操作 parted

parted 使用方式,5個步驟輕鬆完成掛載

理解 LVM 概念後,我們要做的是順序就是 partition –> PV –> VG –> LV –> filesystem 這5個步驟,是不是清楚很多呢?本文的範例是,某VM空間即將不足,在管理介面再多分配空間給這台VM,要怎麼把這些空間掛載進LVM中的解說步驟。

Step 1 確認Disk是否變更為自己設定的範圍

parted

Step 2 分割磁碟

(parted) mkpart

起始點數值可以參考上一個partition的結束點(本例為68.7GB)

而結束點,如果是全部切,可使用完整磁碟大小(本例為137GB)

Step 3 設定磁區

編號(primary) 最多4個

#編號 4,由上圖可知目前已經編到 3 故從 4開始
(parted) set 4 lvm on
(parted) quit

Step 4 創新磁碟區 /dev/sda4

#創建 /dev/sda4
pvcreate /dev/sda4

#查詢VG Name 如下圖紅框
vgdisplay  

vgextend centos /dev/sda4

看到 Successfully 就表示成功了

Step 5 檢查磁碟區是否真的已經創建成功

lvdisplay

lvextend /dev/centos/root /dev/sda4

Step 6 重新掃描檔案系統結構

xfs 檔案系統:

xfs_growfs /dev/centos/root

ext4 檔案系統:

resize2fs /dev/centos/root

在接著顯示容量,就可以看到主要的硬碟已經擴充

df -h

掛載全新的硬碟

Step1 先檢查當前分割槽資訊

# 使用 lsblk,fdisk,df 等命令檢視當前分割槽資訊 

lsblk

本範例中新增了一顆 4TB 的硬碟尚未掛載

Step2 執行 parted

從上圖可得知新硬碟的位置,可以執行以下指令

parted /dev/sdb

Step3 執行 parted

建議都使用 GPT 來進行磁碟分割,除非是如果你的主機板較舊,或仍然使用舊版的BIOS系統,則應該選擇MBR。

# 建立磁碟標籤
(parted) mklabel GPT

Step4 建立分割區

(parted) print

# 建立主分割槽,n 為要分的分割槽佔整個磁碟的百分比
(parted) mkpart primary 0% 100%

(parted) quit

# 讓系統知道新增新分割槽
partprobe

# 格式化
mkfs.ext4 /dev/sdb

Step5 掛載磁碟

# 建立目錄
mkdir /mnt

# 將剛剛的磁碟掛載到目錄
mount /dev/sdb /mnt

Step5 設定開機自動掛載

# 設定開機自動掛載磁碟
vi /etc/fstab

# 新增以下到 fstab
/dev/sdb    /mnt     ext4    defaults    0    0

Step6 檢查是否有成功

df -h

這樣看起來就有掛載成功囉!

參考資料: 鳥哥的 Linux 私房菜sc8logofficeguide

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。