Windows Software Raid
Windows Software Raid - Legacy MBR
前言
上次寫到了Linux的Software Raid https://mdfk.goddamn.idv.tw/books/linux/page/linux-software-raid-mdadm
相對於Linux現在在UEFI Bios上Sofrware Raid設定起來很方便,現在的Windows Software Raid在UEFI Bios上操作起來就如同Legacy Bios上的Linux Software Raid一樣很麻煩,此篇先回顧一下"想當年" Legacy Bios上Windows Software Raid是如何建立的,下一篇再來談現在UEFI Bios上面如何建立。
But ...... 一定要先說在前面,在Windows 2003那個年代除非使用Hardware Raid Card否則是沒什麼更好的Raid選擇,一些最便宜的Server大多都只能用這個方式來達成資料冗餘,但在Windows Software Raid在Intel® 快速儲存技術(Intel RST / IRST / RSTe / VROC)技術出來之後,現在Windows Software Raid在實務上基本上完全沒有人會去使用,如今一台Workstation等級的機器就算沒有Harware Raid Card都完全支援Intel Software Raid,比起Windows Software Raid來說好用簡單太多Performance又好,這種Windows Software Raid可謂是時代的眼淚,所以基本上此篇分享就是個單純完全無用的技術分享。 ╮(╯_╰)╭
設定方式
測試環境
鍵人我使用Hyperv第一代來模擬Legacy Bios環境,HDD1先安裝好Windows 2003 R2 OS,HDD2為同大小完全新的HDD
建立鏡像磁碟(Mirror)
至 "電腦管理" => "磁碟管理"
可看到 磁碟1 (HDD2) 是完全乾淨的磁碟
磁碟1 右鍵 => 初始化磁碟
磁碟0 (HDD1) 右鍵 => 轉換成動態磁碟
將兩顆磁碟都轉換成動態磁碟,完成後將重新開機
重開機後,再回到磁碟管理,磁碟0 上右鍵 "新增鏡像"
選取磁碟1(HDD2)作為鏡像目標
靜候Mirror同步完成
Mirror完成
磁碟故障測試
先在桌面上建立一個文字檔,來確認Raid功能是否正常
關機,將HDD1移除
開機正常,資料正確,來加上一筆資料
裝置管理員顯示只有一顆HDD
磁碟管理顯示一顆HDD遺失
關機,我把HDD2改為IDE 0,增加一顆HDD3設為IDE 1
開機正常,裝置管理員顯示為2個HDD
磁碟管理員顯示磁碟1 (HDD3)未配置,Mirror失敗
初始化磁碟1 (HDD3)
移除原本的Mirror
重建Mirror (步驟請參照上面不贅述)
切換磁碟開機與重新同步
上面展示了磁碟故障時如何重建Mirror,但如果磁碟不是全死,要如何取出磁碟檢測後讓Raid重新同步 ?
首先我們先到資料匣選項將隱藏檔顯示出來
編輯C:\boot.ini
複製operating system到第二行,並修改 rdisk 與描述
重新開機,出現開機選單就可以選擇你想用哪一顆磁碟開機了,在此我們先選擇用HDD3開機
開進OS,桌面上的文字檔再加上一筆註記,我們即將測試移除HDD2
關機,移除HDD2
再次選擇使用HDD3開機
錯誤 !! 這是正常的,因為IDE 0不見了,所以原本 IDE 1 的 HDD3 在系統上被當作 IDE 0了
選擇第一個開機
開機正常,只剩下一顆HDD
HDD3被當作是"磁碟0"了 (因為是IDE 0)
確認資料正確
關機,把HDD2加回來
使用HDD2開機
BSOD !! (ノ゚0゚)ノ~ 這是正常的,因為HDD2的資料不同步
使用HDD3開機
開機正常,磁碟顯示為2
磁碟管理顯示"磁碟0" (HDD2) Raid不同步
在此我們桌面上的文字檔再加上一筆註記,我們來測試Rebuild HDD2
"磁碟0" (HDD2) 點選 "重新啟動磁碟區"
Raid Rebuild 中 ......
靜待Raid Rebuid完成
重新開機,選擇HDD2開機
開機正常 !! 資料正確 !! ⸜(。˃ ᵕ ˂ )⸝♡
後話
前面說過,在Windows 2003那個年代除非使用Hardware Raid Card否則是沒什麼更好的Raid選擇,一些最便宜的Server大多都只能用這個方式來達成資料冗餘,但在Windows Software Raid在Intel® 快速儲存技術(Intel RST / IRST / RSTe / VROC)技術出來之後,現在Windows Software Raid在實務上基本上完全沒有人會去使用,如今一台Workstation等級的機器就算沒有Harware Raid Card都完全支援Intel Software Raid,比起Windows Software Raid來說好用簡單太多Performance又好,這種Windows Software Raid可謂是時代的眼淚,現在也許在某些"特殊"的情境下或許會對大家有幫助......吧 (?)
至於UEFI上設定Windows Software Raid的複雜程度就比MBR上高了不少,欲知詳情下回分解 ( ˶°ㅁ°) !!
Windows Software Raid - UEFI GPT
前言
延續之前 Windows Software Raid - Legacy MBR 的技術分享 ,Windows 2003年代還會有一些低階Server有機會那樣做,在Intel® 快速儲存技術(Intel RST / IRST / RSTe / VROC)技術出來之後,現在Windows Software Raid在實務上基本上完全沒有人會去使用,如今一台Workstation等級的機器就算沒有Harware Raid Card都完全支援Intel Software Raid,比起Windows Software Raid來說好用簡單太多Performance又好,這種Windows Software Raid可謂是時代的眼淚,此篇 Windows Software Raid - UEFI GPT 相較於 Legacy MBR 在設定上更加麻煩、實用性上更低,基本上就是分享一下現代的Windows Server還是可以在UEFI GPT上還是可以做Software Raid,但...你這輩子應該都不會這樣做。
設定方式
測試環境
鍵人我使用Hyperv第二代來模擬UEFI GPT環境,HDD0先安裝好Windows 2022 OS,HDD1為同大小完全新的HDD,同時先刪除Recover磁區 (你真的在Server上用過Recover嗎 ?) (¬_¬")
建立鏡像磁碟(Mirror)
至 "電腦管理" => "磁碟管理",可看到 磁碟1 (HDD1) 是完全乾淨的磁碟
點及右鍵 => 連線
初始化磁碟
以"系統管理者身分"執行Powershell / cmd
先刪除HDD1的MSR
diskpart
list disk
sel disk 1
list par
sel par 1
delete par override
list par
重新建立 EFI Boot磁區與MSR
sel disk 0
list par
sel disk 1
create par efi size=100
create par msr size=16
list par
將 磁碟0、磁碟1 轉換為"動態磁碟"後,離開diskpart
sel disk 1
convert dynamic
sel disk 0
convert dynamic
exit
回到 磁碟管理,點選 磁碟0 上新增鏡像
Mirror進行中
Mirror完成
處理EFI Boot
Mirror是處理好了,但是EFI可不像是MBR直接使用Active來指定開機的磁區,所以在這裡我們必須對HDD1的EFI磁區進行處理,這樣一但出問題HDD1才能夠獨立開機。
首先先進Diskpart,將剛剛未格式化的EFI磁碟格式化為FAT32,並把HDD0 EFI掛載為P、HDD1 EFI掛載為S
diskpart
sel disk 1
sel par 1
assign letter=S
format fs=FAT32 quick
sel disk 0
sel par 1
assign letter=P
exit
透過bcdedit /enum可以確認到現在EFI的開機的GUID
P:
cd EFI\Microsoft\Boot
bcdedit /enum
※此指令只能在CMD下執行※
將現有 {bootmgr} Clone一份出來,並把S設定為相同的{GUID}
cmd
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
bcdedit /set {GUID} device partition=S:
透過 bcdedit /enum all 可看到剛剛建立出來的開機選項
bcdedit /enum all
將剛剛的變更匯出為BCD2
bcdedit /export P:\EFI\Microsoft\Boot\BCD2
將P的資料全部複製到S
robocopy p:\ s:\ /e /r:0
將S的BCD2更名為BCD,並刪除P的BCD2
S:
cd EFI\Microsoft\Boot
ren BCD2 BCD
del P:\EFI\Microsoft\Boot\BCD2
回到diskpart,將磁碟代號 P、S 移除
diskpart
list vol
sel vol 1
remove letter P
sel vol 2
remove letter S
exit
到此EFI開機設定全數完成 (累...)
磁碟故障測試
關機,到Hyperv "設定"=>"韌體"中已經可以看到HDD1的 "Windows Boot Manager Cloned"
移除HDD0
將Windows Boot Manager Cloned開機順序提高至1
開機,使用第一個選項 HDD0 開機
無法開機,正常
點選Enter,重新選擇HDD1開機
開機正常,磁碟管理顯示"備援失敗"
至此,磁碟故障測試完成,如此確認了就算失去任何一顆HDD都能夠正常開機
重建Mirror
關機,我們將HDD0掛回來
選擇HDD1開機
裝置管理員確認已認到2顆HDD
磁碟顯示Mirror Fail,來移除鏡像
點選HDD0,匯入外部磁碟
將HDD0的舊磁區刪除
點選HDD1,重新建立Mirror
Mirror中
Mirror完成
後話
僅以此分享一下即使是現在 UEFI Bios 年代,Windows Software Raid 依然還能用
只是你這輩子應該都不會再去用他 …… ╮(╯_╰)╭