centos 7 搭建ceph集群——筑梦之路
2021/8/7 7:06:03
本文主要是介绍centos 7 搭建ceph集群——筑梦之路,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ceph 分布式存储搭建 2020-5-9 操作系统: centos 7 x86_64 环境介绍: 192.168.25.40 ceph-master 管理节点 192.168.25.41 ceph-node-01 监控节点 192.168.25.42 ceph-node-02 osd节点 192.168.25.43 ceph-node-03 osd节点 https://www.cnblogs.com/zengzhihua/p/9829472.html 连通性测试:ping hostname 比如:ping -c 4 ceph-node-01 时间同步:chrony 使用时间同步主要是集群防止时间漂移导致故障 这里因为默认已经开启了同网络同步 可以忽略 #创建用户免密登陆: ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。 建议在集群内的所有 Ceph 节点上给 ceph-deploy 创建一个特定的用户,但不要用 “ceph” 这个名字。 每个节点创建用户: useradd -m merry passwd merry 确保各 Ceph 节点上新创建的用户都有 sudo 权限 echo "merry ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/merry chmod 0440 /etc/sudoers.d/merry su merry ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub merry@ceph-node-01 ssh-copy-id -i ~/.ssh/id_rsa.pub merry@ceph-node-02 ssh-copy-id -i ~/.ssh/id_rsa.pub merry@ceph-node-03 修改 ~/.ssh/config 文件(没有则新增),这样 ceph-deploy 就能用你所建的用户名登录 Ceph 节点了 sudo vim ~/.ssh/config Host ceph-master Hostname ceph-master User merry Host ceph-node-01 Hostname ceph-node-01 User merry Host ceph-node-02 Hostname ceph-node-02 User merry Host ceph-node-03 Hostname ceph-node-03 User merry sudo chmod 644 ~/.ssh/config #开放通信端口 sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent sudo firewall-cmd --reload #关闭selinux sudo setenforece 0 ###管理节点### #安装扩展源 yum install epel-release -y 配置yum源 vim /etc/yum.repos.d/ceph.repo [Ceph] name=Ceph packages for $basearch baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/ enabled=1 gpgcheck=0 type=rpm-md gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc priority=1 [Ceph-noarch] name=Ceph noarch packages baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/ enabled=1 gpgcheck=0 type=rpm-md gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc priority=1 [ceph-source] name=Ceph source packages baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS/ enabled=1 gpgcheck=0 type=rpm-md gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc priority=1 sudo yum update sudo yum install ceph-deploy sudo yum install yum-plugin-priorities #搭建集群 管理节点上创建一个目录,用于保存 ceph-deploy 生成的配置文件和密钥对 cd ~ mkdir -p ceph-cluster cd ceph-cluster 注:若安装ceph后遇到麻烦可以使用以下命令进行清除包和配置: // 删除安装包 $ ceph-deploy purge admin-node node1 node2 node3 // 清除配置 $ ceph-deploy purgedata admin-node node1 node2 node3 $ ceph-deploy forgetkeys ##创建集群和监控节点 #ceph-deploy new {initial-monitor-node(s)} ceph-deploy new ceph-node-01 完成后,my-clster 下多了3个文件:ceph.conf、ceph-deploy-ceph.log 和 ceph.mon.keyring 问题:如果出现 "[ceph_deploy][ERROR ] RuntimeError: remote connection got closed, ensure requiretty is disabled for node1",执行 sudo visudo 将 Defaults requiretty 注释掉 // 修改配置文件 cat ceph.conf [global] fsid = 88a9e211-58ad-4bdf-a570-4037ae78b344 mon_initial_members = ceph-node-01 mon_host = 192.168.25.41 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx 把 Ceph 配置文件里的默认副本数从 3 改成 2 ,这样只有两个 OSD 也可以达到 active + clean 状态。把 osd pool default size = 2 加入 [global] 段: $ sed -i '$a\osd pool default size = 2' ceph.conf 如果有多个网卡, 可以把 public network 写入 Ceph 配置文件的 [global] 段: public network = {ip-address}/{netmask} ###在所有节点上安装 ceph-deploy install ceph-master ceph-node-01 ceph-node-02 ceph-node-03 问题:[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: yum -y install epel-release 解决方法: sudo yum -y remove epel-release ##配置初始 monitor(s)、并收集所有密钥 ceph-deploy mon create-initial 完成上述操作后,当前目录里应该会出现这些密钥环 ceph.bootstrap-mds.keyring -rw-------. 1 merry merry 71 5月 9 17:41 ceph.bootstrap-mgr.keyring -rw-------. 1 merry merry 113 5月 9 17:41 ceph.bootstrap-osd.keyring -rw-------. 1 merry merry 113 5月 9 17:41 ceph.bootstrap-rgw.keyring -rw-------. 1 merry merry 129 5月 9 17:41 ceph.client.admin.keyring ------------------------------------------以下还没操作------------------------------------------------ ###添加2个osd 登录到 Ceph 节点、并给 OSD 守护进程创建一个目录,并添加权限 $ ssh ceph-node-02 $ sudo mkdir /opt/osd0 $ sudo chmod 777 /opt/osd0/ $ exit $ ssh ceph-node-03 $ sudo mkdir /opt/osd1 $ sudo chmod 777 /opt/osd1/ $ exit 从管理节点执行 ceph-deploy 来准备 OSD ceph-deploy osd prepare ceph-node-02:/opt/osd0 ceph-node-03:/opt/osd1 激活 OSD ceph-deploy osd activate ceph-node-02:/opt/osd0 ceph-node-03:/opt/osd1 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点 ceph-deploy admin ceph-master ceph-node-01 ceph-node-02 ceph-node-03 确保你对 ceph.client.admin.keyring 有正确的操作权限 sudo chmod +r /etc/ceph/ceph.client.admin.keyring 检查集群的健康状况和OSD节点状况 ceph health ceph -s ceph osd df #常用命令 ceph osd tree ceph osd dump #扩展节点 添加mds ceph-deploy mds create ceph-node-01 创建元数据池 ceph osd pool create meta_data 128 128 创建文件系统: ceph fs new cephfs meta_data meta_data #查看文件系统 ceph fs ls ceph -s #挂载cephfs sudo yum -y install ceph-fuse sudo ceph-fuse -m ceph-node-01:6789 /mnt/ #验证 df -lhT #测试读写 time dd if=/dev/zero of=test.file bs=1024M count=2 time dd if=test.file of=/dev/null bs=1024M count=2
这篇关于centos 7 搭建ceph集群——筑梦之路的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18uniapp 怎么定义对象属性?-icode9专业技术文章分享
- 2024-11-18克罗内克积是什么?-icode9专业技术文章分享
- 2024-11-18uniapp怎么实现点击防抖和节流功能?-icode9专业技术文章分享
- 2024-11-18uniapp实现全局的监听和接收有哪些方法?-icode9专业技术文章分享
- 2024-11-18TCPDF与mpdf的区别与优势是什么?-icode9专业技术文章分享
- 2024-11-17getExternalFilesDir这个方法哪些安卓版本可以使用?-icode9专业技术文章分享
- 2024-11-17app下载好后,安装包更新代码怎么写?-icode9专业技术文章分享
- 2024-11-17login-customer-id 如何获取?-icode9专业技术文章分享
- 2024-11-17使用 vite加载.env 文件环境变量无法加载是什么原因?-icode9专业技术文章分享
- 2024-11-17tp钱包是什么,有哪些功能?-icode9专业技术文章分享