2013年10月24日 星期四

Synology NAS + PXE 掛載iSCSI 打造無硬碟系統 啟動WinXP,Win7


須準備的硬軟體
1. iSCSI伺服器 (本篇使用Synology NAS DS1813+ DSM4.3-3776-2 示範)
2. Boot loader (筆者已經打包好檔案供下載)
3. 一台支援網路開機的電腦一台 (筆者使用intel PRO/1000 MT desktop Adapter)
4. 空硬碟一顆 (用來安裝WIN7 or WINXP 製作GHO映像檔使用)
5. Sanbootconf + iSCSI Initiator 軟件 (安裝WINXP才需用到,WIN7則不需要)
6. Ghost (灌入作業系統用)

===下載檔案===
Boot loader 下載點
Sanbootconf 下載點
iSCSI Initiator 下載點
=============

一、安裝與設定DHCP Server

請至套件中心安裝DHCP Server 套件



控制台-網路  選定使用之網卡,下方出現DHCP Server


紅色框框內設定好要配發的IP區段 DHCP Server 部分就到一段落



二、iSCSI 伺服器設定

儲存空間管理員 - iSCSI LUN - 新增


此處可更改硬碟容量(日後也可更改,筆者設定150GB)


名稱可依照個人喜好設定
IQN 務必複製起來,稍後會使用到!!!


之後套用完畢即設定好iSCSI伺服器

三、設定PXE、TFTP

先開一個共用資料夾名為PXE,再將剛剛下載的Boot loader解壓縮至此

PXE
└Grub
   └chinese
   └pxelinux.cfg
   └cmd.c32
   └gpxelinux.0
   └grldr
   └menu.c32
   └menu.lst
   └sanboot.c32



使用記事本開啟 PXE/Grub/pxelinux.cfg/default

紅色請設定NAS的IP
藍色請貼上剛剛複製的IQN
儲存後關閉



控制台-FTP-TFTP/PXE
啟動TFTP 將目錄設為PXE/Grub
啟動PXE,開機載入器選擇grldr
其餘依照個人設定之~



四、灌入Windows XP or Windows 7

先將空硬碟安裝好WinXP or Win7
(PS.WinXP必須先安裝 iSCSI Initiator 再安裝 Sanbootconf)

GHOST 打包此硬碟為GHO檔 (必須使用Disk to Image)
使用iSCSI啟動器 掛載 iSCSI網路硬碟

WIN7掛載方式如下:
控制台-系統管理工具-iSCSI啟動器

輸入NAS IP 快速連線,即可搜尋到目標
點選連線 (連線過程有點時間)

連線完畢 使用GHOST 將剛剛製作好的GHO檔 clone 過去iSCSI


五、設定網路開機

進入BIOS 設定網路開機優先 (各家BIOS設定不盡相同)



開機隨即出現 Grub4Dos


進入gPXE掛載 iSCSI 網路硬碟開機


Windows XP 開機





如果喜歡此文章 麻煩幫我點最上面的廣告 謝謝^^
你的支持 會讓我努力寫更多文章
有任何疑問歡迎留言

By 艾摩杰~

37 則留言:

  1. 很詳細的一篇教學,感謝分享,請問這樣做開機時間會差很多嗎...

    回覆刪除
    回覆
    1. GigaLan上跑,Client沒有很多的狀況下 基本上算快!
      除非你一次十幾台 同時開機 哈哈

      刪除
  2. 有幸拜讀您的此篇文章,
    我剛好有一台DS1813+,但DSM還是4.2,
    所有設定都OK,
    設好後一直進行到最後第2張圖要進入XP則進不去,
    請問,GHOST XP整個HDD後,其檔名是不是跟default中的label後的名稱一樣?

    回覆刪除
    回覆
    1. 你好~
      Ghost XP 的檔名 沒有關係
      您應該是 在跑XP 光棒的時候 就又重新開機吧!?
      是否有安裝 Sanbootconf + iSCSI Initiator 軟件呢!?
      ●必須先安裝iSCSI Initiator 在安裝 Sanbootconf

      刪除
  3. 非常感謝您的回覆,
    因為要作一個win 7來測試,所以晚回覆了,
    光棒選擇win 7出現的error:Could not find kernel image:ISCSI:120.XXXXXXXXXXXXXXXXXXX,
    光棒選擇win 7出現的error:could not initialise iSCSI device:not support
    could not boot from iscsi:120.XXXXXXXXXXXX:not supported(0x3c0d6003)
    san boot failed.
    Sanbootconf + iSCSI Initiator 皆有安裝.

    回覆刪除
    回覆
    1. 您的狀況 應該是iSCSI連線失敗 無法存取
      至於為什麼 連線失敗 可能還要查查

      刪除
  4. 您好,看完您的文章後用自己的DS214 PLAY來試,
    但是發現選單選完之後IP,IQN顯示都有出來,但是畫面卡在BOOT後面一個游標閃爍幾秒之後又回到讀10秒的畫面了!
    請問一下這大概是哪種狀況

    回覆刪除
    回覆
    1. iSCSI有連線成功,應該無硬碟內無法找到開機檔
      您Ghost的時候 是用Disk to disk 嗎!? 建議用這個比較不會有問題

      刪除
  5. 我是先把安裝好OS的硬碟disk to image存去第二顆硬碟裡面,進入系統使用桌面板的ghost把image八進去iscsi裡面,XP有成功,但是WIN7失敗

    回覆刪除
    回覆
    1. XP有成功 應該Server & Client都沒問題,應該就作業系統上的問題
      再試試看吧~ 加油

      刪除
  6. 艾摩杰大大您好 , 小弟目前正在研究無碟系統 , 看了您這篇文章後有幾個問題請教您 ~ ~

    請問這整個無碟系統server建置環境是window還是Linux , 第一步驟跟第二步驟的圖看起來像Linux , 但是到第三步驟那張記事本的圖是windows , 或者是說您用得是一個再windows下的一個軟體 ~ ~

    回覆刪除
    回覆
    1. 建置的Server 是採用 Synology 的 DSM系統,算是Linux base

      刪除
    2. 假如用您這篇文章的話 , 是不是可以建置一整間電腦教室 , 有人選擇開啟XP , 有人開win7或Linux這樣的效果

      刪除
    3. 要看你Server 夠不夠力~ 像我的DS1813+ 有4個GIGA PORT,應該就可以勝任

      刪除
    4. 請問技術上有辦法把iSCSI一同架在桌機的server嗎 , 這樣就不用再買機器了

      刪除
    5. 可以用一般桌機架無硬碟系統! 只是過程會比較複雜繁瑣
      使用Linux 架設即可~

      刪除
  7. 您有架過嗎 , 大至上的架構與流程或是您知道哪裡有這個的教學 , 我在網路上搜尋到的資料......老實說我覺得好亂 , 沒有看過統一的方法 , 而且資料也很少 Orz

    誠心向您求教 , 拜託了 @_@

    另外 , Synology DSM 4.3 官網的載點好像掛了 !? 我也想用DSM實驗看看 , 您知道哪裡有載點嗎 @@

    回覆刪除
    回覆
    1. 我是沒有實際在Linux上架過,不過概念相同
      網路上資料的確很凌亂,要自己兜起來,如果你願意等待了畫,我可以寫個幾篇完整版
      不過可能要分到 part1 part2 part3... 哈
      Synology DSM 必須安裝在他們私家的機器上呦~

      刪除
    2. 當然願意等待阿 , 畢竟這真的是好東西 , 如果可以把這技術無私的做成教學的話是幫助了很多像我一樣找不到資料卻又很想學的人 @_@

      在你寫出來之前我也會繼續搜尋其他零星資料與實驗 , 如果再加上你的教學實驗成功的話我會把你放到我畢業論文裡的致謝 ^_^

      刪除
    3. 這幾天就來寫幾篇 Linux 架設無硬碟系統吧~ 不過門檻提高不少

      刪除
    4. 摩杰大 , 這幾天時而反覆思考關於以iSCSI啟動作業系統的原理與架構之後又想請教您 , 我把我的理解敘述出來 , 您可不可以幫我看看這樣對不對 @_@

      iSCSI Target 為實體硬碟所在處 , 主機有實體IP , 在這台Server上把硬碟空間分享出去 , 然後另一台想要增加硬碟空間的電腦裝上iSCSI initiator軟體連上線之後就可以到磁碟管理去新增磁碟分割了 --> 這是我目前的理解 ~ ~

      我的問題點來了 , 如果要運用PXE無碟啟動作業系統 , 在尚未有作業系統的情況下要怎麼連上iSCSI Target , 又要怎麼啟動呢 @_@

      刪除
    5. 我簡單的講解一下
      架設好 一台iSCSI Server,用戶端要連上去 必須要兩個資訊 "IP" & "IQN"
      您說的沒有錯 如果使用iSCSI initiator 後就可以正常連上,只是這樣做 無法當作系統碟使用
      如果想要當系統碟,就必須一開機 就連上iSCSI
      流程是這樣 開機--BIOS--連上iSCSI--iSCSI開機
      那該如何實作呢!?
      目前我知道的是有兩種方式

      刪除
    6. 1. (最簡單的方式)
      購買 支援 iSCSI Remote Boot 的網路卡 (推薦intel)
      將參數設定在 網路卡的ROM中
      BOIS設定 網卡開機,他便會自動連上iSCSI 然後開機
      優點:相容性及支援度 最高
      缺點:要花錢 哈哈~

      刪除
    7. 2.(最省錢方式)
      因為 一般網路卡不支援 iSCSI Remote Boot
      所以無法將 IP 及 IQN 設定在網卡中
      流程大概是這樣:
      開機
      --BIOS
      --網卡開機
      --網卡跟DHCP要IP (此時DHCP會給你IP位置)
      --網卡跟DHCP要開機管理程式(此時DHCP會給你TFTP位置<-內有開機檔)
      --網卡向TFTP索取開機檔(開機檔內寫有iSCSI 連線參數)
      --獲得開機檔 (本教學的Grub4Dos)
      --連線iSCSI (使用gPXE掛載)
      --連線成功 使用iSCSI開機
      --進作業系統~~

      刪除
    8. 其實這樣看起來 , Windows Server 的系統應該也是可以架對吧 @@ 例如Server 2003 or 2008/R2

      我是連Linux都幾乎沒用過的人 , 只因為最近要開始研究無碟系統怎麼架才開始硬著頭皮學Linux....

      Linux我是也有很大興趣學 , 但是我時間不太夠 , 好多東西來不及搞懂 Orz

      刪除
    9. 只要能提供 DHCP TFTP iSCSI 三樣服務 都可以,Windows Server部分我比較少研究~

      刪除
  8. 嗨 , 摩杰大大 , 我又有問題請教您了 @@

    請問要用iSCSI啟動時要不要注意些什麼 , 因為我Target是架設好了 , 但是我用 iSCSI啟動器或是XP上的 initiator 連線時怎樣都會顯示Target error , 不然就是確定一按下去就什麼反應也沒有也不會跑出Target端的iqn , 您有遇過這樣的問題嗎 ?

    另外 , TFTP資料夾如果設定好以後要指定哪個檔案為 boot file , 是 menu.lst 嗎 !?

    回覆刪除
    回覆
    1. 1. 我不清楚耶~ 正常架設好是可以連線
      2. 是 grldr

      刪除
    2. 恩恩 , 好 , 乾蝦 , 我在測試看看好了 , 謝啦 ~ ~

      刪除
  9. 1.不必用Grub
    tftp可以直接用gpxeinux.0 boot
    而且可以根據用戶端MAC分別建立個自的設定檔

    2.Windows 7 在有光碟機的情況下可以直接 Install to iSCSI

    回覆刪除
  10. 請問 sanboot 可以使用在 windows8 ?
    我第二台電腦藥開機時 他會出現系統修復是怎麼回事?

    回覆刪除
  11. 你好不好意思 下載連接已經失效 請問有其它地方可以下載嗎?

    回覆刪除
  12. 請問:可否提供下載點,感激不盡。

    回覆刪除
  13. Boot loader 下載點
    Sanbootconf 下載點
    iSCSI Initiator 下載點

    請問可以給我三個載點位置嗎,謝謝.

    回覆刪除
  14. 請問可以提供一下下載點嗎
    感激萬分
    Boot loader 下載點
    Sanbootconf 下載點
    iSCSI Initiator 下載點

    回覆刪除
  15. Boot loader 下載點
    Sanbootconf 下載點
    iSCSI Initiator 下載點
    下載點失聯了 @@
    可以煩請補一下嗎?真的很需要

    回覆刪除
  16. 你好,請問可以更新一下載點嗎? 想用來用WIN10 能否協助

    回覆刪除