Centos 7.2(1511) 部署ceph jewel
2016-08-18 15:31
381 查看
Centos 7.2(1511) 部署ceph jewel
本文主要介绍如何在最新的Centos7中搭建ceph jewelceph简介
安装准备
安装部署
注意的问题
Ceph简介
无论你想提供 Ceph对象存储和/或Ceph块设备服务至云平台 ,部署Ceph文件系统或者为了其他目的而使用Ceph,所有的 Ceph存储集群部署都是从设置每个Ceph节点,你的网络和Ceph存储集群开始的。一个Ceph存储集群要求至少有一个Ceph监视器和两个Ceph OSD守护进程。当运行Ceph文件系统客户端时,必须要有Ceph元数据服务器。INTRO TO CEPH(介绍Ceph)
OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息。Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但你可以调整它) Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射。 Ceph 保持一个在Ceph监视器, Ceph OSD 守护进程和 PG的每个状态改变的历史(称之为“epoch”). MDS: MDS是Ceph的元数据服务器,代表存储元数据的Ceph文件系统(即Ceph的块设备和Ceph的对象存储不使用MDS)。Ceph的元数据服务器使用POSIX文件系统,用户可以执行基本命令如 ls, find,等,并且不需要在Ceph的存储集群上造成巨大的负载. Ceph把客户端的数据以对象的形式存储到了存储池里。利用CRUSH算法,Ceph可以计算出安置组所包含的对象,并能进一步计算出Ceph OSD集合所存储的安置组。CRUSH算法能够使Ceph存储集群拥有动态改变大小、再平衡和数据恢复的能力。
——[开源社区- Ceph中文文档 ]
安装准备(所有节点都要做)
1. 实验架构图
这里我们选用三台服务器:
10.209.192.70 CDM1A03-209192070 //对应node1 mon1 osd.1 以本机器为admin进行部署
10.209.192.68 CDM1A03-209192068 //对应node1 mon1 osd.0
10.209.192.71 CDM1A03-209192071 //对应node1 mon1 osd.2
以上服务器信息也需要写入每台服务的/etc/hosts中,且hostname一致
否则在后面安装mon时会遇到admin_socket: exception getting command descriptions: [Errno 2] No such file or director
2. 安装epel和yum-plugin-priorities
安装EPEL这里就不多说了,直接参考[EPEL]//安装epel后安装yum-plugin-priorities $sudo yum install yum-plugin-priorities
由于使用EPEL安装的包不多,所以网速还可以忍受
3. 新建ceph用户并授权,切换为ceph用户
//新建ceph用户 $sudo useradd -d /home/ceph -m ceph $sudo passwd ceph //授予无密码sudo权限 $echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph $sudo chmod 0440 /etc/sudoers.d/{username} //切换为ceph用户并生成rsa公钥 $sudo su - $su - ceph $ssh-keygen 然后使用ssh-copy-id实现三台机器之间免密码登陆
4. 安装ntp openssh
$sudo yum install ntp ntpdate ntp-doc -y $sudo yum install openssh-server -y
5. 关闭防火墙和selinux,更新系统
由于本次实验为内网服务器,外网无法访问,所以这里选择直接关闭防火墙和selinux注意centos7自带的是firewalld防火墙
$sudo systemctl stop firewalld $sudo systemctl disable firewalld $sudo vim /etc/selinux/config //修改以下内容 SELINUX=disabled //更新系统并重启 $sudo yum update -y $sudo reboot
6. 创建ceph jewel源
这里使用国内阿里云的ceph源,速度比较快注意这里必须使用ceph.repo为源的文件名,否则ceph-deploy全新建以ceph.repo命名的官方源文件(速度太呵呵)
$ cat /etc/yum.repos.d/ceph.repo [Ceph] name=Ceph packages for $basearch baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=http://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=1 type=rpm-md gpgkey=http://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=1 type=rpm-md gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc priorit 4000 y=1
以上安装准备需要在所有节点上进行操作,建议使用ansible或者salt进行统一操作
安装部署
本实验使用10.209.192.70 CDM1A03-209192070为控制节点进行部署1.安装准备
//新文件夹ceph-cluster $cd ~ $mkdir ceph-cluster $cd ceph-cluster //安装ceph-deploy $sudo yum update && sudo yum install ceph-deploy $ceph-deploy purge CDM1A03-209192070 CDM1A03-209192068 CDM1A03-209192071 $ceph-deploy purgedata CDM1A03-209192070 CDM1A03-209192068 CDM1A03-209192071 $ceph-deploy forgetkeys
2. 安装ceph
//创建cluster,生成配置文件 $ceph-deploy new CDM1A03-209192070 CDM1A03-209192068 CDM1A03-209192071 //修改ceph.conf [global] fsid = 82b7dc0a-6b08-4f92-bd68-32c0a1242543 mon_initial_members = CDM1A03-209192070, CDM1A03-209192071, CDM1A03-209192068 mon_host = 10.209.192.70,10.209.192.71,10.209.192.68 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx osd pool default size = 2 osd journal size = 1024 rbd default features = 1 [osd] osd max object name len = 256 //这里必须写,否则在创建mon会出错 osd max object namespace len = 64 //同上 rbd default features = 1 //继续安装 $ceph-deploy install CDM1A03-209192070, CDM1A03-209192071, CDM1A03-209192068 $ceph-deploy mon create-initial
3.新建osd
//分别在三台机器中新建三个osd目录 $mkdir /var/local/osd0 osd1 osd2 $chown ceph:ceph /var/local/osd0 osd1 osd2 //回到部署节点,新建OSD $ceph-deploy osd prepare CDM1A03-209192068:/var/local/osd0 CDM1A03-209192070:/var/local/osd1 CDM1A03-209192071:/var/local/osd2 $ceph-deploy osd activate CDM1A03-209192068:/var/local/osd0 CDM1A03-209192070:/var/local/osd1 CDM1A03-209192071:/var/local/osd2 //分发配置和秘钥 $ceph-deploy admin CDM1A03-209192070, CDM1A03-209192071, CDM1A03-209192068 $sudo chmod +r /etc/ceph/ceph.client.admin.keyring //在所有节点上执行
4.查看状态
$ ceph -s cluster 82b7dc0a-6b08-4f92-bd68-32c0a1242543 health HEALTH_OK monmap e1: 3 mons at {CDM1A03-209192068=10.209.192.68:6789/0,CDM1A03-209192070=10.209.192.70:6789/0,CDM1A03-209192071=10.209.192.71:6789/0} election epoch 6, quorum 0,1,2 CDM1A03-209192068,CDM1A03-209192070,CDM1A03-209192071 osdmap e18: 3 osds: 3 up, 3 in flags sortbitwise pgmap v43012: 64 pgs, 1 pools, 0 bytes data, 0 objects 13686 MB used, 7515 GB / 7931 GB avail 64 active+clean
注意的问题
1. install太慢
更换国内阿里云的ceph源2. 新建osd失败
注意把新建的目录改为ceph用户3.ceph-deploy mon create-initial 遇到错误
admin_socket: exception getting command descriptions: [Errno 2] No such file or director 要在配置文件中加入以下内容: [osd] osd max object name len = 256 //这里必须写,否则在创建mon会出错 osd max object namespace len = 64 //同上 rbd default features = 1
4.安装jewel版本出错后准备降级安装hammer会遇到key for admin.key已经存在
应该是purge不完全的bug,还没有解决相关文章推荐
- CentOS 7.5安装部署Jewel版本Ceph集群
- CentOS7.2 1511部署RabbitMQ
- 基于centos7.3安装部署jewel版ceph集群实战演练
- 基于centos7.3安装部署jewel版本ceph集群实战演练
- 基于Centos7.2的nginx部署
- 在CentOS7.2上部署基于PostgreSQL10的citus分布式数据库
- 在CentOS 7.2上部署Kubernetes集群
- 阿里云centos7.2部署笔录--配置jre(二)
- CentOS 7.2 中 Kafka,Zookeeper的单机部署,伪分布式部署以及真正的分布式部署
- 使用Kubeadm在CentOS7.2上部署Kubernetes集群
- CentOS7.2部署KVM虚拟机
- 腾讯云Centos7.2部署lnmp+phpMyAdmin+redis
- CentOS7.2部署ELK5.2.2(yum安装)
- CentOS 7.2基于Kubernetes部署简单应用示例
- ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 1、安装前准备
- 部署 LAMP (CentOS 7.2),摘自阿里云,方便查看使用
- CentOS 7.2 部署Redis服务
- CentOS 7使用ceph-deploy(1.5.37)部署快速ceph(10.2.6)
- Centos7.2部署Percona Monitoring and Management 笔记