如何在 Debian 12 上透過命令列設定 RAID 1 陣列

此過程在 Debian 12 (Bookworm) 上建立軟體 RAID 1 資料陣列mdadm,將組裝好的裝置格式化為 ext4 檔案系統,並將其持久掛載。此程序假定 Debian 已安裝在單獨的系統磁碟上,且兩個 RAID 磁碟均未使用。以下命令僅為範例;設備名稱和大小必須在您要設定的伺服器上進行核對。

資料遺失警告:分割區和格式化操作可能會損壞資料。請勿在包含重要文件的磁碟上執行這些命令。 RAID 1 僅鏡像寫入操作;它不能取代獨立備份,也無法防止刪除、檔案系統損壞、竊取或惡意軟體同時更改兩個副本。

開始之前:請確認目標磁碟。

  • sudo必須擁有 root 權限,或在每次執行管理指令前使用 root 權限。
  • 使用兩塊獨立的硬碟,理想情況下,兩塊硬碟的容量應相等或相近。陣列的可用容量受限於容量較小的那塊硬碟。
  • 將作業系統、開機載入程式和 EFI 系統分割區置於此資料陣列過程之外。
  • 備份重要數據,並確認兩個目標磁碟均未掛載或正在使用。

本文所使用的工具來自 Debian 12 Bookworm。 `mdadm`、`sgdisk` 和 `update-initramfs` 的具體行為mdadm已sgdisk在Debian Bookworm 的 `mdadm` 手冊、`sgdisk` 手冊和`update-initramfs` 手冊update-initramfs中進行了詳細說明。如果您的已安裝軟體套件有所不同,請查閱這些版本相關的參考文件。

如何在 Debian 12 上設定 RAID 1

1. 識別磁碟並檢查它們是否未使用。

首先建立唯讀庫存:

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
findmnt

在下面的範例中,/dev/sda`<system>` 是 Debian 系統盤,而 `<data>`/dev/sdb和/dev/sdc`<data>` 是空白的 2TB 資料盤。您的磁碟名稱可能有所不同。請符合磁碟的大小、型號、序號、檔案系統和掛載點;不要僅憑磁碟/dev/sdX名稱來識別磁碟。若要取得持久的標識符,請檢查ls -l /dev/disk/by-id/每個連結並將其與 `<system>` 命令列印的序號關聯起來lsblk。

lsblk 指令的終端機視圖,列出了系統磁碟和兩個未使用的資料磁碟。
lsblk 指令的終端輸出範例:系統磁碟已掛載,而兩個獨立的資料磁碟則沒有檔案系統或掛載點。請在繼續操作前,在您的伺服器上確認這些資訊。

2. 在每個空白磁碟上建立一個 Linux RAID 分割區

對於已確認為空的磁碟,在可用空間上建立 GPT 分割區,並將其標記為 Linux RAID。以下fd00是 sgdisk 用於 Linux RAID 的簡寫程式碼:

sgdisk --new=1:0:0 --typecode=1:fd00 /dev/sdb
sgdisk --new=1:0:0 --typecode=1:fd00 /dev/sdc
partprobe /dev/sdb /dev/sdc
udevadm settle
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS /dev/sdb /dev/sdc

將範例磁碟名稱替換為兩個已驗證的目標磁碟名稱。--new=1:0:0此操作會指示 sgdisk 透過可用空間分配分割區 1。如果選擇包含現有資料的磁碟,則分割區表編輯操作會破壞現有資料。如果 sgdisk 報告存在現有佈局、意外分區或不明錯誤,請停止操作並進行調查,而不是強制變更。確認新分割區(通常為 1/dev/sdb1和 2 /dev/sdc1)存在且大小大致相同。

終端機顯示 sgdisk 在每個資料磁碟上建立一個 Linux RAID 分割區。
下圖展示了 sgdisk 命令將 Linux RAID 分割區寫入兩個選取資料磁碟的終端視圖。分割區操作會變更磁碟元數據,因此必須僅針對已驗證的空磁碟機進行操作。

3. 安裝 mdadm 和 GPT 分割區工具

更新軟體包索引並安裝所需命令:

apt update
apt install mdadm gdisk

該gdisk軟體包提供所需內容sgdisk。在接受軟體套件管理器提出的更改之前,請仔細審查這些更改,尤其是在生產主機上。

在 Debian Bookworm 系統上,使用 apt 安裝 mdadm 和 gdisk 的終端視圖。
apt 從 Debian Bookworm 軟體倉庫安裝 mdadm 和 gdisk 的終端機範例視圖。

4. 建立雙磁碟 RAID 1 陣列

請使用分割設備(而非整個磁碟)作為陣列成員。/dev/disk/by-id/…-part1如果可用,請替換為您已驗證的穩定路徑;以下範例使用簡短名稱以保持其可讀性:

mdadm --create /dev/md0 \
  --metadata=1.2 --level=1 --raid-devices=2 \
  /dev/sdb1 /dev/sdc1

--level=1選擇鏡像,--raid-devices=2設定兩個成員,並明確指定元資料版本 1.2。建立陣列時會寫入 RAID 元資料並啟動同步。如果 mdadm 警告某個成員包含現有 RAID 元資料或您無法解釋的數據,請勿繼續。請勿使用--force快捷方式進行響應。

mdadm 指令的終端視圖,用於建立雙設備 RAID 1 陣列。
這是使用 mdadm --create 命令建立雙磁碟 RAID 1 陣列的終端範例。圖中顯示的設備名稱僅為範例,並非實際磁碟名稱。

5. 監控同步狀況並驗證兩位成員

檢查進度和陣列的目前狀態:

cat /proc/mdstat
mdadm --detail /dev/md0

在初始同步期間,/proc/mdstat可能會顯示重新同步百分比和預計時間;請等待同步完成,然後再將鏡像視為完全同步。一個典型的已完成的雙成員陣列會顯示“已[2/2] [UU]同步”,表示兩個預期成員槽位都已存在;同時,mdadm --detail應該列出兩個活動設備並報告狀態為“乾淨”。這些指標描述的是陣列當時的健康狀況;它們並非備份檢查,也不能保證任何實體磁碟始終保持健康。

終端視圖 /proc/mdstat 和 mdadm --detail 顯示有兩個活動的 RAID 1 成員。
/proc/mdstat 和 mdadm --detail 的終端輸出範例。一個正常的雙成員陣列通常會顯示兩個成員都處於活動狀態,且輸出為 [2/2] [UU];請在主機上查看即時輸出。

6. 儲存陣列定義以便在啟動時進行彙編。

請向 mdadm 詢問陣列定義:

mdadm --detail --scan /dev/md0

檢查傳回的行,並使用編輯器ARRAY將該行精確新增至 ` <mdadm.conf>` 檔案中,同時保留所有現有的陣列項目。避免盲目地追加重複的副本。 Debian 的 ` mdadm.conf` 手冊中記錄了此檔案以及陣列定義如何支援彙編。在標準的 Debian 安裝中使用 initramfs-tools 後,更改配置後需要重新建置 initramfs:/etc/mdadm/mdadm.conf

update-initramfs -u

此操作會更新現有的 initramfs 映像,不會建立陣列備份。如果此系統使用不同的 initramfs 框架或非標準啟動設置,請依照該框架的文件更新步驟進行操作。

mdadm 陣列配置發現的終端視圖,然後執行 update-initramfs。
使用 mdadm --detail --scan 和 initramfs 更新指令發現的 ARRAY 條目的終端機範例視圖。

7. 建立檔案系統並掛載組裝好的陣列

只有在確認這/dev/md0是新的陣列之後,才能在該裝置上建立 ext4 檔案系統:

mkfs.ext4 /dev/md0
mkdir -p /srv/raid1
mount /dev/md0 /srv/raid1
blkid /dev/md0

mkfs.ext4擦除目標設備上的檔案系統資料。請在已組裝的陣列設備上執行此命令,而不是在 `<filename>`/dev/sdb1或 `<filename> ` 設備上運行/dev/sdc1;直接格式化成員會繞過鏡像。複製 `<filename>` 列印的檔案系統 UUID blkid,然後在 `<filename>` 檔案中新增以下行/etc/fstab,並將佔位符替換為實際的 UUID:

UUID=YOUR-FILESYSTEM-UUID /srv/raid1 ext4 defaults 0 2

使用檔案系統 UUID 可以避免依賴 Linux 發現磁碟的順序。最後,2它會啟用 ext 檔案系統的正常輔助檔案系統檢查順序。如果您選擇nofail掛載選項以便在儲存不可用時啟動仍能繼續,請確保在陣列不存在時,服務不會寫入裸掛載點目錄。

使用 ext4 格式化 /dev/md0 並將其掛載到 /srv/raid1 的終端視圖。
圖示為在組裝好的陣列設備上建立 ext4 檔案系統並將其掛載到 /srv/raid1 的終端視圖。格式化會擦除現有的檔案系統資料。

8. 測試掛載配置並規劃受控重啟

在不重新啟動的情況下檢查 fstab 條目,然後驗證產生的掛載點和 RAID 狀態:

mount -a
findmnt /srv/raid1
df -hT /srv/raid1
cat /proc/mdstat
mdadm --detail /dev/md0

findmnt應該顯示/dev/md0已掛載/srv/raid1到預期檔案系統。如果未顯示,請/etc/fstab在重新啟動前進行修正;拼字錯誤可能會導致啟動中斷或掛載點遺失。檢查通過後,安排一次受控重啟,並在重啟後重複掛載點和 RAID 檢查。本文並不保證已對特定伺服器進行重新啟動測試。

終端視圖顯示 fstab UUID 項目,findmnt 指令確認 RAID 掛載。
fstab 和 findmnt 中的檔案系統 UUID 條目的終端機範例視圖,顯示 /dev/md0 掛載在 /srv/raid1。

快速查核清單

  • 目標正確:序號/型號和掛載檢查確認所選資料磁碟是預期的未使用磁碟機。
  • 分區:兩個成員分區都存在,大小相似。
  • 陣列健康狀況: /proc/mdstat顯示[UU]同步後兩個成員均存在,並mdadm --detail報告有兩個活動設備。
  • 檔案系統和掛載點: findmnt /srv/raid1顯示陣列支援的設備和預期路徑上的預期檔案系統。
  • 持久性:陣列定義保存在/etc/mdadm/mdadm.conf,檔案系統 UUID 保存在/etc/fstab,計劃重新啟動確認兩者都已組裝並掛載。

局限性和恢復注意事項

RAID 1 會在每個成員上保留已寫入資料區塊的副本,因此單一成員的故障會導致陣列降級運作。但這並不意味著所有應用程式都能正常運作,或者所有故障都能在不停機的情況下處理。請監控機器並及時處理磁碟或陣列警報。在更換故障磁碟之前,請使用mdadm --detail /dev/md0穩定的裝置識別碼來確定受影響的成員。替換磁碟通常至少需要與現有成員一樣大,且分割區與陣列相符;添加正確標識的替換分割區mdadm --add /dev/md0 /dev/REPLACEMENT_PARTITION後,將啟動重建程序。在運行任何恢復命令之前,請仔細驗證設備標識,並監控重建過程,直到兩個成員都恢復正常狀態。

請勿使用此資料卷指南來鏡像 Debian 根檔案系統。可啟動的根 RAID 設定對 EFI 系統分割區、引導程式安裝、initramfs 內容以及復原測試都有額外要求。同樣,請勿將健康的鏡像視為獨立副本:請維護一個單獨的、版本化的備份,並測試從該備份還原檔案。有關 Debian 軟體 RAID 的一般管理,請參閱Debian SoftwareRAID 文件以及上面連結的 Bookworm 版本化手冊。

留下評論

如何在 Ubuntu 上使用 Cgroups 限制進程的 CPU 和記憶體使用量

如何在 Ubuntu 上使用 Cgroups 限制進程的 CPU 和記憶體使用量

在 Ubuntu 上使用 systemd cgroups 來限制指令或服務的 CPU 時間和記憶體使用量。比較瞬態作用域、持久限制和關鍵權衡。

如何將 Gooroom OS UI 元素翻譯成英文

如何將 Gooroom OS UI 元素翻譯成英文

如果 Gooroom OS 支援英語,請將選單語言切換為英語。請依照 GNOME 設定路徑、Debian 語言環境回退方案和故障排除步驟進行操作。

修復 Ubuntu 系統中 apt-Get Lock 無法取得鎖定 /var/lib/dpkg/lock-frontend 的問題

修復 Ubuntu 系統中 apt-Get Lock 無法取得鎖定 /var/lib/dpkg/lock-frontend 的問題

了解如何透過檢查活動軟體包進程、安全性等待以及僅在更新中斷時修復 dpkg 來修復 Ubuntu apt-get lock 錯誤。

如何在 Debian 12 上透過命令列設定 RAID 1 陣列

如何在 Debian 12 上透過命令列設定 RAID 1 陣列

使用 mdadm 在 Debian 12 上設定雙磁碟 RAID 1 資料陣列:識別磁碟、安全分割區、設定啟動元件、格式化 ext4 並驗證掛載。

使用 KontrolPack 透過網路連接/控制計算機

使用 KontrolPack 透過網路連接/控制計算機

使用 KontrolPack 輕鬆控製網路中的電腦。輕鬆連接和管理運行不同作業系統的電腦。

使用 Actionaz 模擬鍵盤和滑鼠點擊

使用 Actionaz 模擬鍵盤和滑鼠點擊

你想自動執行一些重複的任務嗎?與其手動點擊按鈕,不如用一個應用程式

BBC iPlayer 至 iPhone 下載器

BBC iPlayer 至 iPhone 下載器

iDownloade 是一款跨平台工具,可讓使用者從 BBC 的 iPlayer 服務下載無 DRM 保護的內容。它可以下載 .mov 格式的視頻

Thunderbird 3 中的 14 個新功能將讓您欣喜不已

Thunderbird 3 中的 14 個新功能將讓您欣喜不已

我們已經詳細介紹了 Outlook 2010 的功能,但由於它不會在 2010 年 6 月之前發布,所以現在是時候看看 Thunderbird 3 了。

免費下載 FlightGear 飛行模擬器 [玩得開心]

免費下載 FlightGear 飛行模擬器 [玩得開心]

每個人偶爾都需要休息一下,如果你想玩有趣的遊戲,不妨試試 Flight Gear。它是一款免費的多平台開源遊戲。

Mp3 Diags:修復多達 50 個 Mp3 音訊檔案問題

Mp3 Diags:修復多達 50 個 Mp3 音訊檔案問題

MP3 Diags 是修復音樂音訊收藏問題的終極工具。它可以正確標記您的 MP3 文件,添加缺少的專輯封面,修復 VBR