使用虛擬化可以將不同的角色托管成單獨的虛擬機(VM)實例,不需要停掉其它服務(wù)就可以輕松地執(zhí)行更新和系統(tǒng)重啟。對于存儲角色,你可以運用 Samba安裝一個文件服務(wù)器。但是,在現(xiàn)今的企業(yè)環(huán)境中,你更可能發(fā)現(xiàn)使用iSCSI的NAS,而Ubuntu Server 11.04可以勝任這一任務(wù)。一個NAS iSCSI存儲服務(wù)器不是安裝菜單中可配置的一個角色,但它安裝起來并不難。針對該存儲角色安裝一臺服務(wù)器的關(guān)鍵在于硬件(多個磁盤空間)的結(jié)合,加上正確的軟件模塊和配置。在本文中,我將談到正確配置所有事情的必要條件以及安裝完成后如何管理系統(tǒng)。
設(shè)置Ubuntu 11.04為iSCSI目標
只要你熟悉命令行,將Ubuntu server配置成iSCSI目標并不難。你要做的第一件事就是安裝iscsitarget數(shù)據(jù)包。你要通過下面命令行:
aptitude install iscsitarget
該過程結(jié)束后,你必須編輯文件/etc/default/iscsitarget并將選項從錯誤改為正確。命令行與下面類似:
ISCSITARGET_ENABLE=true
iscsitarget模塊用多種方式處理安全問題。使用文件/etc/initiators.allow可以在一個IP地址的基礎(chǔ)上指定訪問。默認情況下,該文件擁有“ALL ALL”的入口,這意味著它給了所有申請者訪問所有目標的權(quán)利。
開始該服務(wù)要輸入:
/etc/init.d/iscsitarget start
這時候沒有任何可用的目標,但是你可以通過查看iscsitarget模塊來看到服務(wù)運行,它運用端口3260來進行所有通訊。有–i參數(shù)的打開文件列表命令可以用來確定任意過程是否連接到這個端口:
# lsof -i:3260 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ietd
1356 root 8u IPv4 8958 0t0 TCP *:3260 (LISTEN)
ietd 1356 root 9u IPv6 8959 0t0 TCP *:3260 (LISTEN)
網(wǎng)絡(luò)狀態(tài)命令聯(lián)合grep也會檢查端口3260上的活動:
netstat -apne grep 3260
創(chuàng)建一個iSCSI目標設(shè)備有很多種不同的選擇。這其中包括一個物理設(shè)備、一個邏輯卷,或一個文件。由于文件存儲設(shè)備的驅(qū)動類型不同,基于文件的設(shè)備會有性能問題。下面的命令用來創(chuàng)建一個空白的20 GB文件,你可以將其用作基于文件的目標:
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000
添加目標卷需要編輯ietd.conf文件。它是用于iSCSI Enterprise Target daemon(ietd)的配置文件。在Ubuntu Server 11.04中,該文件保存在/etc/iet directory.Ubuntu Server的之前版本將該文件放在/etc directory中。在該文件中,很多文件都用#添加注釋。你需要變更的第一行就是Target行:
Target iqn.2001-04.com.example:storage.disk2.lun1
你需要變更的第二行是規(guī)定LUN 0的行。LUN數(shù)必須從0開始,且每一個目標都必須有LUN 0:
Lun 0 Path=/storage/lun1.img,Type=fileio
完成后,運用下面的命令重啟iscsitarget模塊:
/etc/init.d/iscsitarget restart