[Pkg-libvirt-maintainers] Bug#574358: Bug#574358: libvirt-bin: libvirtd fails to autostart iscsi pool at boot time

Nicolas Greneche nicolas.greneche at univ-orleans.fr
Fri Mar 19 08:15:54 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Guido Günther wrote:
> Hi Nicolas,
> On Thu, Mar 18, 2010 at 03:23:16PM +0100, Nicolas Greneche wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Guido Günther wrote:
>>> On Wed, Mar 17, 2010 at 04:28:41PM +0100, Nicolas Greneche wrote:
>>>> It seems that libvirtd comes too early in booting process.
>>> Or the iscsi stuff to late. Could you add a 
>>>
>>> Could you change:
>>> # Should-Start:      hal avahi
>>> # Should-Start:      hal avahi open-iscsi
> Did you verify that open-iscsi indeed starts before libvirtd?
> 

Done, it's OK, open-iscsi is started before libvirtd

> You need to run:
> 
> update-rc.d libvirt-bin defaults 28 7

Done

> 
> to make this active. Are you using dependency based boot?
> 

Yes, but the problem still remains.

>>> to the LSB section of /etc/init.d/libvirt-bin and see if this helps
>>> (assuming you're using dependency based boot)?
>>> Cheers,
>>>  -- Guido
>>>
>>>
>> I added a sleep in start function :
>>
>> fi
>> ** sleep 60 **
>> rm -f /var/run/libvirtd.pid
>>
>> And it solved the issue.
>> Maybe there is a cleaner way to do it ?
> See above. I still don't understand _what_ causes the actual problem -
> why do we have to wait here? What service/interface isn't ready?
> 

I don't know but I have pieces of information.
I added an ifconfig command before daemon-stop-start of libvirtd and its
OK :

br0       Link encap:Ethernet  HWaddr 00:26:b9:3f:50:30
          inet addr:194.167.31.37  Bcast:194.167.31.255  Mask:255.255.255.0
          inet6 addr: fe80::226:b9ff:fe3f:5030/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:390 (390.0 B)  TX bytes:846 (846.0 B)

eth0      Link encap:Ethernet  HWaddr 00:26:b9:3f:50:30
          inet6 addr: fe80::226:b9ff:fe3f:5030/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2110 (2.0 KiB)  TX bytes:926 (926.0 B)
          Interrupt:36 Memory:da000000-da012800

eth1      Link encap:Ethernet  HWaddr 00:26:b9:3f:50:31
          inet addr:10.10.0.23  Bcast:10.10.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:48 Memory:dc000000-dc012800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

Next I added a ping which is OK for eth1:10.10.0.23 but not for
10.10.0.1 which refers to my target. With a tcpdump also launched before
starting libvirtd i saw that the "arp reply" is not received by tcp/ip
stack of my host in response of "arp request" for 10.10.0.1.

I have 2 interfaces : a bridge for kvm guest (194.167.31.0/24) and a
dedicated network for iSCSI (10.10.0.0/24).

I added and iptables dump of my rules (iptables -L) before libvirtd
start and there is no rules.

If i add the entry of target in ARP cache before libvirtd starts it
works like a charm (without sleeping).

>
> Could you attach your open-iscsi and pool configuration?
> 

My open-iscsi :

root at sandi:~# sed -e '/^[ ]*#/d' -e '/^$/d' /etc/iscsi/iscsid.conf
node.startup = manual
node.session.timeo.replacement_timeout = 120
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 20
node.session.initial_login_retry_max = 8
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.xmit_thread_priority = -20
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
node.session.iscsi.FastAbort = Yes

root at sandi:~# sed -e '/^[ ]*#/d' -e '/^$/d' /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1993-08.org.debian:01:6c3b7cdee7

No targets are activated by defaults (every node is set to "node.startup
= manual").

My pool :

root at sandi:~# virsh pool-dumpxml equalog
<pool type='iscsi'>
  <name>equalog</name>
  <uuid>a6804c21-a610-a8bb-da64-921a7b448527</uuid>
  <capacity>1099526307840</capacity>
  <allocation>1099526307840</allocation>
  <available>0</available>
  <source>
    <host name='10.10.0.1'/>
    <device
path='iqn.2001-05.com.equallogic:0-8a0906-4992c7f05-39c000000114b8fc-vglog'/>
  </source>
  <target>
    <path>/dev/disk/by-path</path>
    <permissions>
      <mode>0700</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>

root at sandi:~# virsh pool-list --all
Name                 State      Autostart
- -----------------------------------------
equalog              active     yes


I don't understand why after a sleep, my ARP cache works ... It's very
odd ...

I also asked it to RedHat libvirt-users list :

https://www.redhat.com/archives/libvirt-users/2010-March/msg00038.html

Many thanks for your help,

> Cheers,
>  -- Guido
> 
> 


- --
Nicolas Greneche -  RSSI et Sysadmin
Centre de Ressources Informatiques (CRI)
Doctorant au sein du projet SDS - www.sds-project.fr
Mail : nicolas.greneche_(at)_univ-orleans.fr
GPG  : http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x5FEBD0EF

Universite d'Orleans            Web  : http://blog.garnett.fr
Batiment 3IA - 2e etage         Tel  : 02 38 49 25 26
6 rue Leonard de Vinci
BP 6102 45061 ORLEANS Cedex 2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkujMrUACgkQTx/Y+1/r0O8rkACfaSYNIJA4dzwMpC/aywpS118J
Oi0AoINCe48Cpmrd8p3emIaJLzfdvGzW
=6+/s
-----END PGP SIGNATURE-----





More information about the Pkg-libvirt-maintainers mailing list