��握f就是在一台�]�b哈滴的PC上�_��Windows2003作�I系�y,iSCSI可以直接想像成一�wSCSI介面的硬碟排��Q成�W路�,�你透�^�W路存取�@�w哈滴,�@跟�W路芳�分享出�淼�|西不一�樱��W芳�e看到的是�n案,而iSCSI分享出�淼氖怯驳�,可以Format、磁碟分割或RAID等。
一、��涔ぷ�
PC�刹浚�一部安�bFedora Core 5,一部安�b好windows 2003�K升�SP2。
windows2003+sp2安�b:略。
�b好SP2後,要�bMS iSCSI Initiator,��蜗胂癯裳bDriver就是了,�@��MS iSCSI Initiator有���版本,一��是一般使用版,一��是Boot Version,我��要用的是Boot Version,到http://connect.miscosoft.com下�d,需要�]�裕��K�入Invite code:
ms-8RR8-6K43
。若你是SP1,�t需要再找Hotfix:KB902113 for MS iSCSI。
要下�d的是x86的版本,��下取得的是:Initiator-2.06-boot-build3497-x86chk.exe �@��版本。
安�b�^程中�得要�x取支援iSCSI Boot的�x�,其�N使用�A�O值就好。�b好後,�c�x"Discovery"�嘶`,�x"Add",�入iSCSI Target的IP位址,再�c"Target"的�嘶`,�����看到分享出�淼墓�滴,�cLogon,就�B上了,再到"我的��X"按右�I�x"管理",把�@�w哈滴��印�format一下,成功後,在我的��X�e就��出�F一棵哈滴了,剩下的操作就跟使用本�C硬碟一�印_@是�y�的部分,用�黹_�C的��@步�E可以省略,把iSCSI initiator�b好就好了。
FC5的部分要安�biscsi server,到
http://linux-iscsi.sourceforge.net下�d即可。
安�b�r需注意kernel-develop套件要�b,��g的�r候用��到,此外�要注意uname -a的核心版本是不是跟kernel source�e的相符,不相符在�d入模�M的�r候�O有可能��出�F�e�`。
�b好iscsi target後,��/etc/ietd.conf
Target iqn.2007-09.freebsd:storage.test
LUN 0 Path=/dev/hdc,Type=fileio
/dev/hdc可以�Q成/path/to/windows2003.img,
�u作img的方法稍後�述。
# service iscsi-target start
如果都OK,那���就�]什�N���}了!
另外必�安�bdhcp server,��diskless client���r��需要一些基本的�W路�M�B,以及��iSCSI的Target在什�N地方。
��/etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1;
range dynamic-bootp 192.168.1.128 192.168.1.254;
default-lease-time 21600;
max-lease-time 43200;
# 要注意的下面�@�尚校��@是�ogpxe看的。
filename "";
option root-path "iscsi:192.168.1.1::::iqn.2007-09.freebsd:storage.test";
}
做完�@些,把2003的哈滴拔下�硌b到FC5的�C器上,以我的�h境,�b置路�皆�/dev/hdc。
若要要�u作image,用dd�@��linux工具
# dd if=/dev/hdc of=/somewhere/to/xxx.img bs=8225280 count=522
8225280跟522�@����底终��⒖枷旅�fdisk -l /dev/hdc的�出,�Y果��是一���s4G大小的影像�n。
�注意是/dev/hdc而不是/dev/hdc1,因�槲���要保留MBR。
二、gPXE安�b
至etherboot�W站下�d套件,解�嚎s後��得到gpxe.git目�,此�r要做一些手�_。
#vi src/arch/i386/interface/pcbios/int13.c,
在523行附近有一��判�嗍�
if ( drive->cylinders > 1024 )
drive->cylinders = 1024;
意思是如果Hard Drive的cylinders大於1024就以1024�之,以��做�Y果�砜��有���},所以必�再改成符合���H�\作的�底帧�
首先先用fdisk -l /dev/hdc取得windows���@�w哈滴的geometry,看bios�e的不�剩�windows�e的可能��不一�印�
Disk /dev/hdc: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders #�@才是正�_的
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 522 4192933+ 7 HPFS/NTFS
所以在����提到523行下面找到 /* Assign drive number �@���]解行,在下面直接指定下列��担�
drive->cylinders = 7476;
drive->heads = 255;
drive->sectors_per_track = 63;
好了之後存�n,回到src目��e��ggpxe.iso
#make bin/gpxe.iso
�\�獠诲e的����可以��g成功,把gpxe.iso��成光碟片,拿�懋��_�C光碟,gPXE可以支援iscsi、AoE(ATA Over Ethernet)及http等�f定支援�_�C,一般�W卡只支援PXE,�o法�B接iscsi磁碟。etherboot好像有提供一些方式把�@些��映淌交���"存到"ROM�e,有�d趣的上�W�⒖伎纯窗桑�
三、�收成果
把gPXE光碟片放到那原本�bwindows2003的�C器中,�_�C,�利的����就���M到windows 2003�樱�
四、待解���}
⊙windows driver sid hostname等等�Y�,如何客制化?
目前有看到sysprep似乎可以解�Q�@�����}。
⊙windows image如何在iSCSI的�h境下多�C共用一��image?
目前��]找solution。
⊙如何不靠cdrom�_�C?
找�K支援iSCSI的�W卡,或BIOS,要不自己��到ROM�e去吧!
or
用PXE���gPXE.iso,但��]��^,感�X有�C��。
五、�⒖假Y料
GOOGLE搜�ぃ�族繁不及�漭d。
六、建�h
若要在Client跑Linux,上�W有很多方法可以做,功能也OK。若要跑Windows,�是花�X�I�S商solution比�^快,功能也更完整。