ceph集群部署

事先准备虚机

ip               name         系统

...173         client           centos7

...175          node1         centos7

...178          node2         centos7

...179         node3          centos7

每台都需要做的

--------------------------------------------------------------------------------------------------------------------

1.关闭防火墙和SElinx

systemctl stop firewalld

systemctl disable firewalld

sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

setenforce 0

2.配置主机名和ip地址解析

hostname {name}

echo -e " ...172\n ...175\n ...178\n ...179\n"  >>/etc/hosts (追加本地域名解析)

3. 节点免密互信

(选择一台主节点配置)

ssh-keygen -f ~/.ssh/id_rsa -N ' ' -q (-f 写入指定目录  -N 密码验证 里面为空格为免密 -q 静默模式)

for i in node1 node2 node3 client; do ssh-copy-id $i; done(发公钥)

for i in node1 node2 node3 client; do ssh-copy-id $i; done(验证)

node1
node2
node3
client

-------------------------

4.配置时间同步

一般本机默认安装了chrony的 

在/etc/chrony.conf 里面改有如下内容行

server ntp.aliyun.com iburst(多个选择注释掉)
allow 172.16.0.0/16
local stratum 10(开启服务不可用也允许把本地授予其他客户端)

开机自启

 systemctl enable chronyd --now

上面为在主节点的配置

下面去每台上配置

/etc/chrony.conf

把服务那几行注释

添加 server node1 iburst

重启服务

设置开机自启

systemctl enable chronyd

检查同步

chronyc sources

可以去每台机上输入date检查时间

---------------------------------------------------------------------------------------------------------------------------------

之后在主节点做

5.配置yum源

有直接配好的自提链接:

https://pan.baidu.com/s/1DD-g-4GY5shOu7LV-Dcctg 
提取码:1234

拷贝到目录上

把主节点做为yum仓库其他节点使用ftp使用仓库

yum install -y vsftpd

systemctl enable vsftpd --now

把ceph.iso 挂载到 /var/ftp

 mkdir /var/ftp/ceph

echo "/root/ceph.iso  /var/ftp/ceph  iso9660 defaults 0 0" >> /etc/fstab (开机自启)

mount -a (挂载上镜像)

6. 集群部署

设置环境变量防止使用官方yum源

export CEPH_DEPLOY_REPO_URL=ftp://node1/ceph/

7.在node1上安装部署工具,学习工具的语法格式。

Ceph官方推出了一个用python写的工具 cpeh-deploy,可以很大的简化ceph集群的配置过程

mkdir /ceph-cluster

cd /ceph-cluster

 yum install /var/ftp/ceph/noarch/ceph-deploy-2.0.1-0.noarch.rpm 

8.创建ceph集群,在/ceph-cluster目录下生成配置文件

node1-node3添加epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum install python2-pip -y

pip install distribute -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

ceph-deploy new node1 node2 node3

ll检查

9.所有节点安装ceph相关软件包

 ceph-deploy install node1 node2 node3

10.初始启动mon服务

ceph-deploy mon create-initial (拷贝并设置开机自启)

ls /etc/ceph/

切换节点检查状态

systemctl is-active ceph-mon@node3.service 

active

11.创建ceph管理节点(mgr)

ceph-deploy mgr create node1 node2 node3 

格式化sdb

for i in node{1..3}
do
 ssh $i parted /dev/sdb mklabel gpt
 ssh $i parted /dev/sdb mkpart primary 1 50%
 ssh $i parted /dev/sdb mkpart primart 50% 100%
done
修改权限

for i in node{1..3}
do
 ssh $i chown ceph.ceph /dev/sdb1 /dev/sdb2
done

写入规则永久有效

vim /etc/udev/rules.d/70-sdb.rules
ENV{DEVNAME}=="/dev/sdb1",OWNER="ceph",GROUP="ceph"
ENV{DEVNAME}=="/dev/sdb2",OWNER="ceph",GROUP="ceph"
发给其他节点

for i in node{2..3}
do
 scp /etc/udev/rules.d/70-sdb.rules $i:/etc/udev/rules.d/
done

13.创建osd存储

for i in node{1..3}
do
 ssh $i parted /dev/sdc mklabel gpt
 ssh $i parted /dev/sdd mklabel gpt
done

清理

for i in node{1..3}
do 
  ssh $i ceph-volume lvm zap /dev/sdc
  ssh $i ceph-volume lvm zap /dev/sdd
done

创建osd空间

ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node1

 ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node2

ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node3

结构

12.ceph状态,验证

在主节点生成的ceph.client.admin.keyring文件拷贝至所有节点的/etc/ceph下

 ceph-deploy admin node1 node2 node3

ceph health (结果:HEALTH_OK)

 ceph -s(上下两个命令都可健康检查,一定要通过检查)

13.dashboard(不稳定)

for i in node{1..3}
do
 ssh $i yum install -y ceph-mgr-dashboard
done

ceph mgr module enable dashboard --force 启动

ceph dashboard create-self-signed-cert 证书免

ceph dashboard ac-user-create {admin}{admin}{administrator}

ceph mgr services

(不建议使用 不好搞出来页面)

### 如何在Ceph集群部署和配置ECS #### ECS概述 Elastic Compute Service (ECS),即弹性计算服务,在云计算环境中提供按需使用的虚拟服务器实例。然而,当提到与Ceph集成时,“ECS”通常指的是Amazon S3兼容的对象存储接口或者是自定义的企业级对象网关解决方案。对于后者,这可能涉及到使用RADOS Gateway(RGW)来为Ceph集群提供S3或Swift API的支持。 #### 使用RADOS Gateway作为ECS入口 为了使Ceph能够像ECS那样工作,可以设置RADOS Gateway (RGW)[^1]。RGW是一个HTTP RESTful前端,它允许客户端通过标准协议访问Ceph Object Storage Cluster中的数据。以下是基于现有Ceph Octopus版本(如v15.2.3)的简单指导: #### 安装并启动RADOS Gateway 假设已经有一个运行良好的Ceph集群,并且cephadm工具可用于管理该集群,则可以通过以下命令安装RGW: ```bash [root@node1 ~]# ceph orch apply rgw <rgw-name> --port=8080 ``` 上述命令会创建一个新的RADOS Gateway实例`<rgw-name>`监听端口8080[^3]。 #### 配置多站点或多区域支持(可选) 如果计划构建一个多地域分布式的对象存储系统,那么还需要进一步调整以启用multi-site功能。这意味着可以在不同地理位置之间同步副本,从而提高灾难恢复能力和地理冗余度。 #### 用户管理和权限控制 利用Ceph提供的IAM-like特性,管理员可以根据实际需求创建用户账户及其关联密钥对,并授予相应的桶操作权限。这些都可以借助radosgw-admin CLI完成。 #### 性能优化建议 - **硬件选择**: 对于大规模生产环境下的高性能要求场景下,推荐采用SSD硬盘提升IOPS表现;同时考虑增加内存容量以便缓存更多元数据。 - **网络带宽保障**: 确保各个节点间有足够的带宽连接,特别是跨数据中心互联线路的质量至关重要。 - **参数调优**: 根据具体业务负载特征微调一些重要的性能相关选项,比如最大并发请求数、读写超时时间等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值