我们暂且把部署目录所在的节点叫做部署节点。Ceph-deploy通过SSH到各个节点,然后再在各个节点执行本机的Ceph指令来创建MON或者OSD等。所以在部署之前,你需要从部署节点ssh-copy-id到各个集群节点,使其可以免秘钥登陆。
⑥Ceph-deploy部署的日志在哪里?
就在部署目录下面的ceph-deploy-ceph.log文件,部署过程中产生的所有的日志都会保存在里面,比如你大半年前敲的创建OSD的指令。在哪个目录下执行ceph-deploy指令,就会在这个目录下生成log,如果你跑到别的目录下执行,就会在执行目录里生成log再记下第四点的错。当然,这个LOG最有用的地方还是里面记录的部署指令,你可以通过cat ceph-deploy-ceph.log |grep "Running command"查看到创建一个集群所需的所有指令,这对你手动建立集群或者创建秘钥等等等等有着很大的帮助!!!
⑦ Ceph-deploy版本
写这段时的最新的版本号为1.5.36,下载链接为ceph-deploy-1.5.36-0.noarch.rpm, 之前的1.5.35里面有点bug在这个版本被修复了,如果使用1.5.25部署遇到了问题,可以更新至这个版本,会绕过一些坑。更新到1.5.36之后,腰也不酸了,退了不疼了,Ceph也能部署上了。
Q6. ceph-deploy new 做了什么进入部署目录,执行ceph-deploy new node1 node2 node3,会生成两个文件(第三个是ceph-deploy-ceph.log,忽视之):
[root@blog cluster]# ls ceph.conf ceph-deploy-ceph.log ceph.mon.keyringnew后面跟的是你即将部署MON的节点的hostname,推荐三个就够了,需要是奇数个MON节点。不要因为只有两个节点就搞两个MON,两个节点请用一个MON,因为两个MON挂掉一个,集群也就挂了,和一个MON挂掉一个效果是一样的。生成的ceph.conf默认情况下长成这样:
[root@blog cluster]# cat ceph.conf [global] fsid = 13b5d863-75aa-479d-84ba-9e5edd881ec9 mon_initial_members = blog mon_host = 1.2.3.4 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx会调用uuidgen生成一个fsid,用作集群的唯一ID,再将new后面的主机加入到mon_initial_members和mon_host里面,剩下的三行大家都是一样的,默认开启CephX认证。下面有一节会专门介绍这个,需要注意的是,部署的时候,千万不要动这三行 下面会有一节介绍之。还有一个文件ceph.mon.keyring:
[root@blog cluster]# cat ceph.mon.keyring [mon.] key = AQB1yWRYAAAAABAAhMoAcadfCdy9VtAaY79+Sw== caps mon = allow *除了key的内容不一样,剩下的都会是一样的。因为是开启了CephX认证了,所以MON直接的通讯是需要一个秘钥的,key的内容就是秘钥。是不是对Ceph里面的明文认证感到吃惊,有总比没有强。如果,你再次执行new,会生成新的ceph.conf和新的ceph.mon.keyring,并将之前的这两个文件给覆盖掉,新旧文件唯一不同的就是fsid和key的内容,但是对Ceph来说,这就是两个集群了。这里说一下我个人非常非常非常反感的一个问题,有的朋友喜欢在/etc/ceph/目录下面执行ceph-deploy的命令,这么做和在部署目录下面做一般是没有差别的,因为这两个目录下面都有ceph.conf和ceph.client.admin.keyring,但是我还是强烈推荐创建独立的部署目录,因为/etc/ceph目录是Ceph节点的运行目录,为了体现各自的功能性,也为了安全性,请不要在**/etc/ceph**目录下部署集群!!!
Q7. 为ceph-deploy添加参数Ceph-deploy的log还是很有看头的,查看ceph-deploy new blog(blog是我的一台主机)的log:
[root@blog cluster]# ceph-deploy new blog [ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf [ceph_deploy.cli][INFO ] Invoked (1.5.36): /usr/bin/ceph-deploy new blog [ceph_deploy.cli][INFO ] ceph-deploy options: [ceph_deploy.cli][INFO ] username : None [ceph_deploy.cli][INFO ] func : <function new at 0x288e2a8> [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 0x28eccf8> [ceph_deploy.cli][INFO ] cluster : ceph [ceph_deploy.cli][INFO ] ssh_copykey : True [ceph_deploy.cli][INFO ] mon : ['blog'] [ceph_deploy.cli][INFO ] public_network : None [ceph_deploy.cli][INFO ] ceph_conf : None [ceph_deploy.cli][INFO ] cluster_network : None [ceph_deploy.cli][INFO ] default_release : False [ceph_deploy.cli][INFO ] fsid : None [ceph_deploy.new][DEBUG ] Creating new cluster named ceph