Re: cephfs change metadata pool?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



update:

    After upgrading to Jewel and changing journaling to SSD, I no longer have the slow/blocked requests warnings during normal data copying.
    Thank you all.

Zhang Di

On Wed, Jul 13, 2016 at 11:04 PM, Christian Balzer <chibi@xxxxxxx> wrote:

Hello,

On Wed, 13 Jul 2016 22:47:05 -0500 Di Zhang wrote:

> Hi,
>       I changed to only use the infiniband network. For the 4KB write, the IOPS doesn’t improve much.

That's mostly going to be bound by latencies (as I just wrote in the other
thread), both network and internal Ceph ones.

The cluster I described in the other thread has 32 OSDs and does about
1050 "IOPS" with "rados -p rbd bench 30 write -t 32 -b 4096".
So about half with your 15 OSDs isn't all that unexpected.

Once again, to get something more realistic use fio.

>I also logged into the OSD nodes and atop showed the disks are not always
at 100% busy. Please check a snapshot of one node below:

When you do the 4KB bench (for 60 seconds or so), also watch the CPU
usage, rados bench is a killer there.

Christian

>
> DSK |          sdc  | busy     72% |  read    20/s |  write   86/s | KiB/w     13  | MBr/s   0.16 |  MBw/s   1.12 |  avio 6.69 ms |
> DSK |          sda  | busy     47% |  read     0/s |  write  589/s | KiB/w      4  | MBr/s   0.00 |  MBw/s   2.83 |  avio 0.79 ms |
> DSK |          sdb  | busy     31% |  read    14/s |  write   77/s | KiB/w     10  | MBr/s   0.11 |  MBw/s   0.76 |  avio 3.42 ms |
> DSK |          sdd  | busy     19% |  read     4/s |  write   50/s | KiB/w     11  | MBr/s   0.03 |  MBw/s   0.55 |  avio 3.40 ms |
> NET | transport     | tcpi   656/s |  tcpo   655/s |  udpi     0/s | udpo     0/s  | tcpao    0/s |  tcppo    0/s |  tcprs    0/s |
> NET | network       | ipi    657/s |  ipo    655/s |  ipfrw    0/s | deliv  657/s  |              |  icmpi    0/s |  icmpo    0/s |
> NET | p10p1     0%  | pcki     0/s |  pcko     0/s |  si    0 Kbps | so    1 Kbps  | erri     0/s |  erro     0/s |  drpo     0/s |
> NET | ib0     ----  | pcki   637/s |  pcko   636/s |  si 8006 Kbps | so 5213 Kbps  | erri     0/s |  erro     0/s |  drpo     0/s |
> NET | lo      ----  | pcki    19/s |  pcko    19/s |  si   14 Kbps | so   14 Kbps  | erri     0/s |  erro     0/s |  drpo     0/s |
>
>       /dev/sda is the OS and journaling SSD. The other three are OSDs.
>
>       Am I missing anything?
>
>       Thanks,
>
>
>
>
> Zhang, Di
> Postdoctoral Associate
> Baylor College of Medicine
>
> > On Jul 13, 2016, at 6:56 PM, Christian Balzer <chibi@xxxxxxx> wrote:
> >
> >
> > Hello,
> >
> > On Wed, 13 Jul 2016 12:01:14 -0500 Di Zhang wrote:
> >
> >> I also tried 4K write bench. The IOPS is ~420.
> >
> > That's what people usually mean (4KB blocks) when talking about IOPS.
> > This number is pretty low, my guess would be network latency on your 1Gbs
> > network for the most part.
> >
> > You should run atop on your storage nodes will running a test like this
> > and see if the OSDs (HDDs) are also very busy.
> >
> > Lastly the rados bench gives you some basic numbers but it is not the same
> > as real client I/O, for that you want to run fio inside a VM or in your
> > case on a mounted CephFS.
> >
> >> I used to have better
> >> bandwidth when I use the same network for both the cluster and clients. Now
> >> the bandwidth must be limited by the 1G ethernet.
> > That's the bandwidth you also see in your 4MB block tests below.
> > For small I/Os the real killer is latency, though.
> >
> >> What would you suggest to
> >> me to do?
> >>
> > That depends on your budget mostly (switch ports, client NICs).
> >
> > A uniform, single 10Gb/s network would be better in all aspects than the
> > split network you have now.
> >
> > Christian
> >
> >> Thanks,
> >>
> >> On Wed, Jul 13, 2016 at 11:37 AM, Di Zhang <zhangdibio@xxxxxxxxx> wrote:
> >>
> >>> Hello,
> >>>    Sorry for the misunderstanding about IOPS. Here are some summary stats
> >>> of my benchmark (Is the 20 - 30 IOPS seems normal to you?):
> >>>
> >>> ceph osd pool create test 512 512
> >>>
> >>> rados bench -p test 10 write --no-cleanup
> >>>
> >>> Total time run:         10.480383
> >>> Total writes made:      288
> >>> Write size:             4194304
> >>> Object size:            4194304
> >>> Bandwidth (MB/sec):     109.92
> >>> Stddev Bandwidth:       11.9926
> >>> Max bandwidth (MB/sec): 124
> >>> Min bandwidth (MB/sec): 80
> >>> Average IOPS:           27
> >>> Stddev IOPS:            3
> >>> Max IOPS:               31
> >>> Min IOPS:               20
> >>> Average Latency(s):     0.579105
> >>> Stddev Latency(s):      0.19902
> >>> Max latency(s):         1.32831
> >>> Min latency(s):         0.245505
> >>>
> >>> rados bench -p bench -p test 10 seq
> >>> Total time run:       10.340724
> >>> Total reads made:     288
> >>> Read size:            4194304
> >>> Object size:          4194304
> >>> Bandwidth (MB/sec):   111.404
> >>> Average IOPS          27
> >>> Stddev IOPS:          2
> >>> Max IOPS:             31
> >>> Min IOPS:             22
> >>> Average Latency(s):   0.564858
> >>> Max latency(s):       1.65278
> >>> Min latency(s):       0.141504
> >>>
> >>> rados bench -p bench -p test 10 rand
> >>> Total time run:       10.546251
> >>> Total reads made:     293
> >>> Read size:            4194304
> >>> Object size:          4194304
> >>> Bandwidth (MB/sec):   111.13
> >>> Average IOPS:         27
> >>> Stddev IOPS:          2
> >>> Max IOPS:             32
> >>> Min IOPS:             24
> >>> Average Latency(s):   0.57092
> >>> Max latency(s):       1.8631
> >>> Min latency(s):       0.161936
> >>>
> >>>
> >>> On Tue, Jul 12, 2016 at 9:18 PM, Christian Balzer <chibi@xxxxxxx> wrote:
> >>>
> >>>>
> >>>> Hello,
> >>>>
> >>>> On Tue, 12 Jul 2016 20:57:00 -0500 Di Zhang wrote:
> >>>>
> >>>>> I am using 10G infiniband for cluster network and 1G ethernet for
> >>>> public.
> >>>> Hmm, very unbalanced, but I guess that's HW you already had.
> >>>>
> >>>>> Because I don't have enough slots on the node, so I am using three
> >>>> files on
> >>>>> the OS drive (SSD) for journaling, which really improved but not
> >>>> entirely
> >>>>> solved the problem.
> >>>>>
> >>>> If you can, use partitions instead of files, less overhead.
> >>>> What model SSD is that?
> >>>>
> >>>> Also putting the meta-data pool on SSDs might help.
> >>>>
> >>>>> I am quite happy with the current IOPS, which range from 200 MB/s to 400
> >>>>> MB/s sequential write, depending on the block size.
> >>>> That's not IOPS, that's bandwidth, throughput.
> >>>>
> >>>>> But the problem is,
> >>>>> when I transfer data to the cephfs at a rate below 100MB/s, I can
> >>>> observe
> >>>>> the slow/blocked requests warnings after a few minutes via "ceph -w".
> >>>>
> >>>> I doubt the speed has anything to do with this, but the actual block size
> >>>> and IOPS numbers.
> >>>>
> >>>> As always, watch your storage nodes with atop (or iostat) during such
> >>>> scenarios/tests and spot the bottlenecks.
> >>>>
> >>>>> It's
> >>>>> not specific to any particular OSDs. So I started to doubt if the
> >>>>> configuration is correct or upgrading to Jewel can solve it.
> >>>>>
> >>>> Jewel is likely to help in general, but can't fix insufficient HW or
> >>>> broken configurations.
> >>>>
> >>>>> There are about 5,000,000 objects currently in the cluster.
> >>>>>
> >>>> You're robably not hitting his, but read the recent filestore merge and
> >>>> split threads, including the entirety of this thread:
> >>>> https://www.mail-archive.com/ceph-users@xxxxxxxxxxxxxx/msg29243.html
> >>>>
> >>>> Christian
> >>>>
> >>>>> Thanks for the hints.
> >>>>>
> >>>>> On Tue, Jul 12, 2016 at 8:19 PM, Christian Balzer <chibi@xxxxxxx>
> >>>> wrote:
> >>>>>
> >>>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> On Tue, 12 Jul 2016 19:54:38 -0500 Di Zhang wrote:
> >>>>>>
> >>>>>>> It's a 5 nodes cluster. Each node has 3 OSDs. I set pg_num = 512
> >>>> for both
> >>>>>>> cephfs_data and cephfs_metadata. I experienced some slow/blocked
> >>>> requests
> >>>>>>> issues when I was using hammer 0.94.x and prior. So I was thinking
> >>>> if the
> >>>>>>> pg_num is too large for metadata.
> >>>>>>
> >>>>>> Very, VERY much doubt this.
> >>>>>>
> >>>>>> Your "ideal" values for a cluster of this size (are you planning to
> >>>> grow
> >>>>>> it?) would be about 1024 PGs for data and 128 or 256 PGs for
> >>>> meta-data.
> >>>>>>
> >>>>>> Not really that far off and more importantly not overloading the OSDs
> >>>> with
> >>>>>> too many PGs in total. Or do you have more pools?
> >>>>>>
> >>>>>>
> >>>>>>> I just upgraded the cluster to Jewel
> >>>>>>> today. Will watch if the problem remains.
> >>>>>>>
> >>>>>> Jewel improvements might mask things, but I'd venture that your
> >>>> problems
> >>>>>> were caused by your HW not being sufficient for the load.
> >>>>>>
> >>>>>> As in, do you use SSD journals, etc?
> >>>>>> How many IOPS do you need/expect from your CephFS?
> >>>>>> How many objects are in there?
> >>>>>>
> >>>>>> Christian
> >>>>>>
> >>>>>>> Thank you.
> >>>>>>>
> >>>>>>> On Tue, Jul 12, 2016 at 6:45 PM, Gregory Farnum <gfarnum@xxxxxxxxxx
> >>>>>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>>> I'm not at all sure that rados cppool actually captures
> >>>> everything (it
> >>>>>>>> might). Doug has been working on some similar stuff for disaster
> >>>>>>>> recovery testing and can probably walk you through moving over.
> >>>>>>>>
> >>>>>>>> But just how large *is* your metadata pool in relation to others?
> >>>>>>>> Having a too-large pool doesn't cost much unless it's
> >>>>>>>> grossly-inflated, and having a nice distribution of your folders
> >>>> is
> >>>>>>>> definitely better than not.
> >>>>>>>> -Greg
> >>>>>>>>
> >>>>>>>> On Tue, Jul 12, 2016 at 4:14 PM, Di Zhang <zhangdibio@xxxxxxxxx>
> >>>>>> wrote:
> >>>>>>>>> Hi,
> >>>>>>>>>
> >>>>>>>>>    Is there any way to change the metadata pool for a cephfs
> >>>> without
> >>>>>>>> losing
> >>>>>>>>> any existing data? I know how to clone the metadata pool using
> >>>> rados
> >>>>>>>> cppool.
> >>>>>>>>> But the filesystem still links to the original metadata pool no
> >>>>>> matter
> >>>>>>>> what
> >>>>>>>>> you name it.
> >>>>>>>>>
> >>>>>>>>>    The motivation here is to decrease the pg_num of the
> >>>> metadata
> >>>>>> pool. I
> >>>>>>>>> created this cephfs cluster sometime ago, while I didn't realize
> >>>>>> that I
> >>>>>>>>> shouldn't assign a large pg_num to such a small pool.
> >>>>>>>>>
> >>>>>>>>>    I'm not sure if I can delete the fs and re-create it using
> >>>> the
> >>>>>>>> existing
> >>>>>>>>> data pool and the cloned metadata pool.
> >>>>>>>>>
> >>>>>>>>>    Thank you.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Zhang Di
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> ceph-users mailing list
> >>>>>>>>> ceph-users@xxxxxxxxxxxxxx
> >>>>>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> >>>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Christian Balzer        Network/Systems Engineer
> >>>>>> chibi@xxxxxxx           Global OnLine Japan/Rakuten Communications
> >>>>>> http://www.gol.com/
> >>>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Christian Balzer        Network/Systems Engineer
> >>>> chibi@xxxxxxx           Global OnLine Japan/Rakuten Communications
> >>>> http://www.gol.com/
> >>>>
> >>>
> >>>
> >
> >
> > --
> > Christian Balzer        Network/Systems Engineer
> > chibi@xxxxxxx <mailto:chibi@xxxxxxx>        Global OnLine Japan/Rakuten Communications
> > http://www.gol.com/ <http://www.gol.com/>


--
Christian Balzer        Network/Systems Engineer
chibi@xxxxxxx           Global OnLine Japan/Rakuten Communications
http://www.gol.com/

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

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux