Ubuntu Server适用的角色有很多。很多情况下给一台服务器分派多个角色是可能的。你初次安装一台Ubuntu Server时,你会得到一个选项列表,包括OpenSSH、DNS、LAMP、Mail、PostgreSQL数据库、Print、Samba、Tomcat Java和Virtual Machine主机。
使用虚拟化可以将不同的角色托管成单独的虚拟机(VM)实例,不需要停掉其它服务就可以轻松地执行更新和系统重启。对于存储角色,你可以运用Samba安装一个文件服务器。但是,在现今的企业环境中,你更可能发现使用iSCSI的NAS,而Ubuntu Server 11.04可以胜任这一任务。一个NAS iSCSI存储服务器不是安装菜单中可配置的一个角色,但它安装起来并不难。针对该存储角色安装一台服务器的关键在于硬件(多个磁盘空间)的结合,加上正确的软件模块和配置。在本文中,我将谈到正确配置所有事情的必要条件以及安装完成后如何管理系统。
设置Ubuntu 11.04为iSCSI目标
只要你熟悉命令行,将Ubuntu server配置成iSCSI目标并不难。你要做的第一件事就是安装iscsitarget数据包。你要通过下面命令行:
aptitude install iscsitarget
该过程结束后,你必须编辑文件/etc/default/iscsitarget并将选项从错误改为正确。命令行与下面类似:
ISCSITARGET_ENABLE=true
iscsitarget模块用多种方式处理安全问题。使用文件/etc/initiators.allow可以在一个IP地址的基础上指定访问。默认情况下,该文件拥有“ALL ALL”的入口,这意味着它给了所有申请者访问所有目标的权利。
开始该服务要输入:
/etc/init.d/iscsitarget start
这时候没有任何可用的目标,但是你可以通过查看iscsitarget模块来看到服务运行,它运用端口3260来进行所有通讯。有–i参数的打开文件列表命令可以用来确定任意过程是否连接到这个端口:
# 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)
网络状态命令联合grep也会检查端口3260上的活动:
netstat -apne grep 3260
创建一个iSCSI目标设备有很多种不同的选择。这其中包括一个物理设备、一个逻辑卷,或一个文件。由于文件存储设备的驱动类型不同,基于文件的设备会有性能问题。下面的命令用来创建一个空白的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
你需要变更的第二行是规定LUN 0的行。LUN数必须从0开始,且每一个目标都必须有LUN 0:
Lun 0 Path=/storage/lun1.img,Type=fileio
完成后,运用下面的命令重启iscsitarget模块:
/etc/init.d/iscsitarget restart
想检查状态,你可以查看/proc/net/iet directory中两个文件(卷和会话)的内容:
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目标管理
Webmin是用来管理所有Linux服务器系统的好工具。但是,需要添加一个模块来管理iSCSI目标配置。添加Webmin很简单:打开网络浏览器,进入webmin.org,点击“第三方模块”并搜索iSCSI,然后复制连接并粘贴到Webmin添加模块窗口。这提供了到所有iSCSI和管理系统必要存储配置选项的访问。它显示了Webmin用来完成配置工作的文件和脚本命令。
Webmin提供到潜在存储硬件的访问来进行RAID配置、磁盘分区并完全掌控逻辑卷管理(LVM)。
添加了Webmin,你可以避免Ubuntu Server 11.04的命令行配置。该Linux操作系统发行版适用于一般目的的服务器功能,包括低成本的存储服务器。