环境
代码语言:javascript复制192.168.0.14 ceph-01
192.168.0.15 ceph-02
192.168.0.16 ceph-03
配置主机名
代码语言:javascript复制[root@ceph-01 ~]# hostnamectl set-hostname ceph-01
[root@ceph-02 ~]# hostnamectl set-hostname ceph-02
[root@ceph-03 ~]# hostnamectl set-hostname ceph-03
配置免密
代码语言:javascript复制[root@ceph-01 ~]# ssh-keygen -t rsa
[root@ceph-01 ~]# ssh-copy-id 192.168.0.14
[root@ceph-01 ~]# ssh-copy-id 192.168.0.15
[root@ceph-01 ~]# ssh-copy-id 192.168.0.16
安装 docker
代码语言:javascript复制# 三个节点都要安装
[root@ceph-01 ~]# dnf install epel* -y
[root@ceph-01 ~]# dnf install ceph-mon ceph-osd ceph-mds ceph-radosgw -y
[root@ceph-01 ~]# curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
[root@ceph-01 ~]# dnf install docker-ce lvm2 -y
[root@ceph-01 ~]# systemctl enable --now docker
时间同步
代码语言:javascript复制# 服务端(192.168.0.14)
[root@ceph-01 ~]# dnf install chrony -y
# 配置
[root@ceph-01 ~]# vim /etc/chrony.conf
pool ntp.aliyun.com iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.1.0/24
local stratum 10
keyfile /etc/chrony.keys
leapsectz right/UTC
[root@ceph-01 ~]# systemctl enable --now chronyd
# 客户端
dnf install chrony -y
vim /etc/chrony.conf
pool 192.168.0.14 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
systemctl enable --now chronyd
# 客户端验证
chronyc sources -v
安装 ceph 集群
代码语言:javascript复制# 安装 cephadm 工具
[root@ceph-01 ~]# curl --silent --remote-name --location https://mirrors.chenby.cn/https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
[root@ceph-01 ~]# chmod x cephadm
# 创建源信息
[root@ceph-01 ~]# ./cephadm add-repo --release 17.2.5
[root@ceph-01 ~]# sed -i 's#download.ceph.com#mirrors.ustc.edu.cn/ceph#' /etc/yum.repos.d/ceph.repo
[root@ceph-01 ~]# ./cephadm install
# 引导集群
[root@ceph-01 ~]# cephadm bootstrap --mon-ip 192.168.0.14
Creating directory /etc/ceph for ceph.conf
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chronyd.service is enabled and running
Repeating the final host check...
docker (/usr/bin/docker) is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Host looks OK
Cluster fsid: 642858bc-9714-11ed-9e73-fa163e075f6d
Verifying IP 192.168.0.14 port 3300 ...
Verifying IP 192.168.0.14 port 6789 ...
Mon IP `192.168.0.14` is in CIDR network `192.168.0.0/24`
Mon IP `192.168.0.14` is in CIDR network `192.168.0.0/24`
Internal network (--cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v17...
Ceph version: ceph version 17.2.5 (98318ae89f1a893a6ded3a640405cdbb33e08757) quincy (stable)
Extracting ceph user uid/gid from container image...
Creating initial keys...
Creating initial monmap...
Creating mon...
Waiting for mon to start...
Waiting for mon...
mon is available
Assimilating anything we can from ceph.conf...
Generating new minimal ceph.conf...
Restarting the monitor...
Setting mon public_network to 192.168.0.0/24
Wrote config to /etc/ceph/ceph.conf
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Creating mgr...
Verifying port 9283 ...
Waiting for mgr to start...
Waiting for mgr...
mgr not available, waiting (1/15)...
mgr not available, waiting (2/15)...
mgr not available, waiting (3/15)...
mgr not available, waiting (4/15)...
mgr is available
Enabling cephadm module...
Waiting for the mgr to restart...
Waiting for mgr epoch 5...
mgr epoch 5 is available
Setting orchestrator backend to cephadm...
Generating ssh key...
Wrote public SSH key to /etc/ceph/ceph.pub
Adding key to root@localhost authorized_keys...
Adding host ceph-01...
Deploying mon service with default placement...
Deploying mgr service with default placement...
Deploying crash service with default placement...
Deploying prometheus service with default placement...
Deploying grafana service with default placement...
Deploying node-exporter service with default placement...
Deploying alertmanager service with default placement...
Enabling the dashboard module...
Waiting for the mgr to restart...
Waiting for mgr epoch 9...
mgr epoch 9 is available
Generating a dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at:
URL: https://ceph-01:8443/
User: admin
Password: k6qfw0g8l8
Enabling client.admin keyring and conf on hosts with "admin" label
Saving cluster configuration to /var/lib/ceph/642858bc-9714-11ed-9e73-fa163e075f6d/config directory
Enabling autotune for osd_memory_target
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell --fsid 642858bc-9714-11ed-9e73-fa163e075f6d -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Or, if you are only running a single cluster on this host:
sudo /usr/sbin/cephadm shell
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/docs/master/mgr/telemetry/
Bootstrap complete.
查看容器
代码语言:javascript复制[root@ceph-01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/ceph/ceph v17 cc65afd6173a 3 months ago 1.36GB
quay.io/prometheus/alertmanager v0.23.0 ba2b418f427c 17 months ago 57.5MB
[root@ceph-01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9126eb49b75d quay.io/ceph/ceph "/usr/bin/ceph-crash…" About a minute ago Up About a minute ceph-642858bc-9714-11ed-9e73-fa163e075f6d-crash-ceph-01
5793f4280687 quay.io/prometheus/alertmanager:v0.23.0 "/bin/alertmanager -…" About a minute ago Up About a minute ceph-642858bc-9714-11ed-9e73-fa163e075f6d-alertmanager-ceph-01
36aa03ac5393 quay.io/ceph/ceph:v17 "/usr/bin/ceph-mgr -…" 3 minutes ago Up 3 minutes ceph-642858bc-9714-11ed-9e73-fa163e075f6d-mgr-ceph-01-fsikhk
78345de76bca quay.io/ceph/ceph:v17 "/usr/bin/ceph-mon -…" 3 minutes ago Up 3 minutes ceph-642858bc-9714-11ed-9e73-fa163e075f6d-mon-ceph-01
使用 shell 命令
代码语言:javascript复制# 切换模式
[root@ceph-01 ~]# cephadm shell
Inferring fsid 642858bc-9714-11ed-9e73-fa163e075f6d
Inferring config /var/lib/ceph/642858bc-9714-11ed-9e73-fa163e075f6d/mon.ceph-01/config
Using ceph image with id 'cc65afd6173a' and tag 'v17' created on 2022-10-18 07:41:41 0800 CST
quay.io/ceph/ceph@sha256:0560b16bec6e84345f29fb6693cd2430884e6efff16a95d5bdd0bb06d7661c45
[ceph: root@ceph-01 /]# ceph -s
cluster:
id: 642858bc-9714-11ed-9e73-fa163e075f6d
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-01 (age 6m)
mgr: ceph-01.fsikhk(active, since 99s)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
# 查看目录集群内运行的组件(包括其他节点)
[ceph: root@ceph-01 /]# ceph orch ps
NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID
alertmanager.ceph-01 ceph-01 *:9093,9094 running (20s) 11s ago 5m 16.2M - ba2b418f427c 171435b3d2fd
crash.ceph-01 ceph-01 running (5m) 11s ago 5m 6920k - 17.2.5 cc65afd6173a 9126eb49b75d
grafana.ceph-01 ceph-01 *:3000 running (17s) 11s ago 2m 37.9M - 8.3.5 dad864ee21e9 19b27ffbe53d
mgr.ceph-01.fsikhk ceph-01 *:9283 running (6m) 11s ago 6m 455M - 17.2.5 cc65afd6173a 36aa03ac5393
mon.ceph-01 ceph-01 running (6m) 11s ago 6m 43.4M 2048M 17.2.5 cc65afd6173a 78345de76bca
node-exporter.ceph-01 ceph-01 *:9100 running (2m) 11s ago 2m 9748k - 1dbe0e931976 fc01fd2a4a22
prometheus.ceph-01 ceph-01 *:9095 running (29s) 11s ago 29s 27.5M - 514e6a882f6e f0f6a7be2cf8
# 查看某一组件的状态
[ceph: root@ceph-01 /]# ceph orch ps --daemon-type mon
NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID
mon.ceph-01 ceph-01 running (7m) 44s ago 7m 43.4M 2048M 17.2.5 cc65afd6173a 78345de76bca
# 退出命令模式
[ceph: root@ceph-01 /]# exit
exit
# ceph 命令第二种用法
[root@ceph-01 ~]# cephadm shell -- ceph -s
Inferring fsid 642858bc-9714-11ed-9e73-fa163e075f6d
Inferring config /var/lib/ceph/642858bc-9714-11ed-9e73-fa163e075f6d/mon.ceph-01/config
Using ceph image with id 'cc65afd6173a' and tag 'v17' created on 2022-10-18 07:41:41 0800 CST
quay.io/ceph/ceph@sha256:0560b16bec6e84345f29fb6693cd2430884e6efff16a95d5bdd0bb06d7661c45
cluster:
id: 642858bc-9714-11ed-9e73-fa163e075f6d
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-01 (age 8m)
mgr: ceph-01.fsikhk(active, since 3m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
安装 ceph-common 包
代码语言:javascript复制# 安装
[root@ceph-01 ~]# cephadm install ceph-common
Installing packages ['ceph-common']...
# 查看版本
[root@ceph-01 ~]# ceph -v
ceph version 17.2.5 (98318ae89f1a893a6ded3a640405cdbb33e08757) quincy (stable)
# 启用 ceph 组件
[root@ceph-01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-02
[root@ceph-01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-03
创建 mon 和 mgr
代码语言:javascript复制# 创建 mon 和 mgr
[root@ceph-01 ~]# ceph orch host add ceph-02
[root@ceph-01 ~]# ceph orch host add ceph-03
# 查看集群的节点
[root@ceph-01 ~]# ceph orch host ls
HOST ADDR LABELS STATUS
ceph-01 192.168.0.14 _admin
ceph-02 192.168.0.15
ceph-03 192.168.0.16
3 hosts in cluster
# ceph 集群默认会允许存在5个 mon 和2个 mgr,可以使用 ceph orch apply 手动修改
[root@ceph-01 ~]# ceph orch apply mon --placement="3 ceph-01 ceph-02 ceph-03"
[root@ceph-01 ~]# ceph orch apply mgr --placement="3 ceph-01 ceph-02 ceph-03"
[root@ceph-01 ~]# ceph orch ls
NAME PORTS RUNNING REFRESHED AGE PLACEMENT
alertmanager ?:9093,9094 1/1 4m ago 21m count:1
crash 1/2 4m ago 21m *
grafana ?:3000 1/1 4m ago 21m count:1
mgr 1/3 4m ago 70s ceph-01;ceph-02;ceph-03;count:3
mon 1/3 4m ago 82s ceph-01;ceph-02;ceph-03;count:3
node-exporter ?:9100 1/2 4m ago 21m *
prometheus ?:9095 1/1 4m ago 21m count:1
创建 osd
代码语言:javascript复制[root@ceph-01 ~]# ceph orch daemon add osd ceph-01:/dev/vdb
Created osd(s) 0 on host 'ceph-01'
[root@ceph-01 ~]# ceph orch daemon add osd ceph-02:/dev/vdb
Created osd(s) 1 on host 'ceph-02'
[root@ceph-01 ~]# ceph orch daemon add osd ceph-03:/dev/vdb
Created osd(s) 2 on host 'ceph-03'
创建 mds
代码语言:javascript复制# 首先创建 cephfs,不指定 pg 的话,默认会自动调整
# 集群中单个池的 PG 数计算公式如下:PG总数=(OSD数*100)/最大副本数/池数
[root@ceph-01 ~]# ceph osd pool create cephfs_data 16
pool 'cephfs_data' created
[root@ceph-01 ~]# ceph osd pool create cephfs_metadata 16
pool 'cephfs_metadata' created
[root@ceph-01 ~]# ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 3 and data pool 2
[root@ceph-01 ~]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 30 GiB 30 GiB 133 MiB 133 MiB 0.43
TOTAL 30 GiB 30 GiB 133 MiB 133 MiB 0.43
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
.mgr 1 1 449 KiB 2 1.3 MiB 0 9.5 GiB
cephfs_data 2 32 0 B 0 0 B 0 9.5 GiB
cephfs_metadata 3 16 4.3 KiB 22 96 KiB 0 9.5 GiB
.rgw.root 4 32 2.2 KiB 13 144 KiB 0 9.5 GiB
cn-east-1.rgw.log 5 32 23 KiB 306 1.9 MiB 0 9.5 GiB
cn-east-1.rgw.control 6 32 0 B 8 0 B 0 9.5 GiB
cn-east-1.rgw.meta 7 32 1.3 KiB 7 72 KiB 0 9.5 GiB
cn-east-1.rgw.buckets.index 8 32 0 B 11 0 B 0 9.5 GiB
[root@ceph-01 ~]#
# 开启 mds 组件
# cephfs:文件系统名称
# --placement:指定集群内需要几个 mds,后面跟主机名
[root@ceph-01 ~]# ceph orch apply mds cephfs --placement="3 ceph-01 ceph-02 ceph-03"
Scheduled mds.cephfs update...
# 查看各节点是否已启用 mds 容器,还可以使用 ceph orch ps 查看某一节点运行的容器
[root@ceph-01 ~]# ceph orch ps --daemon-type mds
NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID
mds.cephfs.ceph-01.wvhlor ceph-01 running (80s) 72s ago 81s 11.8M - 17.2.5 cc65afd6173a cf05e87d5f3d
mds.cephfs.ceph-02.idubtl ceph-02 running (79s) 73s ago 79s 11.5M - 17.2.5 cc65afd6173a b766479a4ef2
mds.cephfs.ceph-03.woyaku ceph-03 running (82s) 73s ago 82s 13.5M - 17.2.5 cc65afd6173a 9db7d1a0fedf
创建 rgw
代码语言:javascript复制# 创建一个领域
[root@ceph-01 ~]# radosgw-admin realm create --rgw-realm=myorg --default
{
"id": "4cc868f8-462a-4491-845b-9e91d6a66564",
"name": "myorg",
"current_period": "f560e7b3-7b1b-45f5-adb6-57c91a2ae522",
"epoch": 1
}
# 创建区域组
[root@ceph-01 ~]# radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
{
"id": "6a1f0262-d134-4d16-bb08-f818feb42695",
"name": "default",
"api_name": "default",
"is_master": "true",
"endpoints": [],
"hostnames": [],
"hostnames_s3website": [],
"master_zone": "",
"zones": [],
"placement_targets": [],
"default_placement": "",
"realm_id": "4cc868f8-462a-4491-845b-9e91d6a66564",
"sync_policy": {
"groups": []
}
}
# 创建区域
[root@ceph-01 ~]# radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=cn-east-1 --master --default
{
"id": "6fc134ed-8f14-4c8d-a315-b2948d0a06cb",
"name": "cn-east-1",
"domain_root": "cn-east-1.rgw.meta:root",
"control_pool": "cn-east-1.rgw.control",
"gc_pool": "cn-east-1.rgw.log:gc",
"lc_pool": "cn-east-1.rgw.log:lc",
"log_pool": "cn-east-1.rgw.log",
"intent_log_pool": "cn-east-1.rgw.log:intent",
"usage_log_pool": "cn-east-1.rgw.log:usage",
"roles_pool": "cn-east-1.rgw.meta:roles",
"reshard_pool": "cn-east-1.rgw.log:reshard",
"user_keys_pool": "cn-east-1.rgw.meta:users.keys",
"user_email_pool": "cn-east-1.rgw.meta:users.email",
"user_swift_pool": "cn-east-1.rgw.meta:users.swift",
"user_uid_pool": "cn-east-1.rgw.meta:users.uid",
"otp_pool": "cn-east-1.rgw.otp",
"system_key": {
"access_key": "",
"secret_key": ""
},
"placement_pools": [
{
"key": "default-placement",
"val": {
"index_pool": "cn-east-1.rgw.buckets.index",
"storage_classes": {
"STANDARD": {
"data_pool": "cn-east-1.rgw.buckets.data"
}
},
"data_extra_pool": "cn-east-1.rgw.buckets.non-ec",
"index_type": 0
}
}
],
"realm_id": "4cc868f8-462a-4491-845b-9e91d6a66564",
"notif_pool": "cn-east-1.rgw.log:notif"
}
# 为特定领域和区域部署 radosgw 守护程序
[root@ceph-01 ~]# ceph orch apply rgw myorg cn-east-1 --placement="3 ceph-01 ceph-02 ceph-03"
Scheduled rgw.myorg update...
# 验证各节点是否启动 rgw 容器
[root@ceph-01 ~]# ceph orch ps --daemon-type rgw
NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID
rgw.myorg.ceph-01.ijvgni ceph-01 *:80 running (8m) 33s ago 8m 90.8M - 17.2.5 cc65afd6173a 9cc08bcf3ff1
rgw.myorg.ceph-02.nbxmae ceph-02 *:80 running (8m) 48s ago 8m 97.1M - 17.2.5 cc65afd6173a 2afe3832e810
rgw.myorg.ceph-03.gpxahk ceph-03 *:80 running (8m) 50s ago 8m 92.5M - 17.2.5 cc65afd6173a 66ca66f2f50d
为所有节点安装 ceph-common 包
代码语言:javascript复制[root@ceph-01 ~]# scp /etc/yum.repos.d/ceph.repo ceph-02:/etc/yum.repos.d/
[root@ceph-01 ~]# scp /etc/yum.repos.d/ceph.repo ceph-03:/etc/yum.repos.d/
[root@ceph-02 ~]# yum install ceph-common -y
[root@ceph-03 ~]# yum install ceph-common -y
[root@ceph-01 ~]# scp /etc/ceph/ceph.conf ceph-02:/etc/ceph/
[root@ceph-01 ~]# scp /etc/ceph/ceph.conf ceph-03:/etc/ceph/
[root@ceph-01 ~]# scp /etc/ceph/ceph.client.admin.keyring ceph-02:/etc/ceph/
[root@ceph-01 ~]# scp /etc/ceph/ceph.client.admin.keyring ceph-03:/etc/ceph/
测试
代码语言:javascript复制[root@ceph-01 ~]# ceph -s
cluster:
id: 642858bc-9714-11ed-9e73-fa163e075f6d
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-01,ceph-03,ceph-02 (age 10m)
mgr: ceph-03.dkhqhc(active, since 10m), standbys: ceph-02.vokncq, ceph-01.fsikhk
mds: 1/1 daemons up, 2 standby
osd: 3 osds: 3 up (since 10m), 3 in (since 60m)
rgw: 3 daemons active (3 hosts, 1 zones)
data:
volumes: 1/1 healthy
pools: 7 pools, 177 pgs
objects: 224 objects, 459 KiB
usage: 118 MiB used, 30 GiB / 30 GiB avail
pgs: 177 active clean
常用命令
代码语言:javascript复制# 列出集群内运行的组件
ceph orch ls
# 列出集群内的主机
ceph orch host ls
# 列出集群内容器的详细信息
ceph orch ps
# 调整组件的数量
ceph orch apply mon --placement="3 node1 node2 node3"
# --daemon-type:指定查看的组件
ceph orch ps --daemon-type rgw
# 给某个主机指定标签
ceph orch host label add node1 mon
# 告诉cephadm根据标签部署mon,修改后只有包含mon的主机才会成为mon,不过原来启动的mon现在暂时不会关闭
ceph orch apply mon label:mon
# 列出集群内的存储设备
ceph orch device ls
例如,要在newhost1IP地址10.1.2.123上部署第二台监视器,并newhost2在网络10.1.2.0/24中部署第三台monitor
ceph orch apply mon --unmanaged #禁用mon自动部署
ceph orch daemon add mon newhost1:10.1.2.123
ceph orch daemon add mon newhost2:10.1.2.0/24
启用 CephFS
代码语言:javascript复制# 请确认至少有一个节点启用了 mds 服务,集群中单个池的 PG 数计算公式如下:PG总数=(OSD数*100)/最大副本数/池数
# 在 ceph 集群,其中一个节点执行即可。
# 首先创建 cephfs,不指定 pg 的话,默认会自动调整
[root@ceph-01 ~]# ceph osd pool create cephfs_data 16
pool 'cephfs_data' created
[root@ceph-01 ~]# ceph osd pool create cephfs_metadata 16
pool 'cephfs_metadata' created
[root@ceph-01 ~]# ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 3 and data pool 2
[root@ceph-01 ~]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 30 GiB 30 GiB 133 MiB 133 MiB 0.43
TOTAL 30 GiB 30 GiB 133 MiB 133 MiB 0.43
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
.mgr 1 1 449 KiB 2 1.3 MiB 0 9.5 GiB
cephfs_data 2 32 0 B 0 0 B 0 9.5 GiB
cephfs_metadata 3 16 4.3 KiB 22 96 KiB 0 9.5 GiB
.rgw.root 4 32 2.2 KiB 13 144 KiB 0 9.5 GiB
cn-east-1.rgw.log 5 32 23 KiB 306 1.9 MiB 0 9.5 GiB
cn-east-1.rgw.control 6 32 0 B 8 0 B 0 9.5 GiB
cn-east-1.rgw.meta 7 32 1.3 KiB 7 72 KiB 0 9.5 GiB
cn-east-1.rgw.buckets.index 8 32 0 B 11 0 B 0 9.5 GiB
# 挂载 CephFS
启用块存储
代码语言:javascript复制# 在 ceph 集群,其中一台执行命令即可
# 初始化 rbd 池
[root@ceph-01 ~]# ceph osd pool create rbd_storage 16 16 replicated
pool 'rbd_storage' created
# 创建一个块设备
[root@ceph-01 ~]# rbd create --size 1024 rbd_image -p rbd_storage
[root@ceph-01 ~]# rbd ls rbd_storage
rbd_image
# 删除命令
[root@ceph-01 ~]# rbd rm rbd_storage/rbd_image
# 挂载 rbd 块设备
# 将块设备映射到系统内核
[root@ceph-01 ~]# rbd map rbd_storage/rbd_image
/dev/rbd0
[root@ceph-01 ~]# lsblk | grep rbd
rbd0 251:0 0 1G 0 disk
# 格式化 rbd 设备
[root@ceph-01 ~]# mkfs.ext4 -m0 /dev/rbd/rbd_storage/rbd_image
mke2fs 1.45.6 (20-Mar-2020)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: edd56aad-cbd4-4f69-b950-de46d9098f1c
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
# 挂载 rbd 设备
# 取消内核挂载
rbd unmap /dev/rbd0