iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的能够在IP协议的上层运行的SCSI指令集,这种指令集合能够实如今IP网络上运行SCSI协议,使其可以在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。html
iSCSI协议,即internet SCSI,是IETF制订的一项存储传输协议标准,用于将SCSI数据区块映射成以太网数据封包。iSCSI协议基本上是一种跨过IP网络来传输SCSI 数据区块的方法,发起读写请求的来源机器设备称做Initiator(发起方),被请求的目标设备则称做Target。透过这种方式可在IP网络上以区块级模式存取大量数据。node
要实现iSCSI读写,除了使用特定硬设备外,也可透过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的链接。linux
ubuntu-12.04系统:ubuntu
<pre> apt-get install linux-headers-3.2.0-23-generic iscsitarget-dkms iscsitarget </pre>服务器
重要组件网络
修改文件/etc/default/iscsitargetsession
<pre> ISCSITARGET_ENABLE=true </pre> app
修改文件/etc/iet/ietd.confide
<pre> Target iqn.2013-03.world.server:target0 Lun 0 Path=/dev/sdb,Type=fileio </pre>工具
从新启动iscsitarget服务后,使用命令 ietadm --op show --tid=1,若是返回相似以下信息,说明服务端配置已经OK:
<pre> Wthreads=8 Type=0 QueuedCommands=32 NOPInterval=0 NOPTimeout=0 </pre>
<pre>InitiatorName=iqn.1993-08.org.debian:01:4283b26ce7a5</pre>
软件iSCSI initiator的intiator名称配置文件,里面定义了InitiatorName,这是iscsi客户端和服务端认证通讯时候用到的重要标识
/etc/iscsi/nodes 当前系统使用的节点信息表存放位置
/etc/iscsi/send_targets 发现的节点信息表存放位置
注意:使用rsync同步系统模板前设置 /etc/iscsi/下的文件目录只读属性,以避免被覆盖或清除,致使重启后没法自动挂载存储节点
默认状况下,iscsi发起方和目标方之间经过端口3260链接。假设已知iscsi的目标方IP是192.168.2.200
<pre> iscsiadm -m discovery -t sendtargets -p 192.168.2.200:3260 </pre>
显示信息以下:
<pre> 192.168.2.200:3260,0 iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target </pre>
此时发现一个目标,被发现的目标也叫作节点,iscsi发起方和目标方,创建链接后能够,能够进行登录节点操做:
<pre> iscsiadm -m node --targetname iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target --login </pre>
显示信息以下:
<pre> Logging in to [iface: default, target: iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target, portal: 192.168.2.200,3260] Login to [iface: default, target: iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target, portal: 192.168.2.200,3260]: successful </pre>
<pre> iscsiadm -m node --targetname iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target --logout </pre>
显示信息以下:
<pre> Logging out of session [sid: 1, target: iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target, portal: 192.168.2.200,3260] Logout of [sid: 1, target: iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target, portal: 192.168.2.200,3260]: successful </pre>
<pre> iscsiadm -m node --targetname iqn.1997-05.tw.com.proware:proips-000a8a9ff:default-target --op update -n node.startup -v automatic </pre>
当前的CDN系统模板,按照安装文档所说的建立 /etc/fstab.iscsi, 或定义/etc/fstab 挂载点添加 auto,_netdev 重启均会致使/home没法挂载而不能顺利启动,当前的解决办法是: 在 /etc/rc.local 中添加
<pre> mount /dev/mapper/vg_data-lv_home /home mount --bind /home /mnt/ubuntu/home </pre>
前面的操做都成功后,应该能够看到新的设备/dev/sdX的相关信息,剩下的就是像对待本地硬盘同样的创建分区,格式化等操做。