ceph文件系统安装配置

1     前言

Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。

l  Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。

l  Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。

l  MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

2     安装配置

2.1  实验环境

操作系统:Centos 7 x64


IP


主机名


应用


192.168.8.10


ceph-deploy


控制台


192.168.8.11


ceph-mon1


监控1


192.168.8.12


ceph-mon2


监控2


192.168.8.13


ceph-mon3


监控3


192.168.8.14


ceph-osd0


数据0


192.168.8.15


ceph-osd1


数据1


192.168.8.16


ceph-osd2


数据2


192.168.8.17


ceph-mds


元数据


192.168.8.18


cephfs


客户端

2.2  安装配置ceph

192.168.8.10操作

2.2.1     yum环境

yuminstall -y yum-utils && yum-config-manager --add-repohttps://dl.fedoraproject.org/pub/epel/7/x86_64/ &&  yum install --nogpgcheck -y epel-release&&  rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm /etc/yum.repos.d/dl.fedoraproject.org*

编辑yum源:

vim/etc/yum.repos.d/ceph.repo


[Ceph]

name=Ceph  packages for $basearch

baseurl=http://download.ceph.com/rpm-jewel/el7/$basearch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

priority=1

[Ceph-noarch]

name=Ceph  noarch packages

baseurl=http://download.ceph.com/rpm-jewel/el7/noarch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

priority=1

[ceph-source]

name=Ceph  source packages

baseurl=http://download.ceph.com/rpm-jewel/el7/SRPMS

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

priority=1

安装ceph-deploy

yuminstall ceph-deploy

安装ntp

yuminstall ntp ntpdate ntp-doc

2.2.2     hosts文件

vi/etc/hosts

添加


192.168.8.10   ceph-deploy

192.168.8.11   ceph-mon1

192.168.8.12   ceph-mon2

192.168.8.13   ceph-mon3

192.168.8.14   ceph-node0

192.168.8.15   ceph-node1

192.168.8.16   ceph-node2

192.168.8.17   ceph-mds

192.168.8.18   cephfs

2.2.3     无密钥登录

ssh-keygen   一直回车

把公钥拷贝到各 Ceph 节点

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

2.2.4     创建集群

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

mkdirmy-cluster

cdmy-cluster

ceph-deploy 会把文件输出到当前目录,所以请确保在此目录下执行后面的 ceph-deploy 相关命令

2.2.5     安装mon

在管理节点上,进入刚创建的放置配置文件的目录,用 ceph-deploy 执行如下步骤。

ceph-deploynew ceph-mon1 ceph-mon2 ceph-mon3

在当前目录下用 ls 和 cat 检查ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。

2.2.6     安装ceph

ceph-deployinstall ceph-deploy ceph-mon1 ceph-mon2 ceph-mon3 ceph-node0 ceph-node1ceph-node2 ceph-mds cephfs

ceph-deploy将在各节点安装Ceph 。 注:如果你执行过 ceph-deploy purge ,你必须重新执行这一步来安装 Ceph 。

2.2.7     初始化mon

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

ceph-deploymon create-initial

2.2.8     添加osd

添加OSD 。这次我们是把目录而非整个硬盘用于 OSD 守护进程(存储数据)。

ssh ceph-node0

mkdir/var/local/osd0

exit

sshceph-node1

mkdir/var/local/osd1

exit

sshceph-node2

mkdir/var/local/osd2

exit

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

ceph-deployosd prepare ceph-node0:/var/local/osd0 ceph-node1:/var/local/osd1ceph-node2:/var/local/osd2

ceph-deployosd activate ceph-node0:/var/local/osd0 ceph-node1:/var/local/osd1ceph-node2:/var/local/osd2

用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点

ceph-deployadmin ceph-deploy ceph-mon1 ceph-mon2 ceph-mon3 ceph-node0 ceph-node1ceph-node2 ceph-mds cephfs

检查集群的健康状况

cephstatus

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

2.2.9     添加元数据

至少需要一个元数据服务器才能使用 CephFS文件系统 ,执行下列命令创建元数据服务器:

ceph-deploymds create ceph-mds

当前生产环境下的 Ceph 只能运行一个元数据服务器。你可以配置多个,但多个目前还不稳定。

2.2.10   添加存储池

用此命令创建存储池时:

cephosd pool create {pool-name} pg_num

确定 pg_num 取值是强制性的,因为不能自动计算。下面是几个常用的值:

少于 5 个 OSD 时可把 pg_num 设置为 128

OSD 数量在 5 到 10 个时,可把 pg_num 设置为512

OSD 数量在 10 到 50 个时,可把 pg_num 设置为4096

OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算 pg_num 取值

自己计算 pg_num 取值时可借助 pgcalc 工具:http://ceph.com/pgcalc/

一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:

为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。

为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。

cephosd pool create cephfs_metadata 128 128

cephosd pool create cephfs_data 512 512

2.2.11   创建文件系统

创建好存储池后,你就可以用 fs new 命令创建文件系统了:

cephfs new cephfs cephfs_metadata cephfs_data

查看文件系统:

cephfs ls

文件系统创建完毕后, MDS 服务器就能达到 active 状态了,比如在一个单 MDS 系统中:

cephmds stat

2.2.12   挂载文件系统

查看密钥:

cat/etc/ceph/ceph.client.admin.keyring


[client.admin]

key = AQA1nLhZBEVaDBAAtHOx5OEdOjKSpvHN3JVJeA==

caps mds = "allow *"

caps mon = "allow *"

caps osd = "allow *"

将红色部分导入一个新文件

echo“AQA1nLhZBEVaDBAAtHOx5OEdOjKSpvHN3JVJeA==”> /etc/ceph/admin.secret

chmod600 /etc/ceph/admin.secret

挂载文件系统

mount-t ceph 192.168.8.11,192.168.8.12,192.168.8.13:6789:/ /mnt/mycephfs -oname=admin,secretfile=/etc/ceph/admin.secret

查看cephfs容量

cephdf

2.2.13   fstab配置

要用内核驱动挂载 Ceph FS ,按下列格式添加到 /etc/fstab :

{ipaddress}:{port}:/{mount}/{mountpoint} {filesystem-name}    [name=username,secret=secretkey|secretfile=/path/to/secretfile],[{mount.options}]

192.168.8.11,192.168.8.12,192.168.8.13:6789:/  /mnt/mycephfs ceph  name=admin, secretfile=/etc/ceph/admin.secret,noatime  0  0

2.3  扩容ceph

2.3.1     新增osd

如增加ceph-osd3 IP为192.168.8.19

管理节点增加主机名解析:

vi/etc/hosts

192.168.8.19  ceph-osd3

增加无密钥登录

[email protected]

ssh ceph-osd3

sudomkdir /var/local/osd3

exit

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

ceph-deployosd prepare ceph-node3:/var/local/osd3

激活 OSD

ceph-deployosd activate ceph-node3:/var/local/osd3

2.3.2     删除osd

如删除ceph-osd3 IP为192.168.8.19

删除 OSD 前,它通常是 up 且 in 的,要先把它踢出集群,以使 Ceph 启动重新均衡、把数据拷贝到其他 OSD 。

先查看osd对应数字

cpehosd tree

然后进行踢出

cephosd out 3

观察数据迁移

一旦把 OSD 踢出( out )集群,Ceph 就会开始重新均衡集群、把归置组迁出将删除的 OSD 。你可以用 ceph 工具观察此过程。

ceph –w

你会看到归置组状态从 active+clean 变为 active, some degradedobjects 、迁移完成后最终回到 active+clean 状态。

注意:有时候,(通常是只有几台主机的“小”集群,比如小型测试集群)拿出( out )某个 OSD 可能会使CRUSH 进入临界状态,这时某些 PG 一直卡在active+remapped 状态。如果遇到了这种情况,你应该把此 OSD 标记为 in ,用这个命令:

cephosd in 3

等回到最初的状态后,把它的权重设置为 0 ,而不是标记为 out ,用此命令:

ceph osdcrush reweight osd.3 0

执行后,你可以观察数据迁移过程,应该可以正常结束。把某一 OSD 标记为 out 和权重改为 0的区别在于,前者,包含此 OSD 的桶、其权重没变;而后一种情况下,桶的权重变了(降低了此 OSD 的权重)。某些情况下, reweight 命令更适合“小”集群。

停止 OSD

把 OSD 踢出集群后,它可能仍在运行,就是说其状态为 up 且 out 。删除前要先停止 OSD 进程。

ssh ceph-osd3

systemctlstop [email protected]

exit

停止 OSD 后,状态变为 down 。

cephosd tree

删除 CRUSH 图的对应 OSD 条目,它就不再接收数据了。

cephosd crush remove osd.3

cephosd crush remove ceph-node3

删除 OSD 认证密钥:

cephauth del osd.3

删除 OSD

cephosd rm 3

从 ceph.conf 配置文件里删除对应条目。

ssh ceph-deploy

cd/etc/ceph

vimceph.conf

[osd.3]

host = {hostname}

时间: 2024-12-21 15:54:39

ceph文件系统安装配置的相关文章

MFS分布式文件系统安装配置

一.地址规划 主控服务器MasterServer:192.168.11.100            安装Master角色 元数据日志服务器MetaLoggerServer:192.168.11.103          安装metalogger角色 存储服务器Chunk Server:192.168.11.102  192.168.11.110        安装chunkserver角色 客户端Client:192.168.11.111               安装mfsmount角色和

阿里云服务器 ECS Ubuntu系统安装配置

1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示shell界面,这时需要输入root账号及其密码登录到系统 这时候就可以进行系统操作了 但是这种方式操作比较不方便,建议使用ssh进行管理操作,阿里云系统已经自带了ssh服务,我们用ssh client连接进来即可. SSH方式远程管理 windows用户可以安装putty,通过putty进行SSH

谈谈企业--RedHat Linux操作系统安装配置规范

1.谈谈规范的那些事 首先思考为什么要规范,规范有哪些好处.怎样去规范.规范可以避免哪些风险,当服务器超过几百上千台的时候,规范的重要性越发的尤为重要,废话不多说,浅谈下自己的规范文档. RedHat Linux操作系统安装配置规范 1.1    版本选择 根据应用的要求,并结合硬件类型,选择适当的操作系统版本. 至本规范最后更新时,新安装操作系统允许使用的版本如下: RedHatEnterprise Linux Server 6.4 RedHatEnterprise Linux Server

CentOS 6.5系统安装配置图解教程(详细图文)

说明: 截止目前CentOS 6.x最新版本为CentOS 6.5,下面介绍CentOS 6.5的具体安装配置过程 服务器相关设置如下: 操作系统:CentOS 6.5 64位 IP地址:192.168.21.129 网关:192.168.21.2 DNS:8.8.8.8  8.8.4.4 备注: CentOS 6.5系统镜像有32位和64位两个版本,生产服务器如果是大内存(4G以上内存) 建议安装64位版本CentOS-6.5-x86_64-bin-DVD1.iso 附:CentOS 6.5下

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

Oracle GoldenGate学习之--AIX rac系统安装配置(1)

Oracle GoldenGate学习之--AIX rac系统安装配置(1) 系统环境 操作系统:AIX5.3-09 DB Soft:  Oracle 10gR2 Cluster:   CRS 10.2.0.1 如下图所示: 本案例是用于基于VG Concurrent 的共享存储: 系统环境实在AIX系统上构建的Oracle RAC 下载OGG: http://www.oracle.com/technetwork/cn/middleware/goldengate/downloads/index.

Ceph radosgw 安装配置

Ceph radosgw对象存储的接口,研究配置了许久,现分享如下.首先配置radosgw的前提,是你已经成功的配置好了Ceph集群,通过ceph –s 查看ceph集群,处于health状态.在这里,ceph集群的auth的配置为none,所以有关auth的部分,也就是访问权限相关的keying部分的配置在这里省略. 1)创建rgw相关的pool ceph osd pool create .rgw 128 128 ceph osd pool create .rgw.root 128 128 c

PXE无人值守系统安装配置简要说明

0.关闭防火墙: #iptables -F 或 #service iptables stop =========================================================================================== 1.安装配置DHCP服务器: #yum -y install dhcp //yum安装dhcp服务器 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ubuntu系统安装配置Redis

Ubuntu系统安装配置Redis Redis是一个NoSQL数据库,在数据需要频繁更新,并且数据的访问热点范围比较广的应用场景下,Redis的效率很不错.下面介绍Redis的安装过程,如下面的步骤所示. 1.下载安装 1 2 3 4 5 wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz tar -zxf redis-2.2.13.tar.gz cd redis-2.2.13 make sudo make install 这时R