TimTong@G 發表於 2018-8-19 23:07

(分享) 使用Synology NAS + iPXE建立遠端啟動系統 (Part III)

本帖最後由 TimTong@G 於 2018-8-19 23:46 編輯

看第一篇請按這裡
看第二篇請按這裡

簡介

      在前兩部分,我們嘗試在設定一台 Synology NAS 為一台遠端啟動伺服器,並在其上分別啟動了一個 Memtest86+ ISO 及 Ubuntu Linux。這次,我們準備挑戰最終的目標 – 在 iSCSI 磁碟上安裝 Microsoft Windows。

      平時,要在電腦上安裝 Windows 並不是難事,只要按下幾鍵盤滑鼠再跑去休息一下,回來時安裝就差不多完成了。但是到了遠端啟動這裡,卻完全不是同一回事。之前提過,把 Windows DVD 直接放上我們的遠端啟動伺服器是行不通的,原因有二:

      Windows 實在太大了,ISO 本身超過 1GB,要載入記憶體無論是時間還是空間都是重大考慮
      就算我們有一堆記憶體,也不介意載入時間,那可不可以用以前的memdisk方法呢?很抱歉,也不行。雖然 memdisk 是把整個 ISO 讀入了記憶體,但這並不代表系統真的多了台「光碟機」。 系統僅將ISO中一小部分當作能運作的部分,就像以前用DOS 開機碟,只會把 io.sys, msdos.sys 及 command.com 讀取一樣,超越了那部份,電腦就不知道怎麼辦了 (例如,用 DOS 碟開機後把開機碟取出,跑跑 date、time 及ver 這種小指令是沒有問題的,但你想跑 scandisk 就……)。Memtest86+ 剛好夠小,但 Windows 就沒這個運氣了

      如果各位不信,可以用 memdisk 安裝一次 Windows看看。一開始是沒有問題的,但是到要複製檔案的時候,喔哦…… 它說它找不到 Windows DVD……

      那我們可不可以把 Windows 檔案放在網路上,再「教導」Windows 安裝程式,讓它知道該去哪裡找到所需的檔案呢?當然是可以的。

設定及安裝步驟

      建議各位先參考第一部份及第二部份,之後再回來行動哦~

      1. 首先,我們按之前的方法,在 Synology NAS 上建立一個新的 iSCSI 磁碟,目標名稱為「您的機器名稱.Windows」,過程中的畫面如下圖所示。

https://i.imgur.com/46bTFrl.png
https://i.imgur.com/uMfgBTp.png

      因為是安裝 Windows 的關係,我們把磁碟容量設定成 50GB (沒辦法,Windows 就是 Windows)。記得要將 「允許來自一個或多個iSCSI 啟動器的多重連線」鈎選。

https://i.imgur.com/lP0h8FC.png

      剛才提到我們需要「指導」系統,如何找到正確的安裝檔案位置,所以我們現在先要準備一個叫做 Windows PE環境。Windows PE 是 Windows Preinstallation Environment 的縮寫,專門為安裝 Windows 前的工作作準備。不過很可惜的是,對於 memdisk 來說,Windows PE 仍然是太大了。因此,又有人找到了另一個方法來載入 Windows PE – 一個叫做 wimboot 的東西。它可以將安裝檔內主要的 wim 檔載入,而毋需載入所有檔案。

      重要提示:在製作 Windows PE 前,先確定一下自己要安裝的是哪一個版本的 Windows。因為 Windows PE 也有不同的版本,將要安裝的 Windows 版本要和 Windows PE 的版本一致哦,因為在安裝過程中,Windows PE 會把自己的一部份檔案安裝到新的 Windows 裡,版本錯誤的話可能會導致安裝失敗。

      網上有許多Windows PE 的製作方法可供參考,故在此不再詳述 (畢竟我們是在談遠端啟動嘛!)。如果要安裝的Windows版本和使用中的一樣,各位可以在網上找一個叫 PEBuilder 的軟體來製作Windows PE ISO 檔,,可以試用 30 天 (時間應該也夠用了)。因為小弟的電腦裝的是Windows 10,但手上只有 Windows 8.1 的使用權,所以只能使用 Windows ADK 來做 Windows PE了 (還真不是一般的麻煩)……

      2. 準備好 Windows PE 的 ISO 後,在 web 共享資料夾內的 Install 資料夾 (上次裝 Ubuntu 時弄出來的,記得嗎?) 裡新增WinPE\amd64\media 及 WinPE\x86\media 兩個目錄,再把完成的 Windows PE 中的所有東西複製到上述其中一個目錄。32 位元就複製到 x86\media 裡,64 位元就複製到 amd64\media 裡。我們現在假設要安裝的是 64 位元 Windows,複製完後看上去就像這樣。

https://i.imgur.com/G0U5vjR.png

      3. 設定 Windows 的網路安裝目錄。先在 web 共用資料夾內建立 Install\Windows8\amd64 及 Install\Windows8\x86 兩個目錄。找出各位的Windows 安裝光碟,將其中所有的檔案都複製到剛才建立的兩個目錄中其中一個 (看各位的 Windows 是 32 位元還是 64 位元囉)。

4. 接著,我們檢查一下 tftp 共用資料夾中 menu.ipxe 檔案的 :winpe-install 部分,看看所有檔案路徑是否和所複製的檔案名稱一致。注意,大小寫是有區別的哦!

:winpe-install
echo Booting Windows PE ${arch} installer for ${initiator-iqn}
echo (for installing Windows)
set base-url http://${nas_ip}/Install/WinPE
cpuid --ext 29 && set arch amd64 || set arch x86
kernel wimboot
initrd ${base-url}/${arch}/media/Boot/BCD                     BCD
initrd ${base-url}/${arch}/media/Boot/boot.sdi                boot.sdi
initrd ${base-url}/${arch}/media/sources/boot.wim             boot.wim
set netX/gateway ${iscsi-server}
set root-path ${base-iscsi}:${hostname}.Windows
sanhook ${root-path} || goto failed
boot || goto failed
goto start

其中 {arch} 會由電腦檢查是否支援 64 位元然後自行填上,毋需我們理會。

5. 一切正常後,我們就可以重新開機,利用藍色菜單內的 「Hook Windows iSCSI and boot WinPE for intallation」來啟動 Windows PE 了。

      因為 Windows PE 是可客製化的,每個人最後的開機畫面都不一樣。小弟的畫面就是這樣陽春的……

https://i.imgur.com/g88xO9y.png

      介面簡單點就算了,反正最後又不是要用這個。開始安裝之前,確認一下我們的 iSCSI 磁碟是否連接成功。

https://i.imgur.com/iQkhYUD.png

6. 利用net use 語句掛載剛才建立的網路安裝 Windows 資料夾至某個網路磁碟機符號 (使用各位的 Synology 密碼),再運行其中的setup 程式。

https://i.imgur.com/8LZ91l8.png

      接著的過程就和一般安裝 Windows 一模一樣了。選擇磁碟機時,也沒有發現什麼異樣。照常地分割、格式化就可以了。

https://i.imgur.com/gKrvtHh.png

      7. 重新啟動,我們終於看到桌面了(感動中)!並且終於不用VMware 也能截圖了!再看看系統管理員,果然只有一個 iSCSI 磁碟啊哈哈 (狂笑中)……Windows還能成功啟用!(裝的不是英文版嗎?裝了語言包就有中文啦!)

https://i.imgur.com/ocQjSPl.png

      打開磁碟管理,可見Windows 已經完全把這個 iSCSI 磁碟當作一個真正的磁碟機了。

https://i.imgur.com/9H22lGm.png

      咦奇怪,我們剛才建立的 iSCSI 磁碟不是 50GB 嗎?這裡怎會變成 100GB? 嗯,這就是 iSCSI 神奇的地方了!等一下再和各位解釋……

      到下一部分前,我們先用CrystalDisk系列工具程式試試這個 iSCSI 磁碟到底怎樣。結果還蠻出人意表的……

https://i.imgur.com/c0rNE4n.png

      CrystalDiskInfo 說它找不到磁碟 (也難怪,它只會搜尋那些「正常」的磁碟機介面,如 IDE、SATA 等),而 CrystalDiskMark 到成績倒比想像中好 (4K 的速度好像蠻快的……)。這個測試成績是以較快的 DS918+ 及 RAID5 達成的。

延伸 iSCSI 磁碟空間

      看到這裡,各位可能會問,「那如果我的 iSCSI 磁碟空間用完了怎麼辦?需不需要在 Synology NAS 裡面再多建立一個 iSCSI 磁碟?」這個問題可以分兩部分來談。

-      如果 iSCSI 磁碟已經把 NAS 的「真實空間」用完了,那就沒有辦法,大家只好去買硬碟來增加磁碟空間,這部分可參考 Synology 有關增加磁碟及更換磁碟 的資訊
-      如果只是當初指派給 iSCSI 的空間用完了,但事實上 NAS 還有空間的話,我們可以直接增加 iSCSI 磁碟的容量,再把電腦重開機就可以了。當然,磁碟分割還是保持原本的大小,需要用磁碟管理等工具來調整磁碟分割大小

要調整 iSCSI 磁碟大小,我們先打開 Synology iSCSI Manager 介面的 LUN 部分。選取目標 iSCSI 的 LUN 後按編輯,再輸入新的容量即可。

https://i.imgur.com/uxDXNrC.png
https://i.imgur.com/unvhrPh.png

記得磁碟的大小只能增加,不能減少哦,要不然大家叫那些已經存在的資料怎麼辦呢……

備份與還原

      在第二篇裡我們提到了兩種為 iSCSI 磁碟「救命」的工具。快照工具可以記錄磁碟上作出的改變,當不小心變動磁碟內容時便可迅速還原變更。但是,當原始 iSCSI 磁碟甚至是 NAS 本身遭到破壞時,快照就無用武之地了 (就算 NAS 沒壞掉,光是知道變更也不能推論原來的資料啊)。又或者,我們想把一個 iSCSI 磁碟搬到另一台 Synology NAS 上面。這時,我們需要另一個工具 – Hyper Backup。

      Hyper Backup 是一個全方位的備份解決方案,它擁有以下的功能:
      共用資料夾及 iSCSI 磁碟機備份 – 為 Synology NAS 提供完整保護
      備份壓縮 – 節省備份磁碟空間
      定時備份 – 備份全自動化,不需人手操作
      差異備份 – 僅備份改變的部分,縮短備份時間
      版本保留 – 可提供不同歷史版本供還原之用,還可設定保留版本數目

事不宜遲,我們馬上來看看它的操作方法,首先,準備一台 USB 外置硬碟並將其接上 Synology NAS。我們需要將其格式化為 ext4 檔案系統,才可以在 Hyper Backup 內使用。前往控制台的「外接裝置」,選擇自己的 USB 裝置後,按「格式化」。

https://i.imgur.com/alcFk98.png

檔案系統選擇 ext4,Synology NAS 會提醒各位記得要檢查 USB 裡面有沒有重要的資料,因為格式化之後,裡面的資料就全部消失了哦……

https://i.imgur.com/EnCTUxI.png
https://i.imgur.com/7zEaqWh.png

完成格式化後,找到 Hyper Backup 套件並將其開啟。在沒有已排程的備份下,Hyper Backup 會先開啟備份精靈進行檔案備份。由於我們今次是要備份 iSCSI 磁碟,所以直接按「取消」關閉此畫面即可。

接下來,按一下左下角的「+」並選擇「LUN 備份任務」。

https://i.imgur.com/mwXSy2Z.png

見到「歡迎」畫面後,按下一步。

https://i.imgur.com/Y2DLAfd.png

      為備份任務取個名字,這裡打個容易記的名字就好……

https://i.imgur.com/qrODPLS.png

      由於我們是要將 iSCSI 磁碟備至 USB 磁碟,所以這裡選「本地 LUN 備份」。

https://i.imgur.com/BocfJzN.png

      選擇剛才格式化產生的資料夾 (名稱通常是usbxxxxx),輸入目錄名稱。

https://i.imgur.com/vNSgGqj.png

      選擇要備份的 iSCSI 磁碟,按下一步。

https://i.imgur.com/JvTq9ZS.png

      這些我們只需要備份一次,所以選「立即執行備份」就好。

https://i.imgur.com/LdohVYS.png

      檢查備份設定正確無誤後按套用,備份工作馬上就開始了。

https://i.imgur.com/NVzylb4.png
https://i.imgur.com/TnnNh45.png

      備份完成後,相關的備份檔案大小僅10GB (相較於原本 iSCSI 磁碟的大小 30GB) 而已。至於還原的動作就大同小異,只要按下「+」號旁的「時鐘箭頭」按鍵即可,此處就交由各位自行測試了。

總結

      過了這麼多天,總算是完成了所有的測試 (因網上使用 Synology 設定 iPXE 的文章並不多,資訊也不算完整,弄得小弟碰了好幾次釘子)。不過,能在面對重重困難的情況下達成最終目標,仍可算是一件令人興奮的事。希望本文能帶給各位幫助,謝謝各位!

(此文將於多站發佈)


頁: [1]
查看完整版本: (分享) 使用Synology NAS + iPXE建立遠端啟動系統 (Part III)