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 ...
随机推荐
- bzoj 3301 Cow Line
题目大意: n的排列,K个询问 为P时,读入一个数x,输出第x个全排列 为Q时,读入N个数,求这是第几个全排列 思路: 不知道康拓展开是什么,手推了一个乱七八糟的东西 首先可以知道 把排列看成是一个每 ...
- union 的一个简单例子,搜狗笔试题
union Test{ char a[4]; short b;};Test test;test.a[0]=256;test.a[1]=255;test.a[2]=254;test.a[3]= ...
- Spark 机器学习------逻辑回归
package Spark_MLlib import javassist.bytecode.SignatureAttribute.ArrayType import org.apache.spark.s ...
- shell脚本-数组
shell脚本-数组 数组 变量:存储单个元素的内存空间. 数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 数组索引:编号从0开始,属于数值索引.索引可支持使用自定义的格式,而不仅是数值格 ...
- Java命名规范(新手宝典)
很多刚开始学习Java的童鞋都不知道如何命名类文件,方法名,字段名,常量名等,今天抽出时间整理了了一下.大佬绕过 Java命名的组成规则:英文大小写字母,数字,$和_. 这里有几点需要注意: 不能以数 ...
- MySQL数据库笔记总结
MySQL数据库总结 一.数据库简介 1. 数据 所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的.抽象的.它不仅仅指狭义上的数字,而是有多种表现形式:字母.文字.文本. ...
- ORCLE 服务器下 in、instr、like的速度比较
情景一(百万级数据):有一个表 (JG_COLLECT_FORM_QGZYXFPHFWJGJC1 ) 有数据条数 :1177472 条 结果:330542条 1.in: SELECT count( ...
- Windows键盘驱动结构与消息机制--转
https://www.douban.com/note/318793892/ 本文主要介绍按键消息是如何传递到窗口并转化为具体的按键消息的. Windows系统是事件驱动的多任务系统,其中按键和鼠标是 ...
- MVC系列学习(四)-初识Asp.NetMVC框架
注:本文章从伯乐那盗了两张图,和一些文字: 1.MVC设计模式 与 Asp.Net Mvc框架 a.MVC设计模式 MVC设计模式 是一种 软件设计模式,将业务逻辑 与 界面显示 分离,并通过某种方式 ...
- P1418 选点问题
题目描述 给出n个点,m条边,每个点能控制与其相连的所有的边,要求选出一些点,使得这些点能控制所有的边,并且点数最少.同时,任意一条边不能被两个点控制 输入输出格式 输入格式: 第一行给出两个正整数n ...