On Wed, Sep 11, 2013 at 9:12 PM, Yan, Zheng <ukernel@xxxxxxxxx> wrote: > On Wed, Sep 11, 2013 at 7:51 PM, Oliver Daudey <oliver@xxxxxxxxx> wrote: >> Hey Gregory, >> >> I wiped and re-created the MDS-cluster I just mailed about, starting out >> by making sure CephFS is not mounted anywhere, stopping all MDSs, >> completely cleaning the "data" and "metadata"-pools using "rados >> --pool=<pool> cleanup <prefix>", then creating a new cluster using `ceph >> mds newfs 1 0 --yes-i-really-mean-it' and starting all MDSs again. >> Directly afterwards, I saw this: >> # rados --pool=metadata ls >> 1.00000000 >> 2.00000000 >> 200.00000000 >> 200.00000001 >> 600.00000000 >> 601.00000000 >> 602.00000000 >> 603.00000000 >> 605.00000000 >> 606.00000000 >> 608.00000000 >> 609.00000000 >> mds0_inotable >> mds0_sessionmap >> >> Note the missing objects, right from the start. I was able to mount the >> CephFS at this point, but after unmounting it and restarting the >> MDS-cluster, it failed to come up, with the same symptoms as before. I >> didn't place any files on CephFS at any point between newfs and failure. >> Naturally, I tried initializing it again, but now, even after more than >> 5 tries, the "mds*"-objects simply no longer show up in the >> "metadata"-pool at all. In fact, it remains empty. I can mount CephFS >> after the first start of the MDS-cluster after a newfs, but on restart, >> it fails because of the missing objects. Am I doing anything wrong >> while initializing the cluster, maybe? Is cleaning the pools and doing >> the newfs enough? I did the same on the other cluster yesterday and it >> seems to have all objects. >> > > Thank you for your default information. > s/default/detail sorry for the typo. > The cause of missing object is that the MDS IDs for old FS and new FS > are the same (incarnations are the same). When OSD receives MDS > requests for the newly created FS. It silently drops the requests, > because it thinks they are duplicated. You can get around the bug by > creating new pools for the newfs. > > Regards > Yan, Zheng > >> >> Regards, >> >> Oliver >> >> On di, 2013-09-10 at 16:24 -0700, Gregory Farnum wrote: >>> Nope, a repair won't change anything if scrub doesn't detect any >>> inconsistencies. There must be something else going on, but I can't >>> fathom what...I'll try and look through it a bit more tomorrow. :/ >>> -Greg >>> Software Engineer #42 @ http://inktank.com | http://ceph.com >>> >>> >>> On Tue, Sep 10, 2013 at 3:49 PM, Oliver Daudey <oliver@xxxxxxxxx> wrote: >>> > Hey Gregory, >>> > >>> > Thanks for your explanation. Turns out to be 1.a7 and it seems to scrub >>> > OK. >>> > >>> > # ceph osd getmap -o osdmap >>> > # osdmaptool --test-map-object mds_anchortable --pool 1 osdmap >>> > osdmaptool: osdmap file 'osdmap' >>> > object 'mds_anchortable' -> 1.a7 -> [2,0] >>> > # ceph pg scrub 1.a7 >>> > >>> > osd.2 logs: >>> > 2013-09-11 00:41:15.843302 7faf56b1b700 0 log [INF] : 1.a7 scrub ok >>> > >>> > osd.0 didn't show anything in it's logs, though. Should I try a repair >>> > next? >>> > >>> > >>> > Regards, >>> > >>> > Oliver >>> > >>> > On di, 2013-09-10 at 15:01 -0700, Gregory Farnum wrote: >>> >> If the problem is somewhere in RADOS/xfs/whatever, then there's a good >>> >> chance that the "mds_anchortable" object exists in its replica OSDs, >>> >> but when listing objects those aren't queried, so they won't show up >>> >> in a listing. You can use the osdmaptool to map from an object name to >>> >> the PG it would show up in, or if you look at your log you should see >>> >> a line something like >>> >> 1 -- <LOCAL IP> --> <OTHER IP> -- osd_op(mds.0.31:3 mds_anchortable >>> >> [read 0~0] 1.a977f6a7 e165) v4 -- ?+0 0x1e88d80 con 0x1f189a0 >>> >> In this example, metadata is pool 1 and 1.a977f6a7 is the hash of the >>> >> msd_anchortable object, and depending on how many PGs are in the pool >>> >> it will be in pg 1.a7, or 1.6a7, or 1.f6a7... >>> >> -Greg >>> >> Software Engineer #42 @ http://inktank.com | http://ceph.com >>> >> >>> >> On Tue, Sep 10, 2013 at 2:51 PM, Oliver Daudey <oliver@xxxxxxxxx> wrote: >>> >> > Hey Gregory, >>> >> > >>> >> > The only objects containing "table" I can find at all, are in the >>> >> > "metadata"-pool: >>> >> > # rados --pool=metadata ls | grep -i table >>> >> > mds0_inotable >>> >> > >>> >> > Looking at another cluster where I use CephFS, there is indeed an object >>> >> > named "mds_anchortable", but the broken cluster is missing it. I don't >>> >> > see how I can scrub the PG for an object that doesn't appear to exist. >>> >> > Please elaborate. >>> >> > >>> >> > >>> >> > Regards, >>> >> > >>> >> > Oliver >>> >> > >>> >> > On di, 2013-09-10 at 14:06 -0700, Gregory Farnum wrote: >>> >> >> Also, can you scrub the PG which contains the "mds_anchortable" object >>> >> >> and see if anything comes up? You should be able to find the key from >>> >> >> the logs (in the osd_op line that contains "mds_anchortable") and >>> >> >> convert that into the PG. Or you can just scrub all of osd 2. >>> >> >> -Greg >>> >> >> Software Engineer #42 @ http://inktank.com | http://ceph.com >>> >> >> >>> >> >> >>> >> >> On Tue, Sep 10, 2013 at 1:59 PM, Gregory Farnum <greg@xxxxxxxxxxx> wrote: >>> >> >> > It's not an upgrade issue. There's an MDS object that is somehow >>> >> >> > missing. If it exists, then on restart you'll be fine. >>> >> >> > >>> >> >> > Oliver, what is your general cluster config? What filesystem are your >>> >> >> > OSDs running on? What version of Ceph were you upgrading from? There's >>> >> >> > really no way for this file to not exist once created unless the >>> >> >> > underlying FS ate it or the last write both was interrupted and hit >>> >> >> > some kind of bug in our transaction code (of which none are known) >>> >> >> > during replay. >>> >> >> > -Greg >>> >> >> > Software Engineer #42 @ http://inktank.com | http://ceph.com >>> >> >> > >>> >> >> > >>> >> >> > On Tue, Sep 10, 2013 at 1:44 PM, Liu, Larry <Larry.Liu@xxxxxxxxxx> wrote: >>> >> >> >> This is scary. Should I hold on upgrade? >>> >> >> >> >>> >> >> >> On 9/10/13 11:33 AM, "Oliver Daudey" <oliver@xxxxxxxxx> wrote: >>> >> >> >> >>> >> >> >>>Hey Gregory, >>> >> >> >>> >>> >> >> >>>On 10-09-13 20:21, Gregory Farnum wrote: >>> >> >> >>>> On Tue, Sep 10, 2013 at 10:54 AM, Oliver Daudey <oliver@xxxxxxxxx> >>> >> >> >>>>wrote: >>> >> >> >>>>> Hey list, >>> >> >> >>>>> >>> >> >> >>>>> I just upgraded to Ceph 0.67.3. What I did on every node of my 3-node >>> >> >> >>>>> cluster was: >>> >> >> >>>>> - Unmount CephFS everywhere. >>> >> >> >>>>> - Upgrade the Ceph-packages. >>> >> >> >>>>> - Restart MON. >>> >> >> >>>>> - Restart OSD. >>> >> >> >>>>> - Restart MDS. >>> >> >> >>>>> >>> >> >> >>>>> As soon as I got to the second node, the MDS crashed right after >>> >> >> >>>>>startup. >>> >> >> >>>>> >>> >> >> >>>>> Part of the logs (more on request): >>> >> >> >>>>> >>> >> >> >>>>> -> 194.109.43.12:6802/53419 -- osd_op(mds.0.58:4 mds_snaptable [read >>> >> >> >>>>> 0~0] 1.d902 >>> >> >> >>>>> 70ad e37647) v4 -- ?+0 0x1e48d80 con 0x1e5d9a0 >>> >> >> >>>>> -11> 2013-09-10 19:35:02.798962 7fd1ba81f700 2 mds.0.58 boot_start >>> >> >> >>>>> 1: openin >>> >> >> >>>>> g mds log >>> >> >> >>>>> -10> 2013-09-10 19:35:02.798968 7fd1ba81f700 5 mds.0.log open >>> >> >> >>>>> discovering lo >>> >> >> >>>>> g bounds >>> >> >> >>>>> -9> 2013-09-10 19:35:02.798988 7fd1ba81f700 1 mds.0.journaler(ro) >>> >> >> >>>>> recover s >>> >> >> >>>>> tart >>> >> >> >>>>> -8> 2013-09-10 19:35:02.798990 7fd1ba81f700 1 mds.0.journaler(ro) >>> >> >> >>>>> read_head >>> >> >> >>>>> -7> 2013-09-10 19:35:02.799028 7fd1ba81f700 1 -- >>> >> >> >>>>> 194.109.43.12:6800/67277 - >>> >> >> >>>>> -> 194.109.43.11:6800/16562 -- osd_op(mds.0.58:5 200.00000000 [read >>> >> >> >>>>>0~0] >>> >> >> >>>>> 1.844f3 >>> >> >> >>>>> 494 e37647) v4 -- ?+0 0x1e48b40 con 0x1e5db00 >>> >> >> >>>>> -6> 2013-09-10 19:35:02.799053 7fd1ba81f700 1 -- >>> >> >> >>>>> 194.109.43.12:6800/67277 < >>> >> >> >>>>> == mon.2 194.109.43.13:6789/0 16 ==== mon_subscribe_ack(300s) v1 ==== >>> >> >> >>>>> 20+0+0 (42 >>> >> >> >>>>> 35168662 0 0) 0x1e93380 con 0x1e5d580 >>> >> >> >>>>> -5> 2013-09-10 19:35:02.799099 7fd1ba81f700 10 monclient: >>> >> >> >>>>> handle_subscribe_a >>> >> >> >>>>> ck sent 2013-09-10 19:35:02.796448 renew after 2013-09-10 >>> >> >> >>>>>19:37:32.796448 >>> >> >> >>>>> -4> 2013-09-10 19:35:02.800907 7fd1ba81f700 5 mds.0.58 >>> >> >> >>>>> ms_handle_connect on >>> >> >> >>>>> 194.109.43.12:6802/53419 >>> >> >> >>>>> -3> 2013-09-10 19:35:02.800927 7fd1ba81f700 5 mds.0.58 >>> >> >> >>>>> ms_handle_connect on >>> >> >> >>>>> 194.109.43.13:6802/45791 >>> >> >> >>>>> -2> 2013-09-10 19:35:02.801176 7fd1ba81f700 5 mds.0.58 >>> >> >> >>>>> ms_handle_connect on >>> >> >> >>>>> 194.109.43.11:6800/16562 >>> >> >> >>>>> -1> 2013-09-10 19:35:02.803546 7fd1ba81f700 1 -- >>> >> >> >>>>> 194.109.43.12:6800/67277 < >>> >> >> >>>>> == osd.2 194.109.43.13:6802/45791 1 ==== osd_op_reply(3 mds_anchortable >>> >> >> >>>>> [read 0~ >>> >> >> >>>>> 0] ack = -2 (No such file or directory)) v4 ==== 114+0+0 (3107677671 0 >>> >> >> >>>>> 0) 0x1e4d >>> >> >> >>>>> e00 con 0x1e5ddc0 >>> >> >> >>>>> 0> 2013-09-10 19:35:02.805611 7fd1ba81f700 -1 mds/MDSTable.cc: In >>> >> >> >>>>> function >>> >> >> >>>>> 'void MDSTable::load_2(int, ceph::bufferlist&, Context*)' thread >>> >> >> >>>>> 7fd1ba81f700 ti >>> >> >> >>>>> me 2013-09-10 19:35:02.803673 >>> >> >> >>>>> mds/MDSTable.cc: 152: FAILED assert(r >= 0) >>> >> >> >>>>> >>> >> >> >>>>> ceph version 0.67.3 (408cd61584c72c0d97b774b3d8f95c6b1b06341a) >>> >> >> >>>>> 1: (MDSTable::load_2(int, ceph::buffer::list&, Context*)+0x44f) >>> >> >> >>>>>[0x77ce7f] >>> >> >> >>>>> 2: (Objecter::handle_osd_op_reply(MOSDOpReply*)+0xe3b) [0x7d891b] >>> >> >> >>>>> 3: (MDS::handle_core_message(Message*)+0x987) [0x56f527] >>> >> >> >>>>> 4: (MDS::_dispatch(Message*)+0x2f) [0x56f5ef] >>> >> >> >>>>> 5: (MDS::ms_dispatch(Message*)+0x19b) [0x5710bb] >>> >> >> >>>>> 6: (DispatchQueue::entry()+0x592) [0x92e432] >>> >> >> >>>>> 7: (DispatchQueue::DispatchThread::entry()+0xd) [0x8a59bd] >>> >> >> >>>>> 8: (()+0x68ca) [0x7fd1bed298ca] >>> >> >> >>>>> 9: (clone()+0x6d) [0x7fd1bda5cb6d] >>> >> >> >>>>> NOTE: a copy of the executable, or `objdump -rdS <executable>` is >>> >> >> >>>>> needed to interpret this. >>> >> >> >>>>> >>> >> >> >>>>> When trying to mount CephFS, it just hangs now. Sometimes, an MDS >>> >> >> >>>>>stays >>> >> >> >>>>> up for a while, but will eventually crash again. This CephFS was >>> >> >> >>>>> created on 0.67 and I haven't done anything but mount and use it under >>> >> >> >>>>> very light load in the mean time. >>> >> >> >>>>> >>> >> >> >>>>> Any ideas, or if you need more info, let me know. It would be nice to >>> >> >> >>>>> get my data back, but I have backups too. >>> >> >> >>>> >>> >> >> >>>> Does the filesystem have any data in it? Every time we've seen this >>> >> >> >>>> error it's been on an empty cluster which had some weird issue with >>> >> >> >>>> startup. >>> >> >> >>> >>> >> >> >>>This one certainly had some data on it, yes. A couple of 100's of GBs >>> >> >> >>>of disk-images and a couple of trees of smaller files. Most of them >>> >> >> >>>accessed very rarely since being copied on. >>> >> >> >>> >>> >> >> >>> >>> >> >> >>> Regards, >>> >> >> >>> >>> >> >> >>> Oliver >>> >> >> >>>_______________________________________________ >>> >> >> >>>ceph-users mailing list >>> >> >> >>>ceph-users@xxxxxxxxxxxxxx >>> >> >> >>>http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com >>> >> >> >> >>> >> >> >>> >> > >>> >> > >>> >> >>> > >>> > >>> >> >> >> _______________________________________________ >> ceph-users mailing list >> ceph-users@xxxxxxxxxxxxxx >> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com