iscsi target:存储设备端,存放磁盘的设备,为其他服务器提供“磁盘”,可以算作是服务器端。
Iscsi initiator:使用target提供“磁盘”的客户端
实验环境:
以192.168.10.1作为target,initiator为192.168.10.2
服务端配置
target安装
# yum -y install scsi-target-utils
scsi-target-utils包中的主要配置文件以及命令:
/etc/tgt/target.conf :主要配置文件
/usr/sbin/tgt-admin :在线查询、删除target等功能的命令
/usr/sbin/tgtd :主要提供iscsi target服务的主程序
启动 iscsi 服务
# service tgtd start
设置开机自启动
# chkconfig tgtd on
ISCSI的共享磁盘可以是镜像文件(.img)、LVM分区、物理磁盘、或其它分区。
首先演示如何使用镜像文件作为共享磁盘的方法
创建镜像文件目录
# mkdir /data/tgtd/data -p
创建50Gimg镜像
# dd if=/dev/zero of=/data/tgtd/data/data.img bs=1G count=50
编辑配置文件/etc/tgt/targets.conf
格式如下:
<target iqn.2014-5.com.inter.10.1:test-target>
backing-store /data/tgtd/data/data.img
initiator-address 192.168.10.2
</target>
iSCSI的target名称的命名方式:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其含义:
iqn表示“iSCSI Qualified Name”,简称iqn。yyyy-mm表示“年-月”。reversed domain name表示倒过来的域名。identifier是识别名称。
几个常用的参数含义如下:
backing-store:虚拟设备,与之对应的是direct-store(实际设备),设定的时候,如果把整块磁盘全部拿来使用可以使用配置direct-store,反之使用backing-store,这里使用backing-store,计划在今后的生产环境中使用LVM逻辑卷,那么这里的配置还是应该使用backing-store。
initiator-address:用户端地址,可以用来限制initiator的来源IP
启动以及查看iSCSI target:
# /etc/init.d/tgtd start
[root@10.1 ~]# netstat -tlunp | grep tgtd
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 30945/tgtd
tcp 0 0 :::3260 :::* LISTEN 30945/tgtd
最后查看target信息:
[root@10.1 ~]# tgt-admin –show
Target 1: iqn.2013-09.com.inter.10.1:test-target
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 805 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /data/tgtd/data/data.img
Backing store flags:
Account information:
ACL information:
192.168.10.2
通过以上信息可以看到配置文件中的配置都已经生效
客户端配置
# yum install iscsi-initiator-utils
iscsi-initiator-utils中的主要配置文件以及命令:
/etc/iscsi/iscsid.conf :主要配置文件
/sbin/iscsid :启动iscsi initiator的主要服务程序
/sbin/iscsiadm :管理iscsi initiator的管理程序
/etc/intit.d/iscsid :主要服务进程
/etc/init.d/iscsi :启动该脚本,可以使发现过的iscsi target配置生效,一般直接使用该脚本即可,initiator未执行的话,会调用/etc/init.d/iscsid启动initiator。
启动iscsid服务
# service iscsid start
发现网络中可用的target
# iscsiadm -m discovery -t sendtargets -p 192.168.10.1:3260
例:
[root@10.2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.1
192.168.10.1:3260,1 iqn.2013-09.com.inter.10.1:test-target
连接ISCSI
# iscsiadm -m node -T iqn.2013-09.com.inter.10.1:test-target -p 192.168.10.1 –login
开机自动连接
# vi /etc/rc.d/rc.local #编辑/etc/rc.d/rc.local 在下面加入如下代码
iscsiadm -m node -T iqn.2013-09.com.inter.10.1:test-target -p 192.168.10.1 –login
当需要重新进行连接时,可以重启iscsi服务,系统将自动进行连接,也可以通过以下的命令实现重新连接:
# iscsiadm -m node -T iqn.2013-09.com.inter.10.1:test-target -p 192.168.10.1:3260 -l
删除target条目的记录:
# iscsiadm -m node -o delete iqn.2013-09.com.inter.10.1:test-target -p 192.168.10.1:3260
自动挂载与格式化
查看磁盘
# fdisk -l
磁盘分区格式化
# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.
The number of cylinders for this disk is set to 13249.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0×0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n #开始分区
Command action
e extended #扩展分区
p primary partition (1-4) #主分区
e #选择e扩展分区
Partition number (1-4): 1 #分区号sdc1
First cylinder (1-13249, default 1): 1 #开始扇区,默认即可
Last cylinder or +size or +sizeM or +sizeK (1-13249, default 13249): 13249 #结束扇区,默认即可
Command (m for help): w #保存分区信息,退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
将划分出来的/dev/sdc1格式化,并挂载到系统里面来:
# mkfs.ext4 /dev/sdc1 #格式化成ext4分区注:如出现格式化出错,则需要重启把分区创建成逻辑分区即可
# mkdir /mnt/share
# mount -t ext4 /dev/sdc1 /mnt/share #挂载到/mnt/share
开机自动挂载分区
# vi /etc/fstab #编辑 /etc/fstab 加入如下代码
/dev/sdc1 /mnt/share ext4 default,_netdev 0 0
暂时没有评论,期待你说点什么。