iSCSI配置

     刚刚入职,师父安排学习iSCSI协议。先把iSCSI搭起来。

     环境: 服务端和客户端都是CentOS7。服务端target使用的是Linux SCSI target framework,即tgt。

客户端initiator用的是iscsi-initiator-utils。两个软件可以通过以下命令安装:

yum install scsi-target-utils
yum install iscsi-initiator-utils

  具体配置方法网上有很多,不再赘述。我参考的是《鸟哥的Linux私房菜服务器架设篇(第三版)》

  scsi-target-utils有一些用于配置的文件。基本上有以下几个比较重要的:

  • /etc/tgt/targets.conf :主要配置文件,主要用来设置要分享的磁盘和一些其他的设置;
  • /usr/sbin/tgt-admin:提供查询、删除target等功能的工具;
  • /usr/sbin/tgt-setup-lun:建立target以及设定分享的磁盘与可使用的客户端等工具,这些在targets.conf里也能设置
  • /usr/sbin/tgtd:后台驻留程序;
  • /usr/sbin/tgt-admin:建立设置预计分享的映像文件装置的工具(用映像文件仿真磁盘)

  iscsi-initiator-utils用于配置的文件:

  • /etc/iscsi/iscsid.conf:配置文件,用于连接到iSCSI target
  • /sbin/iscsid:启动iSCSI initiator的主要服务程序
  • /sbin/iscsiadm:用来管理iSCSI initiator的主要设定程序
  • /etc/init.d/iscsid:让本机模拟出成为iSCSI initiater的主要服务
  • /etc/init.d/iscsi:在本机成为iscs initiator之后,启动此脚本,让我们登入iscsi target。iscsid先启动之后才能启动这个服务  

  在搭建iSCSI的时候遇到了一些问题,以下是问题和解决的方法:

  问题:

  按照鸟哥的配制方法在使用/etc/init.d/tgtd start 启动服务的时候,出现错误,显示没有启动脚本。

  原因:

  经过的前辈点化,明白了centos7的启动方式变成了systemd,而不是原来的systeminit,所以在/etc/init.d下没有启动脚本。但是有/usr/lib/systemd/system/tgtd.service这个文件。综上,应该用systemctl tgtd start这条命令来启动服务。(真的是照着教程也不一定能玩对啊,最终还是靠前辈点化才成功,真是感觉又高兴又羞耻)。

 

  接下来的计划是,对照文档和抓包理解iscsi协议的流程、概念和一些细节,最后在对照tgt的源码学习。

 

posted on 2016-07-29 21:43  剑客西门吹雪  阅读(352)  评论(0编辑  收藏  举报

导航