Hi Shinobu

Human mistake, for example :-) Not very frequent, but it happens.

Nevertheless, the idea is to test ceph against different DC scenarios, triggered by different problems.

On this particular situation, the cluster recovered ok ONCE the problematic OSD daemon was tagged as 'down' and 'out'

Cheers
Goncalo


On 08/25/2015 01:06 PM, Shinobu wrote:
So what is the situation where you need to do:

# cd /var/lib/ceph/osd/ceph-23/current
# rm -Rf *
# df
(...)

I'm quite sure that is not normal.

 Shinobu

On Tue, Aug 25, 2015 at 9:41 AM, Goncalo Borges <[email protected] <mailto:[email protected]>> wrote:

    Hi Jan...

    We were interested in the situation where an rm -Rf is done in the
    current directory of the OSD. Here are my findings:

        1. In this exercise, we simply deleted all the content of
        /var/lib/ceph/osd/ceph-23/current.

            # cd /var/lib/ceph/osd/ceph-23/current
            # rm -Rf *
            # df
            (...)
            /dev/sdj1      2918054776    434548 2917620228   1%
            /var/lib/ceph/osd/ceph-23



        2. After some time, ceph enters in error state because it
        thinks it has an inconsistent PG and several scrub errors

            # ceph -s
                cluster eea8578f-b3ac-4dfb-a0c5-da40509f5cdc
                 health HEALTH_ERR
                        1 pgs inconsistent
                        1850 scrub errors
                 monmap e1: 3 mons at
            {mon1=X.X.X.X:6789/0,mon2=X.X.X.X:6789/0,mon3=X.X.X.X:6789/0}
                        election epoch 24, quorum 0,1,2 mon1,mon3,mon2
                 mdsmap e162: 1/1/1 up {0=mds=up:active}, 1
            up:standby-replay
                 osdmap e1903: 32 osds: 32 up, 32 in
                  pgmap v1041261: 2176 pgs, 2 pools, 4930 GB data,
            1843 kobjects
                        14424 GB used, 74627 GB / 89051 GB avail
                            2175 active+clean
                               1 active+clean+inconsistent
              client io 989 B/s rd, 1 op/s


        3. Looking to ceph.log in the mon, it is possible to check
        which is the PG affected and which OSD is responsible for the
        error:

            # tail -f /var/log/ceph/ceph.log
            (...)
            2015-08-24 11:31:10.139239 osd.13 X.X.X.X:6804/20104 2384
            : cluster [ERR] be_compare_scrubmaps: *5.336 shard 23*
            missing
            e300336/100000001b0.00002825/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            32600336/10000000109.00000754/head//5be_compare_scrubmaps:
            *5.336 shard 23* missing
            dd700336/100000001ab.00000b91/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            bc220336/100000001bd.0000387c/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            f9320336/10000000201.00002e96/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            1a920336/10000000228.0000d501/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            24a20336/100000001bc.00003e06/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            cd20336/10000000227.00004775/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            cef20336/100000001b9.00002260/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            ba240336/100000001d8.00000630/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            3e740336/100000001b1.00002089/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            e840336/100000001ba.00002618/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            17b40336/100000000e9.00000287/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            b7950336/100000000e4.00000800/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            94560336/100000001b4.00002834/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            71370336/10000000051.00000179/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            62370336/100000001b5.00003b5b/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            e9670336/10000000120.000003f8/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            1b480336/1000000019a.00000d4b/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            11880336/100000001e8.000003e9/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            56c80336/10000000083.00000255/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            97790336/100000001e7.00000668/head//5be_compare_scrubmaps:
            5.336 shard 23 missing
            e4ca0336/100000001b6.0000278c/head//5be_compare_scrubmaps:
            5.336 shard 23 missing 4eda0336/1000000019e.000036ad/head//5
            (...)
            2015-08-24 11:31:14.336760 osd.13 X.X.X.X:6804/20104 2476
            : cluster [ERR] 5.336 scrub 1850 missing, 0 inconsistent
            objects
            2015-08-24 11:31:14.336764 osd.13 X.X.X.X:6804/20104 2477
            : cluster [ERR] 5.336 scrub 1850 errors

        4. We have tried to restart the problematic osd, but that fails.

            # /etc/init.d/ceph stop osd.23
            === osd.23 ===
            Stopping Ceph osd.23 on osd3...done
            [root@osd3 ~]# /etc/init.d/ceph start osd.23
            === osd.23 ===
            create-or-move updated item name 'osd.23' weight 2.72 at
            location {host=osd3,root=default} to crush map
            Starting Ceph osd.23 on osd3...
            starting osd.23 at :/0 osd_data /var/lib/ceph/osd/ceph-23
            /var/lib/ceph/osd/ceph-23/journal

            # tail -f /var/log/ceph/ceph-osd.23.log
            2015-08-24 11:48:12.189322 7fa24d85d800  0 ceph version
            0.94.2 (5fb85614ca8f354284c713a2f9c610860720bbf3), process
            ceph-osd, pid 7266
            2015-08-24 11:48:12.389747 7fa24d85d800  0
            filestore(/var/lib/ceph/osd/ceph-23) backend xfs (magic
            0x58465342)
            2015-08-24 11:48:12.391370 7fa24d85d800  0
            genericfilestorebackend(/var/lib/ceph/osd/ceph-23)
            detect_features: FIEMAP ioctl is supported and appears to work
            2015-08-24 11:48:12.391381 7fa24d85d800  0
            genericfilestorebackend(/var/lib/ceph/osd/ceph-23)
            detect_features: FIEMAP ioctl is disabled via 'filestore
            fiemap' config option
            2015-08-24 11:48:12.404785 7fa24d85d800  0
            genericfilestorebackend(/var/lib/ceph/osd/ceph-23)
            detect_features: syscall(SYS_syncfs, fd) fully supported
            2015-08-24 11:48:12.404874 7fa24d85d800  0
            xfsfilestorebackend(/var/lib/ceph/osd/ceph-23)
            detect_features: disabling extsize, kernel
            2.6.32-504.16.2.el6.x86_64 is older than 3.5 and has buggy
            extsize ioctl
            2015-08-24 11:48:12.405226 7fa24d85d800 -1
            filestore(/var/lib/ceph/osd/ceph-23) mount initial op seq
            is 0; something is wrong
            2015-08-24 11:48:12.405243 7fa24d85d800 -1 osd.23 0
            OSD:init: unable to mount object store
            2015-08-24 11:48:12.405251 7fa24d85d800 -1 ERROR: osd init
            failed: (22) Invalid argument


        5. At this point, osd.23 is reported as 'down' but 'in', and
        ceph finally understands that there is an osd down, and that
        there are degraded PGs.

            # ceph osd dump
            (...)
            osd.23 down in  weight 1 up_from 276 up_thru 1838 down_at
            1904 last_clean_interval [112,208) X.X.X.X:6812/30826
            10.100.1.169:6812/30826 <http://10.100.1.169:6812/30826>
            10.100.1.169:6813/30826 <http://10.100.1.169:6813/30826>
            X.X.X.X:6813/30826 exists 3010de97-3080-42e2-9a64-4bb1960d40b4
            # ceph -s
                cluster eea8578f-b3ac-4dfb-a0c5-da40509f5cdc
                 health HEALTH_ERR
                        202 pgs degraded
                        1 pgs inconsistent
                        201 pgs stuck unclean
                        202 pgs undersized
                        recovery 155149/5664204 objects degraded (2.739%)
                        1850 scrub errors
                        1/32 in osds are down
                 monmap e1: 3 mons at
            {mon1=X.X.X.X:6789/0,mon2=X.X.X.X:6789/0,mon3=X.X.X.X:6789/0}
                        election epoch 24, quorum 0,1,2 mon1,mon3,mon2
                 mdsmap e162: 1/1/1 up {0=mds=up:active}, 1
            up:standby-replay
                 osdmap e1905: 32 osds: 31 up, 32 in
                  pgmap v1041433: 2176 pgs, 2 pools, 4930 GB data,
            1843 kobjects
                        14424 GB used, 74627 GB / 89051 GB avail
                        155149/5664204 objects degraded (2.739%)
                            1974 active+clean
                             201 active+undersized+degraded
                               1 active+undersized+degraded+inconsistent
              client io 1023 B/s rd, 0 op/s

        6. Recovery I/O starts and finishes, but the systems remains
        in error state because of the inconsistent PG

            # ceph -s
                cluster eea8578f-b3ac-4dfb-a0c5-da40509f5cdc
                 health HEALTH_ERR
                        1 pgs inconsistent
                        1850 scrub errors
                 monmap e1: 3 mons at
            {mon1=X.X.X.X:6789/0,mon2=X.X.X.X:6789/0,mon3=X.X.X.X:6789/0}
                        election epoch 24, quorum 0,1,2 mon1,mon3,mon2
                 mdsmap e162: 1/1/1 up {0=mds=up:active}, 1
            up:standby-replay
                 osdmap e2097: 32 osds: 31 up, 31 in
                  pgmap v1043287: 2176 pgs, 2 pools, 4930 GB data,
            1843 kobjects
                        14838 GB used, 71430 GB / 86269 GB avail
                            2172 active+clean
                               2 active+clean+replay
                               1 active+clean+scrubbing
                               1 active+clean+inconsistent
              client io 1063 B/s rd, 2 op/s

            # ceph health detail
            HEALTH_ERR 1 pgs inconsistent; 1850 scrub errors
            pg 5.336 is active+clean+inconsistent, acting [13,2,22]
            1850 scrub errors


        7. The inconsistent PG is then repaired, and the system
        returns to a 'HEALTH_OK' status

            # ceph pg repair 5.336
            instructing pg 5.336 on osd.13 to repair

            $ tail -f /var/log/ceph/ceph.log
            2015-08-24 12:30:49.583363 mon.0 X.X.X.X:6789/0 289961 :
            cluster [INF] pgmap v1043322: 2176 pgs: 2173 active+clean,
            1 active+clean+inconsistent, 2 active+clean+replay; 4930
            GB data, 14833 GB used, 71435 GB / 86269 GB avail; 1023
            B/s rd, 1 op/s
            2015-08-24 12:36:20.894597 osd.13
            192.231.127.168:6804/20104
            <http://192.231.127.168:6804/20104> 2496 : cluster [INF]
            5.336 repair starts
            2015-08-24 12:39:27.105511 osd.13
            192.231.127.168:6804/20104
            <http://192.231.127.168:6804/20104> 2497 : cluster [INF]
            5.336 repair ok, 0 fixed

            # ceph -s
                cluster eea8578f-b3ac-4dfb-a0c5-da40509f5cdc
                 health HEALTH_OK
                 monmap e1: 3 mons at
            {mon1=X.X.X.X:6789/0,mon2=X.X.X.X:6789/0,mon3=X.X.X.X:6789/0}
                        election epoch 24, quorum 0,1,2 mon1,mon3,mon2
                 mdsmap e162: 1/1/1 up {0=mds=up:active}, 1
            up:standby-replay
                 osdmap e2097: 32 osds: 31 up, 31 in
                  pgmap v1043543: 2176 pgs, 2 pools, 4930 GB data,
            1843 kobjects
                        14828 GB used, 71440 GB / 86269 GB avail
                            2174 active+clean
                               2 active+clean+replay
              client io 1023 B/s rd, 1 op/s





    On 08/24/2015 07:49 PM, Jan Schermer wrote:
    I'm not talking about IO happening, I'm talking about file descriptors staying open. 
If they weren't open you could umount it without the "-l".
    Once you hit the OSD again all those open files will start working and if 
more need to be opened it will start looking for them...

    Jan


    On 24 Aug 2015, at 03:07, Goncalo Borges<[email protected]> 
<mailto:[email protected]>  wrote:

    Hi Jan...

    Thank for the reply.

    Yes, I did an 'umount -l' but I was sure that no I/O was happening at the 
time. So, I was almost 100% sure that there were no real incoherence in terms 
of open files in the OS.


    On 08/20/2015 07:31 PM, Jan Schermer wrote:
    Just to clarify - you unmounted the filesystem with "umount -l"? That 
almost never a good idea, and it puts the OSD in a very unusual situation where IO will 
actually work on the open files, but it can't open any new ones. I think this would be 
enough to confuse just about any piece of software.
    Yes, I did an 'umount -l' but I was sure that no I/O was happening at the 
time. So, I was almost 100% sure that there were no real incoherence in terms 
of open files in the OS.

    Was journal on the filesystem or on a separate partition/device?
    The journal in on the same disk, but in a different partition.

    It's not the same as R/O filesystem (I hit that once and no such havoc 
happened), in my experience the OSD traps and exits when something like that 
happens.

    It would be interesting to know what would happen if you just did rm -rf 
/var/lib/ceph/osd/ceph-4/current/* - that could be an equivalent to umount -l, 
more or less :-)

    Will try that today and report back here.

    Cheers
    Goncalo

-- Goncalo Borges
    Research Computing
    ARC Centre of Excellence for Particle Physics at the Terascale
    School of Physics A28 | University of Sydney, NSW  2006
    T:+61 2 93511937 <tel:%2B61%202%2093511937>


    _______________________________________________
    ceph-users mailing list
    [email protected] <mailto:[email protected]>
    http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




--
Email:
[email protected] <mailto:[email protected]>
[email protected] <mailto:[email protected]>

 Life w/ Linux <http://i-shinobu.hatenablog.com/>

--
Goncalo Borges
Research Computing
ARC Centre of Excellence for Particle Physics at the Terascale
School of Physics A28 | University of Sydney, NSW  2006
T: +61 2 93511937

_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to