新佈署的 CentOS 伺服器(含阿里雲、騰訊雲、實體機)通常僅有根分區,資料盤需手動分區、格式化、掛載並寫入 /etc/fstab 實現開機自動掛載。本文提供從 fdisk 到 mount -a 的標準化操作流程,適用 CentOS 6/7/8/9。

fdisk -l
# 或
lsblk -f
# 輸出範例:/dev/vdb (虛擬機)、/dev/sdb (實體機)、/dev/nvme1n1 (NVMe)
/dev/vdb 為例)fdisk /dev/vdb
# 互動式輸入:
n # 新建分區
p # 主分區
1 # 分區號 1
[enter] # 起始扇區預設
[enter] # 結束扇區預設(全盤)
w # 寫入分區表並退出
驗證:fdisk -l /dev/vdb 應顯示 /dev/vdb1。
| 檔案系統 | 指令 | 適用場景 |
|---|---|---|
| ext4 | mkfs.ext4 /dev/vdb1 | 通用、相容性佳、支援縮小 |
| xfs | mkfs.xfs /dev/vdb1 | 大檔案、高並發、CentOS 7+ 預設、不支援縮小 |
等待格式化完成(大容量盤可能需數分鐘)。
# 1. 建立掛載點
mkdir -p /data
# 2. 立即掛載
mount /dev/vdb1 /data
# 3. 寫入 /etc/fstab (UUID 方式最穩健)
blkid /dev/vdb1
# 輸出:/dev/vdb1: UUID="a1b2-c3d4-..." TYPE="ext4"
echo 'UUID=a1b2-c3d4-... /data ext4 defaults,noatime 0 0' >> /etc/fstab
# 4. 驗證 fstab 語法並生效
mount -a
# 無報錯即成功
# 5. 最終驗證
df -h /data
lsblk -f /dev/vdb1
| 欄位 | 值 | 說明 |
|---|---|---|
| 裝置 | UUID=... / LABEL=... / /dev/vdb1 | UUID 最穩健(裝置名可能隨啟動順序變化) |
| 掛載點 | /data | 目錄必須存在 |
| 檔案系統 | ext4 / xfs / auto | |
| 選項 | defaults,noatime | noatime 減少 atime 寫入,提升 SSD 壽命與效能 |
| dump | 0 | 不需 dump 備份 |
| fsck | 0 | 資料盤開機不檢查(根分區為 1) |
| 坑點 | 對策 |
|---|---|
直接用 /dev/vdb1 寫 fstab,重開機裝置名變 /dev/vdc1 掛載失敗 | 必用 UUID 或 LABEL |
| 掛載點目錄不存在 | mkdir -p 先建立 |
| 格式化為 xfs 後想縮小分區 | xfs 不支援縮小,規劃時預留空間或用 ext4 |
| SELinux 阻止服務寫入掛載點 | semanage fcontext -a -t var_lib_t "/data(/.*)?"; restorecon -Rv /data |
| 雲盤預設有分區表(如 /dev/vdb1 已存在) | 直接格式化現有分區,勿重複分區 |
遵循「識別 → 分區 → 格式化 → 掛載 → UUID 寫 fstab → mount -a 驗證」六步驟,CentOS 伺服器資料盤初始化一次到位,避免重開機掛載失敗的深夜驚魂。