cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Indra Pramana <in...@sg.or.id>
Subject Re: High CPU utilization on KVM hosts while doing RBD snapshot - was Re: snapshot caused host disconnected
Date Wed, 09 Oct 2013 06:36:15 GMT
Hi Wido and all,

Good day to you, and thank you for your e-mail reply.

Yes, from the agent logs I can see that the RBD snapshot was created.
However, it seems that CPU utilisation goes up drastically during the
copying over of the snapshot from primary storage to the secondary storage.

===
2013-10-08 00:01:58,765 DEBUG [cloud.agent.Agent]
(agentRequest-Handler-5:null) Request:Seq 34-898172006:  { Cmd , MgmtId:
161342671900, via: 34, Ver: v1, Flags: 100011,
[{"org.apache.cloudstack.storage.command.CreateObjectCommand":{"data":{"org.apache.cloudstack.storage.to.SnapshotObjectTO":{"volume":{"uuid":"0c4f8e41-dfd8-4fc2-a22e-1a79738560a1","volumeType":"DATADISK","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"d433809b-01ea-3947-ba0f-48077244e4d6","id":214,"poolType":"RBD","host":"
ceph-mon.simplercloud.com
","path":"simplercloud-sg-01","port":6789}},"name":"DATA-2051","size":64424509440,"path":"fc5dfa05-2431-4b42-804b-b2fb72e219d0","volumeId":2289,"vmName":"i-195-2051-VM","accountId":195,"format":"RAW","id":2289,"hypervisorType":"KVM"},"parentSnapshotPath":"simplercloud-sg-01/fc5dfa05-2431-4b42-804b-b2fb72e219d0/61042668-23ab-4f63-8a21-ce5a24f9c883","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"d433809b-01ea-3947-ba0f-48077244e4d6","id":214,"poolType":"RBD","host":"
ceph-mon.simplercloud.com","path":"simplercloud-sg-01","port":6789}},"vmName":"i-195-2051-VM","name":"test-snapshot-and-ip-1_DATA-2051_20131007160158","hypervisorType":"KVM","id":22}},"wait":0}}]
}
2013-10-08 00:01:58,765 DEBUG [cloud.agent.Agent]
(agentRequest-Handler-5:null) Processing command:
org.apache.cloudstack.storage.command.CreateObjectCommand
2013-10-08 00:02:08,071 DEBUG [cloud.agent.Agent]
(agentRequest-Handler-1:null) Request:Seq 34-898172007:  { Cmd , MgmtId:
161342671900, via: 34, Ver: v1, Flags: 100011,
[{"org.apache.cloudstack.storage.command.CreateObjectCommand":{"data":{"org.apache.cloudstack.storage.to.SnapshotObjectTO":{"volume":{"uuid":"35d9bae0-1683-4a3d-9a69-ccefa18bf899","volumeType":"DATADISK","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"d433809b-01ea-3947-ba0f-48077244e4d6","id":214,"poolType":"RBD","host":"
ceph-mon.simplercloud.com
","path":"simplercloud-sg-01","port":6789}},"name":"DATA-2046","size":42949672960,"path":"59825284-6b60-4a37-b728-755b3752a755","volumeId":2278,"vmName":"i-190-2046-VM","accountId":190,"format":"RAW","id":2278,"hypervisorType":"KVM"},"dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"d433809b-01ea-3947-ba0f-48077244e4d6","id":214,"poolType":"RBD","host":"
ceph-mon.simplercloud.com","path":"simplercloud-sg-01","port":6789}},"vmName":"i-190-2046-VM","name":"test-aft-upgrade-12-win_DATA-2046_20131007160207","hypervisorType":"KVM","id":23}},"wait":0}}]
}
...
2013-10-08 00:02:08,191 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-5:null) Succesfully connected to Ceph cluster at
ceph-mon.simplercloud.com:6789
2013-10-08 00:02:08,214 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-5:null) Attempting to create RBD snapshot
fc5dfa05-2431-4b42-804b-b2fb72e219d0@d6df6e15-d2ec-46a6-8b75-1f94c127dbb8
...
2013-10-08 00:02:20,821 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-1:null) Succesfully connected to Ceph cluster at
ceph-mon.simplercloud.com:6789
...
2013-10-08 00:05:19,580 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-3:null) Succesfully connected to Ceph cluster at
ceph-mon.simplercloud.com:6789
2013-10-08 00:05:19,610 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-3:null) Attempting to create
/mnt/c10404d3-070e-3579-980e-cb0d40effb7b/snapshots/190/2277 recursively
2013-10-08 00:05:20,645 DEBUG [kvm.storage.KVMStorageProcessor]
(agentRequest-Handler-3:null) Backing up RBD snapshot to
/mnt/c10404d3-070e-3579-980e-cb0d40effb7b/snapshots/190/2277/5c9ea7c4-03e1-455e-a785-3c96df68cf69
===

After which, depends on the size of the snapshot to be backed up, the KVM
host will suffer from high CPU utilisation and will sometimes time-out and
disconnected from the management server. Then HA will kick in and
everything goes haywire.

This is what I have done:

(1) Enabling jumbo frames (MTU 9000) on the NIC cards and the switch ports
where the KVM hosts and the secondary storage server are connected to. We
are using 10 GBps NIC cards and switches.

(2) Performed some fine-tuning on the KVM hosts' /etc/sysctl.conf to
improve the network performance:

net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 65536
net.core.rmem_default = 87380
net.core.netdev_max_backlog = 30000

(3) Try to disable RBD snapshot copying from primary to secondary storage
by setting this global Cloudstack configuration:

snapshot.backup.rightafter = false

However, when I tested, the snapshotting process will still try to copy the
snapshot backup over to the secondary storage. I checked on another thread
and it seems to be a bug on 4.2.0.

Is it actually a necessity for the snapshots to be backed up to secondary
storage, or is it OK for the snapshots to stay in primary storage? It seems
that the process of copying over the snapshot from primary to secondary
storage is the root cause of the high CPU utilisation on the KVM hosts.

Due to the above bug on point (3), is there a workaround on how we can
prevent the snapshots to be copied over to the secondary storage after it's
being created on the primary storage?

Looking forward to your reply, thank you.

Cheers.



On Tue, Oct 8, 2013 at 2:41 PM, Wido den Hollander <wido@widodh.nl> wrote:

>
>
> On 10/08/2013 04:59 AM, Indra Pramana wrote:
>
>> Dear Wido and all,
>>
>> I performed some further tests last night:
>>
>> (1) CPU utilization of the KVM host while RBD snapshot running is still
>> shooting up high even after I set global setting:
>> concurrent.snapshots.**threshold.perhost to 2.
>>
>> (2) Most of the concurrent snapshot processes will fail with either stuck
>> in "Creating" state, or "CreatedOnPrimary" error message.
>>
>>
> Hmm, that is odd. It uses rados-java to call the RBD library to create the
> snapshot and afterwards it copies it to Secondary Storage.
>
> I'm leaving for the Ceph Days and the Build a Cloud Day afterwards in
> London now, so I won't be able to look at this the coming 2 days.
>
>
>  (3) I also have adjusted some other related global settings such as
>> backup.snapshot.wait and job.expire.minutes, without any luck.
>>
>> Any advise on the reason what causes the high CPU utilization is greatly
>> appreciated.
>>
>>
> You might want to set the Agent log to debug and see if the RBD snapshot
> was created, it should log that: https://git-wip-us.apache.org/**
> repos/asf?p=cloudstack.git;a=**blob;f=plugins/hypervisors/**
> kvm/src/com/cloud/hypervisor/**kvm/storage/**KVMStorageProcessor.java;h=**
> 1b883519073acc7514b66857e080a4**64714c4324;hb=4.2#l1091<https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=blob;f=plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java;h=1b883519073acc7514b66857e080a464714c4324;hb=4.2#l1091>
>
> "Attempting to create RBD snapshot"
>
> If that succeeds the problem lies with backing up the snapshot to
> Secondary Storage.
>
> Wido
>
>
>  Looking forward to your reply, thank you.
>>
>> Cheers.
>>
>>
>> On Mon, Oct 7, 2013 at 11:03 PM, Indra Pramana <indra@sg.or.id> wrote:
>>
>>  Dear all,
>>>
>>> I also found out that when the RBD snapshot is being run, the CPU
>>> utilisation on the KVM host will be shooting up very high, which might
>>> explain why the host becomes disconnected.
>>>
>>> top - 22:49:32 up 3 days, 19:31,  1 user,  load average: 7.85, 4.97, 3.47
>>> Tasks: 297 total,   3 running, 294 sleeping,   0 stopped,   0 zombie
>>> Cpu(s):  4.5%us,  1.2%sy,  0.0%ni, 94.1%id,  0.1%wa,  0.0%hi,  0.0%si,
>>> 0.0%st
>>> Mem:  264125244k total, 77203460k used, 186921784k free,   154888k
>>> buffers
>>> Swap:   545788k total,        0k used,   545788k free, 60677092k cached
>>>
>>>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>>> 18161 root      20   0 3871m  31m 8444 S  101  0.0 301:58.09 kvm
>>>   2790 root      20   0 43.5g 1.6g  19m S   97  0.7  45:52.42 jsvc
>>> 24544 root      20   0 4583m  31m 8364 S   97  0.0 425:29.48 kvm
>>>   6537 root      20   0     0    0    0 R   71  0.0   0:17.49 kworker/3:2
>>> 22546 root      20   0 6143m 2.0g 8452 S   26  0.8  55:14.07 kvm
>>>   4219 root      20   0 7671m 4.0g 8524 S    6  1.6 106:12.26 kvm
>>>   5989 root      20   0 43.2g 1.6g  232 D    6  0.6   0:08.13 jsvc
>>>   5993 root      20   0 43.3g 1.6g  224 D    6  0.6   0:08.36 jsvc
>>>
>>> Is it normal when snapshot is being run on the VM running on that host,
>>> the host's CPU utilisation will be higher than usual? How can I limit the
>>> CPU resources used by the snapshot?
>>>
>>>
>>> Looking forward to your reply, thank you.
>>>
>>> Cheers.
>>>
>>>
>>>
>>> On Mon, Oct 7, 2013 at 7:18 PM, Indra Pramana <indra@sg.or.id> wrote:
>>>
>>>  Dear all,
>>>>
>>>> I did some tests on snapshots since it's now supported for my Ceph RBD
>>>> primary storage in CloudStack 4.2. When I ran the snapshot for a
>>>> particular
>>>> VM instance earlier, I noticed that this has caused the host (where the
>>>> VM
>>>> is on) becomes disconnected.
>>>>
>>>> Here's the excerpt from the agent.log:
>>>>
>>>> http://pastebin.com/dxVV7stu
>>>>
>>>> The management-server.log doesn't much showing anything other than
>>>> detecting that the host was down and HA is being activated:
>>>>
>>>> http://pastebin.com/UeLiSm9K
>>>>
>>>> Anyone can advise what is causing the problem? So far there is only one
>>>> user doing the snapshotting and it has caused issues to the host, I
>>>> can't
>>>> imagine what if multiple users try to do snapshotting at the same time?
>>>>
>>>> I read about snapshot job throttling which is described on the manual:
>>>>
>>>>
>>>> http://cloudstack.apache.org/**docs/en-US/Apache_CloudStack/**
>>>> 4.2.0/html/Admin_Guide/**working-with-snapshots.html<http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Admin_Guide/working-with-snapshots.html>
>>>>
>>>> But I am not too sure whether this will help to resolve the problem
>>>> since
>>>> there is only one user trying to perform snapshot and we already
>>>> encounter
>>>> the problem already.
>>>>
>>>> Anyone can advise how I can troubleshoot further and find a solution to
>>>> the problem?
>>>>
>>>> Looking forward to your reply, thank you.
>>>>
>>>> Cheers.
>>>>
>>>>
>>>
>>>
>>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message