LECTURER | SUMMARY | CONTEXT | RELATED | LINKS | RECORDER
 

Microsoft's iSCSI initiator

Ok anyway ,我這邊給各位看一下 Microsoft iSCSI initiator ,他們是在 2003 的六月五號把這個東西放到網路上去, Microsoft 是一個值得尊敬的一個 software producer ,他的商業的伎倆不見得是非常乾淨的,但是他是一個不可忽視的巨人。為什麼這麼說呢 ? 各位還記得,哇,你們可能太小了,還記得 Windows 3.0?Windows 3.0 的時候你們差不多還在國中。我們在 Windows3.0 的時候要上 internet 要 download 一個 software 叫做 Chumpic ,因為 Windows3.0 沒有 TCP/IP protocol ,所以要 download 一個從澳洲的一個搞軟體的三四個小朋友寫的一個 Chumpic software ,還要付 22 塊美金 download 下來用,因為 Windows 3.0 沒有 TCP/IP ,到了 Windows 3.1 之後, Microsoft 把 TCP/IP 裝進去,請問各位還有沒有聽過這家公司叫做 Chumpic? 沒有 ! Ok! 當然我們也聽過 Netscape ,我到目前為止還是 Netscape 的愛用者,所以我從來沒有受到病毒的侵擾。以前有 Netscape 、有 IE ,各位最近有沒有很少聽到 Netscape ,對不對 ? Netscape 後來被 Commercial On Line 買下來了, IE 變成獨大,在 IE 還沒有起來之前,事實上是 Netscape only ,現在各位已經很少聽到有 Netscape ,為什麼 ? 因為有 IE 。接下來 Microsoft 要做什麼事情阿 ? Microsoft 要做幾個,第一個是防毒軟體,所以誰比 Microsoft 更了解 Microsoft 的作業系統?所以我們國內一家很著名的防毒廠商就非常緊張。然後還有一個消息是,各位應該已經在用了, mediaplayer9 現在是可以 play DVD ,還有是免費 download 的。我們記得有一家國內的廠商還在做 DVD player ,那他會不會緊張呢 ? 非常非常緊張。 Microsoft 也說他要做手寫系統, ok! 所以,蒙恬事實上我有幾個學生在那裡,他們就已經轉換到別的地方去了齁,開始賣什麼 mp3 的 player 阿。所以 Microsoft 是一個 formattable compatic 你不管在任何的一個領域都是,但是做 protocol 的人做通訊協定的人,最最需要仰賴 Microsoft ,為什麼 ? 我們在 study 很多 IPv6 有沒有 ?IP version 6 ,這做多少年阿 ? 為什麼還做不出什麼成績來 ? 一定要等到 Microsoft 把 IPv6 放到 Windows 裡面去才會起來,這是一個重點齁。現在 Microsoft 在做什麼事情 ? 他把 iSCSI 變成 Windows2003 的標準配備,同時 offer 在 2000 跟 XP 跟 2003 可以直接 download ,所以各位可以想像他是玩真的。所以可以看到到處都是 iSCSI initiator ,那 target 在哪裡 ? 各位可以想一想。 Q:iSCSI initiator 有沒有支援 boot ROM?A: 沒有。如果可以的話可以做到目的,有沒有想過 ? 如果說我的 iSCSI initiator 可以 boot ,就是說譬如說我做一個 Intel 的網路卡或者一個 iSCSI 網路卡插上去,插到你的電腦裡面去,然後電腦一開機 scan 之後發現這是一張 SCSI 卡,他就開始去讀,這個 disk 可能在你的電腦,這硬碟可以在隔壁房間,或許在 HINET 上面,或者在美國, right? We don’t care ,他可不可以被 boot up 呢,可以。為什麼呢 ? 因為 computer science 一定要有這樣的觀念,作業系統是最容易被騙的,作業系統最容易被騙,你只要告訴他說,你去 scan 這個 bus ,發現有一個 SCSI 的網路卡, IDE 的卡在上面,他回來發現在上面這個 disk 有 20G ,他是怎麼做到的 ? 難道是作業系統到硬碟上面去數這個 block ,數一數結果是 20G 嗎 ? 不是,他送一個 command 說你是什麼,你有多大?然後他就 response 回來,我是一顆硬碟,我有 20G ,他就顯示 20G 。各位在使用 internet 的時候,現在最常用的是 google 對不對?請問一下 google 在哪裡 ? 各位知道 google 這公司在哪裡嗎 ? 不要說 google 好了,台灣的 yahoo 在哪裡 ? 蕃薯藤公司在哪裡 ? 我相信有些人知道,但是大部分人不知道, ok 。重不重要 ? 一點都不重要阿。現在提供最重要的一個 idea 就是 transaction ,虛擬化,什麼東西都虛擬了,人可以虛擬了、貨品虛擬化、網路的部份虛擬化、 service 虛擬化,我根本不曉得你在哪裡 ? 但是我每天在用你的 service 而且我不覺得這有什麼罪惡感,對不對 ?storage 也是一樣,剛一位同學問的一個非常好的問題,也是我們在做的一個機制,今天如果說我的電腦上面的一個 iSCSI initiator 是可以在 boot up 的時候被發現的,這時候我就可以做到一個我的電腦上面可以沒有硬碟,以前不是可以很容易做到嗎 ? 現在為什麼不行 ? 因為要拜 Microsoft 之賜, Microsoft 因為各位在談的是這個東西在 UNIX 上面很容易可以做到,在 boot ROM 這邊就可以做到,到了 Windows 98 之後呢,就不能夠 remote boot ,為什麼呢 ? 因為 Microsoft 把一些 essential 的 file 藏起來, ok 。所以你要 remote boot 的時候你根本就找不到一些 file ,所以就 boot 不起來。為什麼要這麼做 ?for obvious reason ,非常明顯的,以前可以 boot 的時候,一個教室只要買一個 license 就好了,因為大家都從這邊 boot ,現在呢,對不起沒有辦法這麼做,是不是有 solution 呢 ? 有 !但是我現在不告訴你。這位同學說的事情很有趣,我的 ISCSI initiator做成硬體的話,會怎樣呢?有們有人可以回答?為什麼我說要做成硬體?很簡單,蛋生雞雞生蛋的問題,我的 TCP/IP的 protocol在哪裡?他在 OS裡面,我如果沒有把 OS放進來的話我就沒有 TCP/IP我就沒有 ISCSI,我的 OS從哪裡來的呢?從 ISCSI來的,所以這上面要做一些特別的功夫。以目前而言,沒有一家公司的 ISCSI可以支援這樣子的功能。這不是技術的問題 ’,而是沒有把這個需要放進來。 (59:10 同學發言 …)這也是一個相當有趣的問題,為什麼這麼說呢?因為,我剛剛講的只是 virtualisation,而 virtualisation這只是所有的基礎。你看這個 network storage上面,我是不是可以一個 array提供出來或者是我可以把它 pertinent呢?答案是你可以怎麼做都可以,如果說我的 rate ,我整個 rate,大家聽到這個rate呢指的就是磁碟陣列。如說我可以把整個磁碟陣列提供出來的話,它一點意義都沒有。這代表什麼呢?我透過ISCSI可以拿到遠端的磁碟陣列,原來的磁碟陣列是擺在SERVER上面,現在我把它放到隔壁房間而已。有任何意義嗎?沒有意義嘛。IBM一開始,它們出來的ISCSI solution是做這個的,結果到到台灣來,台灣的廠商把他當遠端的磁碟陣列來做,來假設它來找連老師推銷,那連老師會說我把磁碟放到隔壁的房間會有什麼好處,那個IBM的人也會抓抓頭說我也不知道。因為我本來可以在旁邊就可以管的,現在要跑到隔壁房間,一點意義都沒有。所以ISCSI提供了一個solution但是一定要在virtualization上面 (1:00:57 同學發言 …) 對沒錯,所以剛剛才說一定要在 virtualization上,我剛剛說了一句話OS是最好騙的。各位假設都是host跟我要storage,我可以讓你們每個人都覺得有自己專用的硬碟,但是都是在共用的硬碟空間,這就是virtualization。 (1:01:40 lien 發言 …) 我們剛剛在 performance這邊的話,就把這個東西弄出來。以這個部分而言, CPU virtualization。事實上你有網路卡的話就有十幾個percent應該不會影響到,你說target的部分,target是這麼想的,有很多module我比較喜歡的是一個server module,這是由一個storage server提供出來的solution給大家用。因為所有的traffic都要經過這裡我可以達到很多共用。我要做security也可以啊 , 我要定 virtualization也很容易。但是這和CPU virtualization有沒有關係呢?我們以前在四年前做的呢,用PENTIUM 400就可以達到105mb/sec。CPU virtualization百分之九十幾沒有關係,除了做storage server也再也不會拿它來做其他的功用。現在的CPU已經到達3.2GHz了,更不是問題了。速度的增加都是對這個的solution有幫助的。對,所以這上面可以做Linex、Solarios、Windows三種不同的solution都可以做到, (1:04:00 lien 發言 …) 所以最近各位可以看到 Intel和 Microsoft都在推這樣的東西, (1:04:40 同學發言 …) OK,主要講到 ISCSI就是 SAN,它是一個 block device, SAN不支援 file sharing。如果說以 SAN而言呢,會讓每個人都以為有自己的硬碟,所以是彼此不 share的。除了 cluster以外, cluster是一定要 share disk的,所以假如我們兩個是 cluster,我們兩個看到同一個硬碟這時候它可以 share。 (1:05:30 同學發言 …)所以整體來說 SAN只是提供你一個 remote access 的能力,所以 SAN只做一件事情就是可以讓你的 storage是可以從遠端來的,可是最重要的不是 SAN而是 SAN的 management。你的 resouce要怎麼分?你有沒有 backup等等,這才是重要的。為什麼這個 topic越來越重要呢?大家看到 911事件的時候, twin tower被飛機擊中倒塌,在裡面有許多金融公司,如果說它的資料沒有做備份的話,今天這幾家公司就不再存在了,因為它賠都賠不完。比如說,我和連老師在那裡有各一萬美金在那裡,今天資料不見了,我應該怎麼說?在前一天倒塌前我剛好把錢領出來,我還拿到上個月的 statement上面記載一萬塊,可是資料全都毀了,你想想看上面有多少人的資料在上面 ,所以這樣的風險避免就是要靠 SAN來完成。資料能即時的備分到別的地方去。那又有人想說,我這個備份的工作不是也可以用tape來完成嗎?大家可以看到不管是國內外都有許多企業備份是放到tape上面的那這個tape擺到什麼地方?放在server的旁邊,所以要死一起死。所以一定要做異地的備分,所以這個地方是SAN最特別的功能。 (1:07:55 同學發言 …) SAN 有即時性,它是 transactional based,所謂的即時性,這是在 network storage上非常有趣的一個問題。比如說我在和連老師學 database的時候, database上面是什麼? database上面除了硬碟以外,它還有 cache data,所以能增加它的 performance。可是 database也有做些機制來預防機器突然被拔掉狀況,當電源被拔掉時 cache的資料不見時的問題。所以它就有很多 log, table log、 archive log之類的東西,所以所有的東西都是 transactional based,所以異地備份只是做到說我們兩個的硬碟只是做到資料是一樣的,相隔 50公里兩個硬碟內容是一樣的,那 database可不可能回復呢?我的遠端只有硬碟沒有 server但是我把資料備份的 50公里外的硬碟去,請問我的資料可不可以復原?所以說如果我所謂的即時是把寫入的資料馬上送到遠端去再馬上回來我再回復上去,所以 transactional based就是說,每個一段時間我要做備份的時候,我確定這是一個 consistence的 database所以我會做一個 check point或是 put the database into creator status,讓它暫停 take a snapshot,這是一個很有趣的技術,然後再把資料丟到遠端去。哪一個會比較好一點,這就要見仁見智,每一家 database都有自己的 solution,而他們所要求的價格是非常昂貴的 ,不是我們能負擔的起,它們的消費者也是一些金融界的公司。但是這些是 computer science上很有趣的問題。


[prev] [next]

Recorded by 蕭向彥, 林翰儂, 蘇以暄, 李政霖