执行 sudo visudo,找到 Defaults requiretty 选项,把它改为 Defaults:ceph !requiretty,这样 ceph-deploy 就能用 ceph 用户登录并使用 sudo 了 。
3、如何删除ceph
如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
用下列命令可以连 Ceph 安装包一起清除:
ceph-deploy purge {ceph-node} [{ceph-node}]
如果执行了 purge,你必须重新安装 Ceph。
4、创建集群
1、在所有节点安装ceph
如果报错显示:[ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: 'ceph-source'
需要修改epel源,或者yum makecache,或者删除/etc/yum.repos.d/中的repo缓存文件如: rm -rf ceph.repo.rpmnew ceph.repo.rpmsave epel.repo.rpmnew
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
ceph-deploy install osd-node1
如果报下面错误,需要将/etc/yum.repos.d文件夹中的ceph.repo.rpmnew、epel-testing.repo、ceph.repo.rpmsave 、 epel.repo.rpmnew删除 。
[osd-node1][WARNIN] ensuring that /etc/yum.repos.d/ceph.repo contains a high priority
[ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: 'ceph-source'
2、运行下面命令创建监控节点集群,目前只有一台作为monitor
ceph-deploy new mon-node1
如果遇到报错:sudo: no tty present and no askpass program specified
[ceph_deploy][ERROR ] RuntimeError: connecting to host: mon-node1 resulted in errors: IOError cannot send (already closed?)
运行 sudo visudo并添加下面一行
sysadmin ALL=(ALL) NOPASSWD: ALL
3、配置monitor并收集密钥,必须在my-cluster目录下运行
[sysadmin@admin-node my-cluster]$ ceph-deploy mon create-initial
..........................
.........................
[ceph_deploy.gatherkeys][INFO ] Storing ceph.client.admin.keyring
[ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-mds.keyring
[ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-mgr.keyring
[ceph_deploy.gatherkeys][INFO ] keyring 'ceph.mon.keyring' already exists
[ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-osd.keyring
[ceph_deploy.gatherkeys][INFO ] Storing ceph.bootstrap-rgw.keyring
[ceph_deploy.gatherkeys][INFO ] Destroy temp directory /tmp/tmpeANrgr
[sysadmin@admin-node my-cluster]$ ls
ceph.bootstrap-mds.keyring ceph.bootstrap-osd.keyring ceph.client.admin.keyring ceph-deploy-ceph.log
ceph.bootstrap-mgr.keyring ceph.bootstrap-rgw.keyring ceph.conf ceph.mon.keyring
[sysadmin@admin-node my-cluster]$
4、部署过程中出现问题重新部署时报错如下:
[mon-node1][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.mon-node1.asok mon_status
[mon-node1][ERROR ] no valid command found; 10 closest matches:
[mon-node1][ERROR ] config set <var> <val> [<val>...]
[mon-node1][ERROR ] version
[mon-node1][ERROR ] git_version
[mon-node1][ERROR ] help
[mon-node1][ERROR ] config show
[mon-node1][ERROR ] get_command_descriptions
[mon-node1][ERROR ] config get <var>
[mon-node1][ERROR ] perfcounters_dump
[mon-node1][ERROR ] 2
[mon-node1][ERROR ] config diff
[mon-node1][ERROR ] admin_socket: invalid command
[ceph_deploy.mon][WARNIN] mon.mon-node1 monitor is not yet in quorum, tries left: 2
[ceph_deploy.mon][WARNIN] waiting 15 seconds before retrying
[mon-node1][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.mon-node1.asok mon_status
[mon-node1][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory
[ceph_deploy.mon][WARNIN] mon.mon-node1 monitor is not yet in quorum, tries left: 1
[ceph_deploy.mon][WARNIN] waiting 20 seconds before retrying
[ceph_deploy.mon][ERROR ] Some monitors have still not reached quorum:
[ceph_deploy.mon][ERROR ] mon-node1
解决方式:
1)、删除安装包
[sysadmin@admin-node my-cluster]$ ceph-deploy purge mon-node1
[ceph_deploy.conf][DEBUG ] found configuration file at: /home/sysadmin/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (1.5.39): /bin/ceph-deploy purge mon-node1
[ceph_deploy.cli][INFO ] ceph-deploy options:
[ceph_deploy.cli][INFO ] username : None
[ceph_deploy.cli][INFO ] verbose : False
[ceph_deploy.cli][INFO ] overwrite_conf : False
[ceph_deploy.cli][INFO ] quiet : False
[ceph_deploy.cli][INFO ] cd_conf : <ceph_deploy.conf.cephdeploy.Conf instance at 0x7f31db696ef0>
[ceph_deploy.cli][INFO ] cluster : ceph
[ceph_deploy.cli][INFO ] host : ['mon-node1']
[ceph_deploy.cli][INFO ] func : <function purge at 0x7f31dbf89500>
推荐阅读
- 史上最通俗分布式锁解读
- 分布式系统之Redis主从架构
- 分布式通讯中三大框架protobuf,thrift,fast比较
- 什么是分布式消息中间件?
- 分布式寻址算法
- Jmeter分布式部署测试做压力性能测试
- 常见的分布式Id生成器剖析
- 什么是Dubbo框架?
- 存储型XSS的危害
- 你不知道的SQL Server 日期和时间的内部存储过程
