Ubuntu Server適用的角色有很多。很多情況下給一臺服務(wù)器分派多個角色是可能的。你初次安裝一臺Ubuntu Server時,你會得到一個選項列表,包括OpenSSH、DNS、LAMP、Mail、PostgreSQL數(shù)據(jù)庫、Print、Samba、Tomcat Java和Virtual Machine主機(jī)。
使用虛擬化可以將不同的角色托管成單獨(dú)的虛擬機(jī)(VM)實(shí)例,不需要停掉其它服務(wù)就可以輕松地執(zhí)行更新和系統(tǒng)重啟。對于存儲角色,你可以運(yùn)用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目標(biāo)
只要你熟悉命令行,將Ubuntu server配置成iSCSI目標(biāo)并不難。你要做的第一件事就是安裝iscsitarget數(shù)據(jù)包。你要通過下面命令行:
aptitude install iscsitarget
該過程結(jié)束后,你必須編輯文件/etc/default/iscsitarget并將選項從錯誤改為正確。命令行與下面類似:
ISCSITARGET_ENABLE=true
iscsitarget模塊用多種方式處理安全問題。使用文件/etc/initiators.allow可以在一個IP地址的基礎(chǔ)上指定訪問。默認(rèn)情況下,該文件擁有“ALL ALL”的入口,這意味著它給了所有申請者訪問所有目標(biāo)的權(quán)利。
開始該服務(wù)要輸入:
/etc/init.d/iscsitarget start
這時候沒有任何可用的目標(biāo),但是你可以通過查看iscsitarget模塊來看到服務(wù)運(yùn)行,它運(yùn)用端口3260來進(jìn)行所有通訊。有–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目標(biāo)設(shè)備有很多種不同的選擇。這其中包括一個物理設(shè)備、一個邏輯卷,或一個文件。由于文件存儲設(shè)備的驅(qū)動類型不同,基于文件的設(shè)備會有性能問題。下面的命令用來創(chuàng)建一個空白的20 GB文件,你可以將其用作基于文件的目標(biāo):
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000
添加目標(biāo)卷需要編輯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開始,且每一個目標(biāo)都必須有LUN 0:
Lun 0 Path=/storage/lun1.img,Type=fileio
完成后,運(yùn)用下面的命令重啟iscsitarget模塊:
/etc/init.d/iscsitarget restart
想檢查狀態(tài),你可以查看/proc/net/iet directory中兩個文件(卷和會話)的內(nèi)容:
root@ubuntvmsrv:/etc/iet# cat /proc/net/iet/volume
tid:1 name:iqn.2001-04.com.example:storage.disk2.lun1
lun:0 state:0 iotype:fileio iomode:wt blocks:2048000 blocksize:512 path:/storage/lun1.img
root@ubuntvmsrv:/etc/iet# cat /proc/net/iet/session
tid:1 name:iqn.2001-04.com.example:storage.disk2.lun1
Ubuntu上的iSCSI目標(biāo)管理
Webmin是用來管理所有Linux服務(wù)器系統(tǒng)的好工具。但是,需要添加一個模塊來管理iSCSI目標(biāo)配置。添加Webmin很簡單:打開網(wǎng)絡(luò)瀏覽器,進(jìn)入webmin.org,點(diǎn)擊“第三方模塊”并搜索iSCSI,然后復(fù)制連接并粘貼到Webmin添加模塊窗口。這提供了到所有iSCSI和管理系統(tǒng)必要存儲配置選項的訪問。它顯示了Webmin用來完成配置工作的文件和腳本命令。
Webmin提供到潛在存儲硬件的訪問來進(jìn)行RAID配置、磁盤分區(qū)并完全掌控邏輯卷管理(LVM)。
添加了Webmin,你可以避免Ubuntu Server 11.04的命令行配置。該Linux操作系統(tǒng)發(fā)行版適用于一般目的的服務(wù)器功能,包括低成本的存儲服務(wù)器。