Page 1

Linux Lab IPv6 企業資料儲存方案 之 iSCSI + iSNS 建置

學生: 張華然 指導老師: 林旺聰 顧問 彭學勤 老師 楊宏文 老師


一、iSCSI i 指的是 internet,SCSI (Small Computer System Interface)則是指小型電 腦系統介面 : 這邊指的是採用 SCSI 介面的硬碟,大都使用在工作站及伺服器 上,具有高效能,低 cpu 使用率及高穩定性的優點。 iSCSI 為 SAN(Storage Area Network)的一種類型,而 SAN 可採光纖通道(Fabre Channel)或者是採用乙太網路的iSCSI進行建置,而FC SAN的建置成本較iSCSI 昂貴,一般中小企業皆採用價格中的iSCSI SAN。而掛載iSCSI儲存設備的server 或裝置稱 iSCSI target,一般電腦主機要與 iSCSI target 溝通除了需要乙太網路卡 外,還需要安裝 initiator(啟動器),啟動器可為硬體或軟體。

二、iSNS iSNS (Internet Storage Name Service) : 網際網路儲存名稱服務,iSNS 有三種功 能: 1. 集中管理與監控 iSCSI node 若內部網路上有 100 台裝有啟動器的主機,及 100 台 target,若這 100 台啟 動器和 target 同相互探索,則探索的次數最大可能為 100*100=10000 次,如 此可能造成網路壅塞,佔用網路資源,這樣的探索方式實在是沒有效率。 2. iSCSI 網路設備名稱登錄服務 利用 iSNS 可以把內部網路上所有的啟動器主機和 target 登錄在 iSNS server


的資料庫內,initiator 只要透過 iSNS 查詢 target 即可,不需在網路上逐步探 索 target。 3. 設定探索網域(Discovery Domain) 有了登錄的資料庫,可進一步建立 initiator 與 target 間群組配對關係,如此 可建立一探索網域,可設定分區存取架構,意即可設定哪幾台 initiator 只能 和哪幾台 target 連線。

三、 iSCI and iSNS Lab 拓撲圖

四、Lab 建置過程簡述要點


1. 使用 2 台電腦(電腦 A 與電腦 B,其原因後續會詳述) host1、host2 及 isns_s1 建置在電腦 A 採 virtual box 建立虛擬機器,ts3 和 ts4 建 置在電腦 B 採 xen 建立虛擬機器。 2. 參考 opensuse 官方網站的技術文件建置 iscsi initiator、iscsi target、 isns,連結如下: http://doc.opensuse.org/products/draft/SLES/SLES-storage_sd_draft/isns.html http://doc.opensuse.org/products/draft/SLES/SLES-storage_sd_draft/cha_inst_sy stem_iscsi.html

3. 以上建置完成後,isns 會自動登錄網路上 iscsi 各 node,如下圖


並可在 Discovery Domains 設定 initiator 與 target 配對,限定某一


initiator 只能存取特定的 target,如下圖所示

在 host1 可在以圖型介面透過 isns server 搜索 target 及登入


4. 當登入某 target 後,可打指令 fdisk –l 檢視連線的新硬碟,並可自 訂其分割區大小及檔案格式,或掛載點 5. 另可採用指令的方式登入 iscsiadm –m discovery –t isns –p [isns 的 ip] =>透過 isns server 探索 target iscsiadm –m node –T [target 的 iqn] --login =>登入 target


iscsiadm –m node –T [target 的 iqn] --logout =>登出 target 其它 iscsiadm 的管理指令請自行上網 survey

後記與心得 這次 LxLab 30%的驗收,除了驗證自己學習 Linux 兩個月以來的成 果,更是訓練自己 survey 相關議題及解決問題的能力,這是成為工程 師的基本能力。 在作 lab 的過程中,當然不會這麼順利,一路上碰到許多問題, 關關難過關關過,從 xen 建置虛擬機器就花了三天的時間研究、安裝、 設定,班上其他同學也都快被 xen 給搞瘋了,經過不斷的重灌 linux 及重建 xen 的虛擬機器,好不容易才搞定 xen,xen 建好虛擬機器後 問題又來了,因為我需要作 raid 5 要新增三顆硬碟,新增硬碟完全跟 virtual box 的設定觀念不一樣,除了用實體的硬碟分割區外,另外可 以在新增檔案的地方,選虛擬機器的虛擬硬碟 disk0,然後更名,接 下來可改容量大小,最後記得 type 選 virtual disk,另種方法是先自行 產生一個空的 img 檔,給 xen 掛載上去,這個老師上課有教,譬如產 生一個 20G 的 img 檔, 指令是: dd if=/dev/zero of=20G.img bs=1G count=20,打完之後請耐心等待,要 寫一個 20G 的檔案要花時間的,要不然可以自己用指令 ll –ah 20G.img, 看已經寫入幾 G 了。硬碟加完設定好 raid 5 後,之後重開,xen 的虛


擬機器又無法開啟,錯誤訊息寫 kernel img not found error…上網 survey 一下有無同樣的問題,找到一篇是寫說出現這樣的訊息是,組 態檔裡的開機硬碟設錯,但進組檔態看又都 ok,又再持續試,最後 無意間發現先把虛擬機器的開機碟,就是裝 os 的那個 xvda(disk0), 先移除再新增,就好了,因為我新增三顆空白虛擬硬碟檔時,xen 會 把它們順序位置放在開機碟(xvda)前,造成開機後,讀不到 kernel, 無法開機。 Xen 的問題解完後,又碰到另一個問題,在同一台電腦裡我的 initiator、target 和 isns 都設定好了,isns 有都抓到 initiator、target 的 節點,但 initiator 就是無法透過 isns 連接 target,試有好久就是沒辦 法,無意間就試著把裝有 target 虛擬機器的那顆硬碟在另一台電腦(電 腦 B)試看看,然後在電腦 A 再試著用 initiator 透過 isns 連接 target, 沒想到這樣就試成功了! 這樣看來在虛網的網路下可能無法讓 initiator 和 isns 溝通,要在實體的網路環境下才能成功。 作 linux lab 的難度比 MS lab 的難度要高上許多,有些東西是老 師未教過的,完全要靠自己去摸索及研究,過程中會不斷遇到問題卡 關,別氣餒,休息一下,整理一下思緒,再繼續奮戰,解法說不定在 無意間就試出來了,我的情況正是如此,班上其他同學亦是,在卡關 的同時,我還去玩了其它的東西,像 ipv6 to ipv4 tunneling、radva 及


bond 的,另外感謝老師對我們這組 lab 實作的肯定,Guru 老師提到 此 lab 的延伸實驗可再加上 bonding,將三張 1Gbps 的網卡 bonding 起來,整合的頻寬為 3Gbps,以相較光纖通道網卡較低的建置成本, 建構高速的 SAN。

Linux Lab (iscsi and isns)  

Linux Lab (iscsi and isns)

Read more
Read more
Similar to
Popular now
Just for you