操纵集群
用 upstart 控制 Ceph
用 ceph-deploy 把 Ceph Cuttlefish 及更高版部署到 Ubuntu 之后,你可以用基于事件的 Upstart 来启动、关闭 Ceph 节点上的守护进程。 Upstart 不要求你在配置文件里定义守护进程例程。
用下列命令列出 Ceph 作业和例程:
- sudo initctl list | grep ceph
详情参见 initctl 。
启动所有守护进程
要启动一 Ceph 节点(任何类型)上的所有守护进程,用下列命令:
- sudo start ceph-all
停止所有守护进程
要停止一 Ceph 节点(任何类型)上的所有守护进程,用下列命令:
- sudo stop ceph-all
按类型启动所有守护进程
要启动一节点上的某一类守护进程,用下列命令:
- sudo start ceph-osd-all
- sudo start ceph-mon-all
- sudo start ceph-mds-all
按类型停止所有守护进程
要停止一节点上的某一类守护进程,用下列命令:
sudo stop ceph-osd-allsudo stop ceph-mon-allsudo stop ceph-mds-all
启动单个进程
要启动某节点上一指定守护进程例程,用下列命令之一:
- sudo start ceph-osd id={id}
- sudo start ceph-mon id={hostname}
- sudo start ceph-mds id={hostname}
例如:
- sudo start ceph-osd id=1
- sudo start ceph-mon id=ceph-server
- sudo start ceph-mds id=ceph-server
停止单个进程
要停止某节点上一指定守护进程例程,用下列命令之一:
- sudo stop ceph-osd id={id}
- sudo stop ceph-mon id={hostname}
- sudo stop ceph-mds id={hostname}
例如:
- sudo stop ceph-osd id=1
- sudo start ceph-mon id=ceph-server
- sudo start ceph-mds id=ceph-server
运行 Ceph
每次用命令启动、重启、停止Ceph 守护进程(或整个集群)时,你必须指定至少一个选项和一个命令,还可能要指定守护进程类型或具体例程。
- {commandline} [options] [commands] [daemons]
ceph 命令的选项包括:
选项 | 简写 | 描述 |
---|---|---|
—verbose | -v | 详细的日志。 |
—valgrind | N/A | (只适合开发者和质检人员)用 Valgrind 调试。 |
—allhosts | -a | 在 ceph.conf 里配置的所有主机上执行,否则它只在本机执行。 |
—restart | N/A | 核心转储后自动重启。 |
—norestart | N/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 命令,语法如下:
- sudo /etc/init.d/ceph [options] [start|restart] [daemonType|daemonID]
下面是个典型实例:
- sudo /etc/init.d/ceph -a start
加 -a (即在所有节点上执行)执行完成后 Ceph 应该开始运行了。
停止所有守护进程
要停止 Ceph 集群,执行 ceph 时加上 stop 命令,语法如下:
- sudo /etc/init.d/ceph [options] stop [daemonType|daemonID]
下面是个典型实例:
- sudo /etc/init.d/ceph -a stop
执行命令时一旦加了 -a (即在所有节点执行),整个 Ceph 集群都会关闭。
启动一类守护进程
要启动本节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph start {daemon-type}
- sudo /etc/init.d/ceph start osd
要启动非本机节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph -a start {daemon-type}
- 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 守护进程,按此语法:
- sudo /etc/init.d/ceph -a stop {daemon-type}
- sudo /etc/init.d/ceph -a stop osd
启动单个守护进程
要启动本节点上某个 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph start {daemon-type}.{instance}
- sudo /etc/init.d/ceph start osd.0
要启动另一节点上某个 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph -a start {daemon-type}.{instance}
- sudo /etc/init.d/ceph -a start osd.0
停止单个守护进程
要停止本节点上某个 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph stop {daemon-type}.{instance}
- sudo /etc/init.d/ceph stop osd.0
要停止另一节点上某个 Ceph 守护进程,按此语法:
- sudo /etc/init.d/ceph -a stop {daemon-type}.{instance}
- sudo /etc/init.d/ceph -a stop osd.0
把 Ceph 当服务运行
如果你是用 ceph-deploy 部署 Argonaut 或 Bobtail 的,那么 Ceph 可以作为服务运行(还可以用 sysvinit )。
启动所有守护进程
要启动你的 Ceph 集群,执行 ceph 时加上 start 命令,按此语法:
- sudo service ceph [options] [start|restart] [daemonType|daemonID]
下面是个典型实例:
- sudo service ceph -a start
加 -a (即在所有节点上执行)执行完成后 Ceph 应该开始运行了。
停止所有守护进程
要停止你的 Ceph 集群,执行 ceph 时加上 stop 命令,按此语法:
- sudo service ceph [options] stop [daemonType|daemonID]
例如:
- sudo service ceph -a stop
加 -a (即在所有节点上执行)执行完成后 Ceph 应该已停止。
启动一类守护进程
要启动本节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo service ceph start {daemon-type}
- sudo service ceph start osd
要启动所有节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo service ceph -a start {daemon-type}
- sudo service ceph -a start osd
停止一类守护进程
要停止本节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo service ceph stop {daemon-type}
- sudo service ceph stop osd
要停止所有节点上某一类的所有 Ceph 守护进程,按此语法:
- sudo service ceph -a stop {daemon-type}
- sudo service ceph -a stop osd
启动单个守护进程
要启动本节点上某个 Ceph 守护进程,按此语法:
- sudo service ceph start {daemon-type}.{instance}
- sudo service ceph start osd.0
要启动另一节点上某个 Ceph 守护进程,按此语法:
- sudo service ceph -a start {daemon-type}.{instance}
- sudo service ceph -a start osd.0
停止单个守护进程
要停止本节点上某个 Ceph 守护进程,按此语法:
- sudo service ceph stop {daemon-type}.{instance}
- sudo service ceph stop osd.0
要停止另一节点上某个 Ceph 守护进程,按此语法:
- sudo service ceph -a stop {daemon-type}.{instance}
- sudo service ceph -a stop osd.0