Ceph集群详细部署配置图文讲解,只要看一遍就能上手(二)【与云原生的故事】
【摘要】 Ceph集群详细部署配置一、部署结构虚拟机创建三台服务器,CENTOS版本为7.6, IP网段192.168.116.2/24。三台主机名称为: CENTOS7-1: IP为192.168.116.141, 既做管理节点, 又做子节点。 CENTOS7-2: IP为192.168.116.142, 子节点。 CENTOS7-3: IP为192.168.116.143, 子节点二、系统配置...
Ceph集群详细部署配置
一、部署结构
虚拟机创建三台服务器,CENTOS版本为7.6, IP网段192.168.116.2/24。三台主机名称为:
CENTOS7-1: IP为192.168.116.141, 既做管理节点, 又做子节点。
CENTOS7-2: IP为192.168.116.142, 子节点。
CENTOS7-3: IP为192.168.116.143, 子节点
二、系统配置
系统配置工作, 三台节点依次执行:
1、修改主机名称
2、编辑hosts文件
注意, 这里面的主机名称要和节点名称保持一致, 否则安装的时候会出现问题
3、修改yum源
vi /etc/yum.repos.d/ceph.repo, 为避免网速过慢问题, 这里采用的是清华镜像源:
4、安装ceph与ceph-deploy组件
安装完成, 如果执行ceph-deploy出现ImportError: No module named pkg_resources
安装python2-pip:
5、安装NTP时间同步工具
确保时区是正确, 设置开机启动:
并将时间每隔1小时自动校准同步。编辑 vi /etc/rc.d/rc.local 追加:
配置定时任务, 执行crontab -e 加入:
三、免密码SSH登陆
1、官方建议不用系统内置用户, 创建名为ceph_user用户, 密码也设为ceph_user:
2、设置sudo权限
1、2两个步骤依次在三台机器上执行。
接下来在主节点, 继续执行:
3、生成密钥:
切换用户: su ceph_user
执行ssh-keygen,一直按默认提示点击生成RSA密钥信息。
4、分发密钥至各机器节点
5、修改管理节点上的 ~/.ssh/config 文件, 简化SSH远程连接时的输入信息:
管理节点是会有root和ceph_user多个用户, ssh远程连接默认会以当前用户身份进行登陆, 如果我们是root身份进行远程连接, 还是需要输入密码, 我们想简化, 该怎么处理?
切换root身份
修改~/.ssh/config 文件
注意修改文件权限, 不能采用777最大权限:
进行ssh远程连接时, Host的主机名称是区分大小写的, 所以要注意配置文件的主机名称。
6、开放端口, 非生产环境, 可以直接禁用防火墙:
7、SELINUX设置
SELinux设为禁用:
永久生效:
编辑 vi /etc/selinux/config修改:
四、集群搭建配置
采用root身份进行安装
1、在管理节点创建集群配置目录,cd /usr/local:
注意: 此目录作为ceph操作命令的基准目录, 会存储处理配置信息。
2、创建集群, 包含三台机器节点:
创建成功后, 会生一个配置文件。
3、 如果接下来集群的安装配置出现问题, 可以执行以下命令清除, 再重新安装:
将三台节点的mon信息也删除
4、 修改配置文件, 有些配置后面需用到:
加入:
第一项为副本数, 设为2份。
第二项为对外IP访问网段,注意根据实际IP修改网段。
第三、四项为允许一定时间的漂移误差。
5、执行安装:
如果出现错误:
可以在各节点上单独进行安装:
如果没有仓库文件ceph.repo, 按上面的步骤手工创建。
6、初始monitor信息:
执行完成后, 会生成以下文件:
7、同步管理信息:
下发配置文件和管理信息至各节点:
8、安装mgr(管理守护进程), 大于12.x版本需安装, 我们装的是最新版,需执行:
9、安装OSD(对象存储设备)
注意: 新版本的OSD没有prepare与activate命令。
这里需要新的硬盘作为OSD存储设备, 关闭虚拟机, 增加一块硬盘, 不用格式化。
重启, fdisk -l 查看新磁盘名称:
执行创建OSD命令:
三台节点都需分别依次执行。
10、验证节点:
输入ceph health 或 ceph -s查看, 出现HEALTH_OK代表正常。
通过虚拟机启动, 如果出现错误:
在各节点执行命令, 确保时间同步一致:
五、安装管理后台
1、 开启dashboard模块
2、生成签名
3、创建目录
4、生成密钥对
5、启动dashboard
6、设置IP与PORT
7、关闭HTTPS
8、查看服务信息
9、 设置管理用户与密码
10、访问
六、创建Cephfs
集群创建完后, 默认没有文件系统, 我们创建一个Cephfs可以支持对外访问的文件系统。
ceph-deploy --overwrite-conf mds create CENTOS7-1 CENTOS7-2 CENTOS7-3
1、创建两个存储池, 执行两条命令:
少于5个OSD可把pg_num设置为128
OSD数量在5到10,可以设置pg_num为512
OSD数量在10到50,可以设置pg_num为4096
OSD数量大于50,需要计算pg_num的值
通过下面命令可以列出当前创建的存储池:
2.、创建fs, 名称为fs_test:
3、状态查看, 以下信息代表正常:
附: 如果创建错误, 需要删除, 执行:
确保在ceph.conf中开启以下配置:
4、采用fuse挂载
先确定ceph-fuse命令能执行, 如果没有, 则安装:
5、创建挂载目录
6、挂载cephfs
7、查看磁盘挂载信息
/usr/local/cephfs_directory目录已成功挂载。
七、客户端连接验证(Rados Java)
1、安装好JDK、GIT和MAVEN
2、下载rados java客户端源码
下载目录位置:
3、执行MAVEN安装, 忽略测试用例:
生成jar包, rados-0.7.0.jar
4、创建软链接, 加入CLASSPATH
安装jna
创建软链接
查看
5、创建JAVA测试类
CephClient类,注意, 最新版0.6的异常处理包位置已发生变化。
6、运行验证
需要在linux环境下运行,且要在client节点。
编译并运行:
成功与ceph建立连接。
注意:如果java和javac版本不同,可以使用rpm -qa |grep java 进行查找, rpm -e --nodeps jdk进行删除,source /etc/profile进行生效
jdk的位数为64位
【与云原生的故事】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/345260
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)