Ceph 存储集群3-部署:
ceph-deploy 工具是一种部署 Ceph 的方法,它只依赖到服务器的 SSH 访问、 sudo 和 Python 。它可在你的工作站上运行,不需要服务器、数据库、或其它工具。如果你安装、拆卸过很多 Ceph 集群,不想要额外的工具,那 ceph-deploy 是理想之选。它不是个通用部署系统,只为 Ceph 用户设计,用它可以快速地设置并运行一个默认值较合理的集群,而无需头疼 Chef 、 Puppet 或 Juju 的安装。如果您想全面控制安全设置、分区、或目录位置,可以试试类似 Juju 、 Chef 、 Crowbar 的工具。
用 ceph-deploy 你可以自己开发脚本往远程主机上安装 Ceph 软件包、创建集群、增加监视器、收集(或销毁)密钥、增加 OSD 和元数据服务器、配置管理主机,甚至拆除集群。
一、创建一集群
使用 ceph-deploy 的第一步就是新建一个集群,新集群具备:
一个 Ceph 配置文件,以及 一个监视器密钥环
Ceph 配置文件至少要包含:
它自己的文件系统 ID ( fsid ) 最初的监视器(们)及其主机名(们),以及 最初的监视器及其 IP 地址
用法
要用 ceph-deploy 创建集群,用 new 命令、并指定几个主机作为初始监视器法定人数。
ceph-deploy new {host [host], ...}
例如:
ceph-deploy new mon1.foo.com ceph-deploy ,,}
ceph-deploy 工具会用 DNS 把主机名解析为 IP 地址。监视器将被命名为域名的第一段(如前述的 mon1 ),它会把指定主机名加入 Ceph 配置文件。其他用法见:
ceph-deploy new -h
命名集群
Ceph 集群的默认名字为 ceph ,如果你想在同一套硬件上运行多套集群可以指定其他名字。比如,如果想优化一个集群用于块设备,另一个用作网关,你可以在同一套硬件上运行两个不同的集群,但是它们要配置不同的 fsid 和集群名。
ceph-deploy –cluster {cluster-name} new {host [host], ...}
例如:
ceph-deploy --cluster rbdcluster new ceph-mon1 ceph-deploy --cluster rbdcluster ,,}
注意:如果你运行多个集群,必须修改默认端口选项并为其打开端口,这样两个不同的集群网才不会相互冲突。
二、增加/删除监视器
用 ceph-deploy 增加和删除监视器很简单,只要一个命令就可以增加或删除一或多个监视器。以前,增加和删除监视器涉及数个手动步骤。用 ceph-deploy 也预示着一个局限性,你只能在一主机上安装一个监视器。
注意:我们不建议把监视器和 OSD 置于同一主机上。
考虑到高可用性,生产集群应该至少有 3 个监视器。 Ceph 用 Paxos 算法,要求法定人数里的大多数达成一致。你可以只用一个监视器形成法定人数,然而你不能用两个监视器确定大多数。大多数监视器的比例必须像: 1:1 、 2:3 、 3:4 、 3:5 、 4:6 等等。
增加一监视器
创建集群并在监视器主机上安装 Ceph 软件包后,接着部署监视器。用 ceph-deploy 时,它限制一主机只能装一个监视器。
ceph-deploy mon create {host-name [host-name]...}
注意:
1.确保你增加的监视器能在大多数成员中达成一致,否则其它步骤(像 ceph-deploy gatherkeys )可能会失败
2.在一主机上新增监视器时,如果它不是由 ceph-deploy new 命令所定义的,那就必须把 public network 加入 ceph.conf 配置文件
删除一监视器
如果你想删除集群中的某个监视器,可以用 destroy 选项
ceph-deploy mon destroy {host-name [host-name]...}
注意:确保你删除一监视器后,其余监视器仍能达成一致。如果不可能,删除它之前先加一个
三、密钥管理
收集密钥
在准备一台主机作为 OSD 或元数据服务器时,你得收集监视器、 OSD 、和 MDS 的初始密钥环,可用下列命令
ceph-deploy gatherkeys {monitor-host}
注意:
1.检索密钥时,指定一个包含 Ceph 监视器的主机
2.如果建设集群时配置了多个监视器,需确保它们都已启动且在运行。如果监视器没能形成法定人数, ceph-create-keys 就会失败、且不会生成密钥。
销毁密钥
不再使用 ceph-deploy (或另建一集群)时,你应该删除管理主机上、本地目录中的密钥。可用下列命令:
ceph-deploy forgetkeys
四、增加/删除 OSD
新增和拆除 Ceph 的 OSD 进程相比其它两种要多几步。 OSD 守护进程把数据写入磁盘和日志,所以你得相应地提供一 OSD 数据盘和日志分区路径(这是最常见的配置,但你可以按需调整)。
从 Ceph v0.60 起, Ceph 支持 dm-crypt 加密的硬盘,在准备 OSD 时你可以用 --dm-crypt 参数告诉 ceph-deploy 你想用加密功能。也可以用 --dmcrypt-key-dir 参数指定 dm-crypt 加密密钥的位置。
在投建一个大型集群前,你应该测试各种驱动器配置来衡量其吞吐量。
列举磁盘
执行下列命令列举一节点上的磁盘:
ceph-deploy disk list {node-name [node-name]...}
擦净磁盘
用下列命令擦净(删除分区表)磁盘,以用于 Ceph :
ceph-deploy disk zap {osd-server-name}:{disk-name}
ceph-deploy disk zap osdserver1:sdb
注意:这会删除所有数据
准备 OSD
创建集群、安装 Ceph 软件包、收集密钥完成后你就可以准备 OSD 并把它们部署到 OSD 节点了。
ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]
ceph-deploy osd prepare osdserver1:sdb:/dev/ssd
ceph-deploy osd prepare osdserver1:sdc:/dev/ssd
prepare 命令只准备 OSD 。在大多数操作系统中,硬盘分区创建后,不用 activate 命令也会自动执行 activate 阶段(通过 Ceph 的 udev 规则)。
前例假定一个硬盘只会用于一个 OSD 守护进程,以及一个到 SSD 日志分区的路径。我们建议把日志存储于另外的驱动器以最优化性能;你也可以指定一单独的驱动器用于日志(也许比较昂贵)、或者把日志放到 OSD 数据盘(不建议,因为它有损性能)。
注意:在一个节点运行多个 OSD 守护进程、且多个 OSD 守护进程共享一个日志分区时,你应该考虑整个节点的最小 CRUSH 故障域,因为如果这个 SSD 坏了,所有用其做日志的 OSD 守护进程也会失效
激活 OSD
准备好 OSD 后,可以用下列命令激活它。
ceph-deploy osd activate {node-name}:{data-disk-partition}[:{journal-disk-partition}]
ceph-deploy osd activate osdserver1:/dev/sdb1:/dev/ssd1
ceph-deploy osd activate osdserver1:/dev/sdc1:/dev/ssd2
activate 命令会让 OSD 进入 up 且 in 状态,此命令所用路径和 prepare 相同。
创建 OSD
你可以用 create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它。 create 命令是依次执行 prepare 和 activate 命令的捷径。
ceph-deploy osd create {node-name}:{disk}[:{path/to/journal}]
ceph-deploy osd create osdserver1:sdb:/dev/ssd1
五、增加/拆除元数据服务器
用 ceph-deploy 增加和拆除元数据服务器很简单,只要一个命令就可以增加或拆除一或多个元数据服务器。
注意:必须部署至少一个元数据服务器才能使用 CephFS 文件系统,多个元数据服务器并行运行仍处于实验阶段。不要在生产环境下运行多个元数据服务器。
增加一元数据服务器
部署完监视器和 OSD 后,还可以部署元数据服务器。
ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...]
如果你想在同一主机上运行多个守护进程,可以为每个进程指定名字(可选)。
Ceph 存储集群3-部署:的更多相关文章
- Ceph 存储集群第一部分:配置和部署
内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/ 所有 Ceph 部署都始于 Ceph 存储集群. 基于 RADOS 的 Ceph 对象存储 ...
- Ceph 存储集群
Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...
- 002.RHCS-配置Ceph存储集群
一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...
- Ceph 存储集群 - 搭建存储集群
目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容) 一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...
- Ceph 存储集群搭建
前言 Ceph 分布式存储系统,在企业中应用面较广 初步了解并学会使用很有必要 一.简介 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统.它具有高可靠性.安装方便.管理简便.能够 ...
- Ceph 存储集群5-数据归置
一.数据归置概览 Ceph 通过 RADOS 集群动态地存储.复制和重新均衡数据对象.很多不同用户因不同目的把对象存储在不同的存储池里,而它们都坐落于无数的 OSD 之上,所以 Ceph 的运营需要些 ...
- Ceph 存储集群4-高级运维:
一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集 ...
- Ceph 存储集群2-配置:心跳选项、OSD选项、存储池、归置组和 CRUSH 选项
一.心跳选项 完成基本配置后就可以部署.运行 Ceph 了.执行 ceph health 或 ceph -s 命令时,监视器会报告 Ceph 存储集群的当前状态.监视器通过让各 OSD 自己报告.并接 ...
- Ceph 存储集群1-配置:硬盘和文件系统、配置 Ceph、网络选项、认证选项和监控器选项
所有 Ceph 部署都始于 Ceph 存储集群.基于 RADOS 的 Ceph 对象存储集群包括两类守护进程: 1.对象存储守护进程( OSD )把存储节点上的数据存储为对象: 2.Ceph 监视器( ...
- ceph存储集群的应用
1.ceph存储集群的访问接口 1.1ceph块设备接口(RBD) ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned). ...
随机推荐
- Vue-cli2.0
本文的学习来自技术胖大神的教程:https://jspang.com/ Vue-cli是vue官方出品的快速构建单页应用的脚手架 开发一个项目,在开始的时候,会构建项目结构.webpack.怎么运行. ...
- $SCOI2009\ windy$数 数位$dp$
\(Sol\) 数位\(dp\)常规套路题. \(dp[i][j]\)表示从低位到高位填到第\(i\)位且第\(i\)位的数字为\(j\)的方案数.答案就是\(sol(r)-sol(l+1).\)这里 ...
- VBA工程密码破解
如何破解VBA密码呢? 见过网上很多关于破解VBA工程密码的方式,最常见的如下这种,但其实对于很多版本是不可行的. 基本都会提示“请先对VBA编码设置一个保护密码...” Sub VBAPassw ...
- 「模拟赛 2018-11-02」T3 老大 解题报告
老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图),由于新建的办公室太大以 ...
- ACWing 248. 窗内的星星|扫描线+懒惰标记
传送门 题目描述 在一个天空中有很多星星(看作平面直角坐标系),已知每颗星星的坐标和亮度(都是整数). 求用宽为W.高为H的矩形窗户(W,H为正整数)能圈住的星星的亮度总和最大是多少.(矩形边界上的星 ...
- Vmware下Ubuntu 14.04静态IP地址的设置方法
一.环境 宿主机 Win 8.1 虚拟机工具 VMware 10.0 虚拟主机系统 Ubuntu 14.04 二.说明 这里需要注意的是:VMware对于VMnet8采用如下规则(192.168. ...
- how to render html tag
使用autoescaping If autoescaping is turned on in the environment, all output will automatically be esc ...
- .NET 在云原生时代的蜕变,让我在云时代脱颖而出
.NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开源和跨平台这两个关键优先事项,我们就可以放心了.云原生对应用运行时的不同需求,说明一个.NET Core 在云原生时 ...
- 重拾c++第一天(1):环境配置
时过多年,c++基本不记得了,故在此记录相关重拾记录. 学习语言第一步当然是环境配置了(笑),由于暂无用c++进行大型项目开发的需求,所以先下载dev进行过渡. 安装过程非常简单,值得注意的是配置时选 ...
- Vue 组件复用性和slot
1.组件可复用 2.slot元素作为组件模板之中的内容分发插槽,元素自身可以被替换 <!DOCTYPE html> <html lang="en"> < ...