分布式存储系统之Ceph集群部署( 二 )


准备yum仓库配置文件

分布式存储系统之Ceph集群部署

文章插图
提示:在阿里云的镜像站找ceph,然后找到我们需要安装的版本;然后找到ceph-release,可以下载,也可以复制对应下载链接,然后在服务器的每个节点都安装好对应的ceph-release包;
在集群各节点安装ceph-release包生成ceph仓库配置文件
rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm?spm=a2c6h.25603864.0.0.6e8b635btfWSIx
分布式存储系统之Ceph集群部署

文章插图
在集群各节点安装epel-release生成epel仓库配置
【分布式存储系统之Ceph集群部署】[root@ceph-admin ~]# yum install -y epel-release
分布式存储系统之Ceph集群部署

文章插图
到此ceph的yum仓库配置文件就准备好了
在集群各节点创建部署ceph的特定用户帐号
[root@ceph-admin ~]# useradd cephadm && echo "admin" |passwd --stdin cephadm
分布式存储系统之Ceph集群部署

文章插图
提示:部署工具ceph-deploy 必须以普通用户登录到Ceph集群的各目标节点,且此用户需要拥有无密码使用sudo命令的权限,以便在安装软件及生成配置文件的过程中无需中断配置过程 。不过,较新版的ceph-deploy也支持用 ”--username“ 选项提供可无密码使用sudo命令的用户名(包括 root ,但不建议这样做) 。另外,使用”ceph-deploy --username {username} “命令时,指定的用户需要能够通过SSH协议自动认证并连接到各Ceph节点,以免ceph-deploy命令在配置中途需要用户输入密码 。
确保集群节点上新创建的cephadm用户能够无密码运行sudo权限
[root@ceph-admin ~]# echo "cephadm ALL = (root) NOPASSWD:ALL" |sudo tee /etc/sudoers.d/cephadm[root@ceph-admin ~]# chmod 0440 /etc/sudoers.d/cephadm
分布式存储系统之Ceph集群部署

文章插图
切换至cephadm用户,查看sudo权限
分布式存储系统之Ceph集群部署

文章插图
配置cephadm基于密钥的ssh认证
分布式存储系统之Ceph集群部署

文章插图
提示:先切换用户到cephadm下然后生成密钥;
拷贝公钥给自己
分布式存储系统之Ceph集群部署

文章插图
复制被地.ssh目录给其他主机,放置在cephadm用户家目录下
[cephadm@ceph-admin ~]$ scp -rp .ssh cephadm@ceph-mon01:/home/cephadm/[cephadm@ceph-admin ~]$ scp -rp .ssh cephadm@ceph-mon02:/home/cephadm/[cephadm@ceph-admin ~]$ scp -rp .ssh cephadm@ceph-mon03:/home/cephadm/[cephadm@ceph-admin ~]$ scp -rp .ssh cephadm@ceph-mgr01:/home/cephadm/[cephadm@ceph-admin ~]$ scp -rp .ssh cephadm@ceph-mgr02:/home/cephadm/验证:以cephadm用户远程集群节点,看看是否是免密登录
分布式存储系统之Ceph集群部署

文章插图
提示:能够正常远程执行命令说明我们的免密登录就没有问题;
在admin host上安装ceph-deploy
[cephadm@ceph-admin ~]$ sudo yum update[cephadm@ceph-admin ~]$ sudo yum install ceph-deploy python-setuptools python2-subprocess32验证ceph-deploy是否成功安装
[cephadm@ceph-admin ~]$ ceph-deploy --version2.0.1[cephadm@ceph-admin ~]$提示:能够正常看到ceph-deploy的版本,说明ceph-deploy安装成功;
部署RADOS存储集群
1、在admin host以cephadm用户创建集群相关配置文件目录
[cephadm@ceph-admin ~]$ mkdir ceph-cluster[cephadm@ceph-admin ~]$ cd ceph-cluster[cephadm@ceph-admin ceph-cluster]$ pwd/home/cephadm/ceph-cluster[cephadm@ceph-admin ceph-cluster]$ 2、初始化第一个mon节点
[cephadm@ceph-admin ceph-cluster]$ ceph-deploy --helpusage: ceph-deploy [-h] [-v | -q] [--version] [--username USERNAME][--overwrite-conf] [--ceph-conf CEPH_CONF]COMMAND ...Easy Ceph deployment-^-/\|O o|ceph-deploy v2.0.1).-.('/|||\`| '|` |'|`Full documentation can be found at: http://ceph.com/ceph-deploy/docsoptional arguments:-h, --helpshow this help message and exit-v, --verbosebe more verbose-q, --quietbe less verbose--versionthe current installed version of ceph-deploy--username USERNAMEthe username to connect to the remote host--overwrite-confoverwrite an existing conf file on remote host (ifpresent)--ceph-conf CEPH_CONFuse (or reuse) a given ceph.conf filecommands:COMMANDdescriptionnewStart deploying a new cluster, and write aCLUSTER.conf and keyring for it.installInstall Ceph packages on remote hosts.rgwCeph RGW daemon managementmgrCeph MGR daemon managementmdsCeph MDS daemon managementmonCeph MON Daemon managementgatherkeysGather authentication keys for provisioning new nodes.diskManage disks on a remote host.osdPrepare a data disk on remote host.repoRepo definition managementadminPush configuration and client.admin key to a remotehost.configCopy ceph.conf to/from remote host(s)uninstallRemove Ceph packages from remote hosts.purgedataPurge (delete, destroy, discard, shred) any Ceph datafrom /var/lib/cephpurgeRemove Ceph packages from remote hosts and purge alldata.forgetkeysRemove authentication keys from the local directory.pkgManage packages on remote hosts.calamariInstall and configure Calamari nodes. Assumes that arepository with Calamari packages is alreadyconfigured. Refer to the docs for examples(http://ceph.com/ceph-deploy/docs/conf.html)See 'ceph-deploy <command> --help' for help on a specific command[cephadm@ceph-admin ceph-cluster]$

推荐阅读