ceph集群部署
系统环境: centos7
预发布环境
1 1、依赖 2 yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org* 3 4 2、配置ceph的yum源地址 5 [Ceph] 6 name=Ceph packages for $basearch 7 baseurl=http://download.ceph.com/rpm-jewel/el7/$basearch 8 enabled=1 9 gpgcheck=1 10 type=rpm-md 11 gpgkey=https://download.ceph.com/keys/release.asc 12 priority=1 13 14 [Ceph-noarch] 15 name=Ceph noarch packages 16 baseurl=http://download.ceph.com/rpm-jewel/el7/noarch 17 enabled=1 18 gpgcheck=1 19 type=rpm-md 20 gpgkey=https://download.ceph.com/keys/release.asc 21 priority=1 22 23 [ceph-source] 24 name=Ceph source packages 25 baseurl=http://download.ceph.com/rpm-jewel/el7/SRPMS 26 enabled=1 27 gpgcheck=1 28 type=rpm-md 29 gpgkey=https://download.ceph.com/keys/release.asc 30 priority=1 31 32 3、更新软件并安装ceph-deploy 33 yum update -y && yum install ceph-deploy -y 34 35 4、安装ntp服务与ssh服务(集群之间时间一定要同步) 36 yum install ntp ntpdate ntp-doc openssh-server 37 38 5、在各 Ceph 节点创建新用户。 39 ssh ceph@ceph-server 40 sudo useradd -d /home/ceph -m ceph 41 sudo passwd ceph 42 43 6、确保各 Ceph 节点上新创建的用户都有 sudo 权限。 44 echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph 45 sudo chmod 0440 /etc/sudoers.d/ceph 46 47 7、ceph用户在集群之间要免密码登录(ssh连接端口默认22) 48 ssh-keygen 49 ssh-copy-id ceph@node1 50 ssh-copy-id ceph@node2 51 ssh-copy-id ceph@node3 52 53 (推荐做法)修改 ceph-deploy 管理节点上的 ~/.ssh/config 文件,这样 ceph-deploy 就能用你所建的用户名登录 Ceph 节点了,而无需每次执行 ceph-deploy 都要指定 --username {username} 。这样做同时也简化了 ssh 和 scp 的用法。把 {username} 替换成你创建的用户名。 54 55 Host node1 56 Hostname node1 57 User ceph 58 Host node2 59 Hostname node2 60 User ceph 61 Host node3 62 Hostname node3 63 User ceph 64 65 8、切换到ceph开始正式安装服务 66 mkdir my-cluster 67 cd my-cluster 68 ceph-deploy 会把文件输出到当前目录,所以请确保在此目录下执行ceph-deploy
环境安装
如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
用下列命令可以连 Ceph 安装包一起清除:
ceph-deploy purge {ceph-node} [{ceph-node}]
如果执行了 purge ,你必须重新安装 Ceph 。
在管理节点上,进入刚创建的放置配置文件的目录,用 ceph-deploy 执行如下步骤。
ceph-deploy new {initial-monitor-node(s)} 例如: ceph-deploy new node1 在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。详情见 ceph-deploy new -h 。 把 Ceph 配置文件里的默认副本数从 3 改成 2 ,这样只有两个 OSD 也可以达到 active + clean 状态。把下面这行加入 [global] 段: osd pool default size = 2 如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下。详情见网络配置参考。 public network = {ip-address}/{netmask} 安装 Ceph 。 ceph-deploy install {ceph-node} [{ceph-node} ...] 例如: ceph-deploy install admin-node node1 node2 node3 ceph-deploy 将在各节点安装 Ceph 。 注:如果你执行过 ceph-deploy purge ,你必须重新执行这一步来安装 Ceph 。 配置初始 monitor(s)、并收集所有密钥: ceph-deploy mon create-initial 完成上述操作后,当前目录里应该会出现这些密钥环: {cluster-name}.client.admin.keyring {cluster-name}.bootstrap-osd.keyring {cluster-name}.bootstrap-mds.keyring {cluster-name}.bootstrap-rgw.keyring 只有在安装 Hammer 或更高版时才会创建 bootstrap-rgw 密钥环。 如果此步失败并输出类似于如下信息 “Unable to find /etc/ceph/ceph.client.admin.keyring”,请确认 ceph.conf 中为 monitor 指定的 IP 是 Public IP,而不是 Private IP。 添加两个 OSD 。为了快速地安装,这篇快速入门把目录而非整个硬盘用于 OSD 守护进程。如何为 OSD 及其日志使用独立硬盘或分区,请参考 ceph-deploy osd 。登录到 Ceph 节点、并给 OSD 守护进程创建一个目录。 ssh node2 sudo mkdir /var/local/osd0 exit ssh node3 sudo mkdir /var/local/osd1 exit 然后,从管理节点执行 ceph-deploy 来准备 OSD 。 ceph-deploy osd prepare {ceph-node}:/path/to/directory 例如: ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1 最后,激活 OSD 。 ceph-deploy osd activate {ceph-node}:/path/to/directory 例如: ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1 用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了。 ceph-deploy admin {admin-node} {ceph-node} 例如: ceph-deploy admin admin-node node1 node2 node3 ceph-deploy 和本地管理主机( admin-node )通信时,必须通过主机名可达。必要时可修改 /etc/hosts ,加入管理主机的名字。 确保你对 ceph.client.admin.keyring 有正确的操作权限。 sudo chmod +r /etc/ceph/ceph.client.admin.keyring 检查集群的健康状况。 ceph health 等 peering 完成后,集群应该达到 active + clean 状态。
文件系统部署
增加元数据服务器 ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...] 创建ceph文件系统存储池 ceph osd pool create cephfs_data <pg_num> ceph osd pool create cephfs_metadata <pg_num> Total PGs = (Total_number_of_OSD * 100) / max_replication_count 创建文件系统 $ ceph fs new cephfs cephfs_metadata cephfs_data $ ceph fs ls name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ] 查看mds服务器状态 $ ceph mds stat e5: 1/1/1 up {0=a=up:active}

浙公网安备 33010602011771号