1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
|
##
# 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 init.d 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).
## Metavariables
# $cluster ; Expands to the Ceph Storage Cluster name. Useful
# ; when running multiple Ceph Storage Clusters
# ; on the same hardware.
# ; Example: /etc/ceph/$cluster.keyring
# ; (Default: ceph)
#
# $type ; Expands to one of mds, osd, or mon, depending on
# ; the type of the instant daemon.
# ; Example: /var/lib/ceph/$type
#
# $id ; Expands to the daemon identifier. For osd.0, this
# ; would be 0; for mds.a, it would be a.
# ; Example: /var/lib/ceph/$type/$cluster-$id
#
# $host ; Expands to the host name of the instant daemon.
#
# $name ; Expands to $type.$id.
# ; Example: /var/run/ceph/$cluster-$name.asok
[global]
### http://ceph.com/docs/firefly/rados/configuration/general-config-ref/
;fsid = {UUID} # use `uuidgen` to generate your own UUID
;public network = 192.168.0.0/24
;cluster network = 192.168.0.0/24
# Each running Ceph daemon has a running process identifier (PID) file.
# The PID file is generated upon start-up.
# Type: String (optional)
# (Default: N/A). The default path is /var/run/$cluster/$name.pid.
pid file = /var/run/ceph/$name.pid
# If set, when the Ceph Storage Cluster starts, Ceph sets the max open fds
# at the OS level (i.e., the max # of file descriptors).
# It helps prevents Ceph OSD Daemons from running out of file descriptors.
# Type: 64-bit Integer (optional)
# (Default: 0)
;max open files = 131072
### http://ceph.com/docs/firefly/rados/operations/authentication
### http://ceph.com/docs/firefly/rados/configuration/auth-config-ref/
# If enabled, the Ceph Storage Cluster daemons (i.e., ceph-mon, ceph-osd,
# and ceph-mds) must authenticate with each other.
# Type: String (optional); Valid settings are "cephx" or "none".
# (Default: cephx)
auth cluster required = cephx
# If enabled, the Ceph Storage Cluster daemons require Ceph Clients to
# authenticate with the Ceph Storage Cluster in order to access Ceph
# services.
# Type: String (optional); Valid settings are "cephx" or "none".
# (Default: cephx)
auth service required = cephx
# If enabled, the Ceph Client requires the Ceph Storage Cluster to
# authenticate with the Ceph Client.
# Type: String (optional); Valid settings are "cephx" or "none".
# (Default: cephx)
auth client required = cephx
# If set to true, Ceph requires signatures on all message traffic between
# the Ceph Client and the Ceph Storage Cluster, and between daemons
# comprising the Ceph Storage Cluster.
# Type: Boolean (optional)
# (Default: false)
;cephx require signatures = true
# kernel RBD client do not support authentication yet:
cephx cluster require signatures = true
cephx service require signatures = false
# The path to the keyring file.
# Type: String (optional)
# Default: /etc/ceph/$cluster.$name.keyring,/etc/ceph/$cluster.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin
;keyring = /etc/ceph/$cluster.$name.keyring
### http://ceph.com/docs/firefly/rados/configuration/pool-pg-config-ref/
## Replication level, number of data copies.
# Type: 32-bit Integer
# (Default: 2)
;osd pool default size = 3
## Replication level in degraded state, less than 'osd pool default size' value.
# Sets the minimum number of written replicas for objects in the
# pool in order to acknowledge a write operation to the client. If
# minimum is not met, Ceph will not acknowledge the write to the
# client. This setting ensures a minimum number of replicas when
# operating in degraded mode.
# Type: 32-bit Integer
# (Default: 0), which means no particular minimum. If 0, minimum is size - (size / 2).
;osd pool default min size = 2
## Ensure you have a realistic number of placement groups. We recommend
## approximately 100 per OSD. E.g., total number of OSDs multiplied by 100
## divided by the number of replicas (i.e., osd pool default size). So for
## 10 OSDs and osd pool default size = 3, we'd recommend approximately
## (100 * 10) / 3 = 333
# Description: The default number of placement groups for a pool. The
# default value is the same as pg_num with mkpool.
# Type: 32-bit Integer
# (Default: 8)
;osd pool default pg num = 128
# Description: The default number of placement groups for placement for a
# pool. The default value is the same as pgp_num with mkpool.
# PG and PGP should be equal (for now).
# Type: 32-bit Integer
# (Default: 8)
;osd pool default pgp num = 128
# The default CRUSH ruleset to use when creating a pool
# Type: 32-bit Integer
# (Default: 0)
;osd pool default crush rule = 0
# The bucket type to use for chooseleaf in a CRUSH rule.
# Uses ordinal rank rather than name.
# Type: 32-bit Integer
# (Default: 1) Typically a host containing one or more Ceph OSD Daemons.
;osd crush chooseleaf type = 1
### http://ceph.com/docs/firefly/rados/troubleshooting/log-and-debug/
# The location of the logging file for your cluster.
# Type: String
# Required: No
# Default: /var/log/ceph/$cluster-$name.log
;log file = /var/log/ceph/$cluster-$name.log
# Determines if logging messages should appear in syslog.
# Type: Boolean
# Required: No
# (Default: false)
;log to syslog = true
### http://ceph.com/docs/firefly/rados/configuration/ms-ref/
# Enable if you want your daemons to bind to IPv6 address instead of
# IPv4 ones. (Not required if you specify a daemon or cluster IP.)
# Type: Boolean
# (Default: false)
;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]
### http://ceph.com/docs/firefly/rados/configuration/mon-config-ref/
### http://ceph.com/docs/firefly/rados/configuration/mon-osd-interaction/
# The IDs of initial monitors in a cluster during startup.
# If specified, Ceph requires an odd number of monitors to form an
# initial quorum (e.g., 3).
# Type: String
# (Default: None)
;mon initial members = mycephhost
;mon host = cephhost01,cephhost02
;mon addr = 192.168.0.101,192.168.0.102
# The monitor's data location
# Default: /var/lib/ceph/mon/$cluster-$id
;mon data = /var/lib/ceph/mon/$name
# The clock drift in seconds allowed between monitors.
# Type: Float
# (Default: .050)
;mon clock drift allowed = .15
# Exponential backoff for clock drift warnings
# Type: Float
# (Default: 5)
;mon clock drift warn backoff = 30 # Tell the monitor to backoff from this warning for 30 seconds
# The percentage of disk space used before an OSD is considered full.
# Type: Float
# (Default: .95)
;mon osd full ratio = .95
# The percentage of disk space used before an OSD is considered nearfull.
# Type: Float
# (Default: .85)
;mon osd nearfull ratio = .85
# The number of seconds Ceph waits before marking a Ceph OSD
# Daemon "down" and "out" if it doesn't respond.
# Type: 32-bit Integer
# (Default: 300)
;mon osd down out interval = 300
# The grace period in seconds before declaring unresponsive Ceph OSD
# Daemons "down".
# Type: 32-bit Integer
# (Default: 900)
;mon osd report timeout = 300
### http://ceph.com/docs/firefly/rados/troubleshooting/log-and-debug/
# 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 = alpha
; mon addr = 192.168.0.10:6789
;[mon.beta]
; host = beta
; mon addr = 192.168.0.11:6789
;[mon.gamma]
; host = gamma
; mon addr = 192.168.0.12:6789
##################
## Metadata servers
# You must deploy at least one metadata server to use CephFS. There is
# experimental support for running multiple metadata servers. Do not run
# multiple metadata servers in production.
[mds]
### http://ceph.com/docs/firefly/cephfs/mds-config-ref/
# where the mds keeps it's secret encryption keys
;keyring = /var/lib/ceph/mds/$name/keyring
# Determines whether a 'ceph-mds' daemon should poll and
# replay the log of an active MDS (hot standby).
# Type: Boolean
# (Default: false)
;mds standby replay = true
; mds logging to debug issues.
;debug ms = 1
;debug mds = 20
;debug journaler = 20
# The number of inodes to cache.
# Type: 32-bit Integer
# (Default: 100000)
;mds cache size = 250000
;mds mem max = 1048576 # KB
;[mds.alpha]
; host = alpha
;[mds.beta]
; host = beta
##################
## osd
# You need at least one. Two or more if you want data to be replicated.
# Define as many as you like.
[osd]
### http://ceph.com/docs/firefly/rados/configuration/osd-config-ref/
# The path to the OSDs data.
# You must create the directory when deploying Ceph.
# You should mount a drive for OSD data at this mount point.
# We do not recommend changing the default.
# Type: String
# Default: /var/lib/ceph/osd/$cluster-$id
;osd data = /var/lib/ceph/osd/$name
## You can change the number of recovery operations to speed up recovery
## or slow it down if your machines can't handle it
# The number of active recovery requests per OSD at one time.
# More requests will accelerate recovery, but the requests
# places an increased load on the cluster.
# Type: 32-bit Integer
# (Default: 5)
;osd recovery max active = 3
# The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
# Type: 32-bit Int
# (Default: 1)
;osd max scrubs = 2
# You may add settings for mkcephfs so that it will create and mount
# the file system for you. Remove the comment `#` character for
# the following settings and replace the values in parenthesis
# with appropriate values, or leave the following settings commented
# out to accept the default values. You must specify the --mkfs
# option with mkcephfs in order for the deployment script to
# utilize the following settings, and you must define the 'devs'
# option for each osd instance; see below.
#osd mkfs type = {fs-type}
#osd mkfs options {fs-type} = {mkfs options} # default for xfs is "-f"
#osd mount options {fs-type} = {mount options} # default mount option is "rw, noatime"
;osd mkfs type = btrfs
;osd mount options btrfs = noatime,nodiratime
## 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.
# The path to the OSD's journal. This may be a path to a file or a block
# device (such as a partition of an SSD). If it is a file, you must
# create the directory to contain it.
# We recommend using a drive separate from the osd data drive.
# Type: String
# Default: /var/lib/ceph/osd/$cluster-$id/journal
;osd journal = /var/lib/ceph/osd/$name/journal
# Check log files for corruption. Can be computationally expensive.
# Type: Boolean
# (Default: false)
;osd check for log corruption = true
### http://ceph.com/docs/firefly/rados/configuration/journal-ref/
# The size of the journal in megabytes. If this is 0,
# and the journal is a block device, the entire block device is used.
# Since v0.54, this is ignored if the journal is a block device,
# and the entire block device is used.
# Type: 32-bit Integer
# (Default: 5120)
# Recommended: Begin with 1GB. Should be at least twice the product
# of the expected speed multiplied by "filestore max sync interval".
;osd journal size = 2048 ; journal size, in megabytes
## If you want to run the journal on a tmpfs, disable DirectIO
# Enables direct i/o to the journal.
# Requires "journal block align" set to "true".
# Type: Boolean
# Required: Yes when using aio.
# (Default: true)
;journal dio = false
# osd logging to debug osd issues, in order of likelihood of being helpful
;debug ms = 1
;debug osd = 20
;debug filestore = 20
;debug journal = 20
### http://ceph.com/docs/firefly/rados/configuration/filestore-config-ref/
# The maximum interval in seconds for synchronizing the filestore.
# Type: Double (optional)
# (Default: 5)
;filestore max sync interval = 5
# Enable snapshots for a btrfs filestore.
# Type: Boolean
# Required: No. Only used for btrfs.
# (Default: true)
;filestore btrfs snap = false
# Enables the filestore flusher.
# Type: Boolean
# Required: No
# (Default: false)
;filestore flusher = true
# Defines the maximum number of in progress operations the file store
# accepts before blocking on queuing new operations.
# Type: Integer
# Required: No. Minimal impact on performance.
# (Default: 500)
;filestore queue max ops = 500
;[osd.0]
; host = delta
# If 'devs' is not specified, you're responsible for
# setting up the 'osd data' dir (e.g. `mkdir /var/lib/ceph/osd/ceph-0`)
;devs = /dev/sdx
;[osd.1]
; host = epsilon
; devs = /dev/sdy
;[osd.2]
; host = zeta
; devs = /dev/sdx
;[osd.3]
; host = eta
; devs = /dev/sdy
##################
## client settings
[client]
### http://ceph.com/docs/firefly/rbd/rbd-config-ref/
# Enable caching for RADOS Block Device (RBD).
# Type: Boolean
# Required: No
# (Default: false)
rbd cache = true
# The RBD cache size in bytes.
# Type: 64-bit Integer
# Required: No
# (Default: 32 MiB)
;rbd cache size = 33554432
# The dirty limit in bytes at which the cache triggers write-back.
# If 0, uses write-through caching.
# Type: 64-bit Integer
# Required: No
# Constraint: Must be less than rbd cache size.
# (Default: 24 MiB)
;rbd cache max dirty = 25165824
# The dirty target before the cache begins writing data to the data storage.
# Does not block writes to the cache.
# Type: 64-bit Integer
# Required: No
# Constraint: Must be less than rbd cache max dirty.
# (Default: 16 MiB)
;rbd cache target dirty = 16777216
# The number of seconds dirty data is in the cache before writeback starts.
# Type: Float
# Required: No
# (Default: 1.0)
;rbd cache max dirty age = 1.0
# Start out in write-through mode, and switch to write-back after the
# first flush request is received. Enabling this is a conservative but
# safe setting in case VMs running on rbd are too old to send flushes,
# like the virtio driver in Linux before 2.6.32.
# Type: Boolean
# Required: No
# (Default: false)
;rbd cache writethrough until flush = false
|