為 Linux 服務器新增硬盤是基礎運維必修課。本文以 IDE 硬盤從盤為例,圖文並茂記錄 BIOS 設置、fdisk 分區、mkfs 格式化、mount 掛載、fstab 持久化的完整流程,並補充 SCSI/SATA/NVMe 差異與 LVM 擴容進階方案。
| 介面類型 | 關鍵設置 | 設備命名 |
| IDE/PATA | 跳線帽設置 Master/Slave,共用數據線 | /dev/hda (主)、/dev/hdb (從) |
| SATA | BIOS 啟用 AHCI 模式,熱插拔支援 | /dev/sda, /dev/sdb... |
| SCSI/SAS | 控制器 BIOS 分配唯一 SCSI ID (0-15) | /dev/sda, /dev/sdb... |
| NVMe | PCIe 插槽直連,無控制器配置 | /dev/nvme0n1, /dev/nvme1n1... |
本例假設第二塊 IDE 硬盤跳線設置為 Slave,連接在 Primary IDE 數據線上,系統識別為 /dev/hdb。
步驟一:fdisk 互動式分區
fdisk /dev/hdb
Command (m for help): n # 新建分區
Command action: p # 主分區
Partition number (1-4): 1 # 分區號 1
First cylinder: [Enter] # 默認起始
Last cylinder: [Enter] # 默認結束(全盤)
Command (m for help): w # 寫入分區表
分區完成後內核自動識別 /dev/hdb1,可用 fdisk -l /dev/hdb 或 lsblk 驗證。
步驟二:格式化文件系統
# ext4(現代默認推薦)
mkfs.ext4 /dev/hdb1
# xfs(大文件/高並發優勢)
mkfs.xfs /dev/hdb1
# ext3(舊系統兼容)
mkfs.ext3 /dev/hdb1
注意:mkfs 會銷毀分區上所有數據,操作前務必確認設備路徑正確。
步驟三:掛載到目錄
mkdir -p /disk2
mount /dev/hdb1 /disk2
# 驗證
df -h /disk2
ls /disk2
# lost+found 目錄存在即掛載成功
步驟四:開機自動掛載(/etc/fstab)
編輯 /etc/fstab 新增:
/dev/hdb1 /disk2 ext4 defaults 0 2
欄位詳解:
| 欄位 | 示例 | 說明 |
| 設備 | /dev/hdb1 | 或 UUID=xxxx / LABEL=xxx(推薦) |
| 掛載點 | /disk2 | 目錄必須預先存在 |
| 文件系統 | ext4 | auto 可自動檢測 |
| 參數 | defaults | rw,suid,dev,exec,auto,nouser,async |
| dump | 0 | 0=不備份,1=備份(極少用) |
| fsck | 2 | 0=不檢查,1=根分區優先,2=其他分區 |
驗證持久化
# 測試 fstab 語法無誤
mount -a
# 重啟系統最終驗證
reboot
df -h /disk2
進階:LVM 彈性擴容(推薦生產環境)
# 1. 建立物理卷
pvcreate /dev/hdb1
# 2. 加入卷組(假設現有 vg_data)
vgextend vg_data /dev/hdb1
# 3. 擴展邏輯卷(假設 lv_storage)
lvextend -l +100%FREE /dev/vg_data/lv_storage
# 4. 擴展文件系統(ext4/xfs)
resize2fs /dev/vg_data/lv_storage # ext4
xfs_growfs /dev/vg_data/lv_storage # xfs
LVM 優勢:跨磁碟擴容、在線縮減 (ext4)、快照備份、遷移數據不停機。
避坑清單
- 設備名漂移:重啟後 /dev/hdb 可能變 /dev/hdc → 必須用 UUID/LABEL
- 分區表類型:>2TB 必須用 GPT (gdisk/parted),MBR 限制 2TB
- 對齊優化:
parted -a optimal 4K 對齊提升 SSD 性能壽命
- 掛載選項:SSD 加
discard,noatime;數據盤 nodev,nosuid,noexec 增強安全
一鍵腳本化:將上述流程封裝為 Ansible Role 或 Shell 腳本,參數化設備路徑、掛載點、文件系統類型,實現「新增磁碟 → 執行腳本 → 完成」標準化交付。