操纵集群

用 upstart 控制 Ceph

ceph-deploy 把 Ceph Cuttlefish 及更高版部署到 Ubuntu 之后,你可以用基于事件的 Upstart 来启动、关闭 Ceph 节点上的守护进程。 Upstart 不要求你在配置文件里定义守护进程例程。

用下列命令列出 Ceph 作业和例程:

  1. sudo initctl list | grep ceph

详情参见 initctl

启动所有守护进程

要启动一 Ceph 节点(任何类型)上的所有守护进程,用下列命令:

  1. sudo start ceph-all

停止所有守护进程

要停止一 Ceph 节点(任何类型)上的所有守护进程,用下列命令:

  1. sudo stop ceph-all

按类型启动所有守护进程

要启动一节点上的某一类守护进程,用下列命令:

  1. sudo start ceph-osd-all
  2. sudo start ceph-mon-all
  3. sudo start ceph-mds-all

按类型停止所有守护进程

要停止一节点上的某一类守护进程,用下列命令:

sudo stop ceph-osd-allsudo stop ceph-mon-allsudo stop ceph-mds-all

启动单个进程

要启动某节点上一指定守护进程例程,用下列命令之一:

  1. sudo start ceph-osd id={id}
  2. sudo start ceph-mon id={hostname}
  3. sudo start ceph-mds id={hostname}

例如:

  1. sudo start ceph-osd id=1
  2. sudo start ceph-mon id=ceph-server
  3. sudo start ceph-mds id=ceph-server

停止单个进程

要停止某节点上一指定守护进程例程,用下列命令之一:

  1. sudo stop ceph-osd id={id}
  2. sudo stop ceph-mon id={hostname}
  3. sudo stop ceph-mds id={hostname}

例如:

  1. sudo stop ceph-osd id=1
  2. sudo start ceph-mon id=ceph-server
  3. sudo start ceph-mds id=ceph-server

运行 Ceph

每次用命令启动重启停止Ceph 守护进程(或整个集群)时,你必须指定至少一个选项和一个命令,还可能要指定守护进程类型或具体例程。

  1. {commandline} [options] [commands] [daemons]

ceph 命令的选项包括:

选项简写描述
—verbose-v详细的日志。
—valgrindN/A(只适合开发者和质检人员)用 Valgrind 调试。
—allhosts-aceph.conf 里配置的所有主机上执行,否则它只在本机执行。
—restartN/A核心转储后自动重启。
—norestartN/A核心转储后不自动重启。
—conf-c使用另外一个配置文件。

Ceph 子命令包括:

命令描述
start启动守护进程。
stop停止守护进程。
forcestop暴力停止守护进程,等价于 kill-9
killall杀死某一类守护进程。
cleanlogs清理掉日志目录。
cleanalllogs清理掉日志目录内的所有文件。

至于子系统操作, ceph 服务能指定守护进程类型,在 [daemons] 处指定守护进程类型就行了,守护进程类型包括:

  • mon
  • osd
  • mds

通过 sysvinit 机制运行 Ceph

在 CentOS 、 Redhat 、 Fedora 和 SLES 发行版上可以通过传统的 sysvinit 运行 Ceph , Debian/Ubuntu 的较老的版本也可以用此方法。

启动所有守护进程

要启动 Ceph 集群,执行 ceph 时加上 start 命令,语法如下:

  1. sudo /etc/init.d/ceph [options] [start|restart] [daemonType|daemonID]

下面是个典型实例:

  1. sudo /etc/init.d/ceph -a start

-a (即在所有节点上执行)执行完成后 Ceph 应该开始运行了。

停止所有守护进程

要停止 Ceph 集群,执行 ceph 时加上 stop 命令,语法如下:

  1. sudo /etc/init.d/ceph [options] stop [daemonType|daemonID]

下面是个典型实例:

  1. sudo /etc/init.d/ceph -a stop

执行命令时一旦加了 -a (即在所有节点执行),整个 Ceph 集群都会关闭。

启动一类守护进程

要启动本节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph start {daemon-type}
  2. sudo /etc/init.d/ceph start osd

要启动非本机节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph -a start {daemon-type}
  2. sudo /etc/init.d/ceph -a start osd

停止一类守护进程

要停止本节点上某一类的所有 Ceph 守护进程,按此语法:

sudo /etc/init.d/ceph stop {daemon-type}sudo /etc/init.d/ceph stop osd

要启动非本机节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph -a stop {daemon-type}
  2. sudo /etc/init.d/ceph -a stop osd

启动单个守护进程

要启动本节点上某个 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph start {daemon-type}.{instance}
  2. sudo /etc/init.d/ceph start osd.0

要启动另一节点上某个 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph -a start {daemon-type}.{instance}
  2. sudo /etc/init.d/ceph -a start osd.0

停止单个守护进程

要停止本节点上某个 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph stop {daemon-type}.{instance}
  2. sudo /etc/init.d/ceph stop osd.0

要停止另一节点上某个 Ceph 守护进程,按此语法:

  1. sudo /etc/init.d/ceph -a stop {daemon-type}.{instance}
  2. sudo /etc/init.d/ceph -a stop osd.0

把 Ceph 当服务运行

如果你是用 ceph-deploy 部署 Argonaut 或 Bobtail 的,那么 Ceph 可以作为服务运行(还可以用 sysvinit )。

启动所有守护进程

要启动你的 Ceph 集群,执行 ceph 时加上 start 命令,按此语法:

  1. sudo service ceph [options] [start|restart] [daemonType|daemonID]

下面是个典型实例:

  1. sudo service ceph -a start

-a (即在所有节点上执行)执行完成后 Ceph 应该开始运行了。

停止所有守护进程

要停止你的 Ceph 集群,执行 ceph 时加上 stop 命令,按此语法:

  1. sudo service ceph [options] stop [daemonType|daemonID]

例如:

  1. sudo service ceph -a stop

-a (即在所有节点上执行)执行完成后 Ceph 应该已停止。

启动一类守护进程

要启动本节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo service ceph start {daemon-type}
  2. sudo service ceph start osd

要启动所有节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo service ceph -a start {daemon-type}
  2. sudo service ceph -a start osd

停止一类守护进程

要停止本节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo service ceph stop {daemon-type}
  2. sudo service ceph stop osd

要停止所有节点上某一类的所有 Ceph 守护进程,按此语法:

  1. sudo service ceph -a stop {daemon-type}
  2. sudo service ceph -a stop osd

启动单个守护进程

要启动本节点上某个 Ceph 守护进程,按此语法:

  1. sudo service ceph start {daemon-type}.{instance}
  2. sudo service ceph start osd.0

要启动另一节点上某个 Ceph 守护进程,按此语法:

  1. sudo service ceph -a start {daemon-type}.{instance}
  2. sudo service ceph -a start osd.0

停止单个守护进程

要停止本节点上某个 Ceph 守护进程,按此语法:

  1. sudo service ceph stop {daemon-type}.{instance}
  2. sudo service ceph stop osd.0

要停止另一节点上某个 Ceph 守护进程,按此语法:

  1. sudo service ceph -a stop {daemon-type}.{instance}
  2. sudo service ceph -a stop osd.0