这篇Blog转载自蒋清野的Blog,得到作者允许后在此转载,如需再次转载,请注明原作者信息和链接。链接:在Ubuntu 12.04上配置iSCSI Target服务
同时,我又在最后追加了一点东西:“如何自动登陆目标器”
以下是全文:
今天自己按照网上搜来的教程自己在Ubuntu 12.04上配置了iSCSI Target服务,在这里简单地做个纪录。操作系统是全新安装的Ubuntu 12.04,配置一块500 GB的SATA笔记本硬盘。安装操作系统时将硬盘划分为两个分区,其中一个50 GB的分区(/dev/sda1)挂载为操作系统的根分区;另外一个450 GB的分区(/dev/sda2)作为提供存储服务的空间,暂时不挂载。
安装完操作系统之后,安装必要的软件:
$ sudo apt-get install chkconfig lvm2 iscsitarget iscsitarget-dkms
创建物理卷/dev/sda2:
$ sudo pvcreate /dev/sda2
在物理卷/dev/sda2上创建一个volume group:
$ sudo vgcreate -s 32M vg_target00 /dev/sda2
看一下刚才创建的volume group:
$ sudo vgdisplay --- Volume group --- VG Name vg_target00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 419.19 GiB PE Size 32.00 MiB Total PE 13414 Alloc PE / Size 0 / 0 Free PE / Size 13414 / 419.19 GiB VG UUID vZplQx-DRjE-Kd4k-tr4e-RV6m-nIr2-k7SEvt
在如上volume group中创建一个逻辑卷lv_target00:
$ sudo lvcreate -L 50G -n lv_target00 vg_target00
看一下刚才创建的逻辑卷:
$ sudo lvdisplay --- Logical volume --- LV Name /dev/vg_target00/lv_target00 VG Name vg_target00 LV UUID gD9RO2-xAqr-3u5c-mM1H-O3l8-E3ra-XRT9QT LV Write Access read/write LV Status available # open 0 LV Size 50.00 GiB Current LE 1600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0
修改文件/etc/default/iscsitarget,启用iSCSI Target服务:
ISCSITARGET_ENABLE=true
修改文件/etc/iet/ietd.conf,配置iSCSI Target服务的参数(这里假定使用iSCSI Target服务的机器IP为192.168.100.104):
Target iqn.2013-03.world.server:target0 Lun 0 Path=/dev/mapper/vg_target00-lv_target00,Type=blockio initiator-address 192.168.100.104 incominguser test_user test_pass
重启一下iscsitarget服务:
$ sudo service iscsitarget restart
将iscsitarget服务设置为开机后自动启动:
$ sudo chkconfig iscsitarget on
看一下刚刚启动的iscsitarget服务:
$ sudo ietadm --op show --tid=1 Wthreads=8 Type=0 QueuedCommands=32 NOPInterval=0 NOPTimeout=0
到这里为止,iSCSI Target服务就已经配置完毕了。接下来我们在需要挂载iSCSI Target的机器(也称为iSCSI Initiator)上做一些配置:
$ sudo apt-get install open-iscsi
修改配置文件/etc/iscsi/iscsid.conf:
# line 39: uncomment node.session.auth.authmethod = CHAP # line 43,44: uncomment and set username and password which set on iSCSI Target node.session.auth.username = test_user node.session.auth.password = test_pass
使用下面这个命令发现iSCSI Target服务(这里假定提供iSCSI Target服务的机器IP为192.168.100.5):
$ sudo iscsiadm -m discovery -t sendtargets -p 192.168.100.5 192.168.100.5:3260,1 iqn.2013-03.world.server:target0
使用下面这个命令确认iSCSI Target服务的具体信息:
$ sudo iscsiadm -m node -o show
使用下面这个命令登陆到iSCSI Target服务:
$ sudo iscsiadm -m node --login
使用下面这个命令确认登录session的情况:
$ sudo iscsiadm -m session -o show
这个时候你应该能够通过/proc/partitions看到多出来一个分区(sdb):
$ more /proc/partitions major minor #blocks name 11 0 1048575 sr0 8 0 8388608 sda 8 1 248832 sda1 8 2 1 sda2 8 5 8136704 sda5 252 0 7581696 dm-0 252 1 520192 dm-1 8 16 52428800 sdb
也可以使用fdisk命令查看分区情况,应该可以看到/dev/sdb的相关信息:
$ sudo fdisk -l Disk /dev/sdb: 53.7 GB, 53687091200 bytes 64 heads, 32 sectors/track, 51200 cylinders, total 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table
这个时候就可以正常地格式化、挂载、和使用/dev/sdb了。
如果不打算继续使用这个分区了,可以从iSCSI Target退出服务:
$ sudo iscsiadm -m node --logout 在使用iSCSI时,可以设置自动登陆目标器 1. 对于已经存在于数据库中的node,使用iscsiadm更新纪录项: # iscsiadm -m node -p 192.168.122.102 –op update -n node.conn[0].startup -v automatic 2. 对于还没有添加的节点,可以编辑配置文件/etc/iscsi/iscsid.conf,在其中增加一项: node.conn[0].startup = automatic 这样以后通过discovery新添加的节点node.conn[0].startup都会被设置为automatic 设置自动登陆目标器后,每次使用init脚本启动iscsi服务时都会自动登入目标器