Ceph分布式存储实战1.4 Ceph快速安装

1.4 Ceph快速安装


在Ceph官网上提供了两种安装方式:快速安装和手动安装。快速安装采用Ceph-Deploy工具来部署;手动安装采用官方教程一步一步来安装部署Ceph集群,过于烦琐但有助于加深印象,如同手动部署OpenStack一样。但是,建议新手和初学者采用第一种方式快速部署并且测试,下面会介绍如何使用Ceph-Deploy工具来快速部署Ceph集群。

1.4.1 Ubuntu/Debian安装

本节将介绍如何使用Ceph-Deploy工具来快速部署Ceph集群,开始之前先普及一下Ceph-Deploy工具的知识。Ceph-Deploy工具通过SSH方式连接到各节点服务器上,通过执行一系列脚本来完成Ceph集群部署。Ceph-Deploy简单易用同时也是Ceph官网推荐的默认安装工具。本节先来讲下在Ubuntu/Debian系统下如何快速安装Ceph集群。

1)配置Ceph APT源。

root@localhos`t:~# echo deb http://ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

2)添加APT源key。

root@localhost:~# wget –q –O -'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -

3)更新源并且安装ceph-deploy。

root@localhost:~# sudo apt-get update &&sudo apt-get install ceph-deploy -y

4)配置各个节点hosts文件。

root@localhost:~# cat /etc/hosts

192.168.1.2  node1

192.168.1.3  node2

192.168.1.4  node3

5)配置各节点SSH无密码登录,这就是本节开始时讲到的Ceph-Deploy工具要用过SSH方式连接到各节点服务器,来安装部署集群。输完ssh-keygen命令之后,在命令行会输出以下内容。

root@localhost:~# ssh-keygen

Generating public/private key pair.

Enter file in which to save the key (/ceph-client/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /ceph-client/.ssh/id_rsa.

Your public key has been saved in /ceph-client/.ssh/id_rsa.pub

6)复制key到各节点。

root@localhost:~# ssh-copy-idnode1

root@localhost:~# ssh-copy-idnode2

root@localhost:~# ssh-copy-idnode3

7)在执行ceph-deploy的过程中会生成一些配置文件,建议创建一个目录,例如my-cluster。

root@localhost:~# mkdir my-cluster

root@localhost:~# cd my-cluster

8)创建集群(Cluster),部署新的monitor节点。

root@localhost:~# ceph-deploy new {initial-monitor-node(s)}

例如:

root@localhost:~# ceph-deploy new node1

9)配置Ceph.conf配置文件,示例文件是默认的,可以根据自己情况进行相应调整和添加。具体优化情况本书后面会介绍。

[global]

fsid = 67d997c9-dc13-4edf-a35f-76fd693aa118

mon_initial_members = node1,node2

mon_host = 192.168.1.2,192.168.1.3

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

filestore_xattr_use_omap = true

<!-----以上部分都是ceph-deploy默认生成的---->

public network = {ip-address}/{netmask}

cluster network={ip-addesss}/{netmask}

<!-----以上两个网络是新增部分,默认只是添加public network,一般生产都是定义两个网络,集群网络和数据网络分开-------->

[osd]

……

[mon]

……

这里配置文件不再过多叙述。

10)安装Ceph到各节点。

root@localhost:~# ceph-deploy install {ceph-node}[{ceph-node} ...]

例如:

root@localhost:~# ceph-deploy install node1 node2 node3

11)获取密钥key,会在my-cluster目录下生成几个key。

root@localhost:~# ceph-deploy mon create-initial

12)初始化磁盘。

root@localhost:~# ceph-deploy disk zap {osd-server-name}:{disk-name}

例如:

root@localhost:~# ceph-deploy disk zap node1:sdb

13)准备OSD。

root@localhost:~# ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]

例如:

root@localhost:~# ceph-deploy osd prepare node1:sdb1:sdc

14)激活OSD。

root@localhost:~# ceph-deploy osd activate {node-name}:{data-disk-partition}[:{journal-disk-partition}]

例如:

root@localhost:~# ceph-deploy osd activate node1:sdb1:sdc

15)分发key。

root@localhost:~# ceph-deploy admin {admin-node} {ceph-node}

例如:

root@localhost:~# ceph-deploy admin node1 node2 node3

16)给admin key赋权限。

root@localhost:~# sudo chmod +r /etc/ceph/ceph.client.admin.keyring

17)查看集群健康状态,如果是active+clean状态就是正常的。

root@localhost:~# ceph health

安装Ceph前提条件如下。

① 时间要求很高,建议在部署Ceph集群的时候提前配置好NTP服务器。

② 对网络要求一般,因为Ceph源在外国有时候会被屏蔽,解决办法多尝试机器或者代理。

1.4.2 RHEL/CentOS安装

本节主要讲一下在RHEL/CentOS系统下如何快速安装Ceph集群。

1)配置Ceph YUM源。

root@localhost:~# vim /etc/yum.repos.d/ceph.repo

[ceph-noarch]

name=Cephnoarch packages

baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc

2)更新源并且安装ceph-deploy。

root@localhost:~# yum update &&yum install ceph-deploy -y

3)配置各个节点hosts文件。

root@localhost:~# cat /etc/hosts

192.168.1.2  node1

192.168.1.3  node2

192.168.1.4  node3

4)配置各节点SSH无密码登录,通过SSH方式连接到各节点服务器,以安装部署集群。输入ssh-keygen命令,在命令行会输出以下内容。

root@localhost:~# ssh-keygen

Generating public/private key pair.

Enter file in which to save the key (/ceph-client/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /ceph-client/.ssh/id_rsa.

Your public key has been saved in /ceph-client/.ssh/id_rsa.pub

5)拷贝key到各节点。

root@localhost:~# ssh-copy-id node1

root@localhost:~# ssh-copy-id node2

root@localhost:~# ssh-copy-id node3

6)在执行ceph-deploy的过程中会生成一些配置文件,建议创建一个目录,例如my-cluster。

root@localhost:~# mkdir my-cluster

root@localhost:~# cd my-cluster

7)创建集群(Cluster),部署新的monitor节点。

root@localhost:~# ceph-deploy new {initial-monitor-node(s)}

例如:

root@localhost:~# ceph-deploy new node1

8)配置Ceph.conf配置文件,示例文件是默认的,可以根据自己情况进行相应调整和添加。具体优化情况本书后面会介绍。

[global]

fsid = 67d997c9-dc13-4edf-a35f-76fd693aa118

mon_initial_members = node1,node2

mon_host = 192.168.1.2,192.168.1.3

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

filestore_xattr_use_omap = true

<!-----以上部分都是ceph-deploy默认生成的---->

public network = {ip-address}/{netmask}

cluster network={ip-addesss}/{netmask}

<!-----以上两个网络是新增部分,默认只是添加public network,一般生产都是定义两个网络,集群网络和数据网络分开-------->

[osd]

……

[mon]

……

这里配置文件不再过多叙述。

9)安装Ceph到各节点。

root@localhost:~# ceph-deploy install {ceph-node}[{ceph-node} ...]

例如:

root@localhost:~# ceph-deploy install node1 node2 node3

10)获取密钥key,会在my-cluster目录下生成几个key。

root@localhost:~# ceph-deploy mon create-initial

11)初始化磁盘。

root@localhost:~# ceph-deploy disk zap {osd-server-name}:{disk-name}

例如:

root@localhost:~# ceph-deploy disk zap node1:sdb

12)准备OSD。

root@localhost:~# ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]

例如:

root@localhost:~# ceph-deploy osd prepare node1:sdb1:sdc

13)激活OSD。

root@localhost:~# ceph-deploy osd activate {node-name}:{data-disk-partition}[:{journal-disk-partition}]

例如:

root@localhost:~# ceph-deploy osd activate node1:sdb1:sdc

14)分发key。

root@localhost:~# ceph-deploy admin {admin-node} {ceph-node}

例如:

root@localhost:~# ceph-deploy admin node1 node2 node3

15)给admin key赋权限。

root@localhost:~# sudo chmod +r /etc/ceph/ceph.client.admin.keyring

16)查看集群健康状态,如果是 active + clean 状态就是正常的。

root@localhost:~# ceph health

时间: 2024-10-26 21:36:01

Ceph分布式存储实战1.4 Ceph快速安装的相关文章

Ceph分布式存储实战.

云计算与虚拟化技术丛书 Ceph分布式存储实战 Ceph中国社区 著 图书在版编目(CIP)数据 Ceph分布式存储实战/Ceph中国社区著. -北京:机械工业出版社,2016.11 (云计算与虚拟化技术丛书) ISBN 978-7-111-55358-8 I. C- II. C- III. 分布式文件系统 IV. TP316 中国版本图书馆CIP数据核字(2016)第274895号 Ceph分布式存储实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编

Ceph分布式存储实战导读

前言 随着信息化浪潮的到来,全球各行各业逐步借助信息技术深入发展.据悉,企业及互联网数据以每年50%的速率在增长.据权威调查机构Gartner预测,到2020年,全球数据量将达到35ZB,相当于80亿块4TB硬盘,数据结构的变化给存储系统带来了全新的挑战.那么有什么方法能够存储这些数据呢?我认为Ceph是解决未来十年数据存储需求的一个可行方案.Ceph是存储的未来!SDS是存储的未来! 为什么写这本书 目前,磁盘具备容量优势,固态硬盘具备速度优势.但能否让容量和性能不局限在一个存储器单元呢?我们

Ceph分布式存储实战 1.1 Ceph概述

初识Ceph 1.1 Ceph概述 1. Ceph简介 从2004年提交第一行代码开始到现在,Ceph已经是一个有着十年之久的分布式存储系统软件,目前Ceph已经发展为开源存储界的当红明星,当然这与它的设计思想以及OpenStack的推动有关. "Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability."这句话说出了Ceph

Ceph分布式存储实战1.2 Ceph的功能组件

1.2 Ceph的功能组件 Ceph提供了RADOS.OSD.MON.Librados.RBD.RGW和Ceph FS等功能组件,但其底层仍然使用RADOS存储来支撑上层的那些组件,如图1-2所示.   图1-2 Ceph功能组件的整体架构 下面分为两部分来讲述Ceph的功能组件. (1)Ceph核心组件 在Ceph存储中,包含了几个重要的核心组件,分别是Ceph OSD.Ceph Monitor和Ceph MDS.一个Ceph的存储集群至少需要一个Ceph Monitor和至少两个Ceph的O

Ceph分布式存储实战3.2 CRUSH基本原理

3.2 CRUSH基本原理 众所周知,存储设备具有吞吐量限制,它影响读写性能和可扩展性能.所以,存储系统通常都支持条带化以增加存储系统的吞吐量并提升性能,数据条带化最常见的方式是做RAID.与Ceph的条带化最相似的是RAID 0或者是"带区卷".Ceph条带化提供了类似于RAID 0的吞吐量,N路RAID镜像的可靠性以及更快速的恢复能力. 在磁盘阵列中,数据是以条带(stripe)的方式贯穿在磁盘阵列所有硬盘中的.这种数据的分配方式可以弥补OS读取数据量跟不上的不足. 1)将条带单元

Ceph分布式存储实战3.1 引言

智能分布CRUSH 3.1 引言 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下3个因素. 1)故障域隔离.同份数据的不同副本分布在不同的故障域,降低数据损坏的风险. 2)负载均衡.数据能够均匀地分布在磁盘容量不等的存储节点,避免部分节点空闲,部分节点超载,从而影响系统性能. 3)控制节点加入离开时引起的数据迁移量.当节点离开时,最优的数据迁移是只有离线节点上的数据被迁移到其他节点,而正常工作的节点的数据不会发生迁移. 对象存储中一致性Hash和Ceph的CRUSH算法是使用

Ceph分布式存储实战3.3 CRUSH关系分析

3.3 CRUSH关系分析 从本质上讲,CRUSH算法是通过存储设备的权重来计算数据对象的分布的.在计算过程中,通过Cluster Map(集群映射).Data Distribution Policy(数据分布策略)和给出的一个随机数共同决定数据对象的最终位置. 1. Cluster Map Cluster Map记录所有可用的存储资源及相互之间的空间层次结构(集群中有多少个机架.机架上有多少服务器.每个机器上有多少磁盘等信息).所谓的Map,顾名思义,就是类似于我们生活中的地图.在Ceph存储

Ceph分布式存储实战2.4 本章小结

2.4 本章小结 本章从宏观角度剖析了Ceph架构,将Ceph架构分为基础存储系统RADOS.基于RADOS实现的CEPHFS,基于RADOS的LIBRADOS层应用接口.基于LIBRADOS的应用接口RBD.RADOSGW,其中着重讲解了RADOS的组成部分MON.OSD及其功能,最后解析LIBRADOS API的基本用法.

《 Ceph分布式存储学习指南》导读

本节书摘来自华章出版社< Ceph分布式存储学习指南>一书中,作者Richard Banfield 著 易艺 译   目录 第1章 Ceph存储介绍 1.1 概要 1.2 Ceph的历史和发展 1.3 Ceph和存储的未来 1.4 兼容性组合 1.5 Ceph块存储 1.6 Ceph文件系统 1.7 Ceph对象存储 1.8 Ceph与其他存储解决方案 1.9 GPFS 1.10 iRODS 1.11 HDFS 1.12 Lustre 1.13 Gluster 1.14 Ceph 总结 第2章