广东网站建设哪里有,ui设计的就业前景和薪资待遇,wordpress 微信客户端,物流网站给做软件下载day03
day03ceph概述部署Ceph节点准备cephadm准备基础环境安装ceph实现块存储块存储基础存储池镜像ceph客户端
ceph概述 ceph可以实现的存储方式#xff1a; 块存储#xff1a;提供像普通硬盘一样的存储#xff0c;为使用者提供“硬盘”文件系统存储#xff1a;类似于NFS…day03
day03ceph概述部署Ceph节点准备cephadm准备基础环境安装ceph实现块存储块存储基础存储池镜像ceph客户端
ceph概述 ceph可以实现的存储方式 块存储提供像普通硬盘一样的存储为使用者提供“硬盘”文件系统存储类似于NFS的共享方式为使用者提供共享文件夹对象存储像百度云盘一样需要使用单独的客户端 Ceph存储集群至少需要一个Ceph监视器、Ceph管理器和Ceph OSD(对象存储守护程序)。运行Ceph文件系统客户端时需要Ceph元数据服务器。 监视器Ceph Monitorceph-mon维护集群状态图包括监视器图、管理器图、OSD图、MDS图和CRUSH图。这些映射是Ceph守护进程相互协调所需的关键集群状态。监视器还负责管理守护程序和客户端之间的身份验证。为了冗余和高可用性通常至少需要三台Monitor。管理器Ceph Managerceph-mgr负责跟踪ceph集群的运行时指标和当前状态包括存储利用率、当前性能指标和系统负载。Ceph Manager守护进程还托管基于python的模块来管理和公开Ceph集群信息包括基于web的Ceph仪表板和REST API。高可用性通常需要至少两台Manager。Ceph OSDceph-osd存储数据处理数据复制、恢复、重新平衡并通过检查其他Ceph OSD守护进程的心跳来为Ceph监视器和管理器提供一些监视信息。为了实现冗余和高可用性通常至少需要三个Ceph OSD。MDSceph-mds代表Ceph文件系统存储元数据(即Ceph块设备和Ceph对象存储不使用MDS)。Ceph元数据服务器允许POSIX文件系统用户执行基本命令(如ls、find等)。)而不会给Ceph存储集群带来巨大的负担。RGWRados Gateway是一个提供对象存储功能的组件可以通过RESTful接口向外部应用程序提供可扩展和高可用的存储服务。 Ceph将数据作为对象存储在逻辑存储池中。使用CRUSH算法Ceph计算哪个归置组(PG)应该包含该对象以及哪个OSD应该存储该归置组。CRUSH算法支持Ceph存储集群动态扩展、重新平衡和恢复。 部署ceph集群需要python3、podman或docker、时间服务如chrony、lvm2
部署Ceph
节点准备
ceph1、ceph2、ceph3内存至少需要2GB
主机名IP地址ceph1192.168.88.11/24ceph2192.168.88.12/24ceph3192.168.88.13/24client1192.168.88.10/24
# 创建4台虚拟机
[rootmyhost ~]# vm clone ceph{1..3} client1
关机为ceph1-ceph3各额外再添加3块20GB的硬盘
cephadm Cephadm使用容器和systemd安装和管理Ceph集群并与CLI命令行和dashboard GUI紧密集成。 cephadm与新的编排API完全集成并完全支持新的CLI和仪表板功能来管理集群部署。 cephadm需要容器支持(podman或docker)和Python 3。 cephadm是一个用于管理Ceph集群的实用程序。可以使用它 将Ceph容器添加到集群中从群集中删除一个Ceph容器更新Ceph容器
准备基础环境
在pubserver上配置ansible环境
[rootpubserver ~]# mkdir ceph
[rootpubserver ~]# cd ceph
[rootpubserver ceph]# vim ansible.cfg
[defaults]
inventory inventory
host_key_checking false [rootpubserver ceph]# vim inventory
[ceph] # 定义ceph组
ceph1 ansible_host192.168.88.11
ceph2 ansible_host192.168.88.12
ceph3 ansible_host192.168.88.13 [clients] # 定义客户端组
client1 ansible_host192.168.88.10 [all:vars]
ansible_ssh_userroot
ansible_ssh_passa [rootpubserver ceph]# mkdir files/
[rootpubserver ceph]# vim files/local88.repo
[BaseOS]
name BaseOS
baseurl ftp://192.168.88.240/dvd/BaseOS
enabled 1
gpgcheck 0 [AppStream]
name AppStream
baseurl ftp://192.168.88.240/dvd/AppStream
enabled 1
gpgcheck 0 [rpms]
name rpms
baseurl ftp://192.168.88.240/rpms
enabled 1
gpgcheck 0 # 配置yum
[rootpubserver ceph]# vim 01-upload-repo.yml
---
- name: config repos.d hosts: all tasks: - name: delete repos.d file: path: /etc/yum.repos.d state: absent - name: create repos.d file: path: /etc/yum.repos.d state: directory mode: 0755 - name: upload local88 copy: src: files/local88.repo dest: /etc/yum.repos.d/
[rootpubserver ceph]# ansible-playbook 01-upload-repo.yml 配置名称解析
# 配置三台主机实现名称解析解析的名字务必与主机实际名字一致
[rootpubserver ceph]# vim 02-modify-hosts.yml
---
- name: add names hosts: ceph tasks: - name: add block blockinfile: # 类似于lineinfile模块可在目标文件中加多行 path: /etc/hosts block: | 192.168.88.11 ceph1 192.168.88.12 ceph2 192.168.88.13 ceph3 192.168.88.240 quay.io
[rootpubserver ceph]# ansible-playbook 02-modify-hosts.yml
# 查看结果以ceph1为例
[rootceph1 ~]# tail -6 /etc/hosts
# BEGIN ANSIBLE MANAGED BLOCK
192.168.88.11 ceph1
192.168.88.12 ceph2
192.168.88.13 ceph3
192.168.88.240 quay.io
# END ANSIBLE MANAGED BLOCK
配置pubserver为NTP服务器
# 1. 查看pubserver自己的时区如果时区不正确需要改正
[rootpubserver ~]# timedatectl
[rootpubserver ~]# timedatectl set-timezone Asia/Shanghai
# 2. 查看时间如果时间不正确需要调整时间
[rootpubserver ~]# date
[rootpubserver ~]# date -s 年-月-日 时:分:秒
# 3. 配置chronyd服务
[rootpubserver ~]# yum install -y chrony
[rootpubserver ~]# vim /etc/chrony.conf # 打开23、26行的注释
...略... 24 # Allow NTP client access from local network. 25 allow 192.168.0.0/16 # 为192.168开头的客户端提供时间服务 26 27 # Serve time even if not synchronized to a time source. 28 local stratum 10 # 即使自己没有时间源也为客户端提供时间服务
...略...
[rootpubserver ~]# systemctl enable chronyd --now
[rootpubserver ~]# ss -ulnp | grep :123 # ntp使用udp 123端口
配置ceph1-ceph3使用pubserver提供的时间服务
[rootpubserver ceph]# vim 03-config-ntp.yml
---
- name: config ntp hosts: ceph tasks: - name: install chrony # 安装chrony yum: name: chrony state: present - name: modify config # 替换以pool开头的行 lineinfile: path: /etc/chrony.conf regexp: ^pool line: pool 192.168.88.240 iburst notify: restart ntp # 如果该任务的状态是CHANGED则执行restart ntp任务 handlers: - name: restart ntp # 只有notify通知时才执行重启任务 service: name: chronyd state: restarted enabled: yes
[rootpubserver ceph]# ansible-playbook 03-config-ntp.yml # 以ceph1为例查看结果
[rootceph1 ~]# chronyc sources -v .-- Source mode ^ server, peer, # local clock. / .- Source state * current best, combined, - not combined,
| / x may be in error, ~ too variable, ? unusable.
|| .- xxxx [ yyyy ] /- zzzz
|| Reachability register (octal) -. | xxxx adjusted offset,
|| Log2(Polling interval) --. | | yyyy measured offset,
|| \ | | zzzz estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample ^* 192.168.88.240 10 6 37 4 -8731ns[-6313us] /- 7118us
准备容器仓库服务器
# 1. 将真机/linux-soft/s2/zzg/ceph_soft/ceph-server/docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm拷贝到pubserver的/root目录并安装
[rootpubserver ~]# yum install -y docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm
# 2. 启动服务
[rootpubserver ~]# systemctl enable docker-distribution --now
安装软件包并导入镜像
# 1. 在ceph集群节点上安装软件包
[rootpubserver ceph]# vim 04-install-ceph.yml
---
- name: install pkg hosts: ceph tasks: - name: install pkg # 安装软件包 yum: name: python39,podman,lvm2 state: present
[rootpubserver ceph]# ansible-playbook 04-install-ceph.yml # 2. 将真机/linux-soft/s2/zzg/ceph_soft/ceph-server目录拷贝到ceph各节点并导入镜像
[rootceph1 ~]# cd ceph-server/
[rootceph1 ceph-server]# for c in *.tar do podman load -i $c done
[rootceph2 ~]# cd ceph_soft/
[rootceph2 ceph-server]# for c in *.tar do podman load -i $c done
[rootceph3 ~]# cd ceph_soft/
[rootceph3 ceph-server]# for c in *.tar do podman load -i $c done # 3. 查看执行结果
[rootceph1 ceph-server]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/ceph/ceph v17 cc65afd6173a 7 weeks ago 1.4 GB
quay.io/ceph/ceph-grafana 8.3.5 dad864ee21e9 8 months ago 571 MB
quay.io/prometheus/prometheus v2.33.4 514e6a882f6e 9 months ago 205 MB
quay.io/prometheus/node-exporter v1.3.1 1dbe0e931976 12 months ago 22.3 MB
quay.io/prometheus/alertmanager v0.23.0 ba2b418f427c 15 months ago 58.9 MB # 4. 配置ceph1-ceph3使用pubserver作为仓库服务器
[rootpubserver ceph]# vim 05-config-registry.yml
---
- name: config registry hosts: ceph tasks: - name: modify config blockinfile: path: /etc/containers/registries.conf block: | [[registry]] location quay.io:5000 # 指定服务器地址 insecure true # 允许使用http协议
[rootpubserver ceph]# ansible-playbook 05-config-registry.yml # 5. 以ceph1为例查看执行结果
[rootceph1 ceph_soft]# tail -5 /etc/containers/registries.conf
# BEGIN ANSIBLE MANAGED BLOCK
[[registry]]
location quay.io:5000
insecure true
# END ANSIBLE MANAGED BLOCK # 5. 修改镜像名称以便可以将其推送到自建镜像服务器
[rootceph1 ceph-server]# podman tag quay.io/ceph/ceph:v17 quay.io:5000/ceph/ceph:v17
[rootceph1 ceph-server]# podman tag quay.io/ceph/ceph-grafana:8.3.5 quay.io:5000/ceph/ceph-grafana:8.3.5
[rootceph1 ceph-server]# podman tag quay.io/prometheus/prometheus:v2.33.4 quay.io:5000/prometheus/prometheus:v2.33.4
[rootceph1 ceph-server]# podman tag quay.io/prometheus/node-exporter:v1.3.1 quay.io:5000/prometheus/node-exporter:v1.3.1
[rootceph1 ceph-server]# podman tag quay.io/prometheus/alertmanager:v0.23.0 quay.io:5000/prometheus/alertmanager:v0.23.0 # 6. 将镜像推送到镜像服务器以便其他节点可以通过服务器下载镜像
[rootceph1 ceph-server]# podman push quay.io:5000/ceph/ceph:v17
[rootceph1 ceph-server]# podman push quay.io:5000/ceph/ceph-grafana:8.3.5
[rootceph1 ceph-server]# podman push quay.io:5000/prometheus/prometheus:v2.33.4
[rootceph1 ceph-server]# podman push quay.io:5000/prometheus/node-exporter:v1.3.1
[rootceph1 ceph-server]# podman push quay.io:5000/prometheus/alertmanager:v0.23.0
完成此步骤给ceph1-ceph3打快照
安装ceph
所有Ceph集群都需要至少一个监视器Monitor以及至少与存储在集群上的对象副本一样多的OSD。引导初始监视器是部署Ceph存储集群的第一步。Monitor部署还为整个集群设置了重要的标准例如池的副本数量、每个OSD的放置组数量、心跳间隔、是否需要身份验证等。这些值中的大部分是默认设置的。创建集群
# 1. 在ceph1上初始化集ceph集群。
# 集群初始化完成后将自动生成ssh免密密钥存放在/etc/ceph/目录下
[rootceph1 ceph-server]# ./cephadm bootstrap --mon-ip 192.168.88.11 --initial-dashboard-password123456 --dashboard-password-noupdate
# 2. ceph将会以容器化的方式部署查看生成了6个容器。
[rootceph1 ceph-server]# podman ps # 3. 拷贝密钥文件至其他节点
[rootceph1 ceph-server]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph2
[rootceph1 ceph-server]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph3 # 4. 进入管理容器查看ceph状态
[rootceph1 ceph-server]# ./cephadm shell # 进入管理容器
[ceph: rootceph1 /]# ceph -s # 查看ceph状态 cluster: id: 1ddfccf2-77b4-11ed-8941-000c2953b002 health: HEALTH_WARN OSD count 0 osd_pool_default_size 3 services: mon: 1 daemons, quorum ceph1 (age 11m) mgr: ceph1.vnoivz(active, since 10m) 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: # 5. 查看相关容器状态显示所有容器均已启动
[ceph: rootceph1 /]# ceph orch ls
NAME PORTS RUNNING REFRESHED AGE PLACEMENT
alertmanager ?:9093,9094 1/1 91s ago 3m count:1
crash 1/3 91s ago 4m *
grafana ?:3000 1/1 91s ago 4m count:1
mgr 1/2 91s ago 4m count:2
mon 1/5 91s ago 4m count:5
node-exporter ?:9100 1/3 91s ago 4m *
prometheus ?:9095 1/1 91s ago 4m count:1 # 6. 查看集群中现有主机
[ceph: rootceph1 /]# ceph orch host ls
HOST ADDR LABELS STATUS
ceph1 192.168.88.11 _admin
1 hosts in cluster # 7. 向集群中添加其他主机
[ceph: rootceph1 /]# ceph orch host add ceph2 192.168.88.12
[ceph: rootceph1 /]# ceph orch host add ceph3 192.168.88.13
# 注删除错误的主机命令为ceph orch host rm 主机名 --force # 8. 查看集群中主机
[ceph: rootceph1 /]# ceph orch host ls
HOST ADDR LABELS STATUS
ceph1 192.168.88.11 _admin
ceph2 192.168.88.12
ceph3 192.168.88.13
3 hosts in cluster # 9. 扩容MON节点。一共有3台MON位于ceph1-ceph3
[ceph: rootceph1 /]# ceph orch apply mon --placement3 ceph1 ceph2 ceph3 # 10. 查看mon状态
[ceph: rootceph1 /]# ceph -s cluster: id: a4b69ab4-79dd-11ed-ae7b-000c2953b002 health: HEALTH_WARN OSD count 0 osd_pool_default_size 3 services: mon: 3 daemons, quorum ceph1,ceph3,ceph2 (age 2m) mgr: ceph1.gmqorm(active, since 15m), standbys: ceph3.giqaph 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: rootceph1 /]# ceph mon stat
e3: 3 mons at {ceph1[v2:192.168.88.11:3300/0,v1:192.168.88.11:6789/0],ceph2[v2:192.168.88.12:3300/0,v1:192.168.88.12:6789/0],ceph3[v2:192.168.88.13:3300/0,v1:192.168.88.13:6789/0]}, election epoch 14, leader 0 ceph1, quorum 0,1,2 ceph1,ceph3,ceph2 # 11. ceph2和ceph3上也将会出现相关容器
[rootceph2 ~]# podman ps
[rootceph3 ~]# podman ps
添加OSD硬盘
[ceph: rootceph1 /]# ceph orch daemon add osd ceph1:/dev/vdb
[ceph: rootceph1 /]# ceph orch daemon add osd ceph1:/dev/vdc
[ceph: rootceph1 /]# ceph orch daemon add osd ceph1:/dev/vdd
[ceph: rootceph1 /]# ceph orch daemon add osd ceph2:/dev/vdb
[ceph: rootceph1 /]# ceph orch daemon add osd ceph2:/dev/vdc
[ceph: rootceph1 /]# ceph orch daemon add osd ceph2:/dev/vdd
[ceph: rootceph1 /]# ceph orch daemon add osd ceph3:/dev/vdb
[ceph: rootceph1 /]# ceph orch daemon add osd ceph3:/dev/vdc
[ceph: rootceph1 /]# ceph orch daemon add osd ceph3:/dev/vdd # 2. 在节点上查询容器信息将会发现又有新的osd容器出现
[rootceph1 ~]# podman ps # 3. 此时ceph的状态将会是HEALTH_OKceph集群搭建完成。
[ceph: rootceph1 /]# ceph -s cluster: id: a4b69ab4-79dd-11ed-ae7b-000c2953b002 health: HEALTH_OK services: mon: 3 daemons, quorum ceph1,ceph3,ceph2 (age 2m) mgr: ceph1.gmqorm(active, since 2h), standbys: ceph3.giqaph osd: 9 osds: 9 up (since 35s), 9 in (since 59s) data: pools: 1 pools, 1 pgs objects: 2 objects, 449 KiB usage: 186 MiB used, 180 GiB / 180 GiB avail pgs: 1 activeclean 故障排除 查看服务状态 [ceph: rootceph1 /]# ceph orch ps 如果有error比如node-exporter.ceph2则把相应的服务删除 [ceph: rootceph1 /]# ceph orch daemon rm node-expoter.ceph2 然后重新配置 [ceph: rootceph1 /]# daemon reconfig node-exporter.ceph2 # 或 [ceph: rootceph1 /]# daemon redeploy node-exporter.ceph2 如果是mgr这样的服务出故障删除后部署的命令是 [ceph: rootceph1 /]# daemon reconfig mgr ceph2 # 或 [ceph: rootceph1 /]# daemon redeploy mgr ceph2 实现块存储
块存储基础
块设备存取数据时可以一次存取很多。字符设备只能是字符流
[rootceph1 ~]# ll /dev/sda
brw-rw---- 1 root disk 8, 0 Dec 12 13:15 /dev/sda
# b表示block块设备[rootceph1 ~]# ll /dev/tty
crw-rw-rw- 1 root tty 5, 0 Dec 12 13:31 /dev/tty
# c表示character字符设备
块存储就是可以提供像硬盘一样的设备。使用块存储的节点第一次连接块设备需要对块设备进行分区、格式化然后挂载使用。ceph中的块设备叫做rbd是rados block device的简写表示ceph的块设备。rados是Reliable, Autonomic Distributed Object Store的简写意思是“可靠、自主的分布式对象存储”。Ceph块设备采用精简配置可调整大小并将数据存储在多个OSD上。ceph提供存储时需要使用存储池。为了给客户端提供存储资源需要创建名为存储池的容器。存储池类似于逻辑卷管理中的卷组。卷组中包含很多硬盘和分区存储池中包含各节点上的硬盘。查看基础存储池信息
# 查看存储池。默认有一个名为.mgr的存储池编号为1
[ceph: rootceph1 /]# ceph osd lspools
1 .mgr# 查看存储详细使用情况
[ceph: rootceph1 /]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 180 GiB 180 GiB 187 MiB 187 MiB 0.10
TOTAL 180 GiB 180 GiB 187 MiB 187 MiB 0.10 --- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
.mgr 1 1 449 KiB 2 449 KiB 0 57 GiB# 查看.mgr存储池的副本数量
[ceph: rootceph1 /]# ceph osd pool get .mgr size
size: 3
在ceph中操作块存储的命令也是rbd。创建存储池。如果不指定操作哪一个存储池rbd命令将会操作名为rbd的存储池。该存储池不存在需要自己创建。 # 不指定存储池名字执行查看操作。提示名为rbd的存储池不存在
[ceph: rootceph1 /]# rbd ls
rbd: error opening default pool rbd
Ensure that the default pool has been created or specify an alternate pool name.
rbd: listing images failed: (2) No such file or directory
存储池
创建存储池是需要指定存储池中PG的数量。Placement Group简称PG可翻译为归置组。PG只是一个组而已用于把存储的对象分组管理。将数据放入集群时对象被映射到pg而这些pg被映射到OSD。这减少了我们需要跟踪的每个对象的元数据的数量以及我们需要运行的进程的数量。创建并使用存储池 # 1. 创建名为rbd的存储池
[ceph: rootceph1 /]# ceph osd pool create rbd 100
pool rbd created # 2. 设置rbd存储池的应用类型是rbd。还可以是rgw或cephfs
# 语法ceph osd pool application enable pool-name app-name
[ceph: rootceph1 /]# ceph osd pool application enable rbd rbd# 3. 查看
[ceph: rootceph1 /]# ceph osd pool ls
.mgr
rbd
[ceph: rootceph1 /]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 180 GiB 180 GiB 191 MiB 191 MiB 0.10
TOTAL 180 GiB 180 GiB 191 MiB 191 MiB 0.10 --- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
.mgr 1 1 897 KiB 2 2.6 MiB 0 57 GiB
rbd 2 99 0 B 0 0 B 0 57 GiB # 4. 执行命令。不指定存储池默认操作名为rbd的存储池。
[ceph: rootceph1 /]# rbd ls # 无输出内容也不会报错
镜像
在存储池中划分空间提供给客户端作为硬盘使用。划分出来的空间术语叫做镜像。
# 1. 查看rbd存储池中有哪些镜像
[ceph: rootceph1 /]# rbd ls # 2. 创建名为img1的镜像大小10GB
[ceph: rootceph1 /]# rbd create img1 --size 10G # 3. 查看存储池中有哪些镜像
[ceph: rootceph1 /]# rbd ls
img1 # 4. 查看镜像详情
[ceph: rootceph1 /]# rbd info img1
rbd image img1: size 10 GiB in 2560 objects
...略... # 5. 扩容。容量只是承诺大小并不会立即分配全部空间所以值可以超过总容量。
[ceph: rootceph1 /]# rbd resize img1 --size 200G
Resizing image: 100% complete...done.
[ceph: rootceph1 /]# rbd info img1
rbd image img1: size 200 GiB in 51200 objects
...略... # 6. 删除镜像
[ceph: rootceph1 /]# rbd rm img1
Removing image: 100% complete...done.
ceph客户端 客户端使用ceph块存储需要解决的问题 怎么用装软件ceph集群在哪通过配置文件说明集群地址权限。keyring文件
# 1. 拷贝/linux-soft/s2/zzg/ceph_soft/cephclient-rpm/目录内所有rpm包到pubserver的/var/ftp/rpms目录
# 2. 更新yum仓库
[rootpubserver ~]# createrepo /var/ftp/rpms/# 3. 安装ceph客户端软件
[rootclient1 ~]# yum install -y ceph-common# 4. 将ceph1上的配置文件和密钥keyring文件拷贝给客户端
[rootceph1 ceph_soft]# scp /etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.conf 192.168.88.10:/etc/ceph/# 5. 在客户端验证是否可以操作ceph
[rootclient1 ~]# rbd create img1 --size 10G
[rootclient1 ~]# rbd ls
img1
[rootclient1 ~]# rbd info img1
rbd image img1: size 10 GiB in 2560 objects
...略...# 6. 将ceph镜像映射为本地硬盘
[rootclient1 ~]# rbd map img1
/dev/rbd0 # rbd为固定名称0是编号# 7. 查看
[rootclient1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
└─sda1 8:1 0 60G 0 part /
sr0 11:0 1 10.5G 0 rom
rbd0 253:0 0 10G 0 disk # rbd0来自于ceph镜像[rootclient1 ~]# rbd showmapped # 镜像img1映射为了本地硬盘rbd0
id pool namespace image snap device
0 rbd img1 - /dev/rbd0# 8. 应用
[rootclient1 ~]# mkdir /data
[rootclient1 ~]# mkfs.xfs /dev/rbd0
[rootclient1 ~]# mount /dev/rbd0 /data/
[rootclient1 ~]# df -h /data/
Filesystem Size Used Avail Use% Mounted on
/dev/rbd0 10G 105M 9.9G 2% /data
[rootclient1 ~]# cp /etc/hosts /data/
[rootclient1 ~]# ls /data/
hosts
删除
# 查看img1的状态
[rootclient1 ~]# rbd status img1# 按以下步骤删除img1
[rootclient1 ~]# umount /dev/rbd0
[rootclient1 ~]# rbd unmap img1
[rootclient1 ~]# rbd rm img1
Removing image: 100% complete...done. 知识点思维导图FlowUs 息流 - 新一代生产力工具