伺服器的空間使用情景,最早就是機器可以放多少顆硬碟,就是多少的空間(做raid的部份先不看),萬一伺服器裡面擺不下,那就是擺伺服器外面,再用傳輸線連起來,這樣子的方案叫DAS (Direct-attached storage),某一台伺服器的儲存空間比較多,有能力透過網路分享給別人使用,這樣叫NAS(Network-attached storage,參考網路檔案系統 – NFS),想要專門的網路儲存區,做多台伺服器對多台儲存伺服器的環境,最先是使用光纖方案叫SAN( storage area network),可這個方案貴,要有HBA/SAN Switch等設備的投資,剛說了SAN的傳輸是透過光纖,如果改架構變成一般網路,儲存空間用比較大容量的伺服器,再配上ubuntu與open-iscsi,這樣也不失為一種好的解決方案(IP SAN)。


▲ 圖一、由儲存伺服器中要空間當本機的硬碟

測試環境是二台主機,第一台IP在192.168.11.31,只有系統槽(/dev/sda),可他想要再有一顆硬碟來做資料存放用,所以出現了第二台空間比較多的伺服器,IP在192.168.11.32,11.32分享出來的一顆hd叫diskb,11.31如何將11.32的diskb拿回來當本機sdb使用,就是下述教學要說明的囉。

補充一下在iscsi架構中,要連線別人的伺服器叫initiator(發起要儲存空間),要被別人連線伺服器的叫target(目標,有空間給別人用)。

首先我們連到192.168.11.32這一台做target的設定

● sudo apt-get install open-iscsi iscsitarget                        #進行iscsi與iscsitarget安裝


▲ 圖二、安裝iscsi與iscsitarget

● sudo vi /etc/default/iscsitarget                                # 編修設定檔啟用iscsitarget
   ISCSITARGET_ENABLE=true


▲ 圖三、iscsitarget簡單設定,就只是做啟用target功能

● sudo /etc/iet/ietd.conf                       # 編修iet (iSCSI Enterprise Target)設定檔
   Target iqn.192.168.1.94:diskb          # 說明iscsi分享出去的target識別碼叫什麼
   Lun 0 Path=/dev/sdb,Type=blockio  # 分享出去的來源是什麼,這裡是用/dev/sdb,使用的io方式是blockio

● sudo service iscsitarget restart        # 到此iscsitarget的設定完成,我們重啟服務以讓設定生效

● cat /proc/net/iet/volume                    #看一下系統中分享的iet volume,非常棒,有一個分享的volume了


▲ 圖四、分享出來的iet volume

回到有需要增加空間的伺服器192.168.11.31中,他需要有連線到target的能力,所以也要安裝程式

● sudo apt-get install open-iscsi                        


▲ 圖五、initiator只需要安裝open-iscsi

● sudo iscsiadm -m discovery -t st -p 192.168.11.32     #找出(discovery)指定ip下分享的磁碟,他會記成一個note資料,有需要可以透過sudo iscsiadm -m node -o show指令來查看

● sudo iscsiadm -m node –login                                     #將node做掛載
● cat /proc/partition                                                          #看到有一顆新的sdb如<<圖六>>所示

▲ 圖六、發現並掛載iscsi target提供的磁碟

掛載完成後,這個磁碟就可以像本機硬碟一樣的進行操作,使用fdisk做分割表,使用mkfs做格式化


▲ 圖七、新硬碟的分割與格式化

想要大空間,又覺得glusterfs類的方案很麻煩,把數台提供有大空間的伺服器,改裝ubuntu與open-iscsi,再掛載在第一台中來使用,這應該是個簡單易用的方案;如果心臟很強,又覺得不同的iscsi target掛成不同的目錄,這樣用起來很麻煩,也許還可以試試lvm,或是linux softraid方案,理論上可以把數個空間拼在一起,不過這些伺服器開關機的順序、系統可靠與環境(電力、溫度…)就要多留意,要是一台儲存成員跳脫,對整個拼出來的大儲存架構來說,應該是場大災難。

 

來源:http://download.ithome.com.tw/article/index/id/2319

最後修改日期: 2014-07-29

作者

留言

撰寫回覆或留言