Iscsi是典型的IP-SAN技术,是基于因特网的SAN存储技术,该技术使得我们可以基于IP协议的网络上传输SCSI命令,在iSCSI环境中,客户端发送SCSI命令给远程的SCSI存储设备(targets),实现数据的存储于备份功能。iSCSI使用TCP的860和3260端口进行通信。iSCSI与SCSI最大的区别在于iSCSI摆脱了存储设备距离的限制,使得任何主机都可以通过局域网或广域网访问我们的存储设备,而对数据中心而言,这是至关重要的。
下面部署一个iSCSI服务器以及客户端环境,服务器IP:10.10.10.133,客户端IP:10.10.10.132
在服务器上需要安装target软件,安装完成后,我们可以通过命令或修改配置文件这两种方式部署iSCSI服务。如果需要使用命令配置服务,可以参考tgtadm命令的man手册,其中有比较详细的示例。以下操作将使用修改配置文件的方式来进行,但修改配置文件前,我们还需要搞清楚两个概念:LUN,IQN.
LUN是设备的逻辑单元号,一般为一个数字,我们使用LUN来标识存储设备。IQN为iSCSI合格名称,一般格式形如:
iqn.2015-06.com.123:disk1
部署iSCSI服务器时,首先需要安装scsi-target-utils软件。另外为了给其他服务器提供存储,iSCSI服务器上应该有足够的存储设备,可以使用fdisk查看计算机中的磁盘设备列表。其次,最重要的就是修改服务器配置文件,默认的服务器配置文件为/etc/tgt/targets.conf,我们需要在配置文件中添加共享设备,为共享设备创建LUN,IQN,最后启动服务进程即可。
[root@123 ~]# yum -y install scsi-target-utils
[root@123 ~]# fdisk -cul|grep /dev/sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes
/dev/sda1 * 2048 206847 102400 83 Linux
/dev/sda2 206848 731135 262144 82 Linux swap / Solaris
/dev/sda3 731136 41943039 20605952 83 Linux
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
/dev/sdb1 63 10506509 5253223+ 83 Linux
/dev/sdb2 10506510 21013019 5253255 83 Linux
/dev/sdb3 21013020 41929649 10458315 5 Extended
/dev/sdb5 21013083 41929649 10458283+ 83 Linux
标红为需要挂载的盘
[root@123 ~]# vim /etc/tgt/targets.conf
在default-driver iscsi下方加入如下的配置
backing-store /dev/sdb1
backing-store /dev/sdb2
lun 10
vendor_id Jacob Inc.
incominguser tom tompass12
backing-store /dev/sdb5
lun 20
initiator-address 10.10.10.132
incominguser tom tompass12
当服务器启动tgtd服务后,我们随时可以通过tgtadm命令来查看iSCSI的详细信息,通过以下命令获得
tgtadm --lld iscsi --op show --mod target
启动服务:service tgtd start
客户端访问
Linux客户端访问iscsi服务器需要安装iscsi-initiator-utils软件包
第一步,通过iscsiadm命令的discoverydb 选项可以发现服务器端iscsi的IQN。
第二步,通过login选项加载服务器的IQN,在本例子中,客户端主机完成以上两步之后,通过fdisk -cul命令查看新出现的磁盘
[root@localhost ~]# iscsiadm --mode discoverydb --type sendtargets --portal 10.10.10.133 --discover
10.10.10.133:3260,1 iqn.2015-06.com.123:disk1
10.10.10.133:3260,1 iqn.2015-06.com.123:disk2
10.10.10.133:3260,1 iqn.2015-06.com.123:disk5
[root@localhost ~]# iscsiadm --mode node --targetname iqn.2015-06.com.123:disk5 --portal 10.10.10.133:3260 --login
Logging in to [iface: default, target: iqn.2015-06.com.123:disk5, portal: 10.10.10.133,3260] (multiple)
Login to [iface: default, target: iqn.2015-06.com.123:disk5, portal: 10.10.10.133,3260] successful.
[root@localhost ~]# iscsiadm --mode node --targetname iqn.2015-06.com.123:disk2 --portal 10.10.10.133:3260 --login
Logging in to [iface: default, target: iqn.2015-06.com.123:disk5, portal: 10.10.10.133,3260] (multiple)
Login to [iface: default, target: iqn.2015-06.com.123:disk5, portal: 10.10.10.133,3260] successful.
[root@localhost ~]# fdisk -cul | grep /dev/sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes
/dev/sda1 * 2048 206847 102400 83 Linux
/dev/sda2 206848 731135 262144 82 Linux swap / Solaris
/dev/sda3 731136 41943039 20605952 83 Linux
Disk /dev/sdb: 5379 MB, 5379300864 bytes
Disk /dev/sdc: 5379 MB, 5379333120 bytes
Disk /dev/sdd: 10.7 GB, 10709282304 bytes
参考资料:http://luyx30.blog.51cto.com/1029851/1226152
http://e2718282.iteye.com/blog/1739649