2010/10/26

windows XP 使用 iscsi 遠端無碟啟動 remote boot

維基上的介紹:

iSCSI又稱為IP-SAN,是一種基於網際網路SCSI-3協議下的存儲技術,由IETF提出,並於2003年2月11日成為正式的標準。與傳統的SCSI技術比較起來,iSCSI技術有以下三個革命性的變化:
  1. 把原來只用於本機的SCSI協同透過TCP/IP網路傳送,使連接距離可作無限的地域延伸;
  2. 連接的伺服器數量無限(原來的SCSI-3的上限是15);
  3. 由於是伺服器架構,因此也可以實現在線擴容以至動態部署。


iscsi使用前要先認識兩個名詞:

* iscsi target (儲存裝置目的端,用來當遠端網路硬碟使用)

你可以透過 ubuntu 安裝 iscsi 的 target 來提供 iscsi 網路硬碟的服務。

* 安裝過程
# ubuntu 軟體安裝
apt-get install iscsitarget

# use dd 指令建立1個 20G 的檔案,用這個 20 G檔案當成網路硬碟。
 dd if=/dev/zero of=/backup/iscsi/LUN0 bs=1024 count=20480000

# 修改設定檔, /etc/ietd.conf 加入
vim /etc/ietd.conf
# 設定檔的最底下加入
Target iqn.2010-10.com.ec:storage.data1t.iscsi.data01
        #IncomingUser trysoft trysoft
        #OutgoingUser trysoft trysoft
        Lun 0 Path=/backup/iscsi/LUN0,Type=fileio
        Alias iSCSI for ec
        MaxConnections          2
        InitialR2T              Yes
        ImmediateData           Yes

# 加入允許連線的範圍
# vim /etc/initiators.allow
ALL 140.117.69.0/24

# 設定啟動
vim /etc/default/iscsitarget
ISCSITARGET_ENABLE=true

# 重新啟動所有的 iscsi target 設定
/etc/init.d/iscsitarget restart

# 驗證是否該 port 有被開啟
root@ec:~# netstat -an | grep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN  
tcp6       0      0 :::3260                 :::*                    LISTEN  

* 對於 iscsi target 服務設定不清楚可以參考
# http://www.ichiayi.com/wiki/tech/centos_iscsi
# http://ubuntuforums.org/showthread.php?t=1210576

--------------------------------
接就是要驗證 iscsi initiator 的部分,這個是用來連接 iscsi target 的工具程式

* iscsi initiator 微軟出的
http://www.microsoft.com/downloads/en/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en

你可以安裝完這套軟體後,先用圖形界面設定驗證看看,看看是否可以正常工作,可以工作後再繼續下一步。







 設定完成,請選 LogON 啟用,皆下來到管理電腦,磁碟管理應該就會看到一個新的硬碟了。


以上為 iscsi  initiator 的部分
不清楚的話請看微軟 msdn 說明

---------------------

接下來就是把這個 iscsi 裝置裝上 windows XP ,很可惜XP 先天沒有支援iscsi 所以必須要改很多才可以達到目的。

先找一台電腦安裝好 windows xp 並且更新到最新的 update ,但是為了快速起見,建議把分割區切 8G 就好,這樣再把硬碟做成影像檔的時候,速度會比較快。


裝好後請加裝  iscsi 在 windows上得支援套件
請參考:http://www.etherboot.org/wiki/sanboot/winnt_iscsi
也就是下載這兩個檔案安裝:

然後你如果是要用 iscsi 開機請再加裝 sanboot driver
http://www.etherboot.org/wiki/sanboot/winnt_sanbootconf
這是 etherboot 這個專案為了這個開發的設定工具。

 不過既然都裝到這裡了,一併連 AOE support 也裝上去好了
http://www.etherboot.org/wiki/sanboot/winnt_aoe

皆下來就是把這個 XP的影像檔,做到 iscsi 當成 image 檔案
方法請參照:http://www.etherboot.org/wiki/sanboot/transfer

然後最後如果你的網卡不是 iscsi 可以開機的網卡,必須要使用 gpxe 光碟片開機,
gpxe 光碟片支援很多種的開機型態,但是要搭配 dhcp server 來指定參數。
詳細請看這篇 http://www.etherboot.org/wiki/sanboot/iscsi_boot

最後記得拔除原本的 HD 然後重新開機,就可以遠端網路iscsi 開機了。

過程真的很瑣碎,以後再把圖補上。

參考:
http://www.ichiayi.com/wiki/tech/centos_iscsi
http://etherboot.org/wiki/index.php
http://www.libthomas.org/~thomas/wp/?p=158
http://blog.hfu.edu.tw/blog/FOOL/archives/1421
http://afterainblog.spaces.live.com/blog/cns!BC6BD653C5FCF7A6!325.entry
http://jackden-diary.blogspot.com/2010/03/freenas-iscsi-in-ubuntu-904-mount-log.html
http://www.cyberciti.biz/faq/howto-setup-debian-ubuntu-linux-iscsi-initiator/
http://wiki.debian.org/iSCSI/iscsitarget

4 則留言:

大衛 提到...

hi mtchang,

剛拜讀完您有關於iscsi boot XP 的這篇文章~~對於裡面的內容有些地方有些不解,

ex:您文章中寫的,在xp下已經建好了iscsi的網路硬碟,但之後要到做映像檔進ubuntu的地方時,小弟真的不大了解意思,如果可以的話,可以一起討論一下嗎?小弟目前是想用intel的網卡做boot的實驗,可以的話我留我的msn or mail給您,謝謝^^

mtchang 提到...

皆下來就是把這個 XP的影像檔,做到 iscsi 當成 image 檔案
方法請參照:http://www.etherboot.org/wiki/sanboot/transfer

r

大衛 提到...

小弟~試過用vista~可以成功

但發現xp好像都會藍屏~~image有做出來~
我的xp有更新到sp3

可以加你MSN討論一下嗎?我的msn:evan731125@yahoo.com.tw

大衛 提到...

hi~mt 大大
感謝你的協助我已經完成gpxe的xp、vista、win7的iscsi boot.

最後有個結論,在用intel GIGABYTE CT desktop adpater網卡上做iscsi boot,結果會出現藍屏,我就是一直卡在這裡,如果用同樣的imgae做gpxe的boot是正常的,給您做個參考,也謝謝您的幫助^^