背景

tgt作为一种经典的iSCSI代理,在SAN和分布式块存储上都得到广泛应用。实际工作中可能会碰到tgt部署、运行的各种问题,下面总结了笔者碰到的几个问题和大家一起分享解决办法。

找不到General.pm

  • 现象
    Can’t locate Config/General.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/sbin/tgt-admin line 10.
    BEGIN failed–compilation aborted at /usr/sbin/tgt-admin line 10.
  • 解决办法
    这是缺乏perl的一些基础库,安装上就好:

yum install perl-Config-General
yum install libibverbs, And whatever dependencies yum asked for ..

安装依赖的驱动报Deprecated config file

[root@bsi]# modprobe iscsi_tcp
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module iscsi_tcp.ko not found.
[root@bsi]# ls /etc/modprobe.conf
/etc/modprobe.conf
* 解决办法
去掉 /etc/modprobe.conf:
[root@bsi]# mv /etc/modprobe.conf /tmp/
[root@bsi]# modprobe iscsi_tcp
[root@bsi]# lsmod | grep iscsi
iscsi_tcp 18333 0
libiscsi_tcp 24176 1 iscsi_tcp
libiscsi 54705 2 iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi 97405 2 iscsi_tcp,libiscsi

找不到前端initiator命令

  • 现象
    利用tgtadmin 等命令去discover\login 后端导出的逻辑卷的时候,命令出错,提示找不到命令。
  • 解决方法
    确认前端iscsi工具没有安装,安装一个就好:

  • [root@bsi]# yum search iscsi
    Loaded plugins: aliases, downloadonly, fastestmirror, priorities, security
    Loading mirror speeds from cached hostfile
    ======================================== N/S Matched: iscsi =========================================
    iscsi-initiator-utils.i686 : iSCSI daemon and utility programs
    iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
    iscsi-initiator-utils-devel.i686 : Development files for iscsi-initiator-utils
    iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils

    Name and summary matches only, use “search all” for everything.
    [root@bsi]# yum install iscsi-initiator-utils.x86_64 iscsi-initiator-utils-devel.x86_64