搭建ceph集群(单节点)
https://blog.csdn.net/Greenchess/article/details/77525786
软件环境: 
- Centos7 x64 
CEPH版本 : 
- ceph-deploy v1.5.37 
- ceph version 10.2.9
步骤1.修改主机名(即节点名) 
1) 
sed -i ‘/HOSTNAME/d’ /etc/sysconfig/network 
echo “HOSTNAME=主机名” >> /etc/sysconfig/network 
cat /etc/sysconfig/network 
2) 
echo “IP地址 主机名” >> /etc/hosts 
cat /etc/hosts 
3) 
hostname cydb 
hostname -f 
重启
步骤2.配置SSH 
ssh-keygen -t rsa -P ” -f ~/.ssh/id_rsa(-t rsa用RSA加密,-P ‘’空密码,-f保存密码的位置) 
ssh-copy-id root@主机名
步骤3.配置firewall 
(开启6789端口给MON,6800-7100端口给OSD) 
firewall-cmd –zone=public –add-port=6789/tcp –permanent 
firewall-cmd –zone=public –add-port=6800-7100/tcp –permanent 
firewall-cmd –reload 
firewall-cmd –zone=public –list-all
步骤4.关闭selinux 
setenforce 0 
sed -i s’/SELINUX.*=.*enforcing/SELINUX=disabled’/g /etc/selinux/config 
cat /etc/selinux/config 
可看到SELINUX=disabled
步骤5. 
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
步骤6.添加ceph.repo文件(把软件包源加入软件仓库) 
sudo vim /etc/yum.repos.d/ceph.repo 
写入 
[ceph-noarch] 
name=Ceph noarch packages 
baseurl=https://download.ceph.com/rpm-jewel/el7/noarch 
enabled=1 
gpgcheck=1 
type=rpm-md 
gpgkey=https://download.ceph.com/keys/release.asc
步骤7 安装ceph-deploy(要更新软件库) 
sudo yum update 
sudo yum install ceph-deploy 
检查是否安装成功:ceph-deploy –help
步骤8.部署cluster(集群) 
mkdir /opt/ceph-cluster 
cd /opt/ceph-cluster 
ceph-deploy new 节点名 
(这时可以ls一下当前目录,会有一个ceph配置文件、一个monitor密钥环。一个日志文件。) 
echo “osd crush chooseleaf type = 0” >> ceph.conf 
echo “osd pool default size = 1” >> ceph.conf 
echo “osd journal size = 100” >> ceph.conf 
cat ceph.conf
步骤9.安装ceph 
修改ceph源(外国的源总是timeout) 
export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-jewel/el7 
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc 
安装ceph 
ceph-deploy install 节点名 
报错则运行yum remove -y ceph-release之后重新安装ceph 
检查是否安装成功:ceph –version
步骤10.部署Monitor 
ceph-deploy mon create-initial 
检查集群状态:ceph -s 
(显示现在是HEALTH_ERR不健康状态)
步骤11.部署两个OSD 
1)准备两个块设备(可以是硬盘也可以是LVM卷),这里我们使用LVM(逻辑卷) 
dd if=/dev/zero of=ceph-volumes.img bs=1M count=8192 oflag=direct 
sgdisk -g –clear ceph-volumes.img 
sudo vgcreate ceph-volumes $(sudo losetup –show -f ceph-volumes.img) 
sudo lvcreate -L2G -nceph0 ceph-volumes 
sudo lvcreate -L2G -nceph1 ceph-volumes 
sudo mkfs.xfs -f /dev/ceph-volumes/ceph0 
sudo mkfs.xfs -f /dev/ceph-volumes/ceph1 
mkdir -p /srv/ceph/{osd0,osd1,mon0,mds0} 
sudo mount /dev/ceph-volumes/ceph0 /srv/ceph/osd0 
sudo mount /dev/ceph-volumes/ceph1 /srv/ceph/osd1 
创建了两个虚拟磁盘ceph0和ceph1并分别挂载到/srv/ceph/osd0和/srv/ceph/osd1目录下 
2)挂载两个OSD 
ceph-deploy osd prepare monster:/srv/ceph/osd0 
ceph-deploy osd prepare monster:/srv/ceph/osd1 
3)激活两个OSD 
ceph-deploy osd activate monster:/srv/ceph/osd0 
ceph-deploy osd activate monster:/srv/ceph/osd1 
报错:RuntimeError: Failed to execute command: ceph-disk -v activate –mark-init upstart –mount /srv/ceph/osd0 
解决:使用命令 sudo chown ceph:ceph /srv/ceph/osd0,然后重新激活
步骤12.复制admin密钥到其他节点 
ceph-deploy admin monster
验证: 
ceph的安装状态:ceph -s 
ceph集群健康状态:ceph -w 
ceph monitor仲裁状态:ceph quorum_status –format json-pretty 
ceph mon stat 
ceph osd stat 
ceph osd tree(显示crush图) 
ceph pg stat 
ceph auth list(集群的认证密码)
如果碰到麻烦,要从头再来,可以用下列命令清楚配置: 
ceph-deploy purgedata {ceph-node} [{ceph-node}] 
ceph-deploy forgetkeys 
用下列命令可以连 Ceph 安装包一起清除: 
ceph-deploy purge {ceph-node} [{ceph-node}] 
之后必须重新安装 Ceph
参考文章:http://www.cnblogs.com/YaoDD/p/5217578.htmlUbuntu 14.04 单机安装 CEPH
最后附上一个ceph入门很好的博客地址,讲的都是重点,清楚易懂: 
http://www.cnblogs.com/bodhitree/p/4831626.html 
还有一个主要讲crush算法的: 
http://www.cnblogs.com/chenxianpao/p/5568207.html
--------------------- 
作者:Green77 
来源:CSDN 
原文:https://blog.csdn.net/Greenchess/article/details/77525786 
版权声明:本文为博主原创文章,转载请附上博文链接!
搭建ceph集群(单节点)的更多相关文章
- CentOS 7 搭建 Ceph 集群(nautilus 版本)
		
搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...
 - Vertica集群单节点宕机恢复方法
		
Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...
 - centos7搭建ceph集群
		
一.服务器规划 主机名 主机IP 磁盘配比 角色 node1 public-ip:10.0.0.130cluster-ip:192.168.2.130 sda,sdb,sdcsda是系统盘,另外两块数 ...
 - elastic集群单节点停机维护
		
为了elastic时时提供服务,需要elastic至少状态维持在yellow状态.所有,维护时需要依次对elastic单个节点进行维护. 操作步骤如下: 1.停止elastic的自动分配功能 curl ...
 - 【Zookeeper】Zookeeper集群单节点提供服务
		
以下只在特殊情况下使用,不要用在生产环境. 一.问题背景 公司的产品使用Zookeeper做为集群支持,但是客户在验收的时候提出了一个很为难人的要求,那就是3台集群服务,停止2台以后,还要求我们的应用 ...
 - Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)
		
集群准备 ceph集群配置说明 节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...
 - 分布式存储系统之Ceph集群部署
		
前文我们了解了Ceph的基础架构和相关组件的介绍,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16720234.html:今天我们来部署一个ceph集群: 部 ...
 - 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群
		
首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...
 - Spark集群环境搭建——Hadoop集群环境搭建
		
Spark其实是Hadoop生态圈的一部分,需要用到Hadoop的HDFS.YARN等组件. 为了方便我们的使用,Spark官方已经为我们将Hadoop与scala组件集成到spark里的安装包,解压 ...
 
随机推荐
- 使用IDEA进行commit合并(折叠)
			
当前有,test1,test2两个commit,想把这两个分支合成一个commit去提交代码 将T1C修改的代码,与T2C修改的代码合并,合成一个commit作为提交 这样二个commit就合并成一个 ...
 - 如何在pycharm中进入shell脚本调试代码
			
首先在Teramal终端 输入python manage.py shell 然后进行下图操作来调试代码
 - 使用UncaughtExceptionHandler重启线程
			
先复习Java中的异常 java.lang.Throwable 顶层父类 |– Error错误:JVM内部的严重问题,如OOM,程序员无法在代码中无法处理. |–Exception异常:普通的问题.通 ...
 - Code Review怎样做好
			
一.背景 最近随着交易业务快速扩展,研发组内新项目及新成员越来越多,如何做好Code Review,把控研发人员开发代码质量很是关键. 对于大部分业务团队,谈到Code Review就会面露哀状: ...
 - JS中字符串的常见属性及方法
			
1.属性 1.1.length var txt = "abc 123"; console.log(txt.length); 2.方法 2.1.返回字符位置(indexOf()) 该 ...
 - 转载--关于FPGA设计数字信号处理电路的心得
			
FPGA使用的越来越广泛,除了可用于设计控制电路以为,数字信号处理电路更是FPGA的强项和难点.个人可以说才刚刚入门FPGA设计,也做过一些数字信号处理方面的电路设计,记录下个人心得体会. (一)善用 ...
 - SQL注入的简单认识
			
写在前面 MYSQL5.0之后的版本,默认在数据库中存放一个information_schema的数据库,其中应该记住里面的三个表SCHEMATA.TABLES.COLUMNS SCHEMATA表:存 ...
 - [CSP-S模拟测试]:联盟(搜索+树的直径)
			
题目描述 $G$国周边的$n$个小国家构成一个联盟以抵御$G$国入侵,为互相支援,他们建立了$n−1$条双向通路,使得任意两个国家可以经过通路相互到达.当一个国家受到攻击时,所有其它国家都会沿着最短路 ...
 - Redis的高级特性一览
			
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 应用场景 缓存系统:用于缓解数据库的高并发压力 计数器:使用Redis原子操作,用于社交网络的转发数,评论数,粉丝数 ...
 - CSS-使整个页面上的全部元素可编辑
			
# [在线预览](https://jsfiddle.net/1010543618/6zu1gush/) ## 方法一 - 使用 html 的 contenteditable 属性: [HTML 5 全 ...