CEPH分布式存储部署要点
Kubernetes中分布式存储Rook-Ceph部署快速演练

Kubernetes中分布式存储Rook-Ceph部署快速演练最近在项⽬中有涉及到Kubernetes的分布式存储部分的内容,也抽空多了解了⼀些。
项⽬主要基于Rook-Ceph运⾏,考虑到Rook-Ceph部署也不那么简单,的步骤起点也不算低,因此,在整合官⽅⽂档的某些步骤的基础上,写篇⽂章简单总结⼀下。
Rook-Ceph是Kubernetes中分布式存储的⼀种解决⽅案,Rook作为⼀种开源的、云原⽣的存储编排器,为各种存储服务在云原⽣的环境中实现⽆缝整合,提供了所必须的平台、框架和服务;⽽Ceph则是Rook所⽀持的众多存储⽅案的⼀种,在Kubernetes环境⾥,Ceph基于Rook能够为应⽤程序提供块存储(Block Storage),对象存储(Object Storage)以及共享⽂件系统(SFS)服务。
此处就不对Rook Ceph进⾏太多的介绍,直接步⼊正题,⼀步⼀步地演练Rook-Ceph从安装部署到使⽤的整个过程。
注意:本⽂所有的yaml⽂件都是为了配合整个演练过程⽽设计的,理论上不能直接⽤在⽣产环境。
如有需要,在⽤在⽣产环境之前,请确保所需的参数都已正确配置。
安装Kubernetes安装Kubernetes。
安装⽅法有很多,不怕⿇烦可以徒⼿安装,也可以直接使⽤云供应商的托管服务,⽐如Azure AKS,也可以使⽤Rancher RKE,在此就不赘述了。
安装Rook Ceph Operator这⾥我们基于Ceph来讨论。
事实上Rook⽀持Ceph、Cassandra、CockroachDB、EdgeFS、NFS以及YugabyteDB等多种存储供应商(Storage Provider),针对不同的存储供应商,Rook提供不同的Operator来进⾏资源的部署和管理。
使⽤下⾯的命令来安装Rook Ceph Operator:helm repo add rook-release https://charts.rook.io/releasekubectl create namespace rook-cephhelm install --namespace rook-ceph rook-ceph rook-release/rook-ceph安装Ceph集群(Ceph Cluster)可以使⽤下⾯的yaml⽂件:# ceph-cluster-deploy.yamlapiVersion: ceph.rook.io/v1kind: CephClustermetadata:name: rook-cephnamespace: rook-cephspec:cephVersion:image: ceph/ceph:v15.2.7allowUnsupported: falsedataDirHostPath: /var/lib/rookskipUpgradeChecks: falsecontinueUpgradeAfterChecksEvenIfNotHealthy: falsemon:count: 3allowMultiplePerNode: falsemgr:modules:- name: pg_autoscalerenabled: truedashboard:enabled: truessl: truemonitoring:enabled: falserulesNamespace: rook-cephnetwork:crashCollector:disable: falsecleanupPolicy:confirmation: ""sanitizeDisks:method: quickdataSource: zeroiteration: 1allowUninstallWithVolumes: falseannotations:labels:resources:removeOSDsIfOutAndSafeToRemove: falseuseAllNodes: trueuseAllDevices: falsedeviceFilter: nvme1n1config:osdsPerDevice: "1"disruptionManagement:managePodBudgets: falseosdMaintenanceTimeout: 30pgHealthCheckTimeout: 0manageMachineDisruptionBudgets: falsemachineDisruptionBudgetNamespace: openshift-machine-apihealthCheck:daemonHealth:mon:disabled: falseinterval: 45sosd:disabled: falseinterval: 60sstatus:disabled: falseinterval: 60slivenessProbe:mon:disabled: falsemgr:disabled: falseosd:disabled: false然后使⽤以下命令创建Ceph集群:kubectl create -f ceph-cluster-deploy.yaml命令执⾏成功之后,需要等待⼏分钟,以便OSD能够成功启动。
ceph 运维手册

ceph 运维手册一、引言1.Ceph 简介Ceph 是一款开源的分布式存储系统,它具有高度可扩展性、性能优异、易于管理等特点。
Ceph 能够为云计算、虚拟化和企业级存储场景提供稳定、可靠的存储服务。
2.Ceph 运维手册目的本手册旨在为运维人员提供一份详细的Ceph 运维指南,帮助读者更好地理解和掌握Ceph 存储系统的部署、管理、优化和维护。
二、Ceph 架构1.组件介绍(1)Ceph Monitor(MON)Ceph Monitor 负责维护整个集群的元数据信息,包括监控OSD 节点的状态、存储池配置等。
(2)Ceph OSD 节点Ceph OSD 节点是Ceph 集群中的存储节点,负责存储数据和处理数据复制、恢复等操作。
(3)Ceph 客户端Ceph 客户端用于访问Ceph 存储系统,为应用提供存储服务。
2.架构原理Ceph 采用去中心化的设计,将数据分散存储在多个OSD 节点上,并通过Ceph Monitor 进行统一管理。
数据在OSD 节点之间自动进行复制和分布,以保证数据的可靠性和性能。
三、Ceph 运维流程1.部署Ceph 集群(1)准备环境确保服务器硬件、网络和操作系统满足Ceph 部署要求。
(2)安装和配置Ceph 组件根据Ceph 版本和集群规模,安装MON、OSD 和客户端等相关组件。
(3)配置集群参数设置集群名称、存储池、副本数等参数,以满足业务需求。
2.Ceph 集群日常运维(1)监控集群状态使用Ceph 提供的命令行工具或监控工具,定期检查集群健康状况。
(2)扩容和缩容集群根据业务需求,动态调整集群规模和存储容量。
(3)处理故障遇到故障时,及时排查并采取相应措施解决问题。
3.Ceph 存储管理(1)创建和删除存储池根据业务需求,创建和管理存储池。
(2)配置和调整存储策略根据数据特点,设置合适的存储策略,以提高存储利用率。
(3)监控存储性能定期检查存储性能,优化存储配置。
Ceph分布式存储中遇到的问题和解决办法

Ceph分布式存储中遇到的问题和解决办法最近有很多朋友拿着一篇关于“ceph运维那些坑”的文章来找我,起初我并没有在意,毕竟对于一个“新物种”来说,存在质疑是再正常不过的。
不过,陆续有更多的合作伙伴甚至圈内同行来问我如何看待这篇文章时,我觉得做为一名Ceph开发和运维的技术者,理应站出来为Ceph说点什么。
首先,原作者分析Ceph运维中遇到的问题是真实存在的,甚至在实际的运维过程中还出现过其他更复杂的问题。
因为最初的Ceph只是社区提供的一套开源版,因而想要实现产品化需要趟过很多次“坑”,就像最早的安卓系统一样。
我想任何产品在一开始都难以做到十全十美,因为技术本身就是在发现问题与解决问题的道路上不断前进发展的。
不过,在这里我想澄清的事实是:连初涉Ceph的运维人员都能发现的问题,研究Ceph多年的资深技术人员们肯定也早已发现。
接下来我就根据那篇文章中提到的坑,来说一说在实际产品化过程中我们是如何解决它们的。
一、扩容问题Ceph本身基于Crush算法,具备了多种数据复制策略,可以选择在磁盘、主机、机柜等等位置附着。
例如:如果采取3副本的数据保护策略,就可以通过复制策略来决定这3个副本是否同时分布在不同的磁盘、不同的主机、不同的隔离域、不同的机柜等位置来保证部分硬件故障后数据安全性和服务运行不中断。
Ceph底层是用资源池(POOL)来实现数据逻辑隔离,往往我们会出现因容量或性能不足需要对资源池进行扩容的问题,但是在容量扩容过程中,势必会带来进行数据重新平衡的要求。
Ceph中数据以PG为单位进行组织,因此当数据池中加入新的存储单元(OSD)时,通过调整OSDMAP会带来数据重平衡。
正如文章所提到的,如果涉及到多个OSD的扩容是可能导致可用PG中OSD小于min_size,从而发生PG不可用、IO阻塞的情况。
为了尽量避免这种情况的出现,只能将扩容粒度变小,比如每次只扩容一个OSD或者一个机器、一个机柜(主要取决于存储隔离策略),但是这样注定会带来极大的运维工作量,甚至连扩容速度可能都赶不上数据增长速度。
分布式文件存储CephFS详尽介绍及使用经验

分布式文件存储 CephFS详尽介绍及使用经验1. Ceph架构介绍Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
特点如下:- 高性能a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。
b.考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。
c. 能够支持上千个存储节点的规模,支持TB到PB级的数据。
- 高可用性a. 副本数可以灵活控制。
b. 支持故障域分隔,数据强一致性。
c. 多种故障场景自动进行修复自愈。
d. 没有单点故障,自动管理。
- 高可扩展性a. 去中心化。
b. 扩展灵活。
c. 随着节点增加而线性增长。
- 特性丰富a. 支持三种存储接口:块存储、文件存储、对象存储。
b. 支持自定义接口,支持多种语言驱动。
使用场景:•块存储 (适合单客户端使用)o典型设备:磁盘阵列,硬盘。
o使用场景:a. docker容器、虚拟机远程挂载磁盘存储分配。
b. 日志存储。
...•文件存储 (适合多客户端有目录结构)o典型设备:FTP、NFS服务器。
o使用场景:a. 日志存储。
b. 多个用户有目录结构的文件存储共享。
...•对象存储 (适合更新变动较少的数据,没有目录结构,不能直接打开/修改文件) o典型设备:s3, swift。
o使用场景:a. 图片存储。
b. 视频存储。
c. 文件。
d. 软件安装包。
e. 归档数据。
...系统架构:Ceph 生态系统架构可以划分为四部分:1.Clients:客户端(数据用户)2.mds:Metadata server cluster,元数据服务器(缓存和同步分布式元数据)3.osd:Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)4.mon:Cluster monitors,集群监视器(执行监视功能)2. NFS介绍1. NAS(Network Attached Storage)- 网络存储基于标准网络协议NFSv3/NFSv4实现数据传输。
ceph运维手册

ceph运维手册一、介绍Ceph是一个分布式存储系统,具有高性能、高可靠性和高可扩展性的特点。
在大规模数据存储领域,Ceph已经成为一种非常流行的解决方案。
本文将深入探讨Ceph的运维手册,包括必要的配置、监控、故障处理等方面。
二、环境准备在进行Ceph的运维工作之前,需要准备以下环境:1.硬件设备:Ceph要求至少3台服务器,并且每台服务器要有足够的计算和存储资源。
2.操作系统:推荐使用Linux操作系统,例如CentOS、Ubuntu等。
3.网络配置:确保服务器之间能够正常通信,并且网络带宽要足够支持存储系统的数据传输。
三、Ceph集群部署3.1 安装Ceph软件包在每台服务器上执行以下命令,安装Ceph软件包:$ sudo apt-get install ceph -y3.2 配置Ceph集群1.创建一个用于存储Ceph配置文件的目录:$ sudo mkdir /etc/ceph2.在主节点上执行以下命令,生成配置文件:$ sudo ceph-deploy new <主节点>3.编辑生成的Ceph配置文件,添加以下内容:osd pool default size = 2osd crush chooseleaf type = 14.在主节点上执行以下命令,部署配置文件到所有节点:$ sudo ceph-deploy --overwrite-conf config push <所有节点>3.3 启动Ceph集群在主节点上执行以下命令,启动Ceph集群:$ sudo ceph-deploy mon create-initial四、Ceph监控Ceph提供了一套监控工具,可以用于实时监控集群的状态和性能。
4.1 安装和配置监控工具在主节点上执行以下命令,安装和配置监控工具:$ sudo apt-get install ceph-mgr ceph-mgr-dashboard -y4.2 访问监控面板通过浏览器访问主节点的IP地址和监控面板端口,例如:主节点IP地址>:7000。
平安王刚 - 使用Ceph构建高效的分布式存储平台

应用结构或 非架构花共 享需求
Poxis
Http
对象存储服务
块存储服务
文件系统服务
Ceph技术解决
(超融合架构)
为什么是Ceph
X86硬件 软件定义存储 可伸缩性
统一存储
易于维护
块存储领域-OpenStack2016技术白皮书
对象存储领域-应用情况
文件系统领域-技术分析
Client
Client
分享-控制故障隔离域
合理的规划CrushMap,控制一个故障域中OSD的数目。
Root
故障隔离域A
故障隔离域B
故障隔离域C
……
Placement Rule:
[ruleA] ruleSet 2 take from 故障隔离域 take chooseleaf 0 type host take emit
RacksDB
BlockDevice
(XATTR Index )
Onode
Object Extend Object Extend
WAL
Object Extend Object Extend
…
Other
存储海量小文件的难题-小结
文件没有进行合并处理
受限文件系统
BlueStore解决
写放大过于严重
BlueStore解决
如何让Ceph跑的更快
硬件调优(1)
X86 PC
磁盘密度高
热插拔
低耗电
硬件调优(2)
CPU
内存
硬盘
2 HDD = 1 CORE
1 TB HDD = 1 GB Mem
1 SSD = 5 HDD
趟坑经验分享
分享-Cannot Create Thread
云平台企业级部署方案-案例2-最佳实践-超融合

云平台企业级部署方案-最佳实践(案例二:20台服务器+ceph超融合)StarVCenter Team2021年4月目录1概述................................................................................................................................1-3 1.1目标..............................................................................................................................1-3 1.2方案优缺点..................................................................................................................1-3 1.3名词解释......................................................................................................................1-3 2硬件设备清单................................................................................................................2-4 3部署结构规划................................................................................................................3-5 3.1标配方案......................................................................................................................3-5 3.2减配方案......................................................................................................................3-6 4IP及主机名规划............................................................................................................4-7 5安装部署........................................................................................................................5-7 5.1上架与布线..................................................................................................................5-7 5.2安装StarVE操作系统 .................................................................................................5-75.2.1Bios设置........................................................................................................5-75.2.2选择安装类型................................................................................................5-85.2.3选择磁盘........................................................................................................5-85.2.4配置主机名、IP.............................................................................................5-9 5.3部署StarVCenter集群 ............................................................................................. 5-105.3.1指定网卡用途............................................................................................. 5-115.3.2配置辅存..................................................................................................... 5-125.3.3配置数据库集群......................................................................................... 5-135.3.4配置管控集群............................................................................................. 5-145.3.5一键部署..................................................................................................... 5-155.3.6验证安装..................................................................................................... 5-16 5.4部署ceph集群......................................................................................................... 5-165.4.1配置存储网................................................................................................. 5-165.4.2配置/etc/hosts ............................................................................................ 5-175.4.3配置ssh免密访问...................................................................................... 5-185.4.4采用辅助软件部署..................................................................................... 5-195.4.5创建pool .................................................................................................... 5-21 6资源池初始化............................................................................................................. 6-226.1加入计算集群........................................................................................................... 6-22 6.2添加存储................................................................................................................... 6-22 6.3添加网络资源........................................................................................................... 6-236.3.1添加VLAN................................................................................................... 6-236.3.2添加端口组(子网)................................................................................. 6-246.3.3添加IP地址池............................................................................................ 6-24 6.4创建虚拟机............................................................................................................... 6-251概述1.1目标很多想要自建云平台的小企业,没有云平台的建设经验,不知道搭建云平台需要哪些软硬件资源,怎么规划,具体怎么落地。
docker部署Ceph分布式存储集群

hostnameip 部署localhost192.168.56.101mon 、osd host1192.168.56.102mon 、osd 、mgr host2192.168.56.103mon 、osd manager192.168.56.110ceph 、rbd 客户端docker 部署Ceph 分布式存储集群1、环境准备3台virtualbox 虚拟机,⽤来安装ceph 集群,已⽤docker-machine 安装上了docker ,每台虚拟机虚拟创建⼀个5G 的硬盘,⽤于存储osd 数据,例如:/dev/sdb 1台客户端manager ,客户端可以扩展⾄多台形成swarm集群2、在101、102、103上分别创建Monitor2.1、 在3台服务器上分别创建Monitor配置⽂件路径2.2、在101上创建Monitor 说明:MON_IP 是Monitor 的ipMON_NAME 是Monitor 名称,默认是主机名CEPH_PUBLIC_NETWORK 是是Monitor 所在⽹络的CIDRCEPH_CLUSTER_NETWORK 是osd 之间复制数据⽤到的⽹络,默认和CEPH_PUBLIC_NETWORK 相同2.3、复制101上/etc/ceph/*和/var/lib/ceph/bootstrap-*下的⽂件分别到102和103上的/etc/ceph/和/var/lib/ceph/⽬录下2.4、在102和103上分别创建Monitor3、在101、102、103上创建osd3.1、在3台服务器上分别挂载准备好的虚拟硬盘/dev/sdb1 mkdir -p /ceph-rbd2 mkfs.xfs /dev/sdb -f3 mount /dev/sdb /ceph-rbd3.2、在3台服务器上分别创建osd4、在102上创建mgrmgr是辅助monitor管理集群的服务。
现在来看看ceph集群状态,任⼀台服务器输⼊:1 docker exec mon ceph -s输出:OK,状态健康,如果状态不是HEALTH_OK,可以⽤命令docker exec mon ceph health detail简单排查。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CEPH分布式存储部署PS:本文的所有操作均在mon节点的主机进行,如有变动另有注释作者:网络技术部徐志权日期:2014年2月10日VERSION 1.0 更新历史:2014.2.10:首次完成ceph部署文档,块设备及对象存储的配置随后添加。
一、部署前网络规划1.1 环境部署主机名公网IP(eth0)私网IP(eth1)操作系统运行服务node1 192.168.100.101 172.16.100.101 CentOS6.5 mon、mds node2 192.168.100.102 172.16.100.102 CentOS6.5 osdnode3 192.168.100.103 172.16.100.103 CentOS6.5 osd◆操作系统使用CentOS6.5,因为系统已经包含xfs的支持可以直接使用不需要再次编译。
◆由于CentOS6.5系统的内核为2.6.32,因此要关闭硬盘的写入缓存,若高于此版本不需要关闭。
#hdparm -W 0 /dev/sdb 0◆本次部署一共有一个监控节点、一个元数据节点、两个数据节点,每个数据节点拥有两个硬盘作为数据盘。
1.2 网络拓扑1.3 配置服务器、安装ceph●添加ceph的rpm库key#rpm --import'https:///git/?p=ceph.git;a=blob_plain;f=keys/release.asc'#rpm --import'https:///git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc'●添加ceph-extras库#vi /etc/yum.repos.d/ceph-extras[ceph-extras]name=Ceph Extras Packagesbaseurl=/packages/ceph-extras/rpm/centos6/$basearchenabled=1priority=2gpgcheck=1type=rpm-mdgpgkey=https:///git/?p=ceph.git;a=blob_plain;f=keys/release.asc[ceph-extras-noarch]name=Ceph Extras noarchbaseurl=/packages/ceph-extras/rpm/centos6/noarchenabled=1priority=2gpgcheck=1type=rpm-mdgpgkey=https:///git/?p=ceph.git;a=blob_plain;f=keys/release.asc[ceph-extras-source]name=Ceph Extras Sourcesbaseurl=/packages/ceph-extras/rpm/centos6/SRPMSenabled=1priority=2gpgcheck=1type=rpm-mdgpgkey=https:///git/?p=ceph.git;a=blob_plain;f=keys/release.asc●添加ceph库#rpm -Uvh /rpms/el6/noarch/ceph-release-1-0.el6.noarch.rpm●添加epel库#rpm -Uvh/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm●安装ceph#yum update -y && yum install ceph -y二、部署ceph2.1创建一个集群创建一个集群,集群名为ceph,在mon节点,这里是主机node1,执行以下操作2.1.1获取一个uuid#uuidgen2.1.2编辑配置文件#vi /etc/ceph/ceph.conf[global]auth_service_required = cephx#filestore_xattr_use_omap = true #该选项只针对ext4文件系统格式auth_client_required = cephxauth_cluster_required = cephxauth supported = nonefsid = a500528d-fc02-464e-b944-bddacbb5c3d1 #填入刚才获取到的uuid public network = 192.168.100.0/24cluster network = 172.16.100.0/24osd pool default size = 2osd pool default min size = 1max open files = 65535mon osd full ratio = .95mon osd nearfull ratio = .85[mon]mon data = /data/$cluster-$id[osd]osd journal size = 1024osd journal = /data/$name/journalosd data = /data/$name2.2创建一个mon2.2.1编辑配置文件,添加mon参数#vi /etc/ceph/ceph.conf[mon.node1]host = node1mon addr = 192.168.100.101:67892.2.2创建一个mon keyring#ceph-authtool /etc/ceph/ceph.mon.keyring --create-keyring --gen-key -n mon.2.2.3创建mon数据目录#mkdir -p /data/ceph-node1#ceph-mon -i node1 --mkfs --keyring /etc/ceph/ceph.mon.keyring2.2.4启动并查看集群状态#/etc/init.d/ceph start mon.node1#ceph –s出现以下提示,启动成功:[root@node1 ~]# ceph -scluster a500528d-fc02-464e-b944-bddacbb5c3d1health HEALTH_ERR 192 pgs stuck inactive; 192 pgs stuck unclean; no osds monmap e1: 1 mons at {node1=192.168.100.101:6789/0}, election epoch 2, quorum 0 node1osdmap e1: 0 osds: 0 up, 0 inpgmap v2: 192 pgs, 3 pools, 0 bytes data, 0 objects0 kB used, 0 kB / 0 kB avail192 creating2.3创建一个osd首先为节点添加一块硬盘(这里是主机node2)PS:硬件支持热插拔的情况下可以使用以下命令,在线检测新增硬盘# echo "- - -" > /sys/class/scsi_host/host2/scan2.3.1获取osd的ID##ceph osd create //记录得到的编号,该编号是下面创建的osd的ID 2.3.2编辑配置文件#vi /etc/ceph/ceph.conf添加[osd.0]public addr = 192.168.100.102cluster addr = 172.16.100.1022.3.3同步配置文档到节点node2#scp -r root@192.168.100.101:/etc/ceph/ root@192.168.100.102:/etc/2.3.4部署osd节点#ssh root@192.168.100.102#parted /dev/sdb mktable gpt#parted /dev/sdb mkpart osd.0 1 20g //新加的硬盘为20g,并将所有空间划分为一个分区#mkfs -t xfs /dev/sdb1#mkdir /data/osd.0#mount /dev/sdb1 /data/osd.0#ceph-osd -i 0 --mkfs --mkkey#ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /data/osd.0/keyring#ceph osd crush add osd.0 0.2 root=default host=node22.3.5启动osd进程#ceph-osd -i 02.3.6查看进程#ps -ef|grep ceph-osd以下提示启动成功[root@node2 ~]# ps -ef|grep ceph-osdroot 1364 1 0 08:42 ? 00:00:07 ceph-osd -i 02.3.7查看osd状态#exit#ceph osd statosd添加成功[root@node1 ~]# ceph osd statosdmap e41: 1 osds: 1 up, 1 in2.3.8开机自动启动#vi /etc/fstab添加/dev/sdb1 /data/osd.0 xfs defaults 0 0# echo "ceph-osd -i 0" >> /etc/rc.local2.4创建一个mds创建mds# ceph-mds -i node1 -n mds.node1 -c /etc/ceph/ceph.conf -m 192.168.100.101:6789检查mds状态,成功启动如下[root@node1 ~]# ceph mds state19: 1/1/1 up {0=node1=up:active}三、配置ceph客户端3.1确定操作系统内核3.1.1查看内核版本#uname -r若内核版本低于2.6.32时,建议升级到2.6.34或以上3.1.2更新内核,编译ceph模块这里以升级到3.10.29为例#wget https:///pub/linux/kernel/v3.x/linux-3.10.29.tar.xz#tar -Jxvf linux-3.10.29.tar.xz#cd linux-3.10.29#cp /boot/config-2.6.32-431.3.1.el6.x86_64 ./.config //将当前系统内核的配置文件复制到kernel源文件的目录内#make menuconfig依次选择下面选项,ceph必须编译为模块MFile systems-->Network File Systems--> Ceph distributed file system保存并退出#make#make modules_install#make install确定boot木有下存在以下文件[root@node1 linux-3.10.29]# ll /boot/|grep 3.10initramfs-3.10.29.imgSystem.map -> /boot/System.map-3.10.29System.map-3.10.29vmlinuz -> /boot/vmlinuz-3.10.29vmlinuz-3.10.29更改grub.conf#vi /etc/grub.conf添加title CentOS (3.10.29)root (hd0,0)kernel /vmlinuz-3.10.29 ro root=/dev/mapper/V olGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=V olGroup/lv_swapSYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd /initramfs-3.10.29.img3.1配置文件目录共享客户端PS:确定已经运行一个ceph集群,并且集群包含至少一个或以上mds节点挂载ceph分布式存储文件目录共享以下在客户端上操作#yum install ceph-fuse -y#ceph-fuse -m 192.168.100.101:6789 /mnt测试写入1G文件#dd if=/dev/zero of=/mnt/test.1g bs=8192 count=125000四、ceph扩容4.1增加osd节点(以下操作在node1执行,即mon节点)根据第一章在新的节点node3服务器安装ceph,并配置好环境4.1.1获取osd的ID##ceph osd create //记录得到的编号,该编号是下面创建的osd的ID4.1.2编辑配置文件#vi /etc/ceph/ceph.conf添加[osd.1]public addr = 192.168.100.103cluster addr = 172.16.100.1034.1.3同步配置文档到节点node3#scp -r root@192.168.100.101:/etc/ceph/ root@192.168.100.103:/etc/4.1.4部署osd节点#ssh root@192.168.100.103#parted /dev/sdb mktable gpt#parted /dev/sdb mkpart osd.1 1 20g //新加的硬盘为20g,并将所有空间划分为一个分区#mkfs -t xfs /dev/sdb1#mkdir -p /data/osd.1#mount /dev/sdb1 /data/osd.1#ceph-osd -i 1 --mkfs --mkkey#ceph auth add osd.1 osd 'allow *' mon 'allow rwx' -i /data/osd.1/keyring#ceph osd crush add osd.1 0.2 root=default host=node24.1.5启动osd进程#ceph-osd -i 14.1.6查看进程#ps -ef|grep ceph-osd以下提示启动成功[root@node3 ~]# ps -ef|grep ceph-osdroot 1364 1 0 08:42 ? 00:00:07 ceph-osd -i 04.1.7查看osd状态#exit#ceph osd statosd添加成功[root@node1 ~]# ceph osd statosdmap e41: 2 osds: 2 up, 2 in4.2增加mon(以下操作在主机node2执行)PS:每台主机只能为ceph集群启动一个mon进程PS2:集群中只有两个mon节点时,其中一个断开会导致集群不能访问,建议mon总数3个或以上。