转至:https://www.linuxidc.com/Linux/2016-09/135655.htm
Linux下搭建iSCSI共享存储
拓扑:
实验步骤:
--------------------------------------------------------------
配置iscsi server:
方案1:(命令行配置,立即有效,重启无效)
1、在target上添加两块磁盘设备,sdb,sdc
2、安装程序包、启动服务
# yum install -y scsi-target-utils
# service tgtd start
3、创建target
# tgtadm --lld /dev/sdb --mode target --op new --tid 1 --targetname iqn.2015-01.com.liaobin:i1.c2
4、创建lun
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 2 --backing-store /dev/sdc
# tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1 #删除lun的方法
5、授权
# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.191.0/24 #限制只有192.168.191.0的网段可访问
6、查看已经定义的信息
# tgtadm --lld iscsi --mode target --op show
方案2:(配置文件中定义,重启有效)
1、编辑/etc/tgt/targets.conf
<target iqn.2015-01.com.liaobin:i1.c2>
backing-store /dev/sdb
backing-store /dev/sdc
initiator-address 192.168.191.0/24
</target>
2、重启tgtd服务;
# service tgtd restart
--------------------------------------------------------------
配置iscsi客户端initiator(节点1,2都需进行如下操作):
1、安装程序包
# yum install -y iscsi-initiator-utils
2、配置initiator的名字(配置文档:/etc/iscsi/initiatorname.iscsi)
# echo "InitiatorName=`iscsi-iname -p iqn.2015-01.com.liaobin`" > /etc/iscsi/initiatorname.iscsi (使用iscsi-iname命令生成随机数)
3、启动服务
# service iscsi start
# service iscsid start
4、使用iscsiadm实现target的发现
基本格式:iscsiadm -m discovery -d # -t sendtargets -p IP[:PORT]
# iscsiadm -m discovery -d 3 -t sendtargets -p 192.168.191.113:3260
#发现target -m模式 -d调试级别 -t类型(sendtargets可简写为st)-p服务端IP
5、登入,登出
基本格式:iscsiadm -m node [ -d debug_level ] [ [ -T targetname -p ip:port -I ifaceN ] [ -l | -u | -R | -s] ] [ [ -o operation ]
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -l #登入
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -u #登出
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -o delete #删除指定条目
--------------------------------------------------------------
测试:
(节点上1操作)
1、查看有无磁盘设备
# fdisk -l #查看是否多出sdb,sdc,若有则说明登入成功,可分区并挂载使用
2、新建分区
# fdisk /dev/sdc #创建一个新分区
3、格式化文件系统
# mke2fs -t ext4 /dev/sdc1
4、挂载
# mount /dev/sdc1 /mnt #创建文件系统,并挂载到/mnt
5、创建一个测试文件,切换到另一个initiator节点挂载/dev/sdc1查看文件是否存在
# touch test.txt ; echo "this is test line"> test.txt
(节点2上操作)
1、查看有无磁盘设备,且挂载使用
# fdisk -l
2、直接挂载刚才节点1创建了文件系统的分区/dev/sdc1
# mount /dev/sdc1 /mnt
3、切换到/mnt目录下查看文件是否正常
# cd /mnt;ls
# cat test.txt
显示正常,说明创建iscsi共享存储成功,测试完成。