cephadm安装ceph v15

1,410 阅读4分钟

cephadm 安装ceph v15准备

参考安装文档, 有问题可以直接留言,大家一起交流,以下都是部署的比较基础的东西

https://docs.ceph.com/en/latest/cephadm/
http://www.dtmao.cc/news_show_1027422.shtml

用的阿里云的三台机器进行测试,其中每台机器挂载了一块40G的数据盘,系统盘也为40G,系统为centos7.8

  • 三台服务器
hostnameIP
node1172.16.2.186
node2172.16.2.184
node3172.16.2.184
  • 安装docker

参考www.runoob.com/docker/cent…

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • 设置hostname和修改hosts(每台服务器都需要设置hostname和修改hosts文件)

设置hostname

vim /etc/hostname 然后写入hostname即可

hostnamectl set-hostname node1

修改hosts(如下图所示)

vim /etc/hosts

  • 禁用防火墙
systemctl stop firewalld
systemctl disable firewalld

接下来就开始我们的安装之旅把!

获取cephadm

cephadm其实就个python3的脚本而已

连接到node1

wget https://raw.githubusercontent.com/ceph/ceph/octopus/src/cephadm/cephadm
# 如果wget不到该文件 直接浏览器访问复制文件内容到新建文件cephadm即可

# 赋予执行权限
chmod +x cephadm

获取软件包

  • 尽管独立脚本足以启动群集,但是cephadm在主机上安装命令很方便。要安装提供cephadm八达通发行版命令的软件包,请运行以下命令
./cephadm add-repo --release octopus
./cephadm install
  • cephadm通过运行which以下命令来确认该路径现在位于您的PATH中:
which cephadm
  • 成功的命令将返回以下内容:which cephadm
/usr/sbin/cephadm

引导新的集群

# 172.16.2.186为node1的IP
cephadm bootstrap --mon-ip 172.16.2.186

安装完成后会返回一个dashboard页面 直接使用公网IP访问即可,主要确保安全组的端口畅通

将主机添加到集群中

要将每个新主机添加到群集,请执行两个步骤:

在新主机的根用户authorized_keys文件中安装群集的公共SSH密钥:

ssh-copy-id -f -i /etc/ceph/ceph.pub root@*<new-host>*

例如:

ssh-copy-id -f -i /etc/ceph/ceph.pub root@node1
ssh-copy-id -f -i /etc/ceph/ceph.pub root@node2

告诉Ceph,新节点是集群的一部分:

ceph orch host add *newhost*

例如:

ceph orch host add node1
ceph orch host add node1
  1. 将磁盘转化为osd

有几种创建新OSD的方法:

告诉Ceph使用任何可用和未使用的存储设备:

ceph orch apply osd --all-available-devices

从特定主机上的特定设备创建OSD:

ceph orch daemon add osd *<host>*:*<device-path>*

例如:

ceph orch daemon add osd node1:/dev/vdb

注意该磁盘必须是干净的,未被分区的,如果已经使用,可以参考下面的方法

部署完ceph之后 cephadm shell 进入容器内部, 然后执行擦除磁盘

# Zap (erase!) a device so it can be re-used
orch device zap <hostname> <path> [--force]

example

ceph orch device zap node1 /dev/sdb --force

部署rgw

确保ceph -s的状态为HEALTH_OK

Cephadmradosgw部署为管理特定领域和区域的守护程序的集合。(有关领域和区域的更多信息,请参见Multi-Site。)

请注意,使用cephadm时,radosgw守护程序是通过监视器配置数据库而不是通过ceph.conf或命令行来配置的。如果该配置尚未就绪(通常在本 client.rgw.<realmname>.<zonename> 节中),那么radosgw守护程序将使用默认设置(例如,绑定到端口80)启动。

例如,要在node1、node2和node3上部署3个服务于myorg领域和us-east-1区域的rgw守护程序:

# 如果尚未创建领域,请首先创建一个领域:
radosgw-admin realm create --rgw-realm=myorg --default

# 接下来创建一个新的区域组:
radosgw-admin zonegroup create --rgw-zonegroup=default --master --default

# 接下来创建一个区域:
radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=cn-east-1 --master --default

# 为特定领域和区域部署一组radosgw守护程序:
ceph orch apply rgw myorg cn-east-1 --placement="3 node1 node2 node3"

这一步完成之后,我们可以ceph -s看到

接下来我们,为rgw创建一个用户和开启rgw的dashboard

参考文档 blog.csdn.net/qq_40017427…

# 创建用户
radosgw-admin user create --uid=rgw --display-name=rgw --system

# 提供Dashboard证书 set-rgw-api-access-key set-rgw-api-secret-key是创建用户返回的
# 也可以使用 radosgw-admin user info --uid=rgw 查看
ceph dashboard set-rgw-api-access-key ZW1Y5IWDTB7K85P32H2A
ceph dashboard set-rgw-api-secret-key aehFzwMypF4V8Bm8A3baevHonEmu4E9a4oLZ1umh

# 禁用SSL 可禁用可不禁用
ceph dashboard set-rgw-api-ssl-verify False

# 启用rgw
ceph dashboard set-rgw-api-host node
ceph dashboard set-rgw-api-port 80
ceph dashboard set-rgw-api-scheme http
ceph dashboard set-rgw-api-user-id rgw

radosgw-admin period update --commit

验证见参考文档

做完之一🙅步之后可以重启一下三台服务器

使用python访问ceph对象存储, 如果要前端访问存储资源时候可以用HTML标签来访问,不能浏览器直接访问(前提可以把bucketacl设置成public-read或者把存储对象设置成public-read

参考文档 blog.csdn.net/nslogheyang…