Ceph部署
来源:互联网 发布:手机怎么申请做淘宝客 编辑:程序博客网 时间:2024/04/29 16:23
1、首先获得相应的部署资源,多台主机或相应数量的虚拟机资源
示例:
2、ifconfig查看基本网络配置信息,尝试ping连外网如:ping www.baidu.com
问题1:执行ifconfig命令,无相应的输出响应一般纯净的Centos7系统会出现上述这个问题
显示:ifconfig Command not found
解决:下载相应的NET管理工具:net-tools
那么首先需要在/etc/yum.repo/目录下创建如:Centos-local.repo的源库下载脚本
注:若当前源库目录下有其它的脚本,则最好将上图示priority置0 使之遍历优先级最高
然后执行 # yum install net-tools*
最后执行 ifconfig命令便可看到熟悉的信息:
解决:若是企业有MAC限制,想在公司上外网,首先解决MAC限制,若是虚拟机不能有MAC冲突的问题。之后还不能实现外网链接,则需添加DNS解析
首先:vi /etc/sysconfig/network-scripts/ifcfg-eno16777984 (本人配置信息)
添加:DNS1=10.10.10.1
若有MAC冲突可修改HWADDR或MACADDR项,配置如下:
3、在10.10.21.54主机(管理点)上以root用户模式完成以下操作
修改主机名,以便后面切换部署时识别相应节点
配置:
# vi /etc/hostname 修改主机名 这里命名为admin# vi /etc/hosts 修改127.0.0.1 后主机名为admin
并添加如下信息:
10.10.21.54 admin
10.10.21.55 node1
10.10.21.56 node2
10.10.21.57 node3创建用户并修改主机名
- 切换到各个主机上创建ceph用户 命名:ceph
# ssh username@host-serverip 如username: root host-serverip: 10.10.21.55
# useradd –d /home/ceph –m ceph
# passwd ceph
$ exit exit前修改各个主机名称,实现步骤同理(1)示
测试:ping xxx节点切换至各个Ceph节点的ceph用户,为用户增加root权限
# ssh username@hostname 如:ssh ceph@node1
$ echo “ceph ALL=(root) NOPPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph
$ sudochmod 0440 /etc/sudoers.d/ceph
$ exit实现ssh无密码登录
- 切换至ceph用户,生成公钥以及私钥于当前用户.ssh目录下,id_rs is_rsa.pub
# ssh ceph@admin
$ ssh-keygen
$ exit - exit前将生成的密钥拷贝到各个Ceph节点的ceph用户的 ~/.ssh/目录下
$ ssh-copy-id ceph@node1
$ ssh-copy-id ceph@node2
$ ssh-copy-id ceph@node3
- 切换至ceph用户,生成公钥以及私钥于当前用户.ssh目录下,id_rs is_rsa.pub
admin主机上添加~/.ssh/config配置文件 注:并非ceph用户
- 切换到各个主机上创建ceph用户 命名:ceph
4、创建集群
- 在admin主机切换至ceph用户,创建文件夹
# ssh ceph@admin
$ mkdir my-cluster
$ cd my-cluster ceph-deploy部署集群 注:使用ceph-deploy部署集群均在my-cluster目录中
- 更新软件源并安装ceph-deploy工具:
$ sudo yum update && sudo install ceph-deploy - 同步每台主机的时间,需切换至每个节点:
$ ssh {node} 如:ssh node1
$ sudo yum install ntp
$ sudo yum install openssh-server (如果有必要可安装) - 清除之前的配置数据:
卸载ceph:
$ ceph-deploy uninstall admin node1 node2 node3
清除远程主机/var/lib/ceph /etc/ceph中的包和数据
$ ceph-deploy purgeadmin node1 node2 node3
清除/var/lib/ceph及/etc/ceph下ceph目录及以下内容全部:
$ ceph-deploy purgedata admin node1 node2 node3
清除my-cluster目录中的认证密钥文件:
$ ceph-deploy forgetkeys - 关闭所有节点的防火墙及安全防护项,切换到所有节点执行:
$ ssh {node} 如:ssh node1
$ sudo systemctl stop firewalld
$ sudo setenforce 0 之后就可正真的来实现创建集群:
$ ceph-deploy new node1
成功执行后当前目录增加三个文件:
- 更新软件源并安装ceph-deploy工具:
系统默认的osd pool的为3 目前osd为2 即需修改默认的副本数为2
$ vi ./ceph.conf 添加:osd pool default size=2部署安装ceph
$ ceph-deploy install admin node1 node2 node3
安装成功后:创建Ceph mon
$ ceph-deploy mon create-initial
若无法创建则使用如下命令:
$ ceph-deploy mon create node1
$ ceph-deploy gatherkeys node1
成功后当前目录ls -l创建两个osd
- 首先切换到node2中ceph用户,创建OSD0
$ ssh ceph@node2
df –mh 查看可知sdc可用,故可将sdc xfs格式化 并实现挂载
$ sudo mkfs.xfs –f /dev/sdc
$ sudo mkdir /var/lib/ceph/osd/osd-0
$ sudo mount /dev/sdc /var/lib/ceph/osd/osd-0
$ exit - 同理创建OSD1
$ ssh ceph@node3
$ sudo mkfs.xfs –f /dev/sdc
$ sudo mkdir /var/lib/ceph/osd/osd-1
$ sudo mount /dev/sdc /var/lib/ceph/osd/osd-1
$ exit
- 首先切换到node2中ceph用户,创建OSD0
准备并激活osd
$ ceph-deploy osd prepare node2: /var/lib/ceph/osd/osd-0
node3: /var/lib/ceph/osd/osd-1
$ ceph-deploy osd activate node2: /var/lib/ceph/osd/osd-0
node3: /var/lib/ceph/osd/osd-1- 实现拷贝配置文件以及key文件
$ ceph-deploy admin admin node1 node2 node3 - 为ceph.client.admin.keyring添加可读权限
通常管理部署节点和监控节点须得设置,以便于查看集群状态。OSD节点设置与否,看能给予的权限。命令如下:
$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring 查看集群状态
集群整体状态:ceph –s
集群OSD状态:ceph osd tree
ceph {xxx} dump 如:ceph osd dump; ceph mon dump; ceph mds dump ceph osd dump
集群动态部署:ceph –w
查看mon状况
$ sudo mon mon.{node} mon_status 如:node3 为mon节点
操作OSD
- 将OSD踢出集群out 并实现数据重新均衡
$ ceph osd out osd.2 停止OSD设备 (需切换到当前节点中,实现osd的停止)
从CRUSH中移除
$ ceph osd crush remove osd.2从认证中删除
$ ceph auth del osd.2- 删除osd
$ ceph osd rm 2
- 将OSD踢出集群out 并实现数据重新均衡
5. 附录(问题)
*问题:添加新osd集群试图实现均衡失败后,集群不正常情景: 集群:[(osd pool default size = 2) admin node1(mon) node2(osd0) node3(osd1) ] 创建后 集群active+clean 处于正常状况,之后向node1节点添加osd2 添加成功后:开始时:osd2 处于down + in状态一段时间后:osd2处于 up + in 同时使得 osd1处于 down + out 再之后显示如下:
原因:
- 可能是系统为防止集群崩溃,mon的防火墙会自行启动,使得其它的osd节点无法访问mon节点(注:并非是说ping不同)
- 有些软件(进程)的启动需要依赖防火墙去实现解决:
解决:
此时首先关闭firewalld:
$ sudo systemctl stop firewalld
$ firewall-cmd –-state
尝试重新启动ceph集群,看是否能够起来(各个节点均执行),命令:
$ sudo service ceph start
- Ceph部署
- ceph部署
- Ceph部署
- ceph-deploy部署ceph集群
- Ceph学习----Ceph 分布式部署
- [CEPH部署]使用ceph-deploy快速部署ceph集群
- ceph 一键部署
- ceph 一键部署
- ceph部署实践
- Ceph快速部署
- ceph部署过程
- Ceph 集群部署
- 手工部署ceph
- Ubuntu14.04部署CEPH
- ceph部署bug
- ceph jewel部署
- ceph部署完全手册
- Ceph 部署的过程
- Maven在Eclipse中的实用小技巧
- hdu2588 GCD(欧拉函数)
- Javascript模块等高级知识
- 最小表示法
- OpenProcess()函数
- Ceph部署
- 高通平台工作总结(二)
- (六)利用processing实现图案的绘制
- dpkg:处理 xxx (--configure)时出错解决办法(转载)
- Red and Black
- 通过android代码获取android系统的imei、手机型号、手机品牌、android系统的版本号、sdk版本号等信息
- Windows进程
- mybatis的#{}和${}的区别以及order by注入问题
- Android WebView远程代码执行漏洞简析