Re: [ovirt-users] VMs freezing during heals

2015-03-18 Thread Pranith Kumar Karampuri

hi,
  Are you using thin-lvm based backend on which the bricks are created?

Pranith
On 03/18/2015 02:05 AM, Alastair Neil wrote:
I have a Ovirt cluster with 6 VM hosts and 4 gluster nodes. There are 
two virtualisation clusters one with two nehelem nodes and one with 
 four  sandybridge nodes. My master storage domain is a GlusterFS 
backed by a replica 3 gluster volume from 3 of the gluster nodes.  The 
engine is a hosted engine 3.5.1 on 3 of the sandybridge nodes, with 
storage broviede by nfs from a different gluster volume.  All the 
hosts are CentOS 6.6.


 vdsm-4.16.10-8.gitc937927.el6
glusterfs-3.6.2-1.el6
2.6.32 - 504.8.1.el6.x86_64


Problems happen when I try to add a new brick or replace a brick 
eventually the self heal will kill the VMs. In the VM's logs I see 
kernel hung task messages.


Mar 12 23:05:16 static1 kernel: INFO: task nginx:1736 blocked for
more than 120 seconds.
Mar 12 23:05:16 static1 kernel:  Not tainted
2.6.32-504.3.3.el6.x86_64 #1
Mar 12 23:05:16 static1 kernel: "echo 0 >
/proc/sys/kernel/hung_task_timeout_secs" disables this message.
Mar 12 23:05:16 static1 kernel: nginx D 0001  
  0  1736   1735 0x0080

Mar 12 23:05:16 static1 kernel: 8800778b17a8 0082
 000126c0
Mar 12 23:05:16 static1 kernel: 88007e5c6500 880037170080
0006ce5c85bd9185 88007e5c64d0
Mar 12 23:05:16 static1 kernel: 88007a614ae0 0001722b64ba
88007a615098 8800778b1fd8
Mar 12 23:05:16 static1 kernel: Call Trace:
Mar 12 23:05:16 static1 kernel: []
schedule_timeout+0x215/0x2e0
Mar 12 23:05:16 static1 kernel: []
wait_for_common+0x123/0x180
Mar 12 23:05:16 static1 kernel: [] ?
default_wake_function+0x0/0x20
Mar 12 23:05:16 static1 kernel: [] ?
_xfs_buf_read+0x46/0x60 [xfs]
Mar 12 23:05:16 static1 kernel: [] ?
xfs_trans_read_buf+0x197/0x410 [xfs]
Mar 12 23:05:16 static1 kernel: []
wait_for_completion+0x1d/0x20
Mar 12 23:05:16 static1 kernel: []
xfs_buf_iowait+0x9b/0x100 [xfs]
Mar 12 23:05:16 static1 kernel: [] ?
xfs_trans_read_buf+0x197/0x410 [xfs]
Mar 12 23:05:16 static1 kernel: []
_xfs_buf_read+0x46/0x60 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_buf_read+0xab/0x100 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_trans_read_buf+0x197/0x410 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_imap_to_bp+0x54/0x130 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_iread+0x7b/0x1b0 [xfs]
Mar 12 23:05:16 static1 kernel: [] ?
inode_init_always+0x11e/0x1c0
Mar 12 23:05:16 static1 kernel: []
xfs_iget+0x27e/0x6e0 [xfs]
Mar 12 23:05:16 static1 kernel: [] ?
xfs_iunlock+0x5d/0xd0 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_lookup+0xc6/0x110 [xfs]
Mar 12 23:05:16 static1 kernel: []
xfs_vn_lookup+0x54/0xa0 [xfs]
Mar 12 23:05:16 static1 kernel: []
do_lookup+0x1a5/0x230
Mar 12 23:05:16 static1 kernel: []
__link_path_walk+0x7a4/0x1000
Mar 12 23:05:16 static1 kernel: [] ?
cache_grow+0x217/0x320
Mar 12 23:05:16 static1 kernel: []
path_walk+0x6a/0xe0
Mar 12 23:05:16 static1 kernel: []
filename_lookup+0x6b/0xc0
Mar 12 23:05:16 static1 kernel: []
user_path_at+0x57/0xa0
Mar 12 23:05:16 static1 kernel: [] ?
_xfs_trans_commit+0x214/0x2a0 [xfs]
Mar 12 23:05:16 static1 kernel: [] ?
xfs_iunlock+0x7e/0xd0 [xfs]
Mar 12 23:05:16 static1 kernel: []
vfs_fstatat+0x50/0xa0
Mar 12 23:05:16 static1 kernel: [] ?
touch_atime+0x14d/0x1a0
Mar 12 23:05:16 static1 kernel: []
vfs_stat+0x1b/0x20
Mar 12 23:05:16 static1 kernel: []
sys_newstat+0x24/0x50
Mar 12 23:05:16 static1 kernel: [] ?
audit_syscall_entry+0x1d7/0x200
Mar 12 23:05:16 static1 kernel: [] ?
__audit_syscall_exit+0x25e/0x290
Mar 12 23:05:16 static1 kernel: []
system_call_fastpath+0x16/0x1b



I am wondering if my volume settings are causing this.  Can anyone 
with more knowledge take a look and let me know:


network.remote-dio: on
performance.stat-prefetch: off
performance.io-cache: off
performance.read-ahead: off
performance.quick-read: off
nfs.export-volumes: on
network.ping-timeout: 20
cluster.self-heal-readdir-size: 64KB
cluster.quorum-type: auto
cluster.data-self-heal-algorithm: diff
cluster.self-heal-window-size: 8
cluster.heal-timeout: 500
cluster.self-heal-daemon: on
cluster.entry-self-heal: on
cluster.data-self-heal: on
cluster.metadata-self-heal: on
cluster.readdir-optimize: on
cluster.background-self-heal-count: 20
cluster.rebalance-stats: on
cluster.min-free-disk: 5%
cluster.eager-lock: enable
storage.owner-uid: 36
storage.owner-gid: 36
auth.allow:*
user.cifs: disable
cluster.server-quorum-ratio: 51%


Many Thanks,  Alastair



___

Re: [ovirt-users] [Gluster-devel] Can we debug some truths/myths/facts about hosted-engine and gluster?

2014-07-21 Thread Pranith Kumar Karampuri


On 07/21/2014 02:08 PM, Jiri Moskovcak wrote:

On 07/19/2014 08:58 AM, Pranith Kumar Karampuri wrote:


On 07/19/2014 11:25 AM, Andrew Lau wrote:



On Sat, Jul 19, 2014 at 12:03 AM, Pranith Kumar Karampuri
mailto:pkara...@redhat.com>> wrote:


On 07/18/2014 05:43 PM, Andrew Lau wrote:

​ ​

On Fri, Jul 18, 2014 at 10:06 PM, Vijay Bellur
mailto:vbel...@redhat.com>> wrote:

[Adding gluster-devel]


On 07/18/2014 05:20 PM, Andrew Lau wrote:

Hi all,

As most of you have got hints from previous messages,
hosted engine
won't work on gluster . A quote from BZ1097639

"Using hosted engine with Gluster backed storage is
currently something
we really warn against.


I think this bug should be closed or re-targeted at
documentation, because there is nothing we can do here.
Hosted engine assumes that all writes are atomic and
(immediately) available for all hosts in the cluster.
Gluster violates those assumptions.
​"

I tried going through BZ1097639 but could not find much
detail with respect to gluster there.

A few questions around the problem:

1. Can somebody please explain in detail the scenario that
causes the problem?

2. Is hosted engine performing synchronous writes to ensure
that writes are durable?

Also, if there is any documentation that details the hosted
engine architecture that would help in enhancing our
understanding of its interactions with gluster.


​

Now my question, does this theory prevent a scenario of
perhaps
something like a gluster replicated volume being mounted
as a glusterfs
filesystem and then re-exported as the native kernel NFS
share for the
hosted-engine to consume? It could then be possible to
chuck ctdb in
there to provide a last resort failover solution. I have
tried myself
and suggested it to two people who are running a similar
setup. Now
using the native kernel NFS server for hosted-engine and
they haven't
reported as many issues. Curious, could anyone validate
my theory on this?


If we obtain more details on the use case and obtain gluster
logs from the failed scenarios, we should be able to
understand the problem better. That could be the first step
in validating your theory or evolving further 
recommendations :).



​ I'm not sure how useful this is, but ​Jiri Moskovcak tracked
this down in an off list message.

​ Message Quote:​

​ ==​

​We were able to track it down to this (thanks Andrew for
providing the testing setup):

-b686-4363-bb7e-dba99e5789b6/ha_agent service_type=hosted-engine'
Traceback (most recent call last):
File
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py",
line 165, in handle
  response = "success " + self._dispatch(data)
File
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py",
line 261, in _dispatch
  .get_all_stats_for_service_type(**options)
File
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py",
line 41, in get_all_stats_for_service_type
  d = self.get_raw_stats_for_service_type(storage_dir, 
service_type)

File
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py",
line 74, in get_raw_stats_for_service_type
  f = os.open(path, direct_flag | os.O_RDONLY)
OSError: [Errno 116] Stale file handle:
'/rhev/data-center/mnt/localhost:_mnt_hosted-engine/c898fd2a-b686-4363-bb7e-dba99e5789b6/ha_agent/hosted-engine.metadata'

Andrew/Jiri,
Would it be possible to post gluster logs of both the
mount and bricks on the bz? I can take a look at it once. If I
gather nothing then probably I will ask for your help in
re-creating the issue.

Pranith


​Unfortunately, I don't have the logs for that setup any more.. ​I'll
try replicate when I get a chance. If I understand the comment from
the BZ, I don't think it's a gluster bug per-say, more just how
gluster does its replication.

hi Andrew,
  Thanks for that. I couldn't come to any conclusions because no
logs were available. It is unlikely that self-heal is involved because
there were no bricks going down/up according to the bug description.



Hi,
I've never had such setup, I guessed problem with gluster based on 
"OSError: [Errno 116] Stale file handle:" which happens when the file 
opened by application on client gets removed on the server.

Re: [ovirt-users] [Gluster-devel] Can we debug some truths/myths/facts about hosted-engine and gluster?

2014-07-20 Thread Pranith Kumar Karampuri


On 07/19/2014 11:25 AM, Andrew Lau wrote:



On Sat, Jul 19, 2014 at 12:03 AM, Pranith Kumar Karampuri 
mailto:pkara...@redhat.com>> wrote:



On 07/18/2014 05:43 PM, Andrew Lau wrote:

​ ​

On Fri, Jul 18, 2014 at 10:06 PM, Vijay Bellur
mailto:vbel...@redhat.com>> wrote:

[Adding gluster-devel]


On 07/18/2014 05:20 PM, Andrew Lau wrote:

Hi all,

As most of you have got hints from previous messages,
hosted engine
won't work on gluster . A quote from BZ1097639

"Using hosted engine with Gluster backed storage is
currently something
we really warn against.


I think this bug should be closed or re-targeted at
documentation, because there is nothing we can do here.
Hosted engine assumes that all writes are atomic and
(immediately) available for all hosts in the cluster.
Gluster violates those assumptions.
​"

I tried going through BZ1097639 but could not find much
detail with respect to gluster there.

A few questions around the problem:

1. Can somebody please explain in detail the scenario that
causes the problem?

2. Is hosted engine performing synchronous writes to ensure
that writes are durable?

Also, if there is any documentation that details the hosted
engine architecture that would help in enhancing our
understanding of its interactions with gluster.


​

Now my question, does this theory prevent a scenario of
perhaps
something like a gluster replicated volume being mounted
as a glusterfs
filesystem and then re-exported as the native kernel NFS
share for the
hosted-engine to consume? It could then be possible to
chuck ctdb in
there to provide a last resort failover solution. I have
tried myself
and suggested it to two people who are running a similar
setup. Now
using the native kernel NFS server for hosted-engine and
they haven't
reported as many issues. Curious, could anyone validate
my theory on this?


If we obtain more details on the use case and obtain gluster
logs from the failed scenarios, we should be able to
understand the problem better. That could be the first step
in validating your theory or evolving further recommendations :).


​ I'm not sure how useful this is, but ​Jiri Moskovcak tracked
this down in an off list message.

​ Message Quote:​

​ ==​

​We were able to track it down to this (thanks Andrew for
providing the testing setup):

-b686-4363-bb7e-dba99e5789b6/ha_agent service_type=hosted-engine'
Traceback (most recent call last):
File

"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py",
line 165, in handle
  response = "success " + self._dispatch(data)
File

"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py",
line 261, in _dispatch
  .get_all_stats_for_service_type(**options)
File

"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py",
line 41, in get_all_stats_for_service_type
  d = self.get_raw_stats_for_service_type(storage_dir, service_type)
File

"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py",
line 74, in get_raw_stats_for_service_type
  f = os.open(path, direct_flag | os.O_RDONLY)
OSError: [Errno 116] Stale file handle:

'/rhev/data-center/mnt/localhost:_mnt_hosted-engine/c898fd2a-b686-4363-bb7e-dba99e5789b6/ha_agent/hosted-engine.metadata'

Andrew/Jiri,
Would it be possible to post gluster logs of both the
mount and bricks on the bz? I can take a look at it once. If I
gather nothing then probably I will ask for your help in
re-creating the issue.

Pranith


​Unfortunately, I don't have the logs for that setup any more.. ​I'll 
try replicate when I get a chance. If I understand the comment from 
the BZ, I don't think it's a gluster bug per-say, more just how 
gluster does its replication.

hi Andrew,
 Thanks for that. I couldn't come to any conclusions because no 
logs were available. It is unlikely that self-heal is involved because 
there were no bricks going down/up according to the bug description.


Pranith





It's definitely connected to the storage which leads us to the
gluster, I'm not very familiar with the gluster so I need to
check this with our gluster gurus.​

​== ​

Thanks,
Vijay




___
  

Re: [ovirt-users] [Gluster-devel] Can we debug some truths/myths/facts about hosted-engine and gluster?

2014-07-20 Thread Pranith Kumar Karampuri


On 07/18/2014 05:43 PM, Andrew Lau wrote:


On Fri, Jul 18, 2014 at 10:06 PM, Vijay Bellur > wrote:


[Adding gluster-devel]


On 07/18/2014 05:20 PM, Andrew Lau wrote:

Hi all,

As most of you have got hints from previous messages, hosted
engine
won't work on gluster . A quote from BZ1097639

"Using hosted engine with Gluster backed storage is currently
something
we really warn against.


I think this bug should be closed or re-targeted at
documentation, because there is nothing we can do here. Hosted
engine assumes that all writes are atomic and (immediately)
available for all hosts in the cluster. Gluster violates those
assumptions.
"

I tried going through BZ1097639 but could not find much detail
with respect to gluster there.

A few questions around the problem:

1. Can somebody please explain in detail the scenario that causes
the problem?

2. Is hosted engine performing synchronous writes to ensure that
writes are durable?

Also, if there is any documentation that details the hosted engine
architecture that would help in enhancing our understanding of its
interactions with gluster.




Now my question, does this theory prevent a scenario of perhaps
something like a gluster replicated volume being mounted as a
glusterfs
filesystem and then re-exported as the native kernel NFS share
for the
hosted-engine to consume? It could then be possible to chuck
ctdb in
there to provide a last resort failover solution. I have tried
myself
and suggested it to two people who are running a similar
setup. Now
using the native kernel NFS server for hosted-engine and they
haven't
reported as many issues. Curious, could anyone validate my
theory on this?


If we obtain more details on the use case and obtain gluster logs
from the failed scenarios, we should be able to understand the
problem better. That could be the first step in validating your
theory or evolving further recommendations :).


I'm not sure how useful this is, but Jiri Moskovcak tracked this down 
in an off list message.


Message Quote:

==

We were able to track it down to this (thanks Andrew for providing the 
testing setup):


-b686-4363-bb7e-dba99e5789b6/ha_agent service_type=hosted-engine'
Traceback (most recent call last):
File 
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py", 
line 165, in handle

  response = "success " + self._dispatch(data)
File 
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/listener.py", 
line 261, in _dispatch

  .get_all_stats_for_service_type(**options)
File 
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py", 
line 41, in get_all_stats_for_service_type

  d = self.get_raw_stats_for_service_type(storage_dir, service_type)
File 
"/usr/lib/python2.6/site-packages/ovirt_hosted_engine_ha/broker/storage_broker.py", 
line 74, in get_raw_stats_for_service_type

  f = os.open(path, direct_flag | os.O_RDONLY)
OSError: [Errno 116] Stale file handle: 
'/rhev/data-center/mnt/localhost:_mnt_hosted-engine/c898fd2a-b686-4363-bb7e-dba99e5789b6/ha_agent/hosted-engine.metadata'

Andrew/Jiri,
Would it be possible to post gluster logs of both the mount and 
bricks on the bz? I can take a look at it once. If I gather nothing then 
probably I will ask for your help in re-creating the issue.


Pranith



It's definitely connected to the storage which leads us to the 
gluster, I'm not very familiar with the gluster so I need to check 
this with our gluster gurus.


==

Thanks,
Vijay




___
Gluster-devel mailing list
gluster-de...@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel


___
Users mailing list
Users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/users