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.backupcurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repomv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backupmv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backupcurl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install centos-release-ceph-luminous -y
yum update -yyum installl ceph-deploy -y
yum install ntp ntpdate ntp-doc -y
yum install openssh-server -y
#生成秘钥对ssh-keygen#将管理节点公钥注入到其他serverssh-copy-id SERVER-
yum install yum-plugin-priorities -y
部署集群
#在管理节点使用ceph-deploy部署ceph cluster#创建部署目录mkdir ~/my-clustercd ~/my-cluster#从头开始(非第一次部署ceph,清理环境)ceph-deploy purge {ceph-node}[{ceph-node}]ceph-deploy purgedata {ceph-node}[{ceph-node}]ceph-deploy forgetkeysrm ceph.*##创建集群#创建monitor节点#例如:ceph-deploy new {initial-monitor-node(s)}ceph-deploy new node1#安装ceph包到各个节点ceph-deploy install node1 node2 node3#初始化monitor节点,获取keysceph-deploy mon create-initial#上述命令执行成功后,你会在当前目录下得到以下keyring文件ceph.client.admin.keyringceph.bootstrap-mgr.keyringceph.bootstrap-osd.keyringceph.bootstrap-mds.keyringceph.bootstrap-rgw.keyringceph.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 healthceph -s
扩展集群

#添加metadate serverceph-deploy mds create node1#添加monitorsceph-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.txtceph osd pool create mytest 8#使用rados put 命令指定对象名,含有对象数据的测试文件,pool name#rados put {object-name} {file-path} --pool=mytestrados put test-object-1 testfile.txt --pool=mytest#验证ceph集群已经存储了此objectrados -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]#删除测试对象objectrados rm test-object-1--pool-mytest#删除mytest poolceph osd pool rm mytest
tip:如果虚拟机没有硬盘,可使用裸设备模拟
#安装lvmyum install lvm2 -y#创建虚拟磁盘mkdir /ceph && dd if=/dev/zero of=/ceph/ceph-volumes.img bs=1M count=10240 oflag=directsgdisk -g --clear /ceph/ceph-volumes.imgvgcreate ceph-volumes $(losetup --show -f /ceph/ceph-volumes.img)lvcreate -L 9G -n ceph1 ceph-volumesmkfs.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 ...
随机推荐
- C# 学习笔记 三层架构系列(控件一)
下面是我两周的学习总结:这是我写给自己的,如果哪位朋友有幸看到这篇文章就是缘分.如果所说的内容不对,就请纠正.勿喷!!! 想要将两周的学习知识通过文字.通过代码.通过图片储备起来,以防自己那天思维短路 ...
- java web中路径问题。
转自:http://blog.csdn.net/liang5630/article/details/38474543 如有侵权,请及时联系本人及时删除 在java web种经常出现 404找不到网页的 ...
- cmd 命令操纵文件管理器、创建(删除)多级文件夹
命令行打开文件夹窗口的六种方法 1. 使用 start 命令 # 打开指定文件夹 > start 路径 # 打开当前文件夹 > start . # 打开含空格文件夹 > start ...
- hibernate缓存机制详细分析(一级、二级、查询缓存,非常清晰明白)
本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题. 随笔虽长,但我相信 ...
- PCB SQL SERVER 发送邮件(异步改同步)
采用SQL SERVER发送邮件是队列方式(异步)发送邮件,所以在我们执行发送邮件后,无法立即获取到邮件是否发送成功了,而在PCB行业实际应用中是需要立即获取发送邮件是否成功的状态来决定下一步逻辑该如 ...
- Linex系统 配置php服务器
此文是可以参考 楼主也不是系统管理员只是迫不得已所以自己才找的 大家可以参考 .... ..... 安装apache 安装mysql 安装PHP 测试服务器 php -v 查询php的版本 就这些了 ...
- linux 如何查看进程的执行时间
ps -ef|grep wo.php 得到 程序的pid 如 123 ps -p 123 -o etime
- 灾备还原之gitlab
灾备还原之gitlab 备份情景:服务器A架设了gitlab,定期通过duplicity发送加密备份给B服务器,现在由于某种情况生产机器A完全无法访问(主机商跑路?硬盘冒烟?服务器BOOM了?),本地 ...
- Spring IOC set注入
Hobby.java package com.wh.bean; public class Hobby { private Integer id; private String name; public ...
- ASP.NET AJAX应用
ASP.NET AJAX能够快速地创建具有丰富的用户体验的页面,而且这些页面由可靠和熟悉的用户接口元素组成,包括一个能快速响应的用户体验和熟悉的用户元素. 使用ASP.NET AJAX,可以改善We ...