介紹如何在 Linux 系統上使用 Parted 磁碟分割工具,分割 2TB 以上的大容量硬碟。
若在 Ubuntu 等 Debian 系列的 Linux 中,可用 apt
來安裝 Parted 磁碟分割工具:
# 安裝 Parted 磁碟分割工具(Ubuntu/Debian)
sudo apt install parted
若在 CentOS 或 Red Hat 系列的 Linux 中,可以使用 yum
安裝:
# 安裝 Parted 磁碟分割工具(RHEL/CentOS)
sudo yum install parted
若在 Fedora Linux 中則可用 dnf
安裝:
# 安裝 Parted 磁碟分割工具(Fedora)
sudo dnf install parted
若在 Arch Linux 中則可用 pacman
安裝:
# 安裝 Parted 磁碟分割工具(Arch) sudo pacman -S parted
若在 openSUSE Linux 中則可用 zypper
安裝:
# 安裝 Parted 磁碟分割工具(openSUSE)
sudo zypper in parted
在新增硬碟的時候,首先要查看一下系統上所有硬碟的資訊:
# 列出所有硬碟資訊 sudo parted --list
Error: /dev/vdb: unrecognised disk label Model: Virtio Block Device (virtblk) Disk /dev/vdb: 4295GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Model: Virtio Block Device (virtblk) Disk /dev/vda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 14 1049kB 5243kB 4194kB bios_grub 15 5243kB 116MB 111MB fat32 boot, esp 1 116MB 107GB 107GB ext4
這裡的 /dev/vda
是 Linux 系統用的磁碟,而 /dev/vdb
則是新增的磁碟,由於是新的磁碟,完全沒有任何磁碟分割表,所以會顯示 unrecognised disk label 的錯誤訊息。
/dev/sda
、/dev/sdb
等,而在虛擬機器中,虛擬的硬碟代號通常是 /dev/vda
、/dev/vdb
等。新的硬碟首先要建立磁碟分割表:
# 建立 GPT 磁碟分割表
sudo parted /dev/vdb mklabel gpt
接著建立磁碟分割區,最常見的方式就是將所有的空間整個規畫成一個分割區,也就是將分割區起始與結束位置設為 0%
與 100%
:
# 使用硬碟所有空間建立一個 Ext4 分割區
sudo parted /dev/vdb mkpart primary ext4 0% 100%
如果不是要使用整顆磁碟,可以自由更改分割區的起始與結束位置,例如:
# 建立大小為 2TB 左右的分割區
sudo parted /dev/vdb mkpart primary ext4 0% 2TB
分割好磁碟之後,接著進行格式化:
# 格式化 Ext4 分割區
sudo mkfs.ext4 /dev/vdb1
若要查磁碟分割的資訊,可以執行:
# 查看磁碟分割資訊
sudo parted /dev/vdb print
Model: Virtio Block Device (virtblk) Disk /dev/vdb: 4295GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 4295GB 4295GB ext4 primary
這樣就完成新磁碟的分割與格式化了。
將磁碟分割與格式化好之後,接著就可以將其掛載至系統上來使用了。首先建立一個掛載磁碟用的目錄:
# 建立掛載磁碟用的目錄
sudo mkdir /mnt/newdisk
以 mount
將磁碟掛載上去:
# 掛載新磁碟
sudo mount /dev/vdb1 /mnt/newdisk/
以 df
查看掛載後的磁碟使用狀況:
# 查看磁碟使用狀態 df -h
Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G 0% /dev tmpfs 1.6G 668K 1.6G 1% /run /dev/vda1 97G 1.7G 96G 2% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/vda15 105M 3.6M 101M 4% /boot/efi tmpfs 1.6G 0 1.6G 0% /run/user/1000 /dev/vdb1 3.9T 89M 3.7T 1% /mnt/newdisk
從 df
的輸出中可以看出新的磁碟已經正常掛載上去了,容量大約是 3.9 TB 左右。
若想要讓系統在開機時自動掛載新的磁碟,可以在 /etc/fstab
中加入以下設定:
# 開機自動掛載磁碟 /dev/vdb1 /mnt/newdisk ext4 defaults 0 0
若要測試 /etc/fstab
中的設定有無錯誤,可以使用 mount
指令掛載 /etc/fstab
中的所有的磁碟,看看有沒有問題:
# 掛載 /etc/fstab 中的所有磁碟 sudo mount -a
如果再建立磁碟分割區的時候,出現類似這樣的警告訊息:
Warning: The resulting partition is not properly aligned for best performance.
可以在建立磁碟分割區的時候,加上 -a optimal
參數試試看,例如:
# 使用最佳化的 alignment
sudo parted -a optimal /dev/vdb mkpart primary 0% 2TB
參考資料:2 Day Geek、StackExchange