Ceph官方文档翻译docx.docx

上传人:b****6 文档编号:7125273 上传时间:2023-01-20 格式:DOCX 页数:36 大小:29.44KB
下载 相关 举报
Ceph官方文档翻译docx.docx_第1页
第1页 / 共36页
Ceph官方文档翻译docx.docx_第2页
第2页 / 共36页
Ceph官方文档翻译docx.docx_第3页
第3页 / 共36页
Ceph官方文档翻译docx.docx_第4页
第4页 / 共36页
Ceph官方文档翻译docx.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

Ceph官方文档翻译docx.docx

《Ceph官方文档翻译docx.docx》由会员分享,可在线阅读,更多相关《Ceph官方文档翻译docx.docx(36页珍藏版)》请在冰豆网上搜索。

Ceph官方文档翻译docx.docx

Ceph官方文档翻译docx

 

Ceph官方文档翻译

 

石家庄众毅信息技术有限公司

 

2017年06月

 

 

在此处插入索引和目录

 

准备?

 

Newinversion.

 

谢谢您尝试Ceph

我们建议安装一个

ceph-deploy管理节点和一个三节点的

Ceph存储

集群来研究Ceph

的基本特性。

这篇预检会帮你准备一个ceph-deploy管理节点、以及三

个Ceph节点(或虚拟机),以此构成

Ceph存储集群。

在进行下一步之前,请参见

操作系

统推荐以确认你安装了合适的Linux

发行版。

如果你在整个生产集群中只部署了单一

Linux发行版的同一版本,那么在排查生产环境中遇到的问题时就会容易一点。

 

在下面的描述中节点代表一台机器。

 

在没有DNS的情况下,需要手动修改各个主机的hosts文件和主机名

 

安装CEPH部署工具?

 

把Ceph仓库添加到ceph-deploy管理节点,然后安装ceph-deploy。

 

高级包管理工具(APT)?

 

在Debian和Ubuntu发行版上,执行下列步骤:

 

1.添加releasekey:

 

wget-q-O-''|sudoapt-keyadd-

 

2.

添加Ceph软件包源,用Ceph稳定版(如cuttlefish

、dumpling

、emperor、

firefly等等)替换掉{ceph-stable-release}。

例如:

3.

echodeb$(lsb_release-sc)main|sudotee/etc/apt/

更新你的仓库,并安

装ceph-deploy:

 

sudoapt-getupdate&&sudoapt-getinstallceph-deploy

 

Note

 

你也可以从欧洲镜像下载软件包,只需把替换成即可。

 

红帽包管理工具(RPM)?

 

在RedHat(rhel6、rhel7)、CentOS(el6、el7)和Fedora19-20(f19-f20)上

执行下列步骤:

 

1.(只需要在管理节点)在RHEL7上,用subscription-manager注册你的目标机

器,确认你的订阅,并启用安装依赖包的“Extras”软件仓库。

例如:

 

如果使用ceph-deploy部署,则不需要此步骤

 

sudosubscription-managerrepos--enable=rhel-7-server-extras-rpms

 

2.在RHEL6上,安装并启用ExtraPackagesforEnterpriseLinux(EPEL)软件仓

库。

请查阅EPELwiki获取更多信息。

3.(只需要在管理节点)在CentOS上,可以执行下列命令:

 

sudoyuminstall-yyum-utils

sudoyum-config-manager--add-repo

sudoyuminstall--nogpgcheck-yepel-release

sudorpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

 

4.sudorm/etc/(只需要在管理节点)把软件包源加入软件仓库。

用文本编辑器创建

一个YUM(YellowdogUpdater,Modified)库文件,其路径为/etc/。

例如:

 

sudovim/etc/把如下内容粘帖进去,用Ceph的最新主稳定版名字替换

{ceph-stable-release}(如firefly),用你的Linux发行版名字替换{distro}(如

el6为CentOS6、el7为CentOS7、rhel6为RedHat、rhel7为RedHat7、fc19是Fedora19、fc20是Fedora20)。

最后保存到/etc/文件中。

 

[ceph-noarch]

name=Cephnoarchpackages

 

5.baseurl=更新软件库并安装ceph-deploy:

 

sudoyumupdate&&sudoyuminstallceph-deploy

 

Note

 

你也可以从欧洲镜像下载软件包,只需把替换成即可。

 

CEPH节点安装?

 

你的管理节点必须能够通过SSH无密码地访问各Ceph节点。

如果ceph-deploy以某个

普通用户登录,那么这个用户必须有无密码使用sudo的权限。

 

安装NTP?

 

我们建议在所有Ceph节点上安装NTP服务(特别是CephMonitor节点),以免因时钟

漂移导致故障,详情见时钟。

在CentOS/RHEL上,执行:

 

sudoyuminstallntpntpdatentp-doc

在Debian/Ubuntu上,执行:

 

sudoapt-getinstallntp

确保在各Ceph节点上启动了NTP服务,并且要使用同一个NTP服务器,详情见NTP。

 

安装SSH服务器?

 

在所有Ceph节点上执行如下步骤:

1.在各Ceph节点安装SSH服务器(如果还没有):

 

sudoapt-getinstallopenssh-server

 

或者

 

sudoyuminstallopenssh-server

 

2.确保所有Ceph节点上的SSH服务器都在运行。

 

创建部署CEPH的用户?

 

ceph-deploy工具必须以普通用户登录Ceph节点,且此用户拥有无密码使用sudo的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。

 

较新版的

ceph-deploy

支持用--username选项提供可无密码使用

sudo的用户名(包

括root

,虽然不建议这样做)。

使用

ceph-deploy--username{username}

命令时,

指定的用户必须能够通过无密码

SSH连接到Ceph节点,因为ceph-deploy中途不会提

示输入密码。

我们建议在集群内的所有Ceph

节点上给

ceph-deploy创建一个特定的用户,但

不要用

“ceph”这个名字。

全集群统一的用户名可简化操作(非必需),然而你应该避免使用知

名用户名,因为黑客们会用它做暴力破解(如

root、admin、{productname}

)。

续步骤描述了如何创建无

sudo

密码的用户,你要用自己取的名字替换

{username}。

Note

从Infernalis

版起,用户名“ceph”保留给了Ceph守护进程。

如果Ceph节点上已经

有了“ceph”用户,升级前必须先删掉这个用户。

1.在各Ceph节点创建新用户。

sshuser@ceph-server

sudouseradd-d/home/{username}-m{username}

sudopasswd{username}

 

2.确保各Ceph节点上新创建的用户都有sudo权限。

echo"{username}ALL=(root)NOPASSWD:

ALL"|sudoteeetc/{username}

sudochmod0440/etc/{username}

 

允许无密码SSH登录?

 

正因为ceph-deploy

发到各Ceph节点。

1.

用sudo或root

 

不支持输入密码,你必须在管理节点上生成SSH密钥并把其公钥分

ceph-deploy会尝试给初始monitors生成SSH密钥对。

生成SSH密钥对,但不要

用户。

提示“Enterpassphrase”时,直接回车,口令即为空:

ssh-keygen

Generatingpublic/privatekeypair.

Enterfileinwhichtosavethekey(/ceph-admin/.ssh/id_rsa):

Enterpassphrase(emptyfornopassphrase):

Entersamepassphraseagain:

Youridentificationhasbeensavedin/ceph-admin/.ssh/id_rsa.

Yourpublickeyhasbeensavedin/ceph-admin/.ssh/.

 

2.

 

点,把下列命令中的

 

{username}

 

替换成前面创建部署

 

把公钥拷贝到各Ceph

Ceph的用户里的用户名。

 

 

ssh-copy-id{username}@node1

ssh-copy-id{username}@node2

ssh-copy-id{username}@node3

 

3.(推荐做法)修改

ceph-deploy管理节点上的~/.ssh/config文件,这样ceph-deploy就能用你所

建的用户名登录Ceph节点了,而无需每次执行ceph-deploy都要指定--username

{username}。

这样做同时SSH也简化了ssh和scp的用法。

把{username}替换

成你创建的用户名。

需要使用chmod600~/.ssh/config修改权限,否则会报错

 

Hostnode1

Hostnamenode1

User{username}

Hostnode2

Hostnamenode2

User{username}

Hostnode3

Hostnamenode3

User{username}

 

启动时联网?

 

Ceph的各OSD进程通过网络互联并向Monitors

上报自己的状态。

如果网络默认为

off,那么Ceph集群在启动时就不能上线,直到你打开网络。

某些发行版(如CentOS)默认关闭网络接口。

所以需要确保网卡在系统启动时都能启动,

这样Ceph守护进程才能通过网络通信。

例如,在

RedHat和CentOS上,需进入

/etc/sysconfig/network-scripts

目录并确保

ifcfg-{iface}

文件中的

ONBOOT

置成了yes。

 

确保联通性?

 

用ping短主机名(hostname-s)的方式确认网络联通性。

解决掉可能存在的主机名解析问题。

 

Note

 

主机名应该解析为网络IP地址,而非回环接口IP地址(即主机名应该解析成非的IP

地址)。

如果你的管理节点同时也是一个Ceph节点,也要确认它能正确解析自己的主机名

和IP地址(即非回环IP地址)。

 

开放所需端口?

 

CephMonitors之间默认使用6789端口通信,OSD之间默认用6800:

7300这个范围内

的端口通信。

详情见网络配置参考。

CephOSD能利用多个网络连接进行与客户端、monitors、其他OSD间的复制和心跳的通信。

 

某些发行版(如RHEL)的默认防火墙配置非常严格,你可能需要调整防火墙,允许相应的入站请求,这样客户端才能与Ceph节点上的守护进程通信。

 

对于RHEL7上的firewalld,要对公共域开放CephMonitors使用的6789端口和

OSD使用的6800:

7300端口范围,并且要配置为永久规则,这样重启后规则仍有效。

例如:

 

sudofirewall-cmd--zone=public--add-port=6789/tcp--permanent

 

若使用iptables,要开放CephMonitors使用的6789端口和OSD使用的6800:

7300

端口范围,命令如下:

 

sudoiptables-AINPUT-i{iface}-ptcp-s{ip-address}/{netmask}--dport6789-jACCEPT

 

在每个节点上配置好iptables之后要一定要保存,这样重启之后才依然有效。

例如:

 

/sbin/serviceiptablessave

 

终端(TTY)?

 

在CentOS和RHEL上执行

ceph-deploy

命令时可能会报错。

如果你的Ceph

节点默认设

置了requiretty

,执行

sudovisudo

禁用它,并找到Defaultsrequiretty

选项,

把它改为Defaults:

ceph

!

requiretty

或者直接注释掉,这样ceph-deploy

就可以用

之前创建的用户(

创建部署

Ceph的用户

)连接了。

sudovisudo修改确保配置如下

 

Defaults!

visiblepw

Defaults!

requiretty

{username}ALL=(ALL)NOPASSWD:

ALL

Note

 

编辑配置文件/etc/sudoers时,必须用sudovisudo而不是文本编辑器。

 

SELINUX?

 

在CentOS和RHEL上,SELinux默认为Enforcing开启状态。

为简化安装,我们建议

把SELinux设置为Permissive或者完全禁用,也就是在加固系统配置前先确保集群的安

装、配置没问题。

用下列命令把SELinux设置为Permissive:

 

sudosetenforce0

 

要使SELinux配置永久生效(如果它的确是问题根源),需修改其配置文件

/etc/selinux/config。

 

YUM优先级/首选项插件?

 

确保你的包管理器安装了优先级/首选项包且已启用。

在CentOS上你也许得安装EPEL,

在RHEL上你也许得启用可选软件库。

 

sudoyuminstallyum-plugin-priorities

 

比如在RHEL7服务器上,可用下列命令安装yum-plugin-priorities并启用

rhel-7-server-optional-rpms软件库:

 

sudoyuminstallyum-plugin-priorities

--enablerepo=rhel-7-server-optional-rpms

 

总结?

 

快速入门的预检部分到此结束,请继续存储集群快速入门。

 

存储集群快速入门?

 

如果你还没完成预检,请先做完。

本篇快速入门用ceph-deploy

从管理节点建立一个Ceph

存储集群,该集群包含三个节点,以此探索

Ceph的功能。

 

第一次练习时,我们创建一个

 

Ceph

 

存储集群,它有一个

 

Monitor

 

和两个

 

OSD守护进程。

一旦集群达到

active+clean

状态,再扩展它:

增加第三个

OSD

、增加元数据服务器

和两个CephMonitors。

为获得最佳体验,先在管理节点上创建一个目录,用于保存ceph-deploy生成的配置文件和密钥对。

 

mkdirmy-cluster

cdmy-cluster

 

ceph-deploy会把文件输出到当前目录,所以请确保在此目录下执行ceph-deploy。

 

Important

 

如果你是用另一普通用户登录的,不要用

 

sudo

 

或在

 

root

 

身份运行

 

ceph-deploy

 

,因

为它不会在远程主机上调用所需的

sudo

命令。

 

禁用

 

requiretty

 

在某些发行版(如

 

CentOS

 

)上,执行

ceph-deploy

 

命令时,如果你的

 

Ceph

 

节点默认设

置了

requiretty

那就会遇到报错。

可以这样禁用此功能:

执行

sudovisudo

,找到

Defaultsrequiretty

选项,把它改为

Defaults:

ceph!

requiretty

,这样

ceph-deploy就能用ceph用户登录并使用sudo了。

 

创建集群?

 

如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:

ceph-deploypurgedata{ceph-node}[{ceph-node}]

ceph-deployforgetkeys

 

用下列命令可以连Ceph安装包一起清除:

 

ceph-deploypurge{ceph-node}[{ceph-node}]

如果执行了purge,你必须重新安装Ceph。

 

在管理节点上,进入刚创建的放置配置文件的目录,用

1.创建集群。

 

ceph-deploy执行如下步骤。

ceph-deploynew{initial-monitor-node(s)}

 

例如:

ceph-deploynewnode1

在当前目录下用

ls

和cat

检查ceph-deploy

的输出,应该有一个Ceph配置文

件、一个monitor

密钥环和一个日志文件。

详情见

ceph-deploynew-h

2.

把Ceph配置文件里的默认副本数从

3改成

2

,这样只有两个OSD也可以达到

active+clean

状态。

把下面这行加入

[global]

段:

osdpooldefaultsize=2

3.

如果你有多个网卡,可以把

publicnetwork

写入Ceph配置文件的

[global]

段下。

详情见网络配置参考。

publicnetwork={ip-address}/{netmask}

4.

安装Ceph

ceph-deployinstall{ceph-node}[{ceph-node}...

]

例如:

ceph-deployinstalladmin-nodenode1node2node3

ceph-deploy

将在各节点安装

Ceph。

注:

如果你执行过ceph-deploypurge

你必须重新执行这一步来安装

Ceph。

5.配置初始monitor(s)、并收集所有密钥:

ceph-deploymoncreate-initial

 

完成上述操作后,当前目录里应该会出现这些密钥环:

{cluster-name}.只有在安装Hammer或更高版时才会创建bootstrap-rgw密钥环。

Note

如果此步失败并输出类似于如下信息“Unabletofind/etc/ceph/,请确认中为

monitor指定的IP是PublicIP,而不是PrivateIP。

1.添加两个OSD。

为了快速地安装,这篇快速入门把目录而非整个硬盘用于OSD守

护进程。

如何为OSD及其日志使用独立硬盘或分区,请参考ceph-deployosd。

登录

到Ceph节点、并给OSD守护进程创建一个目录。

sshnode2

sudomkdir/var/local/osd0

exit

sshnode3

sudomkdir/var/local/osd1

exit

 

然后,从管理节点执行ceph-deploy来准备OSD。

ceph-deployosdprepare{ceph-node}:

/path/to/directory

 

例如:

ceph-deployosdpreparenode2:

/var/local/osd0node3:

/var/local/osd1

最后,激活OSD。

ceph-deployosdactivate{ceph-node}:

/path/to/directory

 

例如:

ceph-deployosdactivatenode2:

/var/local/osd0node3:

/var/local/osd1

 

2.用ceph-deploy把配置文件和admin密钥拷贝到管理节点和Ceph节点,这样你每次执行Ceph命令行时就无需指定monitor地址和了。

ceph-deployadmin{admin-node}{ceph-node}

 

例如:

ceph-deployadminadmin-nodenode1node2node3

ceph-deploy和本地管理主机(admin-node)通信时,必须通过主机名可达。

必要时可修改/etc/hosts,加入管理主机的名字。

3.确保你对有正确的操作权限。

4.sudochmod+r/etc/ceph/检查集群的健康状况。

cephhealth

 

等peering完成后,集群应该达到active+clean状态。

 

操作集群?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1