Ich versuche, einem laufenden iSCSI-Ziel unter CentOS 6.5 eine LUN hinzuzufügen. Das iSCSI-Ziel ist tgtd
aus dem scsi-target-utils
Paket. Ich sehe ein ziemlich seltsames Verhalten und bin ein bisschen ratlos, wie ich vorgehen soll.
Zunächst scheint es, als gäbe es mehrere tgtd
laufende Instanzen .
[eric@<host>]~% sudo service tgtd status
tgtd (pid 8713 8712) is running...
[eric@<host>]~% sudo service tgtd reload
Updating SCSI target daemon configuration: not running [FAILED]
Ich habe jedoch mehrere virtuelle Maschinen, auf denen derzeit iSCSI-LUNs von diesem System ausgeführt werden. Daher weiß ich, dass diese tgtd
ausgeführt werden und zumindest einigermaßen normal funktionieren.
Ich habe den Exit-Status des fehlgeschlagenen Neuladens mit abgerufen echo $?
und es ist zurückgekehrt 7
.
Ich habe dann set -x
das Init-Skript oben eingefügt und es erneut ausgeführt, um zu sehen, wo es zurückkehrt 7
.
[eric@<host>]~% sudo service tgtd reload
+-zsh:19> sudo service tgtd reload
+ case "$1" in
++ id -u
+ '[' 0 = 0 ']'
+ rh_status_q
+ rh_status
+ reload
+ '[' -f /etc/sysconfig/tgtd ']'
+ . /etc/sysconfig/tgtd
+ echo -n 'Updating SCSI target daemon configuration: '
Updating SCSI target daemon configuration: + tgt-admin --update ALL -c /etc/tgt/targets.conf
+ retval=107
+ '[' 107 -eq 107 ']'
+ echo -n 'not running'
not running+ failure
+ local rc=0
+ '[' color '!=' verbose -a -z '' ']'
+ echo_failure
+ '[' color = color ']'
+ echo -en '\033[60G'
+ echo -n '['
[+ '[' color = color ']'
+ echo -en '\033[0;31m'
+ echo -n FAILED
FAILED+ '[' color = color ']'
+ echo -en '\033[0;39m'
+ echo -n ']'
]+ echo -ne '\r'
+ return 1
+ '[' -x /bin/plymouth ']'
+ /bin/plymouth --details
+ return 0
+ echo
+ return 7
+ exit 7
Es sieht aus wie es in der reload
Funktion versagt . Wer hätte das gedacht? Insbesondere dieses Codebit.
TGTD_CONFIG=/etc/tgt/targets.conf
...
tgt-admin --update ALL -c $TGTD_CONFIG >/dev/null 2>&1
retval=$?
if [ "$retval" -eq 107 ] ; then
echo -n $"not running"
failure
echo
return 7
Ich habe dann diesen Befehl ausgeführt:
[eric@<host>]~% sudo tgt-admin --update ALL -c /etc/tgt/targets.conf
tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected
tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected
tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected
tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected
Command:
tgtadm -C 0 --lld iscsi --op new --mode target --tid 1 -T <redacted iqn>
exited with code: 107.
Hier bin ich ratlos. Ich habe diesen Fehler ohne großen Erfolg gegoogelt - es sieht so aus, als müsste ich den Prozess abbrechen und neu starten. Weiß jemand, worauf dies hindeuten könnte, und warum tgtadm
kein Prozess gefunden werden kann, der eindeutig ausgeführt wird? Und noch besser, weiß jemand, ob ich das Problem beheben kann, ohne den Prozess zu beenden, um eine Unterbrechung des Dienstes zu vermeiden?
Hier sind einige andere relevante Informationen:
[eric@<host>]~% sudo ps waux | grep tgt
root 8712 0.0 0.0 1163084 2648 ? Ssl Oct08 0:44 tgtd
root 8713 0.0 0.0 14888 500 ? S Oct08 0:03 tgtd
eric 20075 0.0 0.0 103244 900 pts/4 S+ 14:09 0:00 grep tgt
[eric@<host>]~% uname -a
Linux <host> 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux