1、ceph-deploy之部署ceph集群
环境说明
- 公网-http://download.ceph.com,http://mirrors.aliyun.com
- 内网-自建mirrors
架构说明

准备工作
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install centos-release-ceph-luminous -y
yum update -y
yum installl ceph-deploy -y
yum install ntp ntpdate ntp-doc -y
yum install openssh-server -y
#生成秘钥对
ssh-keygen
#将管理节点公钥注入到其他server
ssh-copy-id SERVER-
yum install yum-plugin-priorities -y
部署集群
#在管理节点使用ceph-deploy部署ceph cluster
#创建部署目录
mkdir ~/my-cluster
cd ~/my-cluster
#从头开始(非第一次部署ceph,清理环境)
ceph-deploy purge {ceph-node}[{ceph-node}]
ceph-deploy purgedata {ceph-node}[{ceph-node}]
ceph-deploy forgetkeys
rm ceph.*
##创建集群
#创建monitor节点
#例如:ceph-deploy new {initial-monitor-node(s)}
ceph-deploy new node1
#安装ceph包到各个节点
ceph-deploy install node1 node2 node3
#初始化monitor节点,获取keys
ceph-deploy mon create-initial
#上述命令执行成功后,你会在当前目录下得到以下keyring文件
ceph.client.admin.keyring
ceph.bootstrap-mgr.keyring
ceph.bootstrap-osd.keyring
ceph.bootstrap-mds.keyring
ceph.bootstrap-rgw.keyring
ceph.bootstrap-rbd.keyring
#将keyring文件分发到各个节点
ceph-deploy admin node1 node2 node3
#部署manager(l版本之上才需要)
ceph-deploy mgr create node1
#部署osd节点(这里使用虚拟机,挂载了/dev/vdb卷)
ceph-deploy osd create node1:/dev/vdb node2:/dev/vdb node3:/dev/vdb
#检查集群,在管理节点执行
ceph health
ceph -s
扩展集群

#添加metadate server
ceph-deploy mds create node1
#添加monitors
ceph-deploy mon add node2 node3
#添加新的monitor节点之后,ceph会同步monitor,选举代表quorum
#查看quorum状态
ceph quorum_status --format json-pretty
#添加managers
#manager使用active/standby模式,多节点部署,可以在master down时,无缝顶替
ceph-deploy mgr create node2 node3
#添加rgw实例
#为了使用ceph object gateway,需要部署rgw实
例ceph-deploy rgw create node1
#rgw默认监听端口是7480,可以通过编辑ceph.conf修改端口
[client]
rgw frontends = civetweb port=80
存储、检索对象数据
ceph osd map {poolname}{object-name}
#创建一个对象,测试文件
echo {Test-data}> testfiles.txt
ceph osd pool create mytest 8
#使用rados put 命令指定对象名,含有对象数据的测试文件,pool name
#rados put {object-name} {file-path} --pool=mytest
rados put test-object-1 testfile.txt --pool=mytest
#验证ceph集群已经存储了此object
rados -p mytest ls
#找到对象位置
#ceph osd map {pool-name} {object-name}
ceph osd map mytest test-oobject-1
#ceph会输出对象位置
osdmap e537 pool 'mytest'(1) object 'test-object-1'-> pg 1.d1743484(1.4)-> up [1,0] acting [1,0]
#删除测试对象object
rados rm test-object-1--pool-mytest
#删除mytest pool
ceph osd pool rm mytest
tip:如果虚拟机没有硬盘,可使用裸设备模拟
#安装lvm
yum install lvm2 -y
#创建虚拟磁盘
mkdir /ceph && dd if=/dev/zero of=/ceph/ceph-volumes.img bs=1M count=10240 oflag=direct
sgdisk -g --clear /ceph/ceph-volumes.img
vgcreate ceph-volumes $(losetup --show -f /ceph/ceph-volumes.img)
lvcreate -L 9G -n ceph1 ceph-volumes
mkfs.xfs -f /dev/ceph-volumes/ceph1
#挂载
mkdir -p /var/local/osd1
- chown ceph:ceph /var/local/osd1 #修改属主属组,不然在添加osd时候会报权限错误
mount /dev/ceph-volumes/ceph1 /var/local/osd1
1、ceph-deploy之部署ceph集群的更多相关文章
- 使用kubeadm部署Kubernetes集群
一.环境架构与部署准备 1.集群节点架构与各节点所需安装的服务如下图: 2.安装环境与软件版本: Master: 所需软件:docker-ce 17.03.kubelet1.11.1.kubeadm1 ...
- CentOS上手工部署kubernetes集群
本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...
- 高可用Kubernetes集群-14. 部署Kubernetes集群性能监控平台
参考文档: Github介绍:https://github.com/kubernetes/heapster Github yaml文件: https://github.com/kubernetes/h ...
- kubeadm部署Kubernetes集群
Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...
- (二)Kubernetes kubeadm部署k8s集群
kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理 ...
- 部署TiDB集群
架构图 节点规划 120.52.146.213 Control Machine 120.52.146.214 PD1_TiDB1 120.52.146.215 PD2_TiDB2 120.52.146 ...
- AMBARI部署HADOOP集群(4)
通过 Ambari 部署 hadoop 集群 1. 打开 http://192.168.242.181:8080 登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INS ...
- 基于Ambari Server部署HDP集群实战案例
基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...
- 使用kubeadm部署k8s集群[v1.18.0]
使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.6 ...
- 通过kubeadm快速部署K8S集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 $ kubeadm i ...
随机推荐
- bzoj1997 [Hnoi2010]Planar——2-SAT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1997 神奇的经典2-SAT问题! 对于两个相交的区间,只能一里一外连边,所以可以进行2-SA ...
- linux 条件测试 ******
文件状态测试 -b filename 当filename 存在并且是块文件时返回真(返回0) -c filename 当filename 存在并且是字符文件时返回真 -d pathname 当path ...
- oracleXE简易版---使用基础
1.开启服务 2.更改端口号 a) EX修改HTTP服务端口,避免和TOMCAT端口冲突 Oracel默认会启动HTTP服务,占有端口8080,但一般8080时TOMCAT的配置端口 可以修改TO ...
- codevs1230元素查找(hash)
1230 元素查找 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给出n个正整数,然后有m个询问,每个询问一个 ...
- IDEA新项目代码上传到gitlab远程仓库
IDEA新项目代码上传到gitlab远程仓库 具体步骤 创建本地仓库 IDEA:VCS-->Import into Version Control-->Create Git Reposit ...
- Visual Studio Code配置GitHub(Win7环境)
一.软件环境说明(演示环境) 1.操作系统:Windows7旗舰版(64bit) 2.Visual Studio Code版本:1.32.3 3.Git版本:2.21.0.windows.1 二.软件 ...
- Jmeter jdbc连接
1.下载对应的驱动包(mysql-connector-java-5.1.13-bin.jar 可能现在有跟新的版本了),并放到Jmeter目录中的lib文件 2.打开Jmeter,添加JDBC Con ...
- android GPS 定位,取位置信息
现在很多app ,需要取位置信息,所以我也做了一个模块用来取位置信息: 加入位置服务所需的权限: <uses-permission android:name="android.pe ...
- 363 Max Sum of Rectangle No Larger Than K 最大矩阵和不超过K
Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix s ...
- 12 C#中的方法
还记得我们的第一个程序吗?忘记了?那你要努力了.我们的第一个程序是就是往dos窗口输出一些字符串.在哪个程序中只有一个方法,Main方法.Main方法是一个特殊的方法,但是它也是一个方法.为什么说Ma ...