Ceph-原理-安装-维护-Centos7

合集下载

Ceph安装部署文档

Ceph安装部署文档

Ceph安装部署文档目录一:简介 (1)二:部署环境介绍 (1)三:集群配置准备工作 (2)3.1 : 生成SSH证书,节点建立连接 (2)3.2 : 建立ip地址list, 修改host文件 (3)3.3 : 网络端口设置 (3)3.4 : 安装centos的yum源软件包=>全部节点安装 (4)3.5 : 添加时间同步定时任务 (4)3.6 : 安装yum-plugin-priorities. (8)四:安装ceph软件包 (8)4.1、安装ceph部署机,使用ceph-deploy方式安装部署 (8)4.2、安装ceph存储集群(包括ceph对象网关) (8)五:搭建ceph集群 (8)5.1 : 新建ceph集群 (9)5.2 : 添加mon节点 (9)5.3 : 添加osd节点 (9)六:安装过程出现的部分错误及解决方法 (11)七:常用命令 (11)一:简介Ceph 生态系统架构可以划分为四部分:1. Clients:客户端:数据用户2. mds:Metadata server cluster,元数据服务器:缓存和同步分布式元数据(此文档没有安装mds)3. osd:Object storage cluster,对象存储集群:将数据和元数据作为对象存储,执行其它关键职能4. mon:Cluster monitors,集群监视器:执行监视功能二:部署环境介绍三:集群配置准备工作3.1 : 生成SSH证书,节点建立连接1)所有节点修改hostnamevim /etc/sysconfig/network2)安装SSH (主节点)sudo apt-get install openssh-server3)ssh登陆证书(主节点)ssh-keygen将配置完成的证书传输到其它服务器:ssh-copy-id {其他节点用户名}@{其他节点IP} Example:ssh-copy-id root@anode24)创建并编辑~/.ssh/config 文件,添加其他Host Host {Hostname}Hostname {}User {Username}Example:Host anode1Hostname 172.16.100.35User rootHost anode2Hostname 172.16.100.36User rootHost anode3Hostname 172.16.100.37User root3.2 : 建立ip地址list, 修改host文件1)创建工作文件夹,建立ip地址list,为文件传输做准备主节点执行mkdir /workspace/cd /workspace/vim cephlist.txt 主机列表写入:anode1anode2anode32)修改host文件vim /etc/hosts追加内容如下:172.16.100.35 anode1172.16.100.36 anode2172.16.100.37 anode3将host文件传输到其它主机for ip in $(cat /workspace/cephlist.txt);do echo -----$ip-----;rsync -avp /etc/hosts $ip:/etc/;done3.3 : 网络端口设置检查网络设置,确定这些设置是永久生效的,重启之后不会改变。

ceph存储原理

ceph存储原理

ceph存储原理ceph是一种开源、分布式的对象存储和文件系统,它能够在大规模的集群中存储和管理海量数据。

在ceph中,数据被分割成对象,并将这些对象存储在不同的存储节点上以实现高可用性和容错性。

这篇文章将介绍ceph存储的原理,包括ceph的架构、数据的存储和调度方式以及ceph如何处理故障。

ceph架构ceph的架构包括三个主要组成部分:客户端、存储集群和元数据服务器。

客户端是使用ceph存储的应用程序,它们通常是通过ceph API或者对象存储接口来访问ceph集群。

存储集群由一个或多个monitors、object storage devices(OSD),以及可能的元数据服务器组成。

monitors是ceph集群的核心组件,它负责管理ceph的全局状态信息、监控OSD 状态,并为客户端提供服务发现和配置信息。

OSD是实际存储数据的存储节点,它负责存储和处理对象,并在节点故障时自动重新平衡数据。

元数据服务器用于管理ceph文件系统中的元数据信息,包括文件和目录的名称、属性和层次关系等。

ceph存储数据的方式ceph将数据分割成对象,并使用CRUSH算法将这些对象分布在集群中的OSD上。

CRUSH 算法是ceph中存储调度的核心算法,它通过一系列计算将对象映射到存储集群中的OSD。

CRUSH将对象映射到OSD的方式是通过建立CRUSH映射表以实现负载均衡和容错。

CRUSH映射表可以根据管理员的需求进行调整,以达到最佳的性能和可扩展性。

ceph的CRUSH算法有以下特点:1. CRUSH将对象映射到可扩展的存储后端,以实现分布式存储和高可用性。

2. CRUSH使用元数据信息来动态调整对象的存储位置,并根据OSD的状态和磁盘使用情况等信息来实现负载均衡。

3. CRUSH允许管理员对存储策略进行调整,以适应不同的应用场景。

ceph的故障处理ceph具有强大的故障处理机制,它能够自动处理节点故障和数据损坏等问题,以确保数据的完整性和可用性。

开源实践分享:Cephbluestore部署实践

开源实践分享:Cephbluestore部署实践

开源实践分享:Cephbluestore部署实践Ceph bluestore部署⾸先为⼤家分享Ceph bluestore具体该如何部署,使⽤环境如下• 单节点• CentOS 7.4• 使⽤ ceph-deploy 进⾏部署准备 centos 7.4 系统的机器,并配置好 ssh 的⽆密码登录。

安装 ceph-deployyum install数据 ceph 安装包mkdir ceph-installcd ceph-installceph-deploy new node1把如下内容加⼊到 ceph.conf ⾥⾯,把默认的副本数据调成1。

[global]osd pool default size = 1osd pool default min size = 1安装 ceph 包ceph-deploy install --release luminous node2初始化 monceph-deploy mon create-initialceph-deploy admin node1这时 ceph 已经可以访问了$ ceph -scluster:id: 5b2f0020-fc24-44de-a6c9-a88efdc5074fhealth: HEALTH_OKservices:mon: 1 daemons, quorum node1mgr: no daemons activeosd: 0 osds: 0 up, 0 indata:pools: 0 pools, 0 pgsobjects: 0 objects, 0 bytesusage: 0 kB used, 0 kB / 0 kB availpgs:接下来要部署 ceph mgr, 这个组件在 Luminous ⾥⾯是必装组件ceph-deploy mgr create node1接下来部署 ceph osd, 现在推荐使⽤ ceph-volume lvm 来管理磁盘。

centos7 linux 系统维护计划制定建议

centos7 linux 系统维护计划制定建议

centos7 linux 系统维护计划制定建议[CentOS7 Linux 系统维护计划制定建议]CentOS7 是一种广泛使用的Linux 操作系统,它因其稳定性和安全性而备受推崇。

然而,为了确保服务器的顺利运行,必须制定一个系统维护计划,以确保系统的高可用性和安全性。

在本文中,我们将一步一步地回答如何制定一个CentOS7 Linux 系统维护计划的问题。

第一步:明确系统目标和需求在制定CentOS7 Linux 系统维护计划之前,您需要明确系统的目标和需求。

这可以包括服务器所承载的应用程序、数据处理量、用户数量等。

只有明确了这些目标和需求,您才能制定出适合系统的维护计划。

第二步:制定系统备份计划系统备份是保证系统可用性和安全性的关键步骤。

在制定系统备份计划时,您需要考虑以下几个方面:1. 定义备份频率:确定备份的频率是十分重要的,它应该基于您的数据处理量和数据重要性。

一般来说,每日备份是一个不错的选择。

2. 使用合适的备份工具:CentOS7 提供了许多备份工具供您选择,如rsync、tar、dump 等。

根据您的需求,选择适配的备份工具来确保备份的可靠性和有3. 存储位置和策略:确定备份数据的存储位置是至关重要的。

您可以选择外部存储设备、云存储等方案来存储备份数据。

另外,您还需要制定合适的备份策略,如每周保留一份完整备份等。

第三步:制定系统更新和安全补丁计划及时更新系统和安全补丁是保证系统安全的重要环节。

以下是一些建议:1. 定期更新系统:CentOS7 提供了yum 和dnf 这两个包管理器来更新软件包。

您可以定期运行相应命令,确保系统软件处于最新状态。

建议每月至少进行一次系统更新。

2. 定期安装安全补丁:及时安装系统的安全补丁是防止系统遭受攻击的关键步骤。

您可以通过CentOS 官方网站或订阅其安全通知来获取最新的安全补丁。

3. 自动化更新和补丁:为了节省时间和减少人为错误,您可以考虑使用自动化工具来定期更新系统和安装安全补丁。

centos7.2安装部署cloudstack4.9+ceph0.94

centos7.2安装部署cloudstack4.9+ceph0.94

系统:centos 7.2ceph : 0.94cloudstack : 4.92mysql :5.726台机器:192.168.1.212 :cloudstack-management ,monitor192.168.1.165 :storage192.168.1.183 :cloudstack-agent,monitor,osd192.168.1.127 :cloudstack-agent,monitor,osd192.168.1.151 :cloudstack-agent,osd192.168.1.249 :cloudstack-agent,osd系统环境:一定要关闭selinux,在/etc/selinux/config修改iptables,firewalld 实验可以关掉,线上需要添加规则安装系统的时候最好把Development Tools安装上去修改主机名如下,其他节点类似hostnamectl set hostname=''因为没有dns所以修改hostscat >> /etc/hosts << EOF192.168.1.212 192.168.1.165 192.168.1.183 192.168.1.249 192.168.1.127 192.168.1.151 EOF上面没有添加短域名,通过sed修改,修改完成之后使用hostname --fqdnsed -ri 's/(\<[[:alpha:]].*\>)/& \1/g' /etc/hosts安装数据库rpm -ivh mysql57-community-release-el7-11.noarch.rpm ##在官网上下载的yum仓库安装包repo仓库如下,如果想用哪个把enabled改为1就可以,不用改为0[mysql-connectors-community]name=MySQL Connectors Communitybaseurl=/yum/mysql-connectors-community/el/7/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]name=MySQL Tools Communitybaseurl=/yum/mysql-tools-community/el/7/$basearch/ enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.5[mysql55-community]name=MySQL 5.5 Community Serverbaseurl=/yum/mysql-5.5-community/el/7/$basearch/ enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=/yum/mysql-5.6-community/el/7/$basearch/ enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=/yum/mysql-5.7-community/el/7/$basearch/ enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql80-community]name=MySQL 8.0 Community Serverbaseurl=/yum/mysql-8.0-community/el/7/$basearch/ enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-preview]name=MySQL Tools Previewbaseurl=/yum/mysql-tools-preview/el/7/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-cluster-7.5-community]name=MySQL Cluster 7.5 Communitybaseurl=/yum/mysql-cluster-7.5-community/el/7/$basearch/ enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-cluster-7.6-community]name=MySQL Cluster 7.6 Communitybaseurl=/yum/mysql-cluster-7.6-community/el/7/$basearch/ enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql下面就是安装yum clean allyum install -y mysql-community-serversystemctl start mysqldgrep 'temporary password' /var/log/mysqld.log ##5.7 初始密码在mysqld.log中mysql_secure_installationcat >> /etc/f <<EOFbinlog_ignore_db=mysqlinnodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350binlog-format = 'ROWEOFsystemctl restart mysqldmysql安装完成,可以进入mysql看下是否正常部署:cephceph中文网上有快速部署步骤可以借鉴ceph组件较之前的文件系统有所区别,建议先学习查看一下/start/quick-start-preflight/ceph部署环境sudo subscription-manager repos --enable=rhel-7-server-extras-rpmssudo yum install -y yum-utils && sudo yum-config-manager --add-repohttps:///pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm/etc/yum.repos.d/*配置ceph-deploy的安装目录[ceph-deploy]name=ceph-deploybaseurl=https:///ceph/archive/rpm-firefly/el7/noarc h/enabled=1gpgcheck=0然后安装ceph-deployyum update && yum install ceph-deploy配置ntp同步;如果不能连接公网的话可以自己搭建一个ntp服务器,能连接公网的话可以创建一个计划任务,没5分钟同步一次crontab -e*/5 * * * * /usr/sbin/ntpdate &> /dev/null*/5 * * * * /usr/sbin/hwclock -w在所有节点上添加openssh-serveryum install openssh-server创建cephuser官网建议使用不使用root用户安装ceph所以在各节点上创建用户:useradd ceph-user && echo "ceph-user" | passwd --stdin ceph-user修改sudo权限echo "ceph-user ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/ceph-userchmod 0440 /etc/sudoers.d/ceph-user设置免密码ssh登入在ceph-user账号下执行ssh-keygen ## 全部回车ssh-copy-id secondaryssh-copy-id nodea1ssh-copy-id nodea2ssh-copy-id nodeb1ssh-copy-id nodeb2在ceph-user用户下修改~/.ssh/config文件,可以免delpoy的时候指定用户,这边config文件没有的话,创建之后注意下权限,后面可能会有报错Host secondaryHostname secondaryUser ceph-userHost nodea1Hostname nodea1User ceph-userHost nodea2Hostname nodea2User ceph-userHost nodeb1Hostname nodeb1User ceph-userHost nodeb2Hostname nodeb2User ceph-useriptables或者防火墙一定要注意还有selinux,这个也是。

ceph接口使用方法

ceph接口使用方法

ceph接口使用方法Ceph接口使用方法Ceph是一个开源的分布式存储系统,拥有强大的可扩展性和高可靠性。

它通过将数据分布在多个节点上,实现了数据冗余和负载均衡的功能。

Ceph提供了一系列的接口,让开发者可以轻松地使用其功能。

本文将介绍Ceph接口的使用方法,包括安装和配置Ceph、使用Ceph 接口进行数据操作等。

通过本文的指导,读者可以快速上手并深入了解Ceph接口的使用。

第一步:安装Ceph在开始使用Ceph接口之前,首先需要在集群中安装和配置Ceph。

Ceph 可以在Linux系统上运行,支持多种发行版。

以下是在Ubuntu上安装Ceph的步骤:1. 更新系统软件包:使用以下命令更新系统软件包以获取最新的软件包列表和安全修复程序。

sudo apt-get updatesudo apt-get upgrade2. 安装Ceph软件包:使用以下命令安装Ceph软件包。

sudo apt-get install ceph ceph-deploy3. 配置Ceph集群:使用Ceph提供的命令行工具ceph-deploy来配置Ceph集群。

首先需要创建一个新的目录作为Ceph集群的工作目录。

mkdir my-clustercd my-cluster然后,在此目录下,运行以下命令来初始化Ceph集群。

ceph-deploy new <MON节点>这将在当前目录下创建一个名为ceph.conf的配置文件,其中包含了集群的基本配置信息。

接下来,使用以下命令将Ceph软件包安装到集群的所有节点。

ceph-deploy install <所有节点>最后,使用以下命令来为集群添加MON节点。

ceph-deploy mon create-initial第二步:配置Ceph存储池一旦Ceph集群安装和配置完成,下一步是创建一个或多个存储池,以供存储数据。

存储池是Ceph中最基本的单元,用于管理数据的存储和分发。

ceph工作原理和安装

ceph工作原理和安装

ceph工作原理和安装Ceph是一个开源的分布式存储系统,它提供了高可用性、高性能和可扩展性的存储解决方案。

本文将介绍Ceph的工作原理和安装过程,以帮助读者更好地理解和使用这个强大的存储系统。

一、Ceph的工作原理Ceph的核心是一个分布式对象存储系统,它将数据分散存储在多个节点上,通过复制和故障转移来保证数据的可靠性和高可用性。

Ceph采用了RADOS (Reliable Autonomic Distributed Object Store)作为底层存储引擎,它将数据划分为多个对象,并将这些对象分布在不同的存储设备上。

Ceph的工作原理可以简单描述为以下几个步骤:1. 客户端发送请求:当客户端需要读取或写入数据时,它会向Ceph集群发送请求。

这个请求包含了数据的标识符和操作类型。

2. CRUSH算法计算数据位置:Ceph集群中的OSD(Object Storage Device)使用CRUSH算法计算出数据存储的位置。

CRUSH算法基于一致性哈希和散列函数,可以将数据均匀地分布在不同的OSD上。

3. 数据访问和传输:一旦找到了数据存储的位置,客户端就可以直接与对应的OSD进行数据的读取和写入。

Ceph使用了RADOS协议来实现数据的传输和访问。

4. 数据复制和故障转移:Ceph通过数据的复制和故障转移来保证数据的可靠性和高可用性。

它使用了副本和恢复机制来处理节点故障和数据损坏的情况。

5. 数据一致性和完整性:Ceph使用了一致性哈希和版本控制等技术来保证数据的一致性和完整性。

它可以检测和修复数据的错误,并提供了数据的校验和功能。

二、Ceph的安装Ceph的安装过程相对复杂,但是通过正确的步骤和配置,可以顺利地搭建一个稳定可靠的存储系统。

下面是一个简要的安装过程:1. 准备环境:首先,需要准备一组服务器作为Ceph集群的节点。

这些服务器应该满足一定的硬件要求,并且已经安装了适当的操作系统。

2. 安装Ceph软件包:在每个节点上,需要安装Ceph软件包。

Ceph常见问题百科全书

Ceph常见问题百科全书

Ceph常见问题百科全书Ceph是目前炙手可热的一个统一分布式存储系统,具有优异的性能、可靠性、可扩展性。

其可轻松扩展到数PB 容量,支持多种工作负载的高性能(每秒输入/输出操作[IOPS]和带宽),具有极其高的可靠性。

Ceph对比HDFS优势在于易扩展,无单点。

HDFS是专门为Hadoop这样的云计算而生,在离线批量处理大数据上有先天的优势,而Ceph是一个通用的实时存储系统,具有相当好的超大数量小文件处理能力,且现在Hadoop可以利用Ceph作为存储后端。

Ceph最近加入到Linux 中令人印象深刻的文件系统备选行列,能够在维护POSIX 兼容性的同时加入了复制和容错功能,成为现在分布式系统的掌上明珠。

而在Ceph系统的搭建过程中会出现种种意想不到问题,真的是稀奇古怪的让人意想不到的问题,整个过程中看似每一步都正确,感觉都对,结果还是出现各种问题,更可恨的是其中遇到的很多问题在网上并不能搜索到,有的从国外论坛上能搜索到但是并没有答案(正如硬件开发时候经常出现都对都不对,重启一下全都对的情况)。

然而对于Ceph这块重启并不能解决问题,还需一步一步踏踏实实的进行研究,分析解决问题,并进行总结。

笔者在此对Ceph开发过程中的血泪经验在此与大家分享,对本人在Ceph研发过程中遇到的错误进行记录并提出解决方案,一来是做个总结,二来是为此后进行Ceph开发的大家指出雷区,使大家少爬一点坑,希望能做出一点微小的贡献。

从基础环境开始在Ceph环境搭建过程中的常见问题有(在此按照问题出现的频率进行粗略排序)采用系统为Centos7(谨以此作为示例)1. 执行命令:#ceph-deploy install admin-node node1 node2 node3ERROR:[ceph_deploy][ERROR ]RuntimeError: Failed toexecute command: yum -y install epel-release解决办法:进入/etc/yum.repos.d中删除epel.repo和epel-testing.repo2. 执行命令:#ceph-deploy install admin-node node1 node2 node3ERROR:[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: rpm -Uvh --replacepkgs解决办法:进入/etc/yum.repos.d/ceph.repo文件将所有的源改为网易163源,或者阿里源(经测试网易163源更好用点)编辑ceph 源的配置文件,vim /etc/yum.repo.d/ceph.repo,更改为如下内容:[Ceph]name=Ceph packages for $basearchbaseurl=http:// /ceph /rpm-jewel/el7/$basearchenabled=1gpgcheck=1type=rpm-mdgpgkey=https:// /ceph /keys/release.ascpriority=1[Ceph-noarch]name=Ceph noarch packagesbaseurl=http:// /ceph /rpm-jewel/el7/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https:// /ceph /keys/release.ascpriority=1[ceph-source]name=Ceph source packagesbaseurl=http:// /ceph /rpm-jewel/el7/SRPMSenabled=1gpgcheck=1type=rpm-mdgpgkey=https:// /ceph /keys/release.ascpriority=1编辑完成之后保存退出并运行yum clean all && yum makecacheCeph官网提供的在一些情况下非常不好用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Ceph在存储中的层次第一层:物理存储介质。

a.LUN:通常将硬件生成生成的虚拟磁盘叫LUN, 比如raid卡生成的虚拟磁盘。

b.Volume:通常将软件层次生成的虚拟磁盘叫做卷,比如LVM生成的逻辑卷。

c.Disk:就是物理磁盘第二层:内核层次的文件系统,维护文件到磁层磁盘的映射关系。

(用户一般不需要管)第三层:应用层次的文件系统(需要用户自己手工安装应用程序,启动应用进程)第四层:网络文件访问系统NFS, CIFS(服务器端装Server,客户端装Client,挂载目录远程访问) Ceph原理1.Ceph存储系统的逻辑结构2.Rados的系统逻辑结构3.Ceph寻址流程4.ceph部署网络拓扑备注:Cluster Network可选,但是最好建议有该网络,用于OSD扩展时,后端网络传输数据用。

在实际工作中时,深有体会,如果只有public network,在OSD扩展时,由于ceph需要重新“搬运”数据,导致升级长达5个小时。

如果有专门的集群网络(万兆交换机+光钎),几分钟升级完成。

Ceph安装(ceph-deploy)1.环境准备以及各ceph节点初始化➢部署逻辑架构节点安装组件备注该章节的操作均通过root执行且在各个ceph节点均要执行➢修改/etc/hostname#vi /etc/hostname #如果为其他节点调整为其他节点的名称ceph{number} #如ceph1#hostname -F /etc/hostname #立即生效,断开shell重新登录➢创建安装用户irteam且该用户不需要tty#useradd -d /home/irteam -k /etc/skel -m irteam#sudo passwd irteam#echo " irteam ALL = (root) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/irteam#chmod 0440 /etc/sudoers.d/irteam修改/etc/sudoers,irteam用户不需要tty#chmod 755 /etc/sudoers#vi /etc/sudoers #添加如下配置,而不是将原来的Default requiretty注释掉Defaults:irteam !requiretty#chmod 440 /etc/sudoers➢yum源以及ceph源设置#yum clean all#rm -rf /etc/yum.repos.d/*.repo#wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo #wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo#sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo#sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo#vi /etc/yum.repos.d/ceph.repo #增加ceph源[ceph]name=cephbaseurl=/ceph/rpm-jewel/el7/x86_64/gpgcheck=0[ceph-noarch]name=cephnoarchbaseurl=/ceph/rpm-jewel/el7/noarch/gpgcheck=0➢安装ceph#yum makecache#yum install -y ceph#ceph --version #版本查看ceph version 10.2.2 (45107e21c568dd033c2f0a3107dec8f0b0e58374)➢关闭selinux & firewalld#sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config#setenforce 0#systemctl stop firewalld#systemctl disable firewalld➢同步时间节点(rdate & ntp均可以)#timedatectl set-timezone Asia/Shanghai #设置时区#yum install -y rdate#rdate -s #选个可用且权威的服务器#echo "00 0 1 * * root rdate -s " >> /etc/crontab #加入调度2.部署Ceph集群备注:以下操作均在admin-node节点执行,在本文中,由于admin-node与ceph1共享,所以在ceph1执行就可以了,统一用用户:irteam执行➢修改/etc/hosts#sudo vi /etc/hosts192.168.11.119 ceph1192.168.11.124 ceph2192.168.11.112 ceph3➢生成密钥对& 复制秘钥到各节点(防止部署输入密码,即无密码验证)#sudo su - irteam#ssh-keygenGenerating public/private key pair.Enter file in which to save the key (/irteam/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /irteam/.ssh/id_rsa.Your public key has been saved in /irteam/.ssh/id_rsa.pub.#ssh-copy-id irteam@ceph1#ssh-copy-id irteam@ceph2#ssh-copy-id irteam@ceph3➢用户配置,防止部署时输入用户名#sudo su - irteam #如果当前登录用户是irteam,则忽略该步骤#vi ~/.ssh/configStrictHostKeyChecking noHost ceph1Hostname ceph1User irteamHost ceph2Hostname ceph2User irteamHost ceph3Hostname ceph3User irteam#chmod 600 ~/.ssh/config➢安装部署工具#sudo yum -y install ceph-deploy#ceph-deploy --version1.5.34➢创建集群#sudo su - irteam #如果当前登录用户是irteam,则不用执行#mkdir ~/my-cluster && cd ~/my-cluster#创建集群:在当前目录下生成ceph.conf以及ceph.mon.keyring#ceph-deploy new ceph1 ceph2 ceph3#ls ~/my-cluster #查看生成的文件ceph.conf ceph-deploy-ceph.log ceph.mon.keyring修改集群ceph.conf配置,增加public_network,增加monitor之间的时差(默认为0.05s,现改为2s),总共的副本数据调整为2#vi ceph.conf[global]fsid = 7cec0691-c713-46d0-bce8-5cb1d57f051fmon_initial_members = ceph1, ceph2, ceph3 #也可以用IP,用hostname最佳mon_host = 192.168.11.119,192.168.11.124,192.168.11.112auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephxpublic_network = 192.168.11.0/24mon_clock_drift_allowed = 2osd_pool_default_size = 2➢部署monitors#ceph-deploy mon create-initial#ll ~/my-clusterceph.bootstrap-mds.keyringceph.bootstrap-rgw.keyringceph.confceph.mon.keyringceph.bootstrap-osd.keyringceph.client.admin.keyringceph-deploy-ceph.log#sudo ceph -s #查看集群情况cluster 7cec0691-c713-46d0-bce8-5cb1d57f051fhealth HEALTH_ERRno osdsmonmap e1: 3 mons at {ceph1=192.168.11.119:6789/0,ceph2=192.168.11.124:6789/0,ceph3=192.168.11.112:6789/0} election epoch 4, quorum 0,1,2 ceph3,ceph1,ceph2osdmap e1: 0 osds: 0 up, 0 inflags sortbitwisepgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects0 kB used, 0 kB / 0 kB avail64 creating➢部署osds由于没有足够多的磁盘(如果用磁盘请参考维护章节),用文件夹:#以下创建文件夹,赋权的动作均在ceph1,ceph2,ceph3上执行#sudo mkdir /var/local/osd1 && sudo chmod 777 -R /var/local/osd1osd预处理与激活#ceph-deploy osd prepare ceph1:/var/local/osd1 ceph2:/var/local/osd1 ceph3:/var/local/osd1#ceph-deploy osd activate ceph1:/var/local/osd1 ceph2:/var/local/osd1 ceph3:/var/local/osd1备注:a.如果你有足够多的磁盘,你也可以直接对磁盘操作#ceph-deploy osd prepare ceph1:sdb#ceph-deploy osd activate ceph1:sdbb.对上述osd prepare & osd activate,也可以一步完成#ceph-deploy osd create ceph1:sdb查看集群状态#sudo ceph -scluster 7cec0691-c713-46d0-bce8-5cb1d57f051fhealth HEALTH_OKmonmap e1: 3 mons at{ceph1=192.168.11.119:6789/0,ceph2=192.168.11.124:6789/0,ceph3=192.168.11.112:6789/0} election epoch 4, quorum 0,1,2 ceph3,ceph1,ceph2osdmap e15: 3 osds: 3 up, 3 inflags sortbitwisepgmap v26: 64 pgs, 1 pools, 0 bytes data, 0 objects29590 MB used, 113 GB / 142 GB avail64 active+cleanCeph安装(kolla)除了官方推荐的ceph-deploy安装方式,你还可以选择如下安装方式:通过工具ansible,远程登录到各node节点安装,并且让mon,osd,rgw用docker方式来承载另外:由于我们使用docker的目的是想部署openstack,涉及到openstack部分,则不涉及。

相关文档
最新文档