使用 mdadm - RAID1 陣列不鏡像其他磁碟

使用 mdadm - RAID1 陣列不鏡像其他磁碟

目前我正在 Ubuntu 20.04 上建置一個 nextcloud 伺服器。我有一張磁碟供作業系統在 320GB 硬碟上運行。我希望資料目錄位於 raid1 陣列中,因為如果一個磁碟機發生故障,我們仍然可以在另一個磁碟機上儲存資料。所以我在 /dev/md0 上的 raid1 陣列中獲得了 2 個 500GB 的硬碟。

當我跑步時:cat /proc/mdstat

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

unused devices: <none>

當我運行時,它說它處於活動狀態: sudo mdadm --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Fri Aug 14 16:50:18 2020
        Raid Level : raid1
        Array Size : 488254464 (465.64 GiB 499.97 GB)
     Used Dev Size : 488254464 (465.64 GiB 499.97 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sat Aug 15 14:50:13 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : nextcloudserver:0  (local to host nextcloudserver)
              UUID : e525d3e8:2d738f44:59d495fa:2fdcce41
            Events : 9032

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

它說這個州是乾淨的。不是應該重新同步嗎?

須藤 mdadm --detail /dev/md0

mdadm: No md superblock detected on /dev/md0.

我錯過了什麼嗎?

因此 /dev/md0 掛載在 /mnt/raid1 上。我在 /mnt/raid1 中建立了一個文字檔。當我關閉電腦並拔出 raid1 陣列中的一個硬碟並啟動電腦。我找不到我在 /mnt/raid1 中建立的文字檔案。

如果我執行 cat /proc/mdstat 它會顯示狀態為非活動狀態

那麼任何人都可以幫我鏡像磁碟嗎?這樣,如果其中一個失敗,nextcloud 仍會在另一磁碟上保留日期。

如有任何幫助,將不勝感激,事先致謝

這是我遵循的教程:(https://www.linuxbabe.com/linux-server/linux-software-raid-1-setup

直到第 5 步它對我有用。插入其中一個硬碟後,我無法再繼續操作了。

答案1

你可以強制它我猜命令是:

mdadm --assemble --force /dev/md0 /dev/sdb /dev/sdc

然而,人們會建立分區,然後在其上建立 md0 數組,因此命令將變為,

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1

(我不明白,但你可能已經在原始磁碟上創建了它......)

這會給你你的文件。

重點是磁碟顯示不活動,當您強制它時,它會顯示退化。通常,一旦陣列處於非活動狀態,您應該使用它mdadm --scan --detail來弄清楚發生了什麼。如果驅動器發生故障,您應該使用它--fail來渲染它失敗。然後使用sgdisk複製工作磁碟的gpt表到新磁碟並更改新磁碟uuid並重建陣列。

但您始終可以強制使用單一磁碟來建立陣列。

這裡的大問題是使用 raid1 而不是正確的每日備份。 Raid 用於不間斷操作,當磁碟發生故障時/proc/mdstat會顯示它,您甚至可以繼續操作--fail磁碟並重新同步它,它會自動重建而無需停止操作...

看一下這個:

https://www.thomas-krenn.com/en/wiki/Mdadm_recovery_and_resync

答案2

您的輸出cat /proc/mdstat顯示正常運作的 RAID 1 陣列。

md0 : active raid1 sdb[0] sdc[1]
      488254464 blocks super 1.2 [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

這裡,active意味著它已經啟動,有兩個磁碟。您寫入 md0 的任何內容都將鏡像到兩個磁碟。

在您的mdadm --detail輸出中,clean表示 MD 認為兩個磁碟是同步的。兩者/proc/mdstat都會在您建立陣列後mdadm --detail顯示resync,同時它使兩個磁碟機同步,除非您--assume-clean在命令列上使用mdadm create.

我認為後續的問題都是由於 RAID 陣列啟動時沒有啟動,以及啟動時沒有安裝您建立的檔案系統造成的。例如,在下面的輸出中,該陣列顯然沒有運作。

sudo mdadm --detail /dev/md0
mdadm: No md superblock detected on /dev/md0.

如果啟動後您的陣列未運行,您可以像這樣手動組裝它:

mdadm --assemble /dev/md0 /dev/sdb /dev/sdc

然後,掛載您的檔案系統。

mount /dev/md0 /mnt/raid1

要讓陣列在啟動時自動啟動,您需要在 中進行設定/etc/mdadm.conf。最簡單的方法是mdadm --detail --scan在數組運行時發送那裡的輸出。

mdadm --detail --scan >> /etc/mdadm.conf

若要在啟動時掛載檔案系統,請將其新增至/etc/fstab.按照其中的說明進行操作,或使其看起來像其他條目之一。

正如另一個回答者所說,RAID 不是備份解決方案。當您的某些硬體發生故障時,RAID 將使您保持運作。但是,如果您的所有硬體都發生故障,或者您的硬體或軟體損壞了數據,它就無法幫助您。因此,如果資料很重要,請研究備份技術。

答案3

試試這樣:

  1. 運行ubuntu
  2. 運行終端並寫入
  • 須藤密碼根
  • mdadm –create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 遺失
  • mdadm –create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 遺失
  1. 安裝Linux。週 1 突襲。如果在過程中間出現錯誤,請在終端機中寫入以下內容:

ls -l /dev/sd*

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

重要提示:DEV 是 USB 密鑰

df-h

mount --bind /dev /target/dev mount --bind /sys /target/sys mount --bind /proc /target/proc cp /etc/resolv.conf /target/etc/resolv.conf chroot /target/ apt安裝mdadm grub-install /dev/sda 退出然後重新啟動linux。

如果您將磁碟新增至同一組 (md0),請使用下列命令:

sudo mdadm --add /dev/md0 /dev/sdc2

答案4

[解決了]

所以當我拔掉一個驅動器時。我希望能夠看到另一個驅動器上的數據。我拔出一個硬碟,運行 cat /proc/mdstat 它說處於活動狀態

然後我嘗試了

sudo mdadm -S /dev/md0 阻止它

然後

sudo mdadm -A /dev/md0 激活它

並再次掛載檔案系統 sudo mount /dev/md0 /mnt/raid1

相關內容