Linux 磁碟 RAID 設定與管理 文章首圖

Linux 磁碟 RAID 設定與管理

Linux 磁碟 RAID 設定與管理

在伺服器運維與資料儲存領域中,資料的安全性與可用性永遠是首要考量。RAID(Redundant Array of Independent Disks,獨立磁碟冗餘陣列)技術透過將多塊物理磁碟組合起來,不僅能提升讀寫效能,更能提供資料的冗餘備援機制。對於中階 Linux 使用者而言,掌握 mdadm 工具是建立和管理軟體 RAID 的必備技能。本文將以 Ubuntu 22.04 / Debian 12 為基礎,帶你一步步建立一個高可用的 RAID 1 陣列。

環境準備與工具安裝

在開始之前,請確保你已經準備好至少兩塊容量相同或相近的磁碟設備(例如 /dev/sdb/dev/sdc)。請務必注意:以下操作會清除磁碟上的所有資料,請在測試環境或非重要資料上進行。

首先,更新套件清單並安裝 mdadm

sudo apt update
sudo apt install mdadm

安裝過程中,系統可能會詢問是否設定郵件通知或建立初始 RAID 裝置,若為初次設定,可暫時選擇「No」,後續再手動處理。

建立 RAID 1 陣列

RAID 1 是最基礎的鏡射(Mirroring)模式,資料會同時寫入兩塊磁碟,任何一塊故障都不會影響資料完整性,但儲存效率僅為 50%。

1. 確認磁碟狀態

使用 lsblkfdisk -l 確認磁碟名稱與狀態,確保沒有誤選到系統碟:

lsblk

2. 建立 RAID 裝置

我們使用 mdadm--create 參數來建立新陣列。這裡以 /dev/md0 為目標設備,採用 RAID 1 模式,並使用兩塊磁碟:

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

建立過程可能需要幾秒鐘,期間系統會進行初始化。你可以透過以下指令監控進度:

cat /proc/mdstat

輸出結果中會顯示 recovery 進度,等待其變成 active 狀態即表示陣列建立完成。

3. 格式化與掛載

RAID 裝置建立後,它看起來就像一個普通的磁碟設備。我們將其格式化為 ext4 檔案系統並掛載:

sudo mkfs.ext4 /dev/md0
sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

此時,你可以將重要資料複製到 /mnt/raid1 進行測試。

確保 RAID 配置持久化

預設情況下,mdadm 會將陣列配置寫入 /etc/mdadm/mdadm.conf,但這僅供參考。為了確保系統重啟後能自動偵測並組裝 RAID,我們需要執行以下步驟:

  1. 更新 mdadm 配置檔

    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
  2. 更新 initramfs: 這一步至關重要,它確保在系統啟動早期(root 檔案系統掛載前)就能載入 RAID 模組:

    sudo update-initramfs -u
  3. 設定自動掛載: 編輯 /etc/fstab,加入以下行以實現開機自動掛載(建議使用 UUID 以避免磁碟順序變化導致掛載錯誤):

    # 先取得 UUID
    sudo blkid /dev/md0
    
    # 編輯 fstab,加入類似如下內容(替換 <UUID> 為實際值)
    UUID=<UUID> /mnt/raid1 ext4 defaults,nofail 0 2

常見問題與解決方案

1. 磁碟故障如何替換?

若其中一塊磁碟(例如 /dev/sdb)發生故障,系統會標記為 faulty。替換步驟如下:

  1. 將故障磁碟標記為失敗並移除:
    sudo mdadm /dev/md0 --fail /dev/sdb
    sudo mdadm /dev/md0 --remove /dev/sdb
  2. 物理更換新磁碟後,將其加入陣列:
    sudo mdadm /dev/md0 --add /dev/sdb
  3. 陣列會自動開始重建(rebuild),可透過 cat /proc/mdstat 監控進度。

2. 如何正確停止並刪除 RAID?

若需移除陣列,請依序執行:

  1. 卸載檔案系統:sudo umount /mnt/raid1
  2. 停止陣列:sudo mdadm --stop /dev/md0
  3. 清除磁碟上的 RAID 元數據:sudo mdadm --zero-superblock /dev/sdb /dev/sdc
  4. /etc/fstab/etc/mdadm/mdadm.conf 中移除相關配置。

小結

透過 mdadm,Linux 使用者可以輕鬆地在軟體層面實現企業級的資料保護。RAID 1 提供了簡單的冗餘備援,適合對效能要求不高但重視資料安全的場景。若未來需要更高的讀寫效能,可考慮升級至 RAID 0(條帶化)或 RAID 5/6(奇偶校驗)。無論選擇何種模式,定期備份與監控始終是資料安全的最後一道防線。掌握這些基礎操作,將讓你在伺服器管理上更加得心應手。