今天自己按照网上搜来的教程自己在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