CentOS8使用cephadm部署和配置Ceph Octopus

  • 部署工具:cephadm
  • 操作系统:CentOS 8
  • Ceph版本:Octopus
  • 操作用户:root

部署前,请注意:根据目前(2020年8月)Ceph官方文档的介绍,cephadm的对各服务的支持情况如下:

  1. 完全支持:MON、MGR、OSD、CephFS、rbd-mirror
  2. 支持但文档不全:RGW、dmcrypt OSDs
  3. 开发中:NFS、iSCSI

准备

除非特别说明,本小节的操作在所有节点进行。

部署环境:

主机IP配置磁盘(除系统盘)服务
ceph-mon1(虚拟机)192.168.7.114C/8GMON、prom+grafana
ceph-mon2(虚拟机)192.168.7.124C/8GMON、MGR
ceph-mon3(虚拟机)192.168.7.134C/8GMON、MGR
ceph-osd1(物理机)192.168.7.1440C/64G1.6T SSD/4T SAS * 4OSD、MDS、NFS、RGW
ceph-osd2(物理机)192.168.7.1540C/64G1.6T SSD/4T SAS * 4OSD、MDS、NFS、RGW
主机名

确定一下主机名是否正确,尤其是从虚拟机复制过来的节点:

hostnamectl set-hostname ceph-mon1
安装容器运行时

cephadm的部署方式是基于容器进行管理的,可以安装dockerpodman

dnf install -y podman

podman配置国内镜像源:

mv /etc/containers/registries.conf /etc/containers/registries.conf.bak
cat <<EOF > /etc/containers/registries.conf
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "anwk44qv.mirror.aliyuncs.com"
EOF
安装epel

并配置阿里云的源。

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
安装和配置chrony
dnf install -y chrony

mv /etc/chrony.conf /etc/chrony.conf.bak

cat > /etc/chrony.conf <<EOF
server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony
EOF

systemctl enable chronyd
systemctl restart chronyd
主机名可访问

修改/etc/hosts文件,添加所有节点的IP(如果用DNS也可以)。

192.168.7.11   ceph-mon1
192.168.7.12   ceph-mon2
192.168.7.13   ceph-mon3
192.168.7.14   ceph-osd1
192.168.7.15   ceph-osd2
关闭SELINUX
setenforce 0

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

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

cephadm以及ceph命令基于python3运行。

dnf install -y python3

安装cephadm

以下操作在ceph-mon1节点上进行。

使用curl下载最新的cephadm脚本:

curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm

其实这个脚本就可以用来部署了,如果要安装的话:

./cephadm add-repo --release octopus
./cephadm install

部署一个小集群

除非特别说明,本小节的操作在cephadm所在节点进行。

bootstrap

cephadm的部署策略是先在一个节点上部署一个Ceph cluster,然后把其他节点加进来,再部署各种所需的服务。

首先部署的这个节点是一个MON,需要提供IP地址。

mkdir -p /etc/ceph
cephadm bootstrap --mon-ip 192.168.7.11

这个命令会:

  • 创建一个有MON和MGR的新cluster。
  • 为Ceph cluster生成一个SSH key,并添加到/root/.ssh/authorized_keys
  • 生成一个最小化的/etc/ceph/ceph.conf配置文件。
  • 为用户client.admin生成/etc/ceph/ceph.client.admin.keyring
  • 生成公钥/etc/ceph/ceph.pub,这是cephadmceph orch命令)用来连接其他节点的公钥。

上面这几条是官方文档里介绍的,其实用podman ps查看一下,发现已经启动了几个容器:

  • mon(ceph/ceph:v15)
  • mgr(ceph/ceph:v15)
  • crash(ceph/ceph:v15),这是干嘛的?
  • prometheus和node-exporter,用于收集监控指标数据
  • alertmanager,以前没用过,应该是告警用的
  • grafana,可以利用prometheus收集到的数据进行监控的可视化

命令的输出如下:

...
...
INFO:cephadm:Ceph Dashboard is now available at:

	     URL: https://ceph-mon1:8443/
	    User: admin
	Password: 91qoulprnv

INFO:cephadm:You can access the Ceph CLI with:

	sudo /usr/sbin/cephadm shell --fsid 1be68a48-de06-11ea-ae5e-005056b10c97 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

INFO:cephadm:Please consider enabling telemetry to help improve Ceph:

	ceph telemetry on

For more information see:

	https://docs.ceph.com/docs/master/mgr/telemetry/

INFO:cephadm:Bootstrap complete.
ceph cli

由于有了这些容器,其实就不需要本机安装任何Ceph的包了。

cephadm shell能够连接容器并利用其中已安装的ceph包和命令行工具。所以执行

cephadm shell

就可以进入容器内部,然后执行cephrbdrados等命令了。也可以添加别名:

alias ceph='cephadm shell -- ceph'
# 或利用上面的输出中给出的完整的命令
alias ceph='/usr/sbin/cephadm shell --fsid 1be68a48-de06-11ea-ae5e-005056b10c97 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring -- ceph'
ceph包

前面的./cephadm add-repo --release octopus命令创建了/etc/yum.repos.d/ceph.repo文件,处理一下使用阿里云的源:

sed -i 's#download.ceph.com#mirrors.aliyun.com/ceph#' /etc/yum.repos.d/ceph.repo
dnf makecache

然后就可以安装ceph命令行工具了:

dnf install -y ceph-common
ceph -v
ceph -s

添加节点到集群

  1. 将cluster的SSD公钥配置到新节点的authorized_keys文件(即SSH免密):
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-mon2
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-mon3
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-osd1
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-osd2
  1. 添加节点到cluster:
ceph orch host add ceph-mon2
ceph orch host add ceph-mon3
ceph orch host add ceph-osd1
ceph orch host add ceph-osd2
添加MON节点

通常Ceph需要部署3或5个MON节点,如果后来添加的节点与bootstrap的节点是在一个子网里,那么Ceph会自动将添加的节点部署上MON服务,直至达到5个。如要调整:

# ceph orch apply mon *<number-of-monitors>*
ceph orch apply mon 3

(方法一)如果要指定MON部署到哪几个具体的节点:

# ceph orch apply mon *<host1,host2,host3,...>*
ceph orch apply mon ceph-mon1,ceph-mon2,ceph-mon3

(方法二)此外,还可以用标签来进行指定:

# ceph orch host label add *<hostname>* mon
ceph orch host label add ceph-mon1 mon
ceph orch host label add ceph-mon2 mon
ceph orch host label add ceph-mon3 mon

# 然后指定
ceph orch apply mon label:mon

可以查看一下标签情况:

❯ ceph orch host ls
HOST       ADDR       LABELS  STATUS
ceph-mon1  ceph-mon1  mon
ceph-mon2  ceph-mon2  mon
ceph-mon3  ceph-mon3  mon
ceph-osd1  ceph-osd1
ceph-osd2  ceph-osd2

(方法三)还支持用YAML文件来指定:

service_type: mon
placement:
  hosts:
   - ceph-mon1
   - ceph-mon2
   - ceph-mon3
配置MGR

本小节及以后的操作可以在任何安装有ceph-common包并且能够连接Ceph集群(有/etc/ceph/ceph.conf和具有管理权限的key文件)的节点上运行。

添加节点后,Ceph会自动启动MGR节点:

❯ ceph orch ls --service_type mgr
NAME  RUNNING  REFRESHED  AGE  PLACEMENT  IMAGE NAME               IMAGE ID
mgr       2/2  10m ago    74m  count:2    docker.io/ceph/ceph:v15  54fa7e66fb03

可以看到,它启动了两个,其中一个是bootstrap的时候指定的ceph-mon1节点。

使用ceph orch ps --daemon_type mgr可以看到,在那两台节点上运行有mgr的容器。

我这部署的时候占用了ceph-osd1节点,仿照MON的标签方式:

ceph orch host label add ceph-mon2 mgr
ceph orch host label add ceph-mon3 mgr
ceph orch apply mgr label:mgr

在OSD节点安装smartmontools(7),默认安装的6版本无法满足需求,会在Dashboard报warning:

Smartctl has received an unknown argument (error code -22). You may be using an incompatible version of smartmontools. Version >= 7.0 of smartmontools is required to successfully retrieve data.

# 在OSD节点上,先下载smartmontool的rpm
wget http://fr2.rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/smartmontools-7.1-1.el8.x86_64.rpm
# 然后复制到各个OSD容器中(先用podman ps查看一下容器名称或ID)
podman cp smartmontools-7.1-1.el8.x86_64.rpm ceph-e09db8ae-f95c-11ea-931c-90e2ba8a2734-osd.5:/tmp
# 然后安装
podman exec -it ceph-e09db8ae-f95c-11ea-931c-90e2ba8a2734-osd.5 rpm -Uvh /tmp/smartmontools-7.1-1.el8.x86_64.rpm
podman exec -it ceph-e09db8ae-f95c-11ea-931c-90e2ba8a2734-osd.5 rm -f /tmp/smartmontools-7.1-1.el8.x86_64.rpm
# 查看安装结果
podman exec -it ceph-e09db8ae-f95c-11ea-931c-90e2ba8a2734-osd.5 smartctl --version

当然,也可以批量操作:

wget http://fr2.rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/smartmontools-7.1-1.el8.x86_64.rpm
for pod in $(podman ps | grep osd. | awk '{print $1}'); do
    podman cp smartmontools-7.1-1.el8.x86_64.rpm $pod:/tmp
    podman exec -it $pod rpm -Uvh /tmp/smartmontools-7.1-1.el8.x86_64.rpm
    podman exec -it $pod rm -f /tmp/smartmontools-7.1-1.el8.x86_64.rpm
    podman exec -it $pod smartctl --version | head -n 1
done
添加OSD设备

查看设备:

ceph orch device ls

满足以下条件的设备时AVAIL=True的:

  • 没有分区
  • 没有LVM配置
  • 没有被挂载
  • 没有文件系统
  • 没有Ceph BlueStore OSD
  • 大于5GB

否则无法置备对应的设备。

两种添加办法:

  • 自动添加所有的可用设备
# ceph orch apply osd --all-available-devices
  • 手动添加设备(这里先只添加2个ssd和2个hdd)
# ceph orch daemon add osd *<host>*:*<device-path>*
ceph orch daemon add osd ceph-osd1:/dev/nvme0n1
ceph orch daemon add osd ceph-osd2:/dev/nvme0n1
ceph orch daemon add osd ceph-osd1:/dev/sdb
ceph orch daemon add osd ceph-osd2:/dev/sdb

此时,在ceph-osd1ceph-osd2两个节点可以看到为每一个OSD启动了一个容器。

虽然标签对OSD不起作用,不过还是打上,方便查看:

ceph orch host label add ceph-osd1 osd
ceph orch host label add ceph-osd2 osd

配置存储池

为了分别测试SSD和HDD的性能,配置两个存储池,存储池ssd落在两块SSD上,而存储池hdd落在HDD上。

通过CRUSH rule来实现这一点,执行ceph osd tree查看现有的osd:

❯ ceph osd tree
ID  CLASS  WEIGHT    TYPE NAME           STATUS  REWEIGHT  PRI-AFF
-1         10.18738  root default
-3          5.09369      host ceph-osd1
 2    hdd   3.63820          osd.2           up   1.00000  1.00000
 0    ssd   1.45549          osd.0           up   1.00000  1.00000
-5          5.09369      host ceph-osd2
 3    hdd   3.63820          osd.3           up   1.00000  1.00000
 1    ssd   1.45549          osd.1           up   1.00000  1.00000

可以看到CLASS一列已经自动对添加的设备进行了ssdhdd的分类。

下面创建两个CRUSH rule,根据CLASS进行区分:

# 先查看现有的rule
❯ ceph osd crush rule ls
replicated_rule

# 创建两个replicated rule
# 格式:ceph osd crush rule create-replicated <rule-name> <root> <failure-domain> <class>
❯ ceph osd crush rule create-replicated on-ssd default host ssd
❯ ceph osd crush rule create-replicated on-hdd default host hdd

故障域设置为host,由于我这只有两台host,所以replica_size只能为2

ceph config set global osd_pool_default_size 2

创建两个存储池,并通过rule进行约束:

❯ ceph osd pool create bench.ssd 64 64 on-ssd
pool 'bench.ssd' created
❯ ceph osd pool create bench.hdd 128 128 on-hdd
pool 'bench.hdd' created
❯ ceph osd pool ls detail
pool 1 'device_health_metrics' replicated size 3 min_size 2 crush_rule 0 ...
pool 2 'bench.ssd' replicated size 2 min_size 1 crush_rule 1 object_hash rjenkins pg_num 64 pgp_num 64 autoscale_mode on last_change 46 flags hashpspool stripe_width 0
pool 3 'bench.hdd' replicated size 2 min_size 1 crush_rule 2 object_hash rjenkins pg_num 125 pgp_num 120 pg_num_target 32 pgp_num_target 32 pg_num_pending 124 autoscale_mode on last_change 67 lfor 0/67/67 flags hashpspool stripe_width 0

可以看到,新增加的两个pool都是size 2,不过bench.hdd的pg数量有些奇怪,ceph -s看一下:

❯ ceph -s
  cluster:
    id:     1be68a48-de06-11ea-ae5e-005056b10c97
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum ceph-mon2,ceph-mon3,ceph-mon1 (age 35m)
    mgr: ceph-mon2.puzrvy(active, since 2d), standbys: ceph-mon3.gvdtdw
    mds:  2 up:standby
    osd: 4 osds: 4 up (since 2d), 4 in (since 2d); 1 remapped pgs

  data:
    pools:   3 pools, 146 pgs
    objects: 4 objects, 0 B
    usage:   4.1 GiB used, 10 TiB / 10 TiB avail
    pgs:     0.685% pgs not active
             145 active+clean
             1   clean+premerge+peered

  progress:
    PG autoscaler decreasing pool 3 PGs from 128 to 32 (4m)
      [=============...............] (remaining: 4m)

发现健康状况是HEALTH_OK的,不过下方的progress确实正在进行PG数量的调整,原来在Ceph nautilus版本引入了PG的自动调整功能,难道不用指定具体的pg_numpgp_num了吗,试一下:

❯ ceph osd pool create testpg on-hdd
pool 'testpg' created
❯ ceph osd pool ls detail
...
pool 4 'testpg' replicated size 2 min_size 1 crush_rule 2 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 458 flags hashpspool stripe_width 0

不错,看来以后不用找公式算PG个数了。删除测试pool:

❯ ceph config set mon mon_allow_pool_delete true
❯ ceph osd pool rm testpg testpg --yes-i-really-really-mean-it
pool 'testpg' removed

RGW

部署RGW daemon

首先,创建RGW的realmzonegroupzone

# radosgw-admin realm create --rgw-realm=<realm-name> --default
❯ radosgw-admin realm create --rgw-realm=testenv --default
# radosgw-admin zonegroup create --rgw-zonegroup=<zonegroup-name>  --master --default
❯ radosgw-admin zonegroup create --rgw-zonegroup=mr --master --default
# radosgw-admin zone create --rgw-zonegroup=<zonegroup-name> --rgw-zone=<zone-name> --master --default
❯ radosgw-admin zone create --rgw-zonegroup=mr --rgw-zone=room1 --master --default

部署RGW的命令如下(实例命令部署在了两个OSD的机器上):

# ceph orch apply rgw *<realm-name>* *<zone-name>* --placement="*<num-daemons>* [*<host1>* ...]"
❯ ceph orch apply rgw testenv mr-1 --placement="2 ceph-osd1 ceph-osd2"
配置dashboard

由于RGW拥有自己的一套账号体系,所以为了让Dashboard能够查看RGW相关信息,需要在RGW中创建一个dashboard用的账号,以便能够查询相关信息

首先,创建用户:

❯ radosgw-admin user create --uid=dashboard --display-name=dashboard --system
...
    "keys": [
        {
            "user": "dashboard",
            "access_key": "EC25NETO4CXIISOB32WY",
            "secret_key": "XrZQcFv7c56kidMtnwFGBSDApseQLwA1VPYolCZA"
        }
    ],
...

然后,将access_keysecret_key配置到dashboard:

❯ ceph dashboard set-rgw-api-access-key "EC25NETO4CXIISOB32WY"
❯ ceph dashboard set-rgw-api-secret-key "XrZQcFv7c56kidMtnwFGBSDApseQLwA1VPYolCZA"
修改相关存储池到SSD上

除了具体放对象数据的存储池(通常是以.data结尾的),将其他的存储池迁至SSD上,如:

ceph osd pool set .rgw.root crush_rule on-ssd
...

块存储

首先,为bench.hdd两个存储池开启rbd的application。

❯ ceph osd pool application enable bench.hdd rbd
enabled application 'rbd' on pool 'bench.hdd'

然后创建RBD镜像:

❯ rbd create bench.hdd/disk1 --size 102400

将RBD镜像映射到块设备:

❯ rbd map bench.hdd/disk1
/dev/rbd0

然后用XFS格式化,并挂载:

❯ mkfs.xfs /dev/rbd0
❯ mount /dev/rbd0 /mnt/rbd

CephFS

配置MDS节点

同样用标签的方式:

ceph orch host label add ceph-osd1 mds
ceph orch host label add ceph-osd2 mds

# ceph orch apply mds <cephfs_name> label:mds
ceph orch apply mds cephfs label:mds
创建CephFS

有两种方式:

1.利用ceph的编排功能自动创建(名称为cephfs):

❯ ceph fs volume create cephfs

关于CephFS,可以从下图了解其基本原理:

CephFS底层是基于RADOS的,具体来说是基于RADOS上的两个存储池,一个用来存储文件,一个用来存储文件的元数据。所以,诸如文件的目录结构等信息都是在元数据存储池里的,因此,如果有SSD,建议把元数据的存储池放在SSD上,一方面加速,另一方面,元数据的体积并不会特别大。而文件数据存储池应该放在HDD上。

# 先查看一下两个存储池
❯ ceph osd pool ls detail
...
pool 5 'cephfs.cephfs.meta' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 463 flags hashpspool stripe_width 0 pg_autoscale_bias 4 pg_num_min 16 recovery_priority 5 application cephfs
pool 6 'cephfs.cephfs.data' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 464 flags hashpspool stripe_width 0 application cephfs

# 通过修改CRUSH rule来将它们分别约束到SSD和HDD上
❯ ceph osd pool set cephfs.cephfs.meta crush_rule on-ssd
set pool 5 crush_rule to on-ssd
❯ ceph osd pool set cephfs.cephfs.data crush_rule on-hdd
set pool 6 crush_rule to on-hdd

2.手动创建CephFS

当然,也可以通过手动的方式创建CephFS(假设名称为mycephfs):

# 先创建两个存储池
❯ ceph osd pool create cephfs.mycephfs.meta on-ssd
❯ ceph osd pool create cephfs.mycephfs.data on-hdd

# 然后创建CephFS
# ceph fs new <CephFS名称> <元数据存储池> <文件数据存储池>
❯ ceph fs new mycephfs cephfs.mycephfs.meta cephfs.mycephfs.data

最后,挂载CephFS(需要安装ceph-commons):

❯ mkdir -p /mnt/cephfs
❯ mount -t ceph :/ /mnt/cephfs -o name=admin,secret=AQBYSjZfQF+UJBAAC6QJjNACndkw2LcCR2XLFA==

NFS

Ceph推荐使用NFS-ganesha来提供NFS服务。

首先创建存储池nfs-ganesha(创建在SSD上):

❯ ceph osd pool create nfs-ganesha on-ssd
# 以下这句可以不用执行,不过会有个”1 pool(s) do not have an application enabled“的WARN
❯ ceph osd pool application enable nfs-ganesha nfs

然后利用cephadm部署NFS服务(这里我放在了两个OSD主机上了):

# ceph orch apply nfs *<svc_id>* *<pool>* *<namespace>* --placement="*<num-daemons>* [*<host1>* ...]"
❯ ceph orch apply nfs nfs nfs-ganesha nfs-ns --placement="ceph-osd1 ceph-osd2"

为了在dashboard中进行操作,可以进行如下设置:

❯ ceph dashboard set-ganesha-clusters-rados-pool-namespace nfs-ganesha/nfs-ns

Ceph的NFS是基于CephFS提供的,我们首先在CephFS中创建一个/nfs目录,用于作为NFS服务的根目录。

# 前一步骤中已经挂载了CephFS到/mnt/cephfs
❯ mkdir /mnt/cephfs/nfs

其中mount的时候的secret是/etc/ceph/ceph.client.admin.keyring的值,也可以替换成secretfile=/etc/ceph/ceph.client.admin.keyring

最后,在dashboard中创建一个NFS即可:

挂载NFS:

mount -t nfs 192.168.7.14:/nfs /mnt/nfs
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 确认环境 在开始部署之前,请确保您已经完成了以下操作: - 确认您的服务器已经安装了 CentOS 7.x 或者 CentOS 8.x 操作系统。 - 确认您的服务器已经安装了 Docker 和 Python3。 - 确认您的服务器已经安装了 Ceph 17.2.5 的二进制文件。 2. 创建 cephadm 配置文件 在开始部署之前,您需要创建一个 cephadm 配置文件。您可以参考以下示例: ``` [global] mon_host = 192.168.1.100,192.168.1.101,192.168.1.102 mgr_host = 192.168.1.100,192.168.1.101,192.168.1.102 osd_host = 192.168.1.103,192.168.1.104,192.168.1.105 public_network = 192.168.1.0/24 cluster_network = 192.168.2.0/24 fsid = bbd30c27-7a89-4a96-8b7d-6bda1c7d77e9 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx osd_pool_default_size = 2 osd_pool_default_min_size = 1 osd_pool_default_pg_num = 64 osd_pool_default_pgp_num = 64 osd_crush_chooseleaf_type = 1 [mon] mon_initial_members = ceph-mon-1,ceph-mon-2,ceph-mon-3 mon_allow_pool_delete = true [osd] osd_journal_size = 100 osd_objectstore = bluestore osd_mkfs_type = xfs osd_mkfs_options_xfs = -f ``` 在上述配置文件中,您需要修改以下参数: - mon_host:指定 Mon 节点的 IP 地址。 - mgr_host:指定 Mgr 节点的 IP 地址。 - osd_host:指定 OSD 节点的 IP 地址。 - public_network:指定公网 IP 地址段。 - cluster_network:指定集群 IP 地址段。 - fsid:指定集群的 UUID。 - mon_initial_members:指定初始的 Mon 节点名称。 3. 部署 Ceph 在创建好 cephadm 配置文件之后,您可以使用以下命令部署 Ceph: ``` cephadm bootstrap --mon-ip 192.168.1.100 --config-file /path/to/ceph.conf ``` 在上述命令中,您需要修改以下参数: - --mon-ip:指定 Mon 节点的 IP 地址。 - --config-file:指定 cephadm 配置文件的路径。 在执行以上命令后,Ceph 将会在您的服务器上自动部署。 4. 部署 OSD 在部署Ceph 后,您可以使用以下命令部署 OSD: ``` ceph orch apply osd --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 OSD。 5. 部署 RGW 如果您需要部署 RGW,您可以使用以下命令: ``` ceph orch apply rgw --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 RGW。 6. 部署 NFS 如果您需要部署 NFS,您可以使用以下命令: ``` ceph orch apply nfs ``` 在执行以上命令后,您可以使用 mount 命令将 NFS 挂载到客户端。 7. 部署 iSCSI 如果您需要部署 iSCSI,您可以使用以下命令: ``` ceph orch apply iscsi ``` 在执行以上命令后,您可以使用 iSCSI 客户端连接到 iSCSI 服务。 8. 部署 CephFS 如果您需要部署 CephFS,您可以使用以下命令: ``` ceph orch apply mds ``` 在执行以上命令后,您可以使用 mount 命令将 CephFS 挂载到客户端。 9. 总结 通过以上步骤,您已经成功部署Ceph 17.2.5 版本。您可以根据需要部署 RGW、NFS、iSCSI 和 CephFS 等服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值