diff mbox

config: Update sample config with more examples

Message ID 1303416459-29471-1-git-send-email-wido@widodh.nl (mailing list archive)
State New, archived
Headers show

Commit Message

Wido den Hollander April 21, 2011, 8:07 p.m. UTC
Signed-off-by: Wido den Hollander <wido@widodh.nl>
---
 src/sample.ceph.conf |   77 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 65 insertions(+), 12 deletions(-)

Comments

Colin McCabe April 21, 2011, 9:14 p.m. UTC | #1
Looks good. I would leave out the "log dir" stuff, though. That thing
has been deprecated since forever in favor of "log file".

cheers,
Colin


On Thu, Apr 21, 2011 at 1:07 PM, Wido den Hollander <wido@widodh.nl> wrote:
>
> Signed-off-by: Wido den Hollander <wido@widodh.nl>
> ---
>  src/sample.ceph.conf |   77 ++++++++++++++++++++++++++++++++++++++++++--------
>  1 files changed, 65 insertions(+), 12 deletions(-)
>
> diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
> index 473114b..67cb5ae 100644
> --- a/src/sample.ceph.conf
> +++ b/src/sample.ceph.conf
> @@ -10,6 +10,22 @@
>  ; 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
> @@ -18,17 +34,42 @@
>         ; allow ourselves to open a lot of files
>         max open files = 131072
>
> -        ; set up logging
> -        log file = /var/log/ceph/$name.log
> +        ; You can change the default log location if you want to
> +        ;log dir = /var/log/ceph
> +        ;log file = $name.log
> +
> +        ; Logging to syslog is also possible
> +        ; If you want to disable logging to files, you should empty log dir and file
> +        ;log to syslog = true
> +        ;log dir =
> +        ;log file =
> +
> +        ; This is the default pid file location
> +        ;pid file = /var/run/ceph/$name.pid
>
> -        ; 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 = /data/mon$id
> +       mon data = /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 = 3
> +
> +        ; 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 = 0
> +
> +        ; 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 :)
> @@ -37,15 +78,15 @@
>        ;debug paxos = 20
>        ;debug auth = 20
>
> -[mon.0]
> +[mon.alpha]
>        host = alpha
>        mon addr = 192.168.0.10:6789
>
> -[mon.1]
> +[mon.beta]
>        host = beta
>        mon addr = 192.168.0.11:6789
>
> -[mon.2]
> +[mon.gamma]
>        host = gamma
>        mon addr = 192.168.0.12:6789
>
> @@ -70,17 +111,25 @@
>  ;  Define as many as you like.
>  [osd]
>        ; This is where the btrfs volume will be mounted.
> -       osd data = /data/osd$id
> +       osd data = /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/osd$id/journal), but it will be slower than a
> +       ; (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 = /data/osd$id/journal
> -       osd journal size = 1000 ; journal size, in megabytes
> +       osd journal = /data/$name/journal
> +        ; Journal size, in megabytes
> +       osd journal size = 1000
> +
> +        ; 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 = 3
>
>        ; osd logging to debug osd issues, in order of likelihood of being
>        ; helpful
> @@ -98,6 +147,10 @@
>        ; usually fine for basic testing).
>        btrfs devs = /dev/sdx
>
> +        ; 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 = epsilon
>        btrfs devs = /dev/sdy
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wido den Hollander April 22, 2011, 10:39 a.m. UTC | #2
Hi,

On Thu, 2011-04-21 at 14:14 -0700, Colin McCabe wrote:
> Looks good. I would leave out the "log dir" stuff, though. That thing
> has been deprecated since forever in favor of "log file".

Is it really deprecated? A quick search through the code shows it is
still there.

DoutStreamBuff shows:

// If conf->log_file was specified, that takes the highest priority
if (!conf->log_file.empty()) {
    string log_file(normalize_relative(conf->log_file.c_str()));
    if (conf->log_per_instance) {

But why is log_dir still there?

But you're right, for regular logging log file should be used. Still,
why is log dir still there?

> 
> cheers,
> Colin
> 
> 
> On Thu, Apr 21, 2011 at 1:07 PM, Wido den Hollander <wido@widodh.nl> wrote:
> >
> > Signed-off-by: Wido den Hollander <wido@widodh.nl>
> > ---
> >  src/sample.ceph.conf |   77 ++++++++++++++++++++++++++++++++++++++++++--------
> >  1 files changed, 65 insertions(+), 12 deletions(-)
> >
> > diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
> > index 473114b..67cb5ae 100644
> > --- a/src/sample.ceph.conf
> > +++ b/src/sample.ceph.conf
> > @@ -10,6 +10,22 @@
> >  ; 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
> > @@ -18,17 +34,42 @@
> >         ; allow ourselves to open a lot of files
> >         max open files = 131072
> >
> > -        ; set up logging
> > -        log file = /var/log/ceph/$name.log
> > +        ; You can change the default log location if you want to
> > +        ;log dir = /var/log/ceph
> > +        ;log file = $name.log
> > +
> > +        ; Logging to syslog is also possible
> > +        ; If you want to disable logging to files, you should empty log dir and file
> > +        ;log to syslog = true
> > +        ;log dir =
> > +        ;log file =
> > +
> > +        ; This is the default pid file location
> > +        ;pid file = /var/run/ceph/$name.pid
> >
> > -        ; 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 = /data/mon$id
> > +       mon data = /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 = 3
> > +
> > +        ; 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 = 0
> > +
> > +        ; 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 :)
> > @@ -37,15 +78,15 @@
> >        ;debug paxos = 20
> >        ;debug auth = 20
> >
> > -[mon.0]
> > +[mon.alpha]
> >        host = alpha
> >        mon addr = 192.168.0.10:6789
> >
> > -[mon.1]
> > +[mon.beta]
> >        host = beta
> >        mon addr = 192.168.0.11:6789
> >
> > -[mon.2]
> > +[mon.gamma]
> >        host = gamma
> >        mon addr = 192.168.0.12:6789
> >
> > @@ -70,17 +111,25 @@
> >  ;  Define as many as you like.
> >  [osd]
> >        ; This is where the btrfs volume will be mounted.
> > -       osd data = /data/osd$id
> > +       osd data = /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/osd$id/journal), but it will be slower than a
> > +       ; (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 = /data/osd$id/journal
> > -       osd journal size = 1000 ; journal size, in megabytes
> > +       osd journal = /data/$name/journal
> > +        ; Journal size, in megabytes
> > +       osd journal size = 1000
> > +
> > +        ; 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 = 3
> >
> >        ; osd logging to debug osd issues, in order of likelihood of being
> >        ; helpful
> > @@ -98,6 +147,10 @@
> >        ; usually fine for basic testing).
> >        btrfs devs = /dev/sdx
> >
> > +        ; 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 = epsilon
> >        btrfs devs = /dev/sdy
> > --
> > 1.7.0.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Colin McCabe April 22, 2011, 5:42 p.m. UTC | #3
On Fri, Apr 22, 2011 at 3:39 AM, Wido den Hollander <wido@widodh.nl> wrote:
> Hi,
>
> On Thu, 2011-04-21 at 14:14 -0700, Colin McCabe wrote:
>> Looks good. I would leave out the "log dir" stuff, though. That thing
>> has been deprecated since forever in favor of "log file".
>
> Is it really deprecated? A quick search through the code shows it is
> still there.
>
> DoutStreamBuff shows:
>
> // If conf->log_file was specified, that takes the highest priority
> if (!conf->log_file.empty()) {
>    string log_file(normalize_relative(conf->log_file.c_str()));
>    if (conf->log_per_instance) {
>
> But why is log_dir still there?
>
> But you're right, for regular logging log file should be used. Still,
> why is log dir still there?

Mainly because of a desire not to break old configuration files. At
some point we should try to get rid of it, though. Maybe the first
step is to have a phase where we issue a warning about it.

sincerely,
Colin


>
>>
>> cheers,
>> Colin
>>
>>
>> On Thu, Apr 21, 2011 at 1:07 PM, Wido den Hollander <wido@widodh.nl> wrote:
>> >
>> > Signed-off-by: Wido den Hollander <wido@widodh.nl>
>> > ---
>> >  src/sample.ceph.conf |   77 ++++++++++++++++++++++++++++++++++++++++++--------
>> >  1 files changed, 65 insertions(+), 12 deletions(-)
>> >
>> > diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
>> > index 473114b..67cb5ae 100644
>> > --- a/src/sample.ceph.conf
>> > +++ b/src/sample.ceph.conf
>> > @@ -10,6 +10,22 @@
>> >  ; 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
>> > @@ -18,17 +34,42 @@
>> >         ; allow ourselves to open a lot of files
>> >         max open files = 131072
>> >
>> > -        ; set up logging
>> > -        log file = /var/log/ceph/$name.log
>> > +        ; You can change the default log location if you want to
>> > +        ;log dir = /var/log/ceph
>> > +        ;log file = $name.log
>> > +
>> > +        ; Logging to syslog is also possible
>> > +        ; If you want to disable logging to files, you should empty log dir and file
>> > +        ;log to syslog = true
>> > +        ;log dir =
>> > +        ;log file =
>> > +
>> > +        ; This is the default pid file location
>> > +        ;pid file = /var/run/ceph/$name.pid
>> >
>> > -        ; 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 = /data/mon$id
>> > +       mon data = /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 = 3
>> > +
>> > +        ; 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 = 0
>> > +
>> > +        ; 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 :)
>> > @@ -37,15 +78,15 @@
>> >        ;debug paxos = 20
>> >        ;debug auth = 20
>> >
>> > -[mon.0]
>> > +[mon.alpha]
>> >        host = alpha
>> >        mon addr = 192.168.0.10:6789
>> >
>> > -[mon.1]
>> > +[mon.beta]
>> >        host = beta
>> >        mon addr = 192.168.0.11:6789
>> >
>> > -[mon.2]
>> > +[mon.gamma]
>> >        host = gamma
>> >        mon addr = 192.168.0.12:6789
>> >
>> > @@ -70,17 +111,25 @@
>> >  ;  Define as many as you like.
>> >  [osd]
>> >        ; This is where the btrfs volume will be mounted.
>> > -       osd data = /data/osd$id
>> > +       osd data = /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/osd$id/journal), but it will be slower than a
>> > +       ; (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 = /data/osd$id/journal
>> > -       osd journal size = 1000 ; journal size, in megabytes
>> > +       osd journal = /data/$name/journal
>> > +        ; Journal size, in megabytes
>> > +       osd journal size = 1000
>> > +
>> > +        ; 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 = 3
>> >
>> >        ; osd logging to debug osd issues, in order of likelihood of being
>> >        ; helpful
>> > @@ -98,6 +147,10 @@
>> >        ; usually fine for basic testing).
>> >        btrfs devs = /dev/sdx
>> >
>> > +        ; 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 = epsilon
>> >        btrfs devs = /dev/sdy
>> > --
>> > 1.7.0.4
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> >
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wido den Hollander April 27, 2011, 2:57 p.m. UTC | #4
Hi Colin,

On Fri, 2011-04-22 at 10:42 -0700, Colin McCabe wrote:
> On Fri, Apr 22, 2011 at 3:39 AM, Wido den Hollander <wido@widodh.nl> wrote:
> > Hi,
> >
> > On Thu, 2011-04-21 at 14:14 -0700, Colin McCabe wrote:
> >> Looks good. I would leave out the "log dir" stuff, though. That thing
> >> has been deprecated since forever in favor of "log file".
> >
> > Is it really deprecated? A quick search through the code shows it is
> > still there.
> >
> > DoutStreamBuff shows:
> >
> > // If conf->log_file was specified, that takes the highest priority
> > if (!conf->log_file.empty()) {
> >    string log_file(normalize_relative(conf->log_file.c_str()));
> >    if (conf->log_per_instance) {
> >
> > But why is log_dir still there?
> >
> > But you're right, for regular logging log file should be used. Still,
> > why is log dir still there?
> 
> Mainly because of a desire not to break old configuration files. At
> some point we should try to get rid of it, though. Maybe the first
> step is to have a phase where we issue a warning about it.
> 

The "log dir" is still a bit of a pain when you want to fully disable
logging to a file. Although 'log dir' is deprecated, this won't work:

[global]
  log to syslog = true
  log file =

This will result in a fallback to 'log dir' and would keep logging to
files enabled.

My first patch was correct in that case, if you want to turn of logging
to files, you have to set both to NULL.

Wido

> sincerely,
> Colin
> 
> 
> >
> >>
> >> cheers,
> >> Colin
> >>
> >>
> >> On Thu, Apr 21, 2011 at 1:07 PM, Wido den Hollander <wido@widodh.nl> wrote:
> >> >
> >> > Signed-off-by: Wido den Hollander <wido@widodh.nl>
> >> > ---
> >> >  src/sample.ceph.conf |   77 ++++++++++++++++++++++++++++++++++++++++++--------
> >> >  1 files changed, 65 insertions(+), 12 deletions(-)
> >> >
> >> > diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
> >> > index 473114b..67cb5ae 100644
> >> > --- a/src/sample.ceph.conf
> >> > +++ b/src/sample.ceph.conf
> >> > @@ -10,6 +10,22 @@
> >> >  ; 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
> >> > @@ -18,17 +34,42 @@
> >> >         ; allow ourselves to open a lot of files
> >> >         max open files = 131072
> >> >
> >> > -        ; set up logging
> >> > -        log file = /var/log/ceph/$name.log
> >> > +        ; You can change the default log location if you want to
> >> > +        ;log dir = /var/log/ceph
> >> > +        ;log file = $name.log
> >> > +
> >> > +        ; Logging to syslog is also possible
> >> > +        ; If you want to disable logging to files, you should empty log dir and file
> >> > +        ;log to syslog = true
> >> > +        ;log dir =
> >> > +        ;log file =
> >> > +
> >> > +        ; This is the default pid file location
> >> > +        ;pid file = /var/run/ceph/$name.pid
> >> >
> >> > -        ; 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 = /data/mon$id
> >> > +       mon data = /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 = 3
> >> > +
> >> > +        ; 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 = 0
> >> > +
> >> > +        ; 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 :)
> >> > @@ -37,15 +78,15 @@
> >> >        ;debug paxos = 20
> >> >        ;debug auth = 20
> >> >
> >> > -[mon.0]
> >> > +[mon.alpha]
> >> >        host = alpha
> >> >        mon addr = 192.168.0.10:6789
> >> >
> >> > -[mon.1]
> >> > +[mon.beta]
> >> >        host = beta
> >> >        mon addr = 192.168.0.11:6789
> >> >
> >> > -[mon.2]
> >> > +[mon.gamma]
> >> >        host = gamma
> >> >        mon addr = 192.168.0.12:6789
> >> >
> >> > @@ -70,17 +111,25 @@
> >> >  ;  Define as many as you like.
> >> >  [osd]
> >> >        ; This is where the btrfs volume will be mounted.
> >> > -       osd data = /data/osd$id
> >> > +       osd data = /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/osd$id/journal), but it will be slower than a
> >> > +       ; (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 = /data/osd$id/journal
> >> > -       osd journal size = 1000 ; journal size, in megabytes
> >> > +       osd journal = /data/$name/journal
> >> > +        ; Journal size, in megabytes
> >> > +       osd journal size = 1000
> >> > +
> >> > +        ; 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 = 3
> >> >
> >> >        ; osd logging to debug osd issues, in order of likelihood of being
> >> >        ; helpful
> >> > @@ -98,6 +147,10 @@
> >> >        ; usually fine for basic testing).
> >> >        btrfs devs = /dev/sdx
> >> >
> >> > +        ; 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 = epsilon
> >> >        btrfs devs = /dev/sdy
> >> > --
> >> > 1.7.0.4
> >> >
> >> > --
> >> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> >> > the body of a message to majordomo@vger.kernel.org
> >> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >> >
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Colin McCabe April 29, 2011, 5:41 p.m. UTC | #5
applied as 2d82fefc040a6412fc75cce6eaed2b4670db31de.

The "log dir" issue was resolved by 2047b59d655643590459d4a2883240d8946daeb7

cheers,
Colin


On Thu, Apr 28, 2011 at 10:03 AM, Colin McCabe <cmccabe@alumni.cmu.edu> wrote:
> Resending to the list. My previous message bounced because of phone
> email client silliness.
>
> C.
>
> On Wed, Apr 27, 2011 at 11:53 AM, Colin McCabe <cmccabe@alumni.cmu.edu> wrote:
>> Very good point. I think that default could be changed (with a little care),
>> so that log file = "" will work as expected.
>>
>> I'll take a look in a bit.
>>
>> C.
>>
>> On Apr 27, 2011 7:57 AM, "Wido den Hollander" <wido@widodh.nl> wrote:
>>> Hi Colin,
>>>
>>> On Fri, 2011-04-22 at 10:42 -0700, Colin McCabe wrote:
>>>> On Fri, Apr 22, 2011 at 3:39 AM, Wido den Hollander <wido@widodh.nl>
>>>> wrote:
>>>> > Hi,
>>>> >
>>>> > On Thu, 2011-04-21 at 14:14 -0700, Colin McCabe wrote:
>>>> >> Looks good. I would leave out the "log dir" stuff, though. That thing
>>>> >> has been deprecated since forever in favor of "log file".
>>>> >
>>>> > Is it really deprecated? A quick search through the code shows it is
>>>> > still there.
>>>> >
>>>> > DoutStreamBuff shows:
>>>> >
>>>> > // If conf->log_file was specified, that takes the highest priority
>>>> > if (!conf->log_file.empty()) {
>>>> > string log_file(normalize_relative(conf->log_file.c_str()));
>>>> > if (conf->log_per_instance) {
>>>> >
>>>> > But why is log_dir still there?
>>>> >
>>>> > But you're right, for regular logging log file should be used. Still,
>>>> > why is log dir still there?
>>>>
>>>> Mainly because of a desire not to break old configuration files. At
>>>> some point we should try to get rid of it, though. Maybe the first
>>>> step is to have a phase where we issue a warning about it.
>>>>
>>>
>>> The "log dir" is still a bit of a pain when you want to fully disable
>>> logging to a file. Although 'log dir' is deprecated, this won't work:
>>>
>>> [global]
>>> log to syslog = true
>>> log file =
>>>
>>> This will result in a fallback to 'log dir' and would keep logging to
>>> files enabled.
>>>
>>> My first patch was correct in that case, if you want to turn of logging
>>> to files, you have to set both to NULL.
>>>
>>> Wido
>>>
>>>> sincerely,
>>>> Colin
>>>>
>>>>
>>>> >
>>>> >>
>>>> >> cheers,
>>>> >> Colin
>>>> >>
>>>> >>
>>>> >> On Thu, Apr 21, 2011 at 1:07 PM, Wido den Hollander <wido@widodh.nl>
>>>> >> wrote:
>>>> >> >
>>>> >> > Signed-off-by: Wido den Hollander <wido@widodh.nl>
>>>> >> > ---
>>>> >> > src/sample.ceph.conf | 77
>>>> >> > ++++++++++++++++++++++++++++++++++++++++++--------
>>>> >> > 1 files changed, 65 insertions(+), 12 deletions(-)
>>>> >> >
>>>> >> > diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
>>>> >> > index 473114b..67cb5ae 100644
>>>> >> > --- a/src/sample.ceph.conf
>>>> >> > +++ b/src/sample.ceph.conf
>>>> >> > @@ -10,6 +10,22 @@
>>>> >> > ; 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
>>>> >> > @@ -18,17 +34,42 @@
>>>> >> > ; allow ourselves to open a lot of files
>>>> >> > max open files = 131072
>>>> >> >
>>>> >> > - ; set up logging
>>>> >> > - log file = /var/log/ceph/$name.log
>>>> >> > + ; You can change the default log location if you want to
>>>> >> > + ;log dir = /var/log/ceph
>>>> >> > + ;log file = $name.log
>>>> >> > +
>>>> >> > + ; Logging to syslog is also possible
>>>> >> > + ; If you want to disable logging to files, you should empty log
>>>> >> > dir and file
>>>> >> > + ;log to syslog = true
>>>> >> > + ;log dir =
>>>> >> > + ;log file =
>>>> >> > +
>>>> >> > + ; This is the default pid file location
>>>> >> > + ;pid file = /var/run/ceph/$name.pid
>>>> >> >
>>>> >> > - ; 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 = /data/mon$id
>>>> >> > + mon data = /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 = 3
>>>> >> > +
>>>> >> > + ; 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 = 0
>>>> >> > +
>>>> >> > + ; 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 :)
>>>> >> > @@ -37,15 +78,15 @@
>>>> >> > ;debug paxos = 20
>>>> >> > ;debug auth = 20
>>>> >> >
>>>> >> > -[mon.0]
>>>> >> > +[mon.alpha]
>>>> >> > host = alpha
>>>> >> > mon addr = 192.168.0.10:6789
>>>> >> >
>>>> >> > -[mon.1]
>>>> >> > +[mon.beta]
>>>> >> > host = beta
>>>> >> > mon addr = 192.168.0.11:6789
>>>> >> >
>>>> >> > -[mon.2]
>>>> >> > +[mon.gamma]
>>>> >> > host = gamma
>>>> >> > mon addr = 192.168.0.12:6789
>>>> >> >
>>>> >> > @@ -70,17 +111,25 @@
>>>> >> > ; Define as many as you like.
>>>> >> > [osd]
>>>> >> > ; This is where the btrfs volume will be mounted.
>>>> >> > - osd data = /data/osd$id
>>>> >> > + osd data = /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/osd$id/journal), but it will be slower than a
>>>> >> > + ; (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 = /data/osd$id/journal
>>>> >> > - osd journal size = 1000 ; journal size, in megabytes
>>>> >> > + osd journal = /data/$name/journal
>>>> >> > + ; Journal size, in megabytes
>>>> >> > + osd journal size = 1000
>>>> >> > +
>>>> >> > + ; 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 = 3
>>>> >> >
>>>> >> > ; osd logging to debug osd issues, in order of likelihood of being
>>>> >> > ; helpful
>>>> >> > @@ -98,6 +147,10 @@
>>>> >> > ; usually fine for basic testing).
>>>> >> > btrfs devs = /dev/sdx
>>>> >> >
>>>> >> > + ; 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 = epsilon
>>>> >> > btrfs devs = /dev/sdy
>>>> >> > --
>>>> >> > 1.7.0.4
>>>> >> >
>>>> >> > --
>>>> >> > To unsubscribe from this list: send the line "unsubscribe
>>>> >> > ceph-devel" in
>>>> >> > the body of a message to majordomo@vger.kernel.org
>>>> >> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>> >> >
>>>> >
>>>> >
>>>> > --
>>>> > To unsubscribe from this list: send the line "unsubscribe ceph-devel"
>>>> > in
>>>> > the body of a message to majordomo@vger.kernel.org
>>>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>> >
>>>
>>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/sample.ceph.conf b/src/sample.ceph.conf
index 473114b..67cb5ae 100644
--- a/src/sample.ceph.conf
+++ b/src/sample.ceph.conf
@@ -10,6 +10,22 @@ 
 ; 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
@@ -18,17 +34,42 @@ 
         ; allow ourselves to open a lot of files
         max open files = 131072
 
-        ; set up logging
-        log file = /var/log/ceph/$name.log
+        ; You can change the default log location if you want to
+        ;log dir = /var/log/ceph	
+        ;log file = $name.log
+
+        ; Logging to syslog is also possible
+        ; If you want to disable logging to files, you should empty log dir and file
+        ;log to syslog = true
+        ;log dir =
+        ;log file = 
+
+        ; This is the default pid file location
+        ;pid file = /var/run/ceph/$name.pid
 
-        ; 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 = /data/mon$id
+	mon data = /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 = 3
+
+        ; 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 = 0
+
+        ; 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 :)
@@ -37,15 +78,15 @@ 
 	;debug paxos = 20
 	;debug auth = 20
 
-[mon.0]
+[mon.alpha]
 	host = alpha
 	mon addr = 192.168.0.10:6789
 
-[mon.1]
+[mon.beta]
 	host = beta
 	mon addr = 192.168.0.11:6789
 
-[mon.2]
+[mon.gamma]
 	host = gamma
 	mon addr = 192.168.0.12:6789
 
@@ -70,17 +111,25 @@ 
 ;  Define as many as you like.
 [osd]
 	; This is where the btrfs volume will be mounted.
-	osd data = /data/osd$id
+	osd data = /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/osd$id/journal), but it will be slower than a
+ 	; (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 = /data/osd$id/journal
-	osd journal size = 1000 ; journal size, in megabytes
+	osd journal = /data/$name/journal
+        ; Journal size, in megabytes
+	osd journal size = 1000
+
+        ; 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 = 3
 
 	; osd logging to debug osd issues, in order of likelihood of being
 	; helpful
@@ -98,6 +147,10 @@ 
 	; usually fine for basic testing).
 	btrfs devs = /dev/sdx
 
+        ; 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 = epsilon
 	btrfs devs = /dev/sdy