本实验主要实现使用服务器做iscsi设备,来实现共享存储的,拓扑图如下所示:
具体配置如下所示:
一、准备共享的设备,我这里就是用新划分的磁盘分区来做
1.建立所需要的磁盘分区
#fdisk /dev/sda
#fdisk -l
[root@station78 ~]# fdisk -l
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 5235 41945715 8e Linux LVM
/dev/sda3 5236 5300 522112+ 82 Linux swap / Solaris
/dev/sda4 5301 15665 83256862+ 5 Extended
/dev/sda5 5301 5544 1959898+ 83 Linux
如图所示,可以看到我已经划分好了磁盘分区,使用/dev/sda5来实现一下的效果
二、安装iscsi服务端
#yum install iscsi-target-utils -y
#service tgtd start //启动服务
#chkconfig tgtd on //设置开机默认运行
#netstat -tnlp | grep 3260 //查看运行的端口是否开启,如下图所示
三、使用tgtadm工具配置服务端
tgtadm --lld [driver] --op [operation] --mode [mode] [OPTION]... //tgtadm使用格式
(1)、添加一个新的 target 且其ID为 [id], 名字为 [name].
--lld [driver] --op new --mode target --tid=[id] --targetname [name]
(2)、显示所有或某个特定的target:
--lld [driver] --op show --mode target [--tid=[id]]
(3)、向某ID为[id]的设备上添加一个新的LUN,其号码为[lun],且此设备提供给initiator使用。[path]是某“块设备”的路径,此块设备也可以是raid或lvm设备。lun0已经被系统预留。
--lld [driver] --op new --mode=logicalunit --tid=[id] --lun=[lun] --backing-store [path]
(4)、删除ID为[id]的target:
--lld [driver] --op delete --mode target --tid=[id]
(5)、删除target [id]中的LUN [lun]:
-lld [driver] --op delete --mode=logicalunit --tid=[id] --lun=[lun]
(6)、定义某target的基于主机的访问控制列表,其中,[address]表示允许访问此target的initiator客户端的列表:
--lld [driver] --op bind --mode=target --tid=[id] --initiator-address=[address]
(7)、解除target [id]的访问控制列表中[address]的访问控制权限:
--lld [driver] --op unbind --mode=target --tid=[id] --initiator-address=[address]
下面就是具体的过程了:
1.创建一个target
# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2011-09.com.example.tsl:desk1
# tgtadm --lld iscsi --op show --mode target //显示刚定义的target如下图所示
当然还可以使用下面命令显示更详细的信息:
# tgtadm --lld iscsi --op show --mode target --tid 1
2.创建lun,号码是1:
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda5 //创建一个LUN编号为1,使用的磁盘为刚创建的磁盘分区/dev/sda5
# tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.0/24 //开放192.168.1.0/24网段中的主机访问
# tgtadm --lld iscsi --op show --mode target --tid 1 --lun 1 //查看详细的信息
四、客户端的配置
1.安装和启动客户端
# yum install iscsi-initiator-utils -y //安装客户端initiator
# echo "InitiatorAlias=initiator" >> /etc/iscsi/initiatorname.iscsi //想该文件中添加内容
# service iscsi start
# chkconfig iscsi on
2.使用iscsiadm工具进行客户端发现
# iscsiadm -m discovery -t sendtargets -p 192.168.1.101
192.168.1.101:3260,1 iqn.2011-09.com.example.tsl:desk1 //这里显示的是服务端的
OK!基本的实验完成。