[ceph-users] min_size write behavior

2013-04-29 Thread Dzianis Kahanovich
Reading about min_size behavior, I understand next: if I set min_size=1 - it is
for reading  writing, so it is dangerous. Can I (via crush map) or developers
(via code changes) to separate min_size behavior for reading  writing? I event
trying to look into code, but IMHO developers can solve all more easy.

Thinking about this, I prefer to see next behaviour (for example): on write, if
PG number  size, but = min_size - before writing heal this PG to consistent 
state.

It can contains from this steps (I don't understand now code structure, but have
probably ideas about tasks separating):

1) On repair (healing) proceed write pending PGs first (this is separated good
idea - IMHO) - to minimize client freezing;
2) Minimize period for this write pending PGs before healing (same);
3) Make min_size [optional] working only for read.

Or simple always clone (heal) inconsistent PGs to size in write task (if
code enables it).

So write requests will be always protected from data loss (of course, still
possibility to invert written and offline OSDs in one pass in large cluster, but
this is minimal care for mind about min_size).

-- 
WBR, Dzianis Kahanovich AKA Denis Kaganovich, http://mahatma.bspu.unibel.by/
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[ceph-users] Backporting the kernel client

2013-04-29 Thread Juha Aatrokoski
I'm probably not the only one who would like to run a 
distribution-provided kernel (which for Debian Wheezy/Ubuntu Precise is 
3.2) and still have a recent-enough Ceph kernel client. So I'm wondering 
whether it's feasible to backport the kernel client to an earlier kernel. 
The plan is as follows:


1) Grab the Ceph files from https://github.com/ceph/ceph-client (and put 
them over the older kernel sources). If I got it right the files are: 
include/keys/ceph-type.h include/linux/ceph/* fs/ceph/* net/ceph/* 
drivers/block/rbd.c drivers/block/rbd_types.h


2) Make (trivial) adjustments to the source code to account for changed 
kernel interfaces.


3) Compile as modules and install the new Ceph modules under /lib/modules.

4) Reboot to a standard distribution kernel with up-to-date Ceph client.


Now the main questions are:

Q1: Is the Ceph client contained in the files mentioned in 1), or does it 
include changes elsewhere in the kernel that cannot be built as modules?


Q2: Regarding 2), are there any nontrivial interface changes i.e. Ceph 
actually using newly introduced features instead of just adapting to 
a changed syntax?



Any other thoughts or comments on this?
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[ceph-users] Stuck pages and other bad things

2013-04-29 Thread Kyle Hutson
I'm presuming this is the correct list (rather than the -devel list) please
correct me if I'm wrong there.

I setup ceph (0.56.4) a few months ago with two disk servers and one
dedicated monitor. The disk servers also have monitors, so there are a
total of 3 monitors for the cluster. Each of the disk servers has 8 OSDs.

I didn't actually get a 'ceph osd tree' output from that, but
cutting-and-pasting relevant parts from what I have now, it probably looked
like this:

# id weight type name up/down reweight
-1 16 root default
-3 16 rack unknownrack
-2 0 host leviathan
100 1 osd.100 up 1
101 1 osd.101 up 1
102 1 osd.102 up 1
103 1 osd.103 up 1
104 1 osd.104 up 1
105 1 osd.105 up 1
106 1 osd.106 up 1
107 1 osd.107 up 1
-4 8 host minotaur
200 1 osd.200 up 1
201 1 osd.201 up 1
202 1 osd.202 up 1
203 1 osd.203 up 1
204 1 osd.204 up 1
205 1 osd.205 up 1
206 1 osd.206 up 1
207 1 osd.207 up 1

A couple of weeks ago, for valid reasons that aren't relevant here, we
decided to repurpose one of the disk servers (leviathan) and replace the
ceph fileserver with some other hardware. I created a new server (aergia).
That changed the 'ceph osd tree' to this:

# id weight type name up/down reweight
-1 16 root default
-3 16 rack unknownrack
-2 0 host leviathan
100 1 osd.100 up 1
101 1 osd.101 up 1
102 1 osd.102 up 1
103 1 osd.103 up 1
104 1 osd.104 up 1
105 1 osd.105 up 1
106 1 osd.106 up 1
107 1 osd.107 up 1
-4 8 host minotaur
200 1 osd.200 up 1
201 1 osd.201 up 1
202 1 osd.202 up 1
203 1 osd.203 up 1
204 1 osd.204 up 1
205 1 osd.205 up 1
206 1 osd.206 up 1
207 1 osd.207 up 1
0 1 osd.0 up 1
1 1 osd.1 up 1
2 1 osd.2 up 1
3 1 osd.3 up 1
4 1 osd.4 up 1
5 1 osd.5 up 1
6 1 osd.6 up 1
7 1 osd.7 up 1

Everything was looking happy, so I began removing the OSDs on leviathan.
That's when the problems stared. 'ceph health detail' shows that there are
several pages that either existed only on that disk server, e.g.
pg 0.312 is stuck unclean since forever, current state
stale+active+degraded+remapped, last acting [103]
or pages that were only replicated back onto the same host, e.g.
pg 0.2f4 is stuck unclean since forever, current state
stale+active+remapped, last acting [106,101]

I brought leviathan back up, and I *think* everything is at least
responding now. But 'ceph health' still shows
HEALTH_WARN 302 pgs degraded; 810 pgs stale; 810 pgs stuck stale; 3562 pgs
stuck unclean; recovery 44951/2289634 degraded (1.963%)
...and it's been stuck there for a long time.

So my question is, how do I force data off the to-be-decommissioned server
safely and get back to HEALTH_OK?
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Backporting the kernel client

2013-04-29 Thread Alex Elder
On 04/29/2013 08:16 AM, Juha Aatrokoski wrote:
 I'm probably not the only one who would like to run a
 distribution-provided kernel (which for Debian Wheezy/Ubuntu Precise is
 3.2) and still have a recent-enough Ceph kernel client. So I'm wondering
 whether it's feasible to backport the kernel client to an earlier
 kernel. The plan is as follows:
 
 1) Grab the Ceph files from https://github.com/ceph/ceph-client (and put
 them over the older kernel sources). If I got it right the files are:
 include/keys/ceph-type.h include/linux/ceph/* fs/ceph/* net/ceph/*
 drivers/block/rbd.c drivers/block/rbd_types.h

That is the correct and complete list of source files.

(I didn't know about include/keys/ceph-type.h.)

 2) Make (trivial) adjustments to the source code to account for changed
 kernel interfaces.
 
 3) Compile as modules and install the new Ceph modules under /lib/modules.

 4) Reboot to a standard distribution kernel with up-to-date Ceph client.

That's roughly correct.  There may be some little details
(like running depmod) but you've got it.

 Now the main questions are:
 
 Q1: Is the Ceph client contained in the files mentioned in 1), or does
 it include changes elsewhere in the kernel that cannot be built as modules?

They are as you described above.

 Q2: Regarding 2), are there any nontrivial interface changes i.e. Ceph
 actually using newly introduced features instead of just adapting to a
 changed syntax?

I'm not aware of any, but I haven't tried a particular port.

 Any other thoughts or comments on this?

Let me know if you try it and run into trouble, I may be
able to help.

-Alex

 ___
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Backporting the kernel client

2013-04-29 Thread Yehuda Sadeh
On Mon, Apr 29, 2013 at 6:16 AM, Juha Aatrokoski j...@kurp.hut.fi wrote:
 I'm probably not the only one who would like to run a distribution-provided
 kernel (which for Debian Wheezy/Ubuntu Precise is 3.2) and still have a
 recent-enough Ceph kernel client. So I'm wondering whether it's feasible to
 backport the kernel client to an earlier kernel. The plan is as follows:

 1) Grab the Ceph files from https://github.com/ceph/ceph-client (and put
 them over the older kernel sources). If I got it right the files are:
 include/keys/ceph-type.h include/linux/ceph/* fs/ceph/* net/ceph/*
 drivers/block/rbd.c drivers/block/rbd_types.h

 2) Make (trivial) adjustments to the source code to account for changed
 kernel interfaces.

 3) Compile as modules and install the new Ceph modules under /lib/modules.

 4) Reboot to a standard distribution kernel with up-to-date Ceph client.


 Now the main questions are:

 Q1: Is the Ceph client contained in the files mentioned in 1), or does it
 include changes elsewhere in the kernel that cannot be built as modules?

The ceph stuff is mostly there, if you exclude make file changes.
Don't think there's anything outside.

 Q2: Regarding 2), are there any nontrivial interface changes i.e. Ceph
 actually using newly introduced features instead of just adapting to a
 changed syntax?

I don't really know, haven't been actively looking at the kernel side
for a while. It used to compile on that kernel version, so you can
always refer to the older version and see how it used to work. Usually
you can just try to compile it, see where it fails and then try to
figure out what has changed there.



Yehuda
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Backporting the kernel client

2013-04-29 Thread James Page

Hi Juha

On 29/04/13 15:29, Yehuda Sadeh wrote:

On Mon, Apr 29, 2013 at 6:16 AM, Juha Aatrokoskij...@kurp.hut.fi  wrote:

I'm probably not the only one who would like to run a distribution-provided
kernel (which for Debian Wheezy/Ubuntu Precise is 3.2) and still have a
recent-enough Ceph kernel client. So I'm wondering whether it's feasible to
backport the kernel client to an earlier kernel. The plan is as follows:


Ubuntu 12.04 now includes Hardware Enablement Kernels from Quantal (3.5) 
and soon from Raring (3.8):


http://www.jorgecastro.org/2013/02/19/what-the-lts-enablement-stack-means-for-sysadmins/

This allows you to use a more recent, distro provided kernel than 3.2 
which should have the required fixes/features you need.


That said if you are having problems with the 3.2 kernel please do 
report bugs back to Ubuntu.


Cheers

James

--
James Page
Technical Lead
Ubuntu Server Team
james.p...@canonical.com
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Failed assert when starting new OSDs in 0.60

2013-04-29 Thread Gregory Farnum
This sounds vaguely familiar to me, and I see
http://tracker.ceph.com/issues/4052, which is marked as Can't
reproduce — I think maybe this is fixed in next and master, but
I'm not sure. For more than that I'd have to defer to Sage or Sam.
-Greg
Software Engineer #42 @ http://inktank.com | http://ceph.com


On Sat, Apr 27, 2013 at 6:43 PM, Travis Rhoden trho...@gmail.com wrote:
 Hey folks,

 I'm helping put together a new test/experimental cluster, and hit this today
 when bringing the cluster up for the first time (using mkcephfs).

 After doing the normal service ceph -a start, I noticed one OSD was down,
 and a lot of PGs were stuck creating.  I tried restarting the down OSD, but
 it would come up.  It always had this error:

 -1 2013-04-27 18:11:56.179804 b6fcd000  2 osd.1 0 boot
  0 2013-04-27 18:11:56.402161 b6fcd000 -1 osd/PG.cc: In function
 'static epoch_t PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
 ceph::bufferlist*)' thread b6fcd000 time 2013-04-27 18:11:56.399089
 osd/PG.cc: 2556: FAILED assert(values.size() == 1)

  ceph version 0.60-401-g17a3859 (17a38593d60f5f29b9b66c13c0aaa759762c6d04)
  1: (PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
 ceph::buffer::list*)+0x1ad) [0x2c3c0a]
  2: (OSD::load_pgs()+0x357) [0x28cba0]
  3: (OSD::init()+0x741) [0x290a16]
  4: (main()+0x1427) [0x2155c0]
  5: (__libc_start_main()+0x99) [0xb69bcf42]
  NOTE: a copy of the executable, or `objdump -rdS executable` is needed to
 interpret this.


 I then did a full cluster restart, and now I have ten OSDs down -- each
 showing the same exception/failed assert.

 Anybody seen this?

 I know I'm running a weird version -- it's compiled from source, and was
 provided to me.  The OSDs are all on ARM, and the mon is x86_64.  Just
 looking to see if anyone has seen this particular stack trace of
 load_pgs()/peek_map_epoch() before

  - Travis

 ___
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Failed assert when starting new OSDs in 0.60

2013-04-29 Thread Travis Rhoden
Thanks Greg.

I quit playing with it because every time I restarted the cluster (service
ceph -a restart), I lost more OSDs..  First time it was 1, 2nd 10, 3rd time
13...  All 13 down OSDs all show the same stacktrace.

 - Travis


On Mon, Apr 29, 2013 at 11:56 AM, Gregory Farnum g...@inktank.com wrote:

 This sounds vaguely familiar to me, and I see
 http://tracker.ceph.com/issues/4052, which is marked as Can't
 reproduce — I think maybe this is fixed in next and master, but
 I'm not sure. For more than that I'd have to defer to Sage or Sam.
 -Greg
 Software Engineer #42 @ http://inktank.com | http://ceph.com


 On Sat, Apr 27, 2013 at 6:43 PM, Travis Rhoden trho...@gmail.com wrote:
  Hey folks,
 
  I'm helping put together a new test/experimental cluster, and hit this
 today
  when bringing the cluster up for the first time (using mkcephfs).
 
  After doing the normal service ceph -a start, I noticed one OSD was
 down,
  and a lot of PGs were stuck creating.  I tried restarting the down OSD,
 but
  it would come up.  It always had this error:
 
  -1 2013-04-27 18:11:56.179804 b6fcd000  2 osd.1 0 boot
   0 2013-04-27 18:11:56.402161 b6fcd000 -1 osd/PG.cc: In function
  'static epoch_t PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
  ceph::bufferlist*)' thread b6fcd000 time 2013-04-27 18:11:56.399089
  osd/PG.cc: 2556: FAILED assert(values.size() == 1)
 
   ceph version 0.60-401-g17a3859
 (17a38593d60f5f29b9b66c13c0aaa759762c6d04)
   1: (PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
  ceph::buffer::list*)+0x1ad) [0x2c3c0a]
   2: (OSD::load_pgs()+0x357) [0x28cba0]
   3: (OSD::init()+0x741) [0x290a16]
   4: (main()+0x1427) [0x2155c0]
   5: (__libc_start_main()+0x99) [0xb69bcf42]
   NOTE: a copy of the executable, or `objdump -rdS executable` is
 needed to
  interpret this.
 
 
  I then did a full cluster restart, and now I have ten OSDs down -- each
  showing the same exception/failed assert.
 
  Anybody seen this?
 
  I know I'm running a weird version -- it's compiled from source, and was
  provided to me.  The OSDs are all on ARM, and the mon is x86_64.  Just
  looking to see if anyone has seen this particular stack trace of
  load_pgs()/peek_map_epoch() before
 
   - Travis
 
  ___
  ceph-users mailing list
  ceph-users@lists.ceph.com
  http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
 

___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Failed assert when starting new OSDs in 0.60

2013-04-29 Thread Samuel Just
You appear to be missing pg metadata for some reason.  If you can
reproduce it with
debug osd = 20
debug filestore = 20
debug ms = 1
on all of the OSDs, I should be able to track it down.

I created a bug: #4855.

Thanks!
-Sam

On Mon, Apr 29, 2013 at 9:52 AM, Travis Rhoden trho...@gmail.com wrote:
 Thanks Greg.

 I quit playing with it because every time I restarted the cluster (service
 ceph -a restart), I lost more OSDs..  First time it was 1, 2nd 10, 3rd time
 13...  All 13 down OSDs all show the same stacktrace.

  - Travis


 On Mon, Apr 29, 2013 at 11:56 AM, Gregory Farnum g...@inktank.com wrote:

 This sounds vaguely familiar to me, and I see
 http://tracker.ceph.com/issues/4052, which is marked as Can't
 reproduce — I think maybe this is fixed in next and master, but
 I'm not sure. For more than that I'd have to defer to Sage or Sam.
 -Greg
 Software Engineer #42 @ http://inktank.com | http://ceph.com


 On Sat, Apr 27, 2013 at 6:43 PM, Travis Rhoden trho...@gmail.com wrote:
  Hey folks,
 
  I'm helping put together a new test/experimental cluster, and hit this
  today
  when bringing the cluster up for the first time (using mkcephfs).
 
  After doing the normal service ceph -a start, I noticed one OSD was
  down,
  and a lot of PGs were stuck creating.  I tried restarting the down OSD,
  but
  it would come up.  It always had this error:
 
  -1 2013-04-27 18:11:56.179804 b6fcd000  2 osd.1 0 boot
   0 2013-04-27 18:11:56.402161 b6fcd000 -1 osd/PG.cc: In function
  'static epoch_t PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
  ceph::bufferlist*)' thread b6fcd000 time 2013-04-27 18:11:56.399089
  osd/PG.cc: 2556: FAILED assert(values.size() == 1)
 
   ceph version 0.60-401-g17a3859
  (17a38593d60f5f29b9b66c13c0aaa759762c6d04)
   1: (PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
  ceph::buffer::list*)+0x1ad) [0x2c3c0a]
   2: (OSD::load_pgs()+0x357) [0x28cba0]
   3: (OSD::init()+0x741) [0x290a16]
   4: (main()+0x1427) [0x2155c0]
   5: (__libc_start_main()+0x99) [0xb69bcf42]
   NOTE: a copy of the executable, or `objdump -rdS executable` is
  needed to
  interpret this.
 
 
  I then did a full cluster restart, and now I have ten OSDs down -- each
  showing the same exception/failed assert.
 
  Anybody seen this?
 
  I know I'm running a weird version -- it's compiled from source, and was
  provided to me.  The OSDs are all on ARM, and the mon is x86_64.  Just
  looking to see if anyone has seen this particular stack trace of
  load_pgs()/peek_map_epoch() before
 
   - Travis
 
  ___
  ceph-users mailing list
  ceph-users@lists.ceph.com
  http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
 


___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Failed assert when starting new OSDs in 0.60

2013-04-29 Thread Travis Rhoden
Hi Sam,

Thanks for being willing to take a look.

I applied the debug settings on one host that 3 out of 3 OSDs with this
problem.  Then tried to start them up.  Here are the resulting logs:

https://dl.dropboxusercontent.com/u/23122069/cephlogs.tgz

 - Travis


On Mon, Apr 29, 2013 at 1:04 PM, Samuel Just sam.j...@inktank.com wrote:

 You appear to be missing pg metadata for some reason.  If you can
 reproduce it with
 debug osd = 20
 debug filestore = 20
 debug ms = 1
 on all of the OSDs, I should be able to track it down.

 I created a bug: #4855.

 Thanks!
 -Sam

 On Mon, Apr 29, 2013 at 9:52 AM, Travis Rhoden trho...@gmail.com wrote:
  Thanks Greg.
 
  I quit playing with it because every time I restarted the cluster
 (service
  ceph -a restart), I lost more OSDs..  First time it was 1, 2nd 10, 3rd
 time
  13...  All 13 down OSDs all show the same stacktrace.
 
   - Travis
 
 
  On Mon, Apr 29, 2013 at 11:56 AM, Gregory Farnum g...@inktank.com
 wrote:
 
  This sounds vaguely familiar to me, and I see
  http://tracker.ceph.com/issues/4052, which is marked as Can't
  reproduce — I think maybe this is fixed in next and master, but
  I'm not sure. For more than that I'd have to defer to Sage or Sam.
  -Greg
  Software Engineer #42 @ http://inktank.com | http://ceph.com
 
 
  On Sat, Apr 27, 2013 at 6:43 PM, Travis Rhoden trho...@gmail.com
 wrote:
   Hey folks,
  
   I'm helping put together a new test/experimental cluster, and hit this
   today
   when bringing the cluster up for the first time (using mkcephfs).
  
   After doing the normal service ceph -a start, I noticed one OSD was
   down,
   and a lot of PGs were stuck creating.  I tried restarting the down
 OSD,
   but
   it would come up.  It always had this error:
  
   -1 2013-04-27 18:11:56.179804 b6fcd000  2 osd.1 0 boot
0 2013-04-27 18:11:56.402161 b6fcd000 -1 osd/PG.cc: In function
   'static epoch_t PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
   ceph::bufferlist*)' thread b6fcd000 time 2013-04-27 18:11:56.399089
   osd/PG.cc: 2556: FAILED assert(values.size() == 1)
  
ceph version 0.60-401-g17a3859
   (17a38593d60f5f29b9b66c13c0aaa759762c6d04)
1: (PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
   ceph::buffer::list*)+0x1ad) [0x2c3c0a]
2: (OSD::load_pgs()+0x357) [0x28cba0]
3: (OSD::init()+0x741) [0x290a16]
4: (main()+0x1427) [0x2155c0]
5: (__libc_start_main()+0x99) [0xb69bcf42]
NOTE: a copy of the executable, or `objdump -rdS executable` is
   needed to
   interpret this.
  
  
   I then did a full cluster restart, and now I have ten OSDs down --
 each
   showing the same exception/failed assert.
  
   Anybody seen this?
  
   I know I'm running a weird version -- it's compiled from source, and
 was
   provided to me.  The OSDs are all on ARM, and the mon is x86_64.  Just
   looking to see if anyone has seen this particular stack trace of
   load_pgs()/peek_map_epoch() before
  
- Travis
  
   ___
   ceph-users mailing list
   ceph-users@lists.ceph.com
   http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
  
 
 

___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Failed assert when starting new OSDs in 0.60

2013-04-29 Thread Samuel Just
Hmm, I need logging from when the corruption happened.  If this is
reproducible, can you enable that logging on a clean osd (or better, a
clean cluster) until the assert occurs?
-Sam

On Mon, Apr 29, 2013 at 2:45 PM, Travis Rhoden trho...@gmail.com wrote:
 Also, I can note that it does not take a full cluster restart to trigger
 this.  If I just restart an OSD that was up/in previously, the same error
 can happen (though not every time).  So restarting OSD's for me is a bit
 like Russian roullette.  =)  Even though restarting an OSD may not also
 result in the error, it seems that once it happens that OSD is gone for
 good.  No amount of restart has brought any of the dead ones back.

 I'd really like to get to the bottom of it.  Let me know if I can do
 anything to help.

 I may also have to try completely wiping/rebuilding to see if I can make
 this thing usable.


 On Mon, Apr 29, 2013 at 2:38 PM, Travis Rhoden trho...@gmail.com wrote:

 Hi Sam,

 Thanks for being willing to take a look.

 I applied the debug settings on one host that 3 out of 3 OSDs with this
 problem.  Then tried to start them up.  Here are the resulting logs:

 https://dl.dropboxusercontent.com/u/23122069/cephlogs.tgz

  - Travis


 On Mon, Apr 29, 2013 at 1:04 PM, Samuel Just sam.j...@inktank.com wrote:

 You appear to be missing pg metadata for some reason.  If you can
 reproduce it with
 debug osd = 20
 debug filestore = 20
 debug ms = 1
 on all of the OSDs, I should be able to track it down.

 I created a bug: #4855.

 Thanks!
 -Sam

 On Mon, Apr 29, 2013 at 9:52 AM, Travis Rhoden trho...@gmail.com wrote:
  Thanks Greg.
 
  I quit playing with it because every time I restarted the cluster
  (service
  ceph -a restart), I lost more OSDs..  First time it was 1, 2nd 10, 3rd
  time
  13...  All 13 down OSDs all show the same stacktrace.
 
   - Travis
 
 
  On Mon, Apr 29, 2013 at 11:56 AM, Gregory Farnum g...@inktank.com
  wrote:
 
  This sounds vaguely familiar to me, and I see
  http://tracker.ceph.com/issues/4052, which is marked as Can't
  reproduce — I think maybe this is fixed in next and master, but
  I'm not sure. For more than that I'd have to defer to Sage or Sam.
  -Greg
  Software Engineer #42 @ http://inktank.com | http://ceph.com
 
 
  On Sat, Apr 27, 2013 at 6:43 PM, Travis Rhoden trho...@gmail.com
  wrote:
   Hey folks,
  
   I'm helping put together a new test/experimental cluster, and hit
   this
   today
   when bringing the cluster up for the first time (using mkcephfs).
  
   After doing the normal service ceph -a start, I noticed one OSD
   was
   down,
   and a lot of PGs were stuck creating.  I tried restarting the down
   OSD,
   but
   it would come up.  It always had this error:
  
   -1 2013-04-27 18:11:56.179804 b6fcd000  2 osd.1 0 boot
0 2013-04-27 18:11:56.402161 b6fcd000 -1 osd/PG.cc: In
   function
   'static epoch_t PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
   ceph::bufferlist*)' thread b6fcd000 time 2013-04-27 18:11:56.399089
   osd/PG.cc: 2556: FAILED assert(values.size() == 1)
  
ceph version 0.60-401-g17a3859
   (17a38593d60f5f29b9b66c13c0aaa759762c6d04)
1: (PG::peek_map_epoch(ObjectStore*, coll_t, hobject_t,
   ceph::buffer::list*)+0x1ad) [0x2c3c0a]
2: (OSD::load_pgs()+0x357) [0x28cba0]
3: (OSD::init()+0x741) [0x290a16]
4: (main()+0x1427) [0x2155c0]
5: (__libc_start_main()+0x99) [0xb69bcf42]
NOTE: a copy of the executable, or `objdump -rdS executable` is
   needed to
   interpret this.
  
  
   I then did a full cluster restart, and now I have ten OSDs down --
   each
   showing the same exception/failed assert.
  
   Anybody seen this?
  
   I know I'm running a weird version -- it's compiled from source, and
   was
   provided to me.  The OSDs are all on ARM, and the mon is x86_64.
   Just
   looking to see if anyone has seen this particular stack trace of
   load_pgs()/peek_map_epoch() before
  
- Travis
  
   ___
   ceph-users mailing list
   ceph-users@lists.ceph.com
   http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
  
 
 



___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] Backporting the kernel client

2013-04-29 Thread James Harper
 
 I'm probably not the only one who would like to run a
 distribution-provided kernel (which for Debian Wheezy/Ubuntu Precise is
 3.2) and still have a recent-enough Ceph kernel client. So I'm wondering
 whether it's feasible to backport the kernel client to an earlier kernel.

You can grab the 3.8 kernel from debian experimental 
http://packages.debian.org/search?keywords=linux-image-3.8

I'm using it on a bunch of machines and I know of a few others using it too.

 The plan is as follows:
 
 1) Grab the Ceph files from https://github.com/ceph/ceph-client (and put
 them over the older kernel sources). If I got it right the files are:
 include/keys/ceph-type.h include/linux/ceph/* fs/ceph/* net/ceph/*
 drivers/block/rbd.c drivers/block/rbd_types.h
 
 2) Make (trivial) adjustments to the source code to account for changed
 kernel interfaces.
 
 3) Compile as modules and install the new Ceph modules under
 /lib/modules.
 
 4) Reboot to a standard distribution kernel with up-to-date Ceph client.
 

I would think you should be able to build a dkms package pretty easily, and it 
would be a lot faster to build than building an entire kernel, and much easier 
to maintain. Of course that depends on the degree of integration with the 
kernel...

James

___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[ceph-users] Not up file to mount partition of CephFS

2013-04-29 Thread MinhTien MinhTien
Hi all,

When i use ftp up file to mount partition of CephFS, average speed as
normal = 100MB/ s, but recently, the process was interrupted, not continue
to transfer files.

but state ceph still ok:

[root@Ceph-Store-33-2 dd]# ceph -w
   health HEALTH_OK
   monmap e2: 2 mons at {0=172.30.33.2:6789/0,1=172.30.33.5:6789/0},
election epoch 782, quorum 0,1 0,1
   osdmap e4510: 8 osds: 8 up, 8 in
pgmap v337871: 640 pgs: 639 active+clean, 1
active+clean+scrubbing+deep; 20953 GB data, 20989 GB used, 83428 GB / 107
TB avail
   mdsmap e1060: 1/1/1 up {0=1=up:active}, 1 up:standby


dmesg:

libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph:  tid 13 timed out on osd6, will reset osd
libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph:  tid 13 timed out on osd6, will reset osd
libceph:  tid 13 timed out on osd6, will reset osd
libceph: wrong peer, want 172.30.33.5:6807/5804, got 172.30.33.5:6807/7258
libceph: osd6 172.30.33.5:6807 wrong peer at address
libceph:  tid 13 timed out on osd6, will reset osd
libceph: mon1 172.30.33.5:6789 socket closed
libceph: mon1 172.30.33.5:6789 session lost, hunting for new mon
libceph: mon1 172.30.33.5:6789 connection failed
libceph:  tid 13 timed out on osd6, will reset osd
libceph:  tid 668 timed out on osd6, will reset osd
libceph:  tid 678 timed out on osd6, will reset osd
libceph:  tid 678 timed out on osd6, will reset osd
libceph:  tid 678 timed out on osd6, will reset osd
libceph:  tid 678 timed out on osd6, will reset osd
libceph:  tid 678 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 864 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd
libceph:  tid 1206 timed out on osd6, will reset osd

How to fix it?

Thanks all

-- 
Bui Minh Tien
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com