-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu
分类: 服务器与存储
2013-02-04 18:22:52
实验目的:将一台主机上的硬盘作为一个iscsi target挂载到另外一台主机上 。
1. iscsi的target端
(1)安装 iscsi target相关的软件
$ sudo apt-get install iscsitarget iscsitarget-source iscsitarget-dkms
(2)修改iscsi target的配置文件
$ sudo vi /etc/default/iscsitarget
ISCSITARGET_ENABLE=true # change false to true
(3)为target准备存储
这里可以用真正的硬盘,比如/dev/sdx,也可以使用虚拟机的磁盘,比如dd出来的文件:dd if=/dev/zero of=/var/lun1.bin count=0 obs=1 seek=50G.
下面以真实的硬盘为例进行各项操作。
Centos 下target的配置操作
centos下iscsi target配置
### 创建一个target,id=1,iqn=iqn.2013-02.node2, iqn是target在局域网内的唯一描述符
$sudo tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2013-02.node2
### 可以通过下面命令查看当前创建的target和lun
$ sudo tgtadm --lld iscsi --op show --mode target
### 给指定的target增加一个lun,通过tid来制定target,这里将/dev/sdl添加到tid=1的target中
$ sudo tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdl
###注: /dev/sdl是一整块盘,也可将某个分区增加到target中,如/dev/sdl1,/dev/sdb1
### 要使某个target能够被initiator访问,必须先执行如下命令
$ sudo tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
### 删除指定的target,由tid来指定
$ sudo tgtadm --lld iscsi --op show --mode target --op delete --tid 1
ubuntu下iscsi target的配置操作
ubuntu下iscsi target配置
# vi /etc/iet/ietd.conf
在文件的末尾添加如下信息:
Target iqn.2012-12.local.mynet:storage.lun1 //iqn.2012-12.local.mynet:storage.lun1为iqn,格式参见centos中的iqn
Lun 1 Path=/dev/sdl1,Type=fileio,ScsiId=lun1,ScsiSN=lun1
第一行 Target 之后的内容可以任意修改,不过最好保持例子中的格式;第二行在该 Target 上创建了一个 LUN,序号为 1
执行完以上配置后,需重启iscsitarget服务:
centos
service tgtd restart
ubuntu
service iscsitarget restart
(4)配置iscsi target的带密码访问方式(如果想无密码设置,可以跳过,并且这是ubuntu的配置方式)
假设需要配置的iscsi target的用户名和密码如下:
username=dylan
password=123456
如果 ISCSI Target Server 需要用户名密码,则需要在 /etc/iscsi/iscsid.conf 中进行配置,配置选项如下:
node.session.auth.username = dylan
node.session.auth.password = 123456
discovery.sendtargets.auth.username = dylan
discovery.sendtargets.auth.password = 123456
其中,两组用户名和密码均为 Target Server 设定的用户名和密码。
修改完成后,需要重启 open-iscsi 服务:
# service open-iscsi restart
2. iscsi initiator端
(1)安装open-scsi
sudo apt-get install open-iscsi open-iscsi-utils
(2)发现iscsi target
sudo iscsiadm -m discovery -t sendtargets -p 192.168.35.17
显示信息如下:
192.168.35.17:3260,1 iqn.2013-02.node2
(3)使用target
sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 --login
执行上述操作后,就可在本地主机上多出一个/dev/sdx
(4)删除target
sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 -u