5.2. 安装 Red Hat Ceph Storage 集群
使用 Ansible 应用程序和 ceph-ansible
playbook 在裸机或容器中安装 Red Hat Ceph Storage。在生产环境中使用 Ceph 存储集群时,必须至少有三个监控节点和三个 OSD 节点,其中包含多个 OSD 守护进程。生产环境中运行的典型 Ceph 存储群集通常包含十个或更多个节点。
在以下步骤中,从 Ansible 管理节点运行命令,除非另有指示。除非另有指定,否则此流程适用于裸机和容器部署。
Ceph 可以使用一个监控器运行;但是,为了保证生产环境集群中的高可用性,红帽将仅支持具有至少三个 monitor 节点的部署。
在 Red Hat Enterprise Linux 7.7 上的容器中部署 Red Hat Ceph Storage 4 将在 Red Hat Enterprise Linux 8 容器镜像上部署 Red Hat Ceph Storage 4。
先决条件
- 有效的客户订阅。
- 对 Ansible 管理节点的根级别访问权限.
-
用于 Ansible 应用的
ansible
用户帐户。 - 启用 Red Hat Ceph Storage Tools 和 Ansible 存储库
- 对于 ISO 安装,将最新的 ISO 镜像下载到 Ansible 节点上。请参阅Red Hat Ceph Storage 安装指南中的启用红帽 Ceph 存储存储库一章中有关 ISO 安装的章节。
流程
-
在 Ansible 管理节点上,作为
root
用户帐户登录。 对于所有部署(裸机 或 容器),请安装
ceph-ansible
软件包:Red Hat Enterprise Linux 7
[root@admin ~]# yum install ceph-ansible
Red Hat Enterprise Linux 8
[root@admin ~]# dnf install ceph-ansible
进入
/usr/share/ceph-ansible/
目录:[root@admin ~]# cd /usr/share/ceph-ansible
创建新的
yml
文件:[root@admin ceph-ansible]# cp group_vars/all.yml.sample group_vars/all.yml [root@admin ceph-ansible]# cp group_vars/osds.yml.sample group_vars/osds.yml
裸机部署:
[root@admin ceph-ansible]# cp site.yml.sample site.yml
容器部署:
[root@admin ceph-ansible]# cp site-container.yml.sample site-container.yml
编辑新文件。
打开以编辑
group_vars/all.yml
文件。重要不支持使用自定义存储集群名称。不要将
cluster
参数设置为ceph
以外的任何值。仅支持使用自定义存储集群名称的 Ceph 客户端,例如:librados
、Ceph 对象网关和 RADOS 块设备镜像。警告默认情况下,Ansible 会尝试重启已安装但屏蔽的
firewalld
服务,这可能会导致 Red Hat Ceph Storage 部署失败。要临时解决这个问题,请在all.yml
文件中将configure_firewall
选项设置为false
。如果您正在运行firewalld
服务,则不需要在all.yml
文件中使用configure_firewall
选项。注意将
ceph_rhcs_version
选项设置为4
将引入最新版本的 Red Hat Ceph Storage 4。注意红帽建议在
group_vars/all.yml
文件中将dashboard_enabled
选项设置为True
,而不要将它改为False
。如果要禁用仪表板 ,请参阅禁用 Ceph 仪表板。注意与仪表板相关的组件已容器化。因此,对于 Bare-metal 或 Container 部署,必须包含
ceph_docker_registry_username
和ceph_docker_registry_password
参数,以便 ceph-ansible 能够获取控制面板所需的容器镜像。注意如果您没有 Red Hat Registry Service Account,请使用 Registry Service Account 网页 创建一个。如需了解如何创建和管理令牌的详细信息,请参阅 Red Hat Container Registry Authentication 知识库。
注意除了将服务帐户用于
ceph_docker_registry_username
和ceph_docker_registry_password
参数外,您还可以使用客户门户凭据,但若要确保安全性,可以对ceph_docker_registry_password
参数进行加密。如需更多信息,请参阅使用 ansible-vault 加密 Ansible 密码变量。CDN 安装的
all.yml
文件的 裸机 示例:fetch_directory: ~/ceph-ansible-keys ceph_origin: repository ceph_repository: rhcs ceph_repository_type: cdn ceph_rhcs_version: 4 monitor_interface: eth0 1 public_network: 192.168.0.0/24 ceph_docker_registry: registry.redhat.io ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: dashboard_admin_password: node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_admin_user: grafana_admin_password: grafana_container_image: registry.redhat.io/rhceph/rhceph-4-dashboard-rhel8 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
- 1
- 这是公共网络上的接口。
重要从 Red Hat Ceph Storage 4.1 开始,您必须在
/usr/share/ceph-ansible/group_vars/all.yml
中取消注释或设置dashboard_admin_password
和grafana_admin_password
。为每个用户设置安全密码.另外,为dashboard_admin_user
和grafana_admin_user
设置自定义用户名。注意对于 Red Hat Ceph Storage 4.2,如果您使用本地 registry 进行安装,请使用 4.6 作为 Prometheus 镜像标签。
ISO 安装的
all.yml
文件的 裸机 示例:fetch_directory: ~/ceph-ansible-keys ceph_origin: repository ceph_repository: rhcs ceph_repository_type: iso ceph_rhcs_iso_path: /home/rhceph-4-rhel-8-x86_64.iso ceph_rhcs_version: 4 monitor_interface: eth0 1 public_network: 192.168.0.0/24 ceph_docker_registry: registry.redhat.io ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: dashboard_admin_password: node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_admin_user: grafana_admin_password: grafana_container_image: registry.redhat.io/rhceph/rhceph-4-dashboard-rhel8 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
- 1
- 这是公共网络上的接口。
all.yml
文件的容器示例:fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 1 public_network: 192.168.0.0/24 ceph_docker_image: rhceph/rhceph-4-rhel8 ceph_docker_image_tag: latest containerized_deployment: true ceph_docker_registry: registry.redhat.io ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN ceph_origin: repository ceph_repository: rhcs ceph_repository_type: cdn ceph_rhcs_version: 4 dashboard_admin_user: dashboard_admin_password: node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_admin_user: grafana_admin_password: grafana_container_image: registry.redhat.io/rhceph/rhceph-4-dashboard-rhel8 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
- 1
- 这是公共网络上的接口。
重要查看红帽生态系统目录中的最新容器镜像标签,以安装最新的容器镜像,并应用所有最新的补丁。
all.yml
文件的容器示例,当 Red Hat Ceph Storage 节点在部署过程中无法访问互联网:fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 1 public_network: 192.168.0.0/24 ceph_docker_image: rhceph/rhceph-4-rhel8 ceph_docker_image_tag: latest containerized_deployment: true ceph_docker_registry: LOCAL_NODE_FQDN:5000 ceph_docker_registry_auth: false ceph_origin: repository ceph_repository: rhcs ceph_repository_type: cdn ceph_rhcs_version: 4 dashboard_admin_user: dashboard_admin_password: node_exporter_container_image: LOCAL_NODE_FQDN:5000/openshift4/ose-prometheus-node-exporter:v4.6 grafana_admin_user: grafana_admin_password: grafana_container_image: LOCAL_NODE_FQDN:5000/rhceph/rhceph-4-dashboard-rhel8 prometheus_container_image: LOCAL_NODE_FQDN:5000/openshift4/ose-prometheus:4.6 alertmanager_container_image: LOCAL_NODE_FQDN:5000/openshift4/ose-prometheus-alertmanager:4.6
- 1
- 这是公共网络上的接口。
- 替换
- LOCAL_NODE_FQDN,使用您的本地主机 FQDN。
从 Red Hat Ceph Storage 4.2 开始,
dashboard_protocol
设置为https
,Ansible 将生成仪表板和 grafana 密钥和证书。对于自定义证书,在all.yml
文件中,为 裸机 或 容器 部署更新dashboard_crt
、dashboard_key
、grafana_crt
和grafana_key
的 Ansible 安装程序主机的路径。语法
dashboard_protocol: https dashboard_port: 8443 dashboard_crt: 'DASHBOARD_CERTIFICATE_PATH' dashboard_key: 'DASHBOARD_KEY_PATH' dashboard_tls_external: false dashboard_grafana_api_no_ssl_verify: "{{ True if dashboard_protocol == 'https' and not grafana_crt and not grafana_key else False }}" grafana_crt: 'GRAFANA_CERTIFICATE_PATH' grafana_key: 'GRAFANA_KEY_PATH'
要使用可通过 http 或 https 代理访问的容器 registry 安装 Red Hat Ceph Storage,请在
group_vars/all.yml
文件中设置ceph_docker_http_proxy
或ceph_docker_https_proxy
变量。示例
ceph_docker_http_proxy: http://192.168.42.100:8080 ceph_docker_https_proxy: https://192.168.42.100:8080
如果您需要排除代理配置的一些主机,请使用
group_vars/all.yml
文件中的ceph_docker_no_proxy
变量。示例
ceph_docker_no_proxy: "localhost,127.0.0.1"
除了为 Red Hat Ceph Storage 的代理安装编辑
all.yml
文件外,编辑/etc/environment
文件:示例
HTTP_PROXY: http://192.168.42.100:8080 HTTPS_PROXY: https://192.168.42.100:8080 NO_PROXY: "localhost,127.0.0.1"
这会触发 podman 启动容器化服务,如 prometheus、grafana-server、alertmanager 和 node-exporter,并下载所需的镜像。
对于 裸机 或 容器中的所有部署,请编辑
group_vars/osds.yml
文件。重要不要在安装操作系统的设备上安装 OSD。在操作系统和 OSD 之间共享相同的设备会导致性能问题。
Ceph-ansible 使用
ceph-volume
工具准备存储设备,供 Ceph 使用。您可以将osds.yml
配置为以不同的方式使用存储设备,以优化特定工作负载的性能。重要以下示例使用 BlueStore 对象存储,即 Ceph 用于存储设备上数据的格式。在以前的版本中,Ceph 使用 FileStore 作为对象存储。这种格式对于新的 Red Hat Ceph Storage 4.0 安装已弃用,因为 BlueStore 提供了更多功能和更高的性能。虽然仍可使用 FileStore,但使用它需要红帽支持例外。如需有关 BlueStore 的更多信息,请参阅 Red Hat Ceph Storage 架构指南中的 Ceph BlueStore。
自动发现
osd_auto_discovery: true
上例使用系统上的所有空存储设备来创建 OSD,因此您不必显式指定它们。
ceph-volume
工具检查是否有空设备,因此不会使用不为空的设备。注意如果稍后决定使用
purge-docker-cluster.yml
或purge-cluster.yml
来删除集群,您必须注释掉osd_auto_discovery
,并声明osds.yml
文件中的 OSD 设备。如需更多信息,请参阅 Ansible 部署的存储集群。简单配置
第一个场景
devices: - /dev/sda - /dev/sdb
或
第二个场景
devices: - /dev/sda - /dev/sdb - /dev/nvme0n1 - /dev/sdc - /dev/sdd - /dev/nvme1n1
或
第三个场景
lvm_volumes: - data: /dev/sdb - data: /dev/sdc
或
第四个场景
lvm_volumes: - data: /dev/sdb - data:/dev/nvme0n1
当仅使用
devices
选项时,ceph-volume lvm batch
模式会自动优化 OSD 配置。在第一个场景中,如果
devices
是传统的硬盘驱动器或 SSD,则每个设备会创建一个 OSD。在第二种场景中,如果结合了传统的硬盘驱动器和 SSD,数据将放置在传统的硬盘驱动器(
sda
、sdb
)上,并且将 BlueStore 数据库尽可能在 SSD (nvme0n1
) 上创建。同样,无论上述设备顺序如何,数据都放置在传统的硬盘驱动器(sdc
、sdd
)上,而 BlueStore 数据库则在 SSDnvme1n1
上创建。注意默认情况下,
ceph-ansible
不会覆盖bluestore_block_db_size
和bluestore_block_wal_size
的默认值。您可以使用group_vars/all.yml
文件中的ceph_conf_overrides
设置bluestore_block_db_size
。bluestore_block_db_size
的值应大于 2 GB。在第三个场景中,数据放置在传统硬盘驱动器(
sdb
、sdc
)上,而 BlueStore 数据库则在同一设备上并置。在第四个场景中,数据放置在传统的硬盘驱动器 (
sdb
) 和 SSD (nvme1n1
) 上,并且 BlueStore 数据库同时驻留在同一设备上。这不同于使用devices
指令,将 BlueStore 数据库放置在 SSD 上。重要ceph-volume lvm batch mode
通过将数据放置在传统硬盘驱动器上以及 SSD 上的 BlueStore 数据库来创建优化的 OSD 配置。如果要指定要使用的逻辑卷和卷组,您可以直接按照以下高级配置场景创建它们。高级配置
第一个场景
devices: - /dev/sda - /dev/sdb dedicated_devices: - /dev/sdx - /dev/sdy
或
第二个场景
devices: - /dev/sda - /dev/sdb dedicated_devices: - /dev/sdx - /dev/sdy bluestore_wal_devices: - /dev/nvme0n1 - /dev/nvme0n2
在第一种场景中,有两个 OSD。
sda
和sdb
设备各自都有自己的数据片段和 WAL(write-ahead logs)。额外的字典dedicated_devices
用于分别在sdx
和sdy
上隔离其数据库,也称为block.db
。在第二个场景中,使用另一个额外的字典
bluestore_wal_devices
来隔离 NVMe devicesnvme0n1
和nvme0n2
上的 WAL。通过使用devices
、dedicated_devices
和bluestore_wal_devices
选项,您可以将 OSD 的所有组件隔离到单独的设备上。像这样布置 OSD 可以提高整体性能。预先创建的逻辑卷
第一个场景
lvm_volumes: - data: data-lv1 data_vg: data-vg1 db: db-lv1 db_vg: db-vg1 wal: wal-lv1 wal_vg: wal-vg1 - data: data-lv2 data_vg: data-vg2 db: db-lv2 db_vg: db-vg2 wal: wal-lv2 wal_vg: wal-vg2
或
第二个场景
lvm_volumes: - data: /dev/sdb db: db-lv1 db_vg: db-vg1 wal: wal-lv1 wal_vg: wal-vg1
默认情况下,Ceph 使用逻辑卷管理器在 OSD 设备上创建逻辑卷。在上述简单配置和高级配置示例中,Ceph 会自动在设备上创建逻辑卷。您可以通过指定
lvm_volumes
字典,将之前创建的逻辑卷用于 Ceph。在第一种场景中,数据放置在专用逻辑卷、数据库和 WAL 上。您还可以仅指定数据、数据和 WAL,或数据和数据库。
data:
行必须指定要存储数据的逻辑卷名称,data_vg:
必须指定包含数据逻辑卷的卷组的名称。同样,db:
用于指定数据库存储在 上的逻辑卷,而db_vg:
用于指定其逻辑卷所在的卷组。wal:
行指定 WAL 存储的逻辑卷,而wal_vg:
行则指定包含它的卷组。在第二种场景中,为
data:
选项设置实际设备名称,这样做不需要指定data_vg:
选项。您必须为 BlueStore 数据库和 WAL 设备指定逻辑卷名称和卷组详情。重要使用
lvm_volumes:
必须事先创建卷组和逻辑卷。ceph-ansible
不会创建卷组和逻辑卷。注意如果使用所有 NVMe SSD,则设置
osds_per_device: 2
。如需更多信息,请参阅 Red Hat Ceph Storage 安装指南中为所有 NVMe 存储配置 OSD Ansible 设置。注意重启 Ceph OSD 节点后,块设备分配可能会改变。例如,
sdc
可能成为sdd
。您可以使用持久的命名设备,如/dev/disk/by-path/
设备路径,而不是传统的块设备名称。
对于裸机或容器中的所有部署,请创建 Ansible 清单文件,然后打开它进行编辑:
[root@admin ~]# cd /usr/share/ceph-ansible/ [root@admin ceph-ansible]# touch hosts
相应地编辑
hosts
文件。注意有关编辑 Ansible 清单位置的信息,请参阅配置 Ansible 清单位置。
在
[grafana-server]
下添加一个节点。此角色安装 Grafana 和 Prometheus,以提供 Ceph 集群性能的实时洞察。这些指标显示在 Ceph 控制面板中,您可以通过它来监控和管理集群。需要安装仪表板、Grafana 和 Prometheus。您可以在 Ansible 管理节点上并置指标功能。如果这样做,请确保节点的系统资源大于独立指标节点所需的值。[grafana-server] GRAFANA-SERVER_NODE_NAME
在
[mons]
部分添加 monitor 节点:[mons] MONITOR_NODE_NAME_1 MONITOR_NODE_NAME_2 MONITOR_NODE_NAME_3
在
[osds]
部分下添加 OSD 节点:[osds] OSD_NODE_NAME_1 OSD_NODE_NAME_2 OSD_NODE_NAME_3
注意如果节点名称是按照数字有顺序的,您可以在节点名称的末尾添加一个范围指定符 (
[1:10]
)。例如:[osds] example-node[1:10]
注意对于新安装的 OSD,默认的对象存储格式为 BlueStore。
-
另外,在容器部署中,通过在
[mon]
和[osd]
部分下添加相同的节点,将 Ceph 监控守护进程与一个节点上的 Ceph OSD 守护进程共存。有关更多信息,请参见下面附加资源部分中的 Ceph 守护进程链接。 在
[mgrs]
部分下,添加 Ceph Manager (ceph-mgr
) 节点。这会将 Ceph 管理器守护进程与 Ceph 监控守护进程共存。[mgrs] MONITOR_NODE_NAME_1 MONITOR_NODE_NAME_2 MONITOR_NODE_NAME_3
另外,如果您想要使用主机特定参数,对于所有部署(裸机或容器中 ),创建
host_vars
目录,其中包含主机文件,使其包含特定于主机的任何参数。创建
host_vars
目录:[ansible@admin ~]$ mkdir /usr/share/ceph-ansible/host_vars
进入
host_vars
目录:[ansible@admin ~]$ cd /usr/share/ceph-ansible/host_vars
创建主机文件。将 host-name-short-name 格式用于文件名称,例如:
[ansible@admin host_vars]$ touch tower-osd6
使用任何主机特定参数更新该文件,例如:
在裸机部署中,使用
devices
参数指定 OSD 节点要使用的设备。当 OSD 使用具有不同名称的设备或其中一个设备在其中一个 OSD 上出现故障时,使用devices
会比较有用。devices: DEVICE_1 DEVICE_2
示例
devices: /dev/sdb /dev/sdc
注意在指定没有设备时,将
group_vars/osds.yml
文件中的osd_auto_discovery
参数设置为true
。
另外,对于所有部署、裸机或 容器 中,您可以使用 Ceph Ansible 创建自定义 CRUSH 层次结构:
设置 Ansible 清单文件。使用
osd_crush_location
参数,指定 OSD 主机处于 CRUSH map 的层次结构中的位置。您必须指定至少两种 CRUSH bucket 类型来指定 OSD 的位置,一种 bucket类型
必须是 host。默认情况下,包括root
,datacenter
,room
,row
,pod
,pdu
,rack
,chassis
和host
。语法
[osds] CEPH_OSD_NAME osd_crush_location="{ 'root': ROOT_BUCKET_', 'rack': 'RACK_BUCKET', 'pod': 'POD_BUCKET', 'host': 'CEPH_HOST_NAME' }"
示例
[osds] ceph-osd-01 osd_crush_location="{ 'root': 'default', 'rack': 'rack1', 'pod': 'monpod', 'host': 'ceph-osd-01' }"
编辑
group_vars/osds.yml
文件,并将crush_rule_config
和create_crush_tree
参数设置为True
。如果您不想使用默认的 CRUSH 规则,请至少创建一个 CRUSH 规则,例如:crush_rule_config: True crush_rule_hdd: name: replicated_hdd_rule root: root-hdd type: host class: hdd default: True crush_rules: - "{{ crush_rule_hdd }}" create_crush_tree: True
如果您使用更快的 SSD 设备,请按如下所示编辑参数:
crush_rule_config: True crush_rule_ssd: name: replicated_ssd_rule root: root-ssd type: host class: ssd default: True crush_rules: - "{{ crush_rule_ssd }}" create_crush_tree: True
注意如果未部署
ssd
和hdd
OSD,默认 CRUSH 规则会失败,因为默认规则现在包含类参数
,必须定义。创建池,并在
group_vars/clients.yml
文件中创建crush_rules
:示例
copy_admin_key: True user_config: True pool1: name: "pool1" pg_num: 128 pgp_num: 128 rule_name: "HDD" type: "replicated" device_class: "hdd" pools: - "{{ pool1 }}"
查看树:
[root@mon ~]# ceph osd tree
验证池:
[root@mon ~]# for i in $(rados lspools); do echo "pool: $i"; ceph osd pool get $i crush_rule; done pool: pool1 crush_rule: HDD
对于所有部署,裸机或容器中,请使用
ansible
用户登录或切换到该容器。创建
ceph-ansible-keys
目录,其中 Ansible 存储ceph-ansible
playbook 生成的临时值:[ansible@admin ~]$ mkdir ~/ceph-ansible-keys
进入
/usr/share/ceph-ansible/
目录:[ansible@admin ~]$ cd /usr/share/ceph-ansible/
验证 Ansible 能否访问 Ceph 节点:
[ansible@admin ceph-ansible]$ ansible all -m ping -i hosts
运行
ceph-ansible
playbook。裸机部署:
[ansible@admin ceph-ansible]$ ansible-playbook site.yml -i hosts
容器部署:
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts
注意如果您将 Red Hat Ceph Storage 部署到 Red Hat Enterprise Linux Atomic Host 主机,请使用
--skip-tags=with_pkg
选项:[user@admin ceph-ansible]$ ansible-playbook site-container.yml --skip-tags=with_pkg -i hosts
注意要提高部署速度,请在
ansible-playbook
中使用--forks
选项。默认情况下,ceph-ansible
将 fork 设置为20
。在这个版本中,最多 20 个节点将同时安装。要一次安装最多 30 个节点,请运行ansible-playbook --forks 30 PLAYBOOK FILE -i hosts
。必须监控管理节点上的资源,以确保它们不会被过度使用。如果是,则减少传递给--forks
的数字。
等待 Ceph 部署完成。
输出示例
INSTALLER STATUS ******************************* Install Ceph Monitor : Complete (0:00:30) Install Ceph Manager : Complete (0:00:47) Install Ceph OSD : Complete (0:00:58) Install Ceph RGW : Complete (0:00:34) Install Ceph Dashboard : Complete (0:00:58) Install Ceph Grafana : Complete (0:00:50) Install Ceph Node Exporter : Complete (0:01:14)
验证 Ceph 存储集群的状态。
裸机部署:
[root@mon ~]# ceph health HEALTH_OK
容器部署:
Red Hat Enterprise Linux 7
[root@mon ~]# docker exec ceph-mon-ID ceph health
Red Hat Enterprise Linux 8
[root@mon ~]# podman exec ceph-mon-ID ceph health
- 替换
使用 Ceph 监控节点的主机名替换
ID
:示例
[root@mon ~]# podman exec ceph-mon-mon0 ceph health HEALTH_OK
对于裸机或容器中的所有部署,使用
rados
验证存储集群是否正常工作。从 Ceph 监控节点,创建具有八个放置组 (PG) 的测试池:
语法
[root@mon ~]# ceph osd pool create POOL_NAME PG_NUMBER
示例
[root@mon ~]# ceph osd pool create test 8
创建名为
hello-world.txt
的文件:语法
[root@mon ~]# vim FILE_NAME
示例
[root@mon ~]# vim hello-world.txt
使用对象名称
hello-world
将hello-world.txt
上传到测试池中:语法
[root@mon ~]# rados --pool POOL_NAME put OBJECT_NAME OBJECT_FILE_NAME
示例
[root@mon ~]# rados --pool test put hello-world hello-world.txt
从 test 池下载
hello-world
,保存为fetch.txt
:语法
[root@mon ~]# rados --pool POOL_NAME get OBJECT_NAME OBJECT_FILE_NAME
示例
[root@mon ~]# rados --pool test get hello-world fetch.txt
检查
fetch.txt
的内容:[root@mon ~]# cat fetch.txt "Hello World!"
注意除了验证存储集群状态外,您还可以使用
ceph-medic
工具来全面诊断 Ceph 存储集群。请参阅 Red Hat Ceph Storage 4 故障排除指南中的安装和使用ceph-medic
来诊断 Ceph 存储集群章节。
其它资源
- 常见 Ansible 设置列表。
- 常见 OSD 设置列表。
- 详情请参阅共存容器化 Ceph 守护进程。