--=_28a5ed06af5278d250a37ab7ba668847
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8;
format=flowed
El 2016-04-30 21:45, Nir Soffer escribió:
On Sat, Apr 30, 2016 at 11:33 AM, Nicolás <nicolas(a)devels.es>
wrote:
> Hi Nir,
>
> El 29/04/16 a las 22:34, Nir Soffer escribió:
>>
>> On Fri, Apr 29, 2016 at 9:17 PM, <nicolas(a)devels.es> wrote:
>>>
>>> Hi,
>>>
>>> We're running oVirt 3.6.5.3-1 and lately we're experiencing some
>>> issues
>>> with
>>> some VMs being paused because they're marked as non-responsive.
>>> Mostly,
>>> after a few seconds they recover, but we want to debug precisely
>>> this
>>> problem so we can fix it consistently.
>>>
>>> Our scenario is the following:
>>>
>>> ~495 VMs, of which ~120 are constantly up
>>> 3 datastores, all of them iSCSI-based:
>>> * ds1: 2T, currently has 276 disks
>>> * ds2: 2T, currently has 179 disks
>>> * ds3: 500G, currently has 65 disks
>>> 7 hosts: All have mostly the same hardware. CPU and memory are
>>> currently
>>> very lowly used (< 10%).
>>>
>>> ds1 and ds2 are physically the same backend which exports two 2TB
>>> volumes.
>>> ds3 is a different storage backend where we're currently migrating
>>> some
>>> disks from ds1 and ds2.
>>
>> What the the storage backend behind ds1 and 2?
>
>
> The storage backend for ds1 and ds2 is the iSCSI-based HP LeftHand
> P4000 G2.
>
>>> Usually, when VMs become unresponsive, the whole host where they run
>>> gets
>>> unresponsive too, so that gives a hint about the problem, my bet is
>>> the
>>> culprit is somewhere on the host side and not on the VMs side.
>>
>> Probably the vm became unresponsive because connection to the host
>> was
>> lost.
>
>
> I forgot to mention that less commonly we have situations where the
> host
> doesn't get unresponsive but the VMs on it do and they don't become
> responsive ever again, so we have to forcibly power them off and start
> them
> on a different host. But in this case the connection with the host
> doesn't
> ever get lost (so basically the host is Up, but any VM run on them is
> unresponsive).
>
>
>>> When that
>>> happens, the host itself gets non-responsive and only recoverable
>>> after
>>> reboot, since it's unable to reconnect.
>>
>> Piotr, can you check engine log and explain why host is not
>> reconnected?
>>
>>> I must say this is not specific to
>>> this oVirt version, when we were using v.3.6.4 the same happened,
>>> and
>>> it's
>>> also worthy mentioning we've not done any configuration changes and
>>> everything had been working quite well for a long time.
>>>
>>> We were monitoring our ds1 and ds2 physical backend to see
>>> performance
>>> and
>>> we suspect we've run out of IOPS since we're reaching the maximum
>>> specified
>>> by the manufacturer, probably at certain times the host cannot
>>> perform a
>>> storage operation within some time limit and it marks VMs as
>>> unresponsive.
>>> That's why we've set up ds3 and we're migrating ds1 and ds2 to
ds3.
>>> When
>>> we
>>> run out of space on ds3 we'll create more smaller volumes to keep
>>> migrating.
>>>
>>> On the host side, when this happens, we've run repoplot on the vdsm
>>> log
>>> and
>>> I'm attaching the result. Clearly there's a *huge* LVM response time
>>> (~30
>>> secs.).
>>
>> Indeed the log show very slow vgck and vgs commands - these are
>> called
>> every
>> 5 minutes for checking the vg health and refreshing vdsm lvm cache.
>>
>> 1. starting vgck
>>
>> Thread-96::DEBUG::2016-04-29
>> 13:17:48,682::lvm::290::Storage.Misc.excCmd::(cmd) /usr/bin/taskset
>> --cpu-list 0-23 /usr/bin/sudo -n /usr/sbin/lvm vgck --config '
>> devices
>> { pre
>> ferred_names = ["^/dev/mapper/"] ignore_suspended_devices=1
>> write_cache_state=0 disable_after_error_count=3 filter = [
>> '\''a|/dev/mapper/36000eb3a4f1acbc20000000000000043|'\
>> '', '\''r|.*|'\'' ] } global { locking_type=1
>> prioritise_write_locks=1 wait_for_locks=1 use_lvmetad=0 } backup {
>> retain_min = 50 retain_days = 0 } ' 5de4a000-a9c4-48
>> 9c-8eee-10368647c413 (cwd None)
>>
>> 2. vgck ends after 55 seconds
>>
>> Thread-96::DEBUG::2016-04-29
>> 13:18:43,173::lvm::290::Storage.Misc.excCmd::(cmd) SUCCESS: <err> = '
>> WARNING: lvmetad is running but disabled. Restart lvmetad before
>> enabling it!\n'; <rc> = 0
>>
>> 3. starting vgs
>>
>> Thread-96::DEBUG::2016-04-29
>> 13:17:11,963::lvm::290::Storage.Misc.excCmd::(cmd) /usr/bin/taskset
>> --cpu-list 0-23 /usr/bin/sudo -n /usr/sbin/lvm vgs --config ' devices
>> { pref
>> erred_names = ["^/dev/mapper/"] ignore_suspended_devices=1
>> write_cache_state=0 disable_after_error_count=3 filter = [
>> '\''a|/dev/mapper/36000eb3a4f1acbc20000000000000043|/de
>>
>>
v/mapper/36000eb3a4f1acbc200000000000000b9|/dev/mapper/360014056f0dc8930d744f83af8ddc709|/dev/mapper/WDC_WD5003ABYZ-011FA0_WD-WMAYP0J73DU6|'\'',
>> '\''r|.*|'\'' ] } global {
>> locking_type=1 prioritise_write_locks=1 wait_for_locks=1
>> use_lvmetad=0 } backup { retain_min = 50 retain_days = 0 } '
>> --noheadings --units b --nosuffix --separator '|
>> ' --ignoreskippedcluster -o
>>
>>
uuid,name,attr,size,free,extent_size,extent_count,free_count,tags,vg_mda_size,vg_mda_free,lv_count,pv_count,pv_name
>> 5de4a000-a9c4-489c-8eee-10368
>> 647c413 (cwd None)
>>
>> 4. vgs finished after 37 seconds
>>
>> Thread-96::DEBUG::2016-04-29
>> 13:17:48,680::lvm::290::Storage.Misc.excCmd::(cmd) SUCCESS: <err> = '
>> WARNING: lvmetad is running but disabled. Restart lvmetad before
>> enabling it!\n'; <rc> = 0
>>
>> Zdenek, how do you suggest to debug this slow lvm commands?
>>
>> Can you run the following commands on a host in trouble, and on some
>> other
>> hosts in the same timeframe?
>>
>> time vgck -vvvv --config ' devices { filter =
>>
['\''a|/dev/mapper/36000eb3a4f1acbc20000000000000043|'\'',
>> '\''r|.*|'\'' ] } global { locking_type=1
prioritise_write_locks=1
>> wait_for_locks=1 use_lvmetad=0 } backup { retain_min = 50
>> retain_days = 0 } ' 5de4a000-a9c4-489c-8eee-10368647c413
>>
>> time vgs -vvvv --config ' global { locking_type=1
>> prioritise_write_locks=1 wait_for_locks=1 use_lvmetad=0 } backup {
>> retain_min = 50 retain_days = 0 } '
>> 5de4a000-a9c4-489c-8eee-10368647c413
>>
>> Note that I added -vvvv to both commands, this will generate huge
>> amount
>> of debugging info. Please share the output of these commands.
>>
>> You may need to fix the commands. You can always copy and paste
>> directly
>> from vdsm log into the shell and add the -vvvv flag.
>>
>
> Indeed, there seems to be a big difference on hosts 5 and 6. I'm
> attaching
> the results of the execution of both commands on all hosts. Both
> commands
> show a pretty bigger output on hosts 5 and 6, and also a much bigger
> execution time. Times are also attached in a file called TIMES.
>
>>> Our host storage network is correctly configured and on a 1G
>>> interface, no errors on the host itself, switches, etc.
>>
>> 1G serving about 20-70 vms per host? (495 vms, 120 always up, 7
>> hosts)?
>>
>> Do you have separate network for management and storage, or both
>> use this 1G interface?
>
>
> Yes, we have separate networks for management, storage and motion.
> Storage
> and motion have 1G each (plus, for storage we use a bond of 2
> interfaces in
> ALB-mode (6)). Currently no host has more than 30 VMs at a time.
>
>>> We've also limited storage in QoS to use 10MB/s and 40 IOPS,
>>
>> How did you configure this limit?
>
>
> In the Data Center tab, I chose our DC and a QoS sub-tab appears, just
> like
> described here:
http://www.ovirt.org/documentation/sla/network-qos/
>
>>
>>> but this issue
>>> still happens, which leads me to be concerned whether this is not
>>> just an
>>> IOPS issue; each host handles about cca. 600 LVs. Could this be an
>>> issue
>>> too? I remark the LVM response times are low in normal conditions
>>> (~1-2
>>> seconds).
>>
>> We recommend to limit number lvs per vg to 350. If you have 276 disks
>> on
>> ds1, and the disks are using snapshots, you may have too many lvs,
>> which
>> can cause slowdowns in lvm operations.
>>
>> Can you share the output of:
>>
>> vdsm-tool dump-volume-chains 5de4a000-a9c4-489c-8eee-10368647c413
>
>
> Ok, right now no VG has more than 350 VGs so I guess this is not
> currently
> the problem. Unfortunately, I run the vdsm-tool command but it didn't
> end
> nor provide any output in cca. 1 hour, so I guess it was hanged and I
> stopped it.
This is not normal, but I never tried it on a big setup. Basically it
uses vdsm apis
to locate all images and volumes, and it this is too slow, it means
accessing storage
is too slow.
Did you try to run it on other hosts? (a.g. host1?)
Does it complete in reasonable time after cleaning the stale devices?
> If you confirm this is a normal execution time I can leave it
> running whatever time it takes.
>
> host5:~# vgs
> VG #PV #LV #SN Attr VSize VFree
> 0927c050-6fb6-463c-bb37-8b8da641dcd3 1 63 0 wz--n- 499,62g
> 206,50g
> 5de4a000-a9c4-489c-8eee-10368647c413 1 335 0 wz--n- 2,00t
> 518,62g
> b13b9eac-1f2e-4a7e-bcd9-49f5f855c3d8 1 215 0 wz--n- 2,00t
> 495,25g
> sys_vg 1 6 0 wz--n- 136,44g
> 122,94g
>>>
>>> I'm attaching the vdsm.log, engine.log and repoplot PDF;
>>
>> This is very useful, thanks. Can you send also the vdsm logs and
>> repoplots
>> from other hosts for the same timeframe?
>>
>>> if someone could
>>> give a hint on some additional problems in them and shed some light
>>> on
>>> the
>>> above thoughts I'd be very grateful.
>>
>> Do you have sar configured on the host? having sar logs can reveal
>> more
>> info about this timeframe.
>>
>> Do you have information about amount of io from vms during this
>> timeframe?
>> amount of io on the storage backend during this timeframe?
>
>
> Not currently, but I'll be alert for the time this happens again and
> I'll
> check some sar commands related to I/O and I'll provide feedback.
> Nevertheless, by the time I run the commands above no machine was
> unresponsive and I'm still getting such huge execution times. I tried
> running iotop now and I see there are 2 vgck and vgs processes with a
> rate
> of ~500Kb/s each for reading.
>
> root 24446 1.3 0.0 57008 6824 ? D< 09:15 0:00
> /usr/sbin/lvm vgs --config devices { preferred_names =
> ["^/dev/mapper/"]
> ignore_suspended_devices=1 write_cache_state=0
> disable_after_error_count=3
> filter = [
>
'a|/dev/mapper/36000eb3a4f1acbc20000000000000043|/dev/mapper/36000eb3a4f1acbc200000000000000b9|/dev/mapper/360014056f0dc8930d744f83af8ddc709|',
> 'r|.*|' ] } global { locking_type=1 prioritise_write_locks=1
> wait_for_locks=1 use_lvmetad=0 } backup { retain_min = 50
> retain_days = 0
> } --noheadings --units b --nosuffix --separator |
> --ignoreskippedcluster -o
>
uuid,name,attr,size,free,extent_size,extent_count,free_count,tags,vg_mda_size,vg_mda_free,lv_count,pv_count,pv_name
> b13b9eac-1f2e-4a7e-bcd9-49f5f855c3d8
>
> I'm also attaching the iostat output for host 5 in a file called
> iostat-host5.
>
> Thank you very much.
>
> Nicolás
>
>> Nir
>
>
The loop you provided indeed seems to solve the issue (at least as a
workaround). Today host5 has been flapping all day with VMs becoming
unresponsive and responsive again, and after running the loop VMs
stopped being unresponsive, plus execution times became normal again
(~1-2 secs, as the other hosts).
After clearing stale devices, I tried running the vdsm-tool command
again and this time successfully (it took about 1:30 min to finish).
Also, running the same command on host1 took 2:15 min. but that is
because I've not run the script on this host and it still has some stale
devices, so I guess this is reasonable execution time. I'm attaching the
results here.
I've also filed a bug report in [1] with all relevant information, I
hope I didn't forget anything important.
Thanks for your help and for taking the time to help debugging this
issue.
Nicolás
[1]:
--=_28a5ed06af5278d250a37ab7ba668847
Content-Transfer-Encoding: base64
Content-Type: application/zip;
name=dump-volume-chains.zip
Content-Disposition: attachment;
filename=dump-volume-chains.zip;
size=14712
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
/jgAAAAA
--=_28a5ed06af5278d250a37ab7ba668847--