如何實現(xiàn)一個iSCSITarget(軟件法)
iSCSIInitiator可用軟件方式實現(xiàn),同樣的iSCSITarget也行,不過優(yōu)劣特點也相近,即是偏成本取向且不易達到專屬硬件的效能。且要更注意的是,iSCSIInitiator軟件確實多半采隨附的放送策略,而iSCSITarget軟件則不同,多數(shù)的iSCSITarget都要收費,僅少數(shù)免費,如UNH-iSCSI項目中除了iSCSIInitiator軟件開發(fā)也有iSCSITarget軟件開發(fā),雖免費但也多半用于測試驗證之用,少用于實際的商務運作。此外,有一個iSCSIEnterpriseTarget開放項目能提供iSCSITarget軟件,但目前僅在0.4.x版,連1.0正式版都還有段距離。
現(xiàn)階段真正成熟運用的iSCSITarget多半由商業(yè)軟件業(yè)者提供,如DataCoreSoftware的SANmelody/SANmelodyLite,或FalconStorSoftware的iSCSIServerforWindows,或StringBeanSoftware的WinTarget等,頗為玩味的,三者都是只能安裝在Windows伺服操作系統(tǒng)上,這似乎與節(jié)費有些違背(純就操作系統(tǒng)的軟件授權費,Windows向來高于Linux、UNIX)。
或許在意效能,或許在意花費(反正軟法、硬法都要錢),多數(shù)用戶仍傾向使用硬件方式來實現(xiàn)iSCSITarget,事實上過去也有業(yè)者推出能讓泛用服務器轉變成SAN或NAS儲存設備的軟件,但與實際的SAN、NAS儲存硬件出貨數(shù)相較實不成比例,同樣的情形也反應在iSCSITarget軟件上,軟件式RAID也類似,RAID軟件的真實運用量遠低于RAID硬件。簡而言之用戶對iSCSIInitiator軟件的接受度大于iSCSITarget軟件。
另外,iSCSITarget有許多種類型,撇開iSCSIRouter/Gateway/Bridge等非儲存角色不談,儲存上常見的有iSCSIDiskArray與iSCSITapeLibrary,對國內設計者而言只有iSCSIDiskArray具有意義,因為國內幾乎沒有業(yè)者在發(fā)展以磁帶機為主的相關應用。信息硬件產(chǎn)品中只要牽涉到高度機械性的部分國內業(yè)者就會全面束手,小至軟盤機、中至光驅、大至磁帶機皆是。
上述的軟件實現(xiàn)法,都屬于資管、網(wǎng)管人員自身就可完成的方式,只要找一部泛用型服務器并對應安裝軟件即可。然而也有些軟件方案并非供信息人員所用,而是供網(wǎng)儲系統(tǒng)設計者所用,此即是嵌入式的伺服軟件方案,過去Microsoft就有WSS(WindowsStorageServer),WSS包含嵌入式的Windows操作系統(tǒng)以及NAS伺服應用程序,設計者運用此套軟件便可快速實現(xiàn)一臺NAS,不過!硬件業(yè)者若要量產(chǎn)使用WSS的NAS儲存硬設備,Microsoft將逐臺收取授權費。而依據(jù)Microsoft的展望規(guī)劃,日后將比照現(xiàn)有NAS作法,推出專供實現(xiàn)iSCSI儲存設備的新版WSS。
當然!除Microsoft外,其它iSCSITarget軟件業(yè)者也多半歡迎儲存硬件業(yè)者的接觸以促成嵌入式合作,例如2005年10月三星電子(SamsungElectronics)推出的ZSS-100iSCSI儲存設備,即是以DataCore的SANmelody內嵌而實現(xiàn),且ZSS-100的硬件組件相當平凡常見,如3.6GHz的Pentium4、SATA硬盤(多顆合計的原生總容量達1TB)等,并無特別過人之處。
相同的類例,HP的ProLiantDL100StorageServer與DL100G2(第二代)是使用WSS所形成的NAS,然也提供選用功能,可追加iSCSI功能于其上,等于一部儲存設備兼具NAS與iSCSI功效,其中iSCSI功效是將FalconStoriSCSIServerforWindows進行內嵌而達成。
附注:還有兩種特別的商業(yè)版iSCSITarget軟件,如WasabiSystems的StorageBuilder1500i,此是將iSCSITarget軟件搭配嵌入式操作系統(tǒng)(推測為BSD),一并存于IDE接口的CompactFlash記憶卡內,只要將此卡插置于一般x86硬件,即可讓該硬件轉變成iSCSITarget。另一則是RocketDivision的StarWind與StarPort,前者為iSCSITarget軟件,后者為iSCSIInitiator軟件,使用于Windows操作系統(tǒng)上,但作用不在仿真硬盤,而在仿真光盤。
QLogic的ISP3010芯片僅為TOE而不具iSOE,可當一般GbENIC之用,亦可加速存取NAS,而ISP4010芯片則為iSOE,可加速對iSCSITarget的存取。
如何實現(xiàn)一個iSCSITarget(硬件法)
接著是硬件實現(xiàn)法,我們完全鎖定在如何實現(xiàn)一個iSCSIDiskArray上,但即便如此,實現(xiàn)方式也依然是形形色色、百家爭鳴。
首先是從頭設計到尾,前述用于iSCSIHBA中的芯片在iSCSITarget中也都適用,也統(tǒng)統(tǒng)要用,包括GbENIC(TCP/IP)芯片、iSCSI芯片、IPSec芯片等,而且用量也比iSCSIHBA多,iSCSIHBA可能用1∼2顆GbE芯片或iSCSI芯片,但iSCSITarget會用到2∼4顆,理由是一部iSCSITarget/DiskArray要服務多個iSCSIInitiator/iSCSIHBA,傳輸量較大,所以要多個相同并行組態(tài)以增進效能,另外也可充當備援組件,增加運作的堅穩(wěn)可用性。
當然!上述這些芯片也可以部分舍棄不用,但道理一樣:請改采軟件方式來彌補,且代價是消耗部分的CPU運算力。在這些之外,iSCSIDiskArray的重點當然是RAID控制芯片(RAIDController),透過RAID芯片及其支持接口以連接各式硬盤。
要提醒的是,雖然設計目標為iSCSI,但不表示我們只能用SCSI硬盤或SAS硬盤,其實也可使用ATA硬盤、SATA硬盤,或FC硬盤等,這并不相抵觸,重點只在于RAID芯片支持何種硬盤接口,RAID芯片與CPU連接,CPU與iSCSI芯片連接,過程中CPU會進行運作中所需的各種數(shù)據(jù)轉換,這也是iSCSITarget的設計實現(xiàn)不必限定非使用SCSI/SAS硬盤的緣故。
如果認為各環(huán)節(jié)都自主設計太久太累,那可以考慮以半成品為基礎再行往上發(fā)展,例如iStorNetworks所提供的GigaStorATX系統(tǒng)板,該板用上iStor所自研的特用芯片:iSNP8008(iSNP=IPStorageNetworkAccessProcessor)、8個1GbE網(wǎng)埠(iSCSI傳輸,另有支持10GbE的系統(tǒng)板)、16個SATA埠(可接16顆SATA硬盤)、4GB高速緩存,并已具備RAID0,1,10,5等數(shù)組組態(tài),只要再搭配硬盤與些許設計,便可快速實現(xiàn)一部iSCSIDiskArray。