; ; Sample ceph ceph.conf file. ; ; This file defines cluster membership, the various locations ; that Ceph stores data, and any other runtime options. ; If a 'host' is defined for a daemon, the start/stop script will ; verify that it matches the hostname (or else ignore it). If it is ; not defined, it is assumed that the daemon is intended to start on ; the current host (e.g., in a setup with a startup.conf on each ; node). ; The variables $type, $id and $name are available to use in paths ; $type = The type of daemon, possible values: mon, mds and osd ; $id = The ID of the daemon, for mon.alpha, $id will be alpha ; $name = $type.$id ; For example: ; osd.0 ; $type = osd ; $id = 0 ; $name = osd.0 ; mon.beta ; $type = mon ; $id = beta ; $name = mon.beta ; global [global] ; enable secure authentication ;auth supported = cephx ; allow ourselves to open a lot of files ;max open files = 131072 ; set log file log file = /var/log/ceph/$name.log ;log_to_syslog = true ; uncomment this line to log to syslog ; set up pid files pid file = /var/run/ceph/$name.pid ; If you want to run a IPv6 cluster, set this to true. Dual-stack isn't possible ;ms bind ipv6 = true ; monitors ; You need at least one. You need at least three if you want to ; tolerate any node failures. Always create an odd number. [mon] mon data = /mnt/data/$name ; If you are using for example the RADOS Gateway and want to have your newly created ; pools a higher replication level, you can set a default osd pool default size = 2 ; You can also specify a CRUSH rule for new pools ; Wiki: http://ceph.newdream.net/wiki/Custom_data_placement_with_CRUSH osd pool default crush rule = 4 ; Timing is critical for monitors, but if you want to allow the clocks to drift a ; bit more, you can specify the max drift. mon clock drift allowed = 1 ; Tell the monitor to backoff from this warning for 30 seconds mon clock drift warn backoff = 30 ; logging, for debugging monitor crashes, in order of ; their likelihood of being helpful :) ;debug ms = 1 ;debug mon = 20 ;debug paxos = 20 ;debug auth = 20 [mon.alpha] host = ubuntu-client0 mon addr = 172.16.10.176:6789 ;[mon.beta] ; host = beta ; mon addr = 192.168.0.11:6789 ;[mon.gamma] ; host = gamma ; mon addr = 192.168.0.12:6789 ; mds ; You need at least one. Define two to get a standby. [mds] ; where the mds keeps it's secret encryption keys keyring = /mnt/data/keyring.$name ; mds logging to debug issues. ;debug ms = 1 debug mds = 20 [mds.alpha] host = ubuntu-client0 ;[mds.beta] ; host = beta ; osd ; You need at least one. Two if you want data to be replicated. ; Define as many as you like. [osd] ; This is where the btrfs volume will be mounted. osd data = /mnt/data/$name ; Ideally, make this a separate disk or partition. A few ; hundred MB should be enough; more if you have fast or many ; disks. You can use a file under the osd data dir if need be ; (e.g. /data/$name/journal), but it will be slower than a ; separate disk or partition. ; This is an example of a file-based journal. osd journal = /mnt/data/$name/journal osd journal size = 1000 ; journal size, in megabytes ; If you want to run the journal on a tmpfs, disable DirectIO ;journal dio = false ; You can change the number of recovery operations to speed up recovery ; or slow it down if your machines can't handle it osd recovery max active = 2 ; osd logging to debug osd issues, in order of likelihood of being ; helpful ;debug ms = 30 ;debug osd = 30 ;debug filestore = 30 ;debug journal = 30 btrfs options = defaults,async,rw,noatime,nodiratime [osd.0] host = ubuntu-client0 ; if 'btrfs devs' is not specified, you're responsible for ; setting up the 'osd data' dir. if it is not btrfs, things ; will behave up until you try to recover from a crash (which ; usually fine for basic testing). btrfs devs = /dev/sda5 ; If you want to specify some other mount options, you can do so. ; The default values are rw,noatime ;btrfs options = rw,noatime [osd.1] host = ubuntu-client0 btrfs devs = /dev/sda6 ;[osd.2] ; host = zeta ; btrfs devs = /dev/sdx ;[osd.3] ; host = eta ; btrfs devs = /dev/sdy