Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 軟體 RAID 5 完整建立與管理實戰:從分區、建陣列到故障模擬與熱插拔

編輯:Linux 教學

軟體 RAID 以成本低、彈性高成為中小企業存儲首選。本文以四顆硬碟 (/dev/sda~sdd) 為例,完整演示 RAID 5 建立、配置開機自動掛載、檔案系統格式化、故障模擬與熱移除/新增硬碟全流程。

RAID 等級快速比較

等級特點缺點
RAID 0速度最快無容錯,一顆壞全掛
RAID 1鏡像,完全容錯成本高,容量利用率 50%
RAID 5分散式奇偶校驗,兼顧速度/容錯/容量寫入有運算開銷,重建壓力大
RAID 0+1速度快+完全容錯成本極高,需 4 顆以上

實驗環境與分區

四顆 1GB 虛擬硬碟 (/dev/sda~/dev/sdd),各建立一個主分區 (sd[a-d]1,類型 83 Linux)。

# fdisk /dev/sda
Command (m for help): n → p → 1 → Enter → Enter → w
# 其餘三顆同理
# fdisk -l 確認分區

建立 RAID 5 陣列 (3 活動 + 1 熱備)

mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[a-d]1
# 輸出:mdadm: array /dev/md0 started.

查看陣列詳細資訊

mdadm --detail /dev/md0

關鍵輸出:

  • Raid Level : raid5
  • Array Size : 2088192 (2039.25 MiB) (3 顆有效容量)
  • Raid Devices : 3, Total Devices : 4
  • State : clean
  • 裝置狀態:sda1/sdb1/sdc1 為 active sync,sdd1 為 spare

配置開機自動組裝 (/etc/mdadm.conf)

# 產生初始配置
mdadm --detail --scan > /etc/mdadm.conf
# 手動修正格式 (DEVICES 行前置)
vi /etc/mdadm.conf
# 正確內容:
DEVICES /dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=e62a8ca6:2033f8a1:f333e527:78b0278a

建立檔案系統與掛載測試

mkfs.ext3 /dev/md0
mkdir /mdadm
mount /dev/md0 /mdadm
cp /etc/services /mdadm/  # 測試讀寫

故障模擬與熱插拔實測

1. 模擬硬碟故障

mdadm /dev/md0 --fail /dev/sdc1
cat /proc/mdstat
# 顯示 sdc1 標記 (F),陣列仍 [UUU] 正常運作

2. 移除故障硬碟

mdadm /dev/md0 --remove /dev/sdc1
cat /proc/mdstat
# 顯示僅剩 sda1/sdb1/sdd1,sdd1 自動升為 active sync

3. 新增硬碟 (原故障碟修復後或新碟)

mdadm /dev/md0 --add /dev/sdc1
cat /proc/mdstat
# 顯示 sdc1 變為 spare,陣列背景重建中
⚠ 生產環境注意:
  • RAID 5 重建期間效能大幅下降,且若再有一顆故障將導致資料遺失,建議關鍵資料採用 RAID 6 或 RAID 10。
  • 定期執行 mdadm --detail /dev/md0 與 cat /proc/mdstat 監控狀態,並設定郵件告警 (MAILADDR 在 mdadm.conf)。
  • 重要資料仍需異地備份,RAID 不是備份替代品!
Copyright © Windows教程網 All Rights Reserved