### 使用Ceph作为OpenStack的后端存储 #### 概述 Ceph 是一个分布式存储系统,它提供了高性能、高可扩展性和高可靠性的对象存储、块存储和文件系统服务。OpenStack 是一个开源的云操作系统,通过它可以构建和管理大规模计算、存储以及网络资源池。将 Ceph 作为 OpenStack 的后端存储可以显著提高云平台的性能和可靠性。 #### 配置环境 根据提供的部分配置内容来看,这是一个典型的 OpenStack 环境配置案例。该环境包括以下几个主要组成部分: - **Controller**: 用于运行 OpenStack 控制面板和服务的节点。 - **Compute Nodes (Compute01, Compute02, Compute03)**: 提供计算资源(如虚拟机)的节点。 - **Network Nodes (Network01, Network02)**: 负责网络管理和服务。 - **Ceph Nodes (ceph01, ceph02)**: 这些节点运行 Ceph 存储集群,其中 ceph01 承担了 Monitor 和 Metadata Server 的角色,而 ceph02 包含两个 OSD (Object Storage Daemon)。 #### 安装与配置Ceph 在控制器节点上安装 Ceph 并进行基本配置: ```bash # 在 Controller 上安装 Ceph yum -y install ceph # 配置 Ceph 的基本参数 vim /etc/ceph/ceph.conf ``` 接下来,根据配置文件中的示例,在 `[global]` 和 `[client]` 分区中进行如下设置: **Global 设置:** - `auth_service_required=cephx`: 表示服务端需要 CephX 认证。 - `filestore_xattr_use_omap=true`: 改变文件存储的元数据存储方式。 - `auth_client_required=cephx`: 客户端也需要 CephX 认证。 - `auth_cluster_required=cephx`: 集群内部通信也需要认证。 - `mon_host=10.10.101.1`: 监控节点的地址。 - `log_to_syslog_level=info`: 日志级别。 - `log_to_syslog=True`: 将日志写入 syslog。 - `osd_pool_default_size=2`: 默认池的副本数。 - `osd_pool_default_min_size=1`: 最小副本数。 - `log_file=/var/log/ceph/radosgw.log`: rados 网关的日志文件位置。 - `osd_pool_default_pg_num=512`: 每个池的 PG (Placement Group) 数量。 - `log_to_syslog_facility=LOG_LOCAL0`: syslog 设施类别。 - `osd_journal_size=1000`: 每个 OSD 的日志大小。 - `auth_supported=cephx`: 支持的认证机制。 - `osd_pool_default_pgp_num=512`: 每个池的有效 PG 数量。 **Client 设置:** - `rbdcachewritethroughuntilflush=False`: 缓存写入策略。 - `rbdcache=False`: 禁用 RBD 缓存。 #### 配置 Glance 与 Ceph 的集成 **步骤1:** 在 ceph01 上创建 Glance 池: ```bash # 创建 Glance 池 ceph osd pool create glance 128 2 # 授权 Glance ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=glance' ``` **步骤2:** 在 Controller 上配置 Glance: ```bash # 备份原有的配置文件 cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak # 编辑 Glance 的配置文件 vim /etc/glance/glance-api.conf ``` 在 `[DEFAULT]` 和 `[glance_store]` 部分添加或修改以下配置: - `default_store=rbd`: 默认存储类型为 RBD。 - `rbd_store_user=glance`: 用户名。 - `rbd_store_pool=glance`: 存储池名称。 - `rbd_store_chunk_size=8`: 块大小。 - `stores=rbd`: 可用的存储后端。 - `rbd_store_ceph_conf=/etc/ceph/ceph.conf`: Ceph 配置文件路径。 - `show_image_direct_url=True`: 是否显示直接 URL。 完成配置后重启 Glance 服务: ```bash service openstack-glance-api restart ``` #### 配置 Cinder 与 Ceph 的集成 **步骤1:** 在 ceph01 上创建 Cinder 的卷、备份和快照池: ```bash # 创建卷池 ceph osd pool create volumes 128 # 创建备份池 ceph osd pool create backups 128 # 创建快照池 ceph osd pool create vms 128 # 授权 Cinder ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=glance' # 授权备份客户端 ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' ``` **步骤2:** 配置 Cinder 的 Ceph 客户端: ```bash # 获取 Cinder 的密钥 ceph auth get-or-create client.cinder | ssh 10.10.101.7 tee /etc/ceph/ceph.client.cinder.keyring # 更改权限 ssh 10.10.101.7 chown nova:nova /etc/ceph/ceph.client.cinder.keyring ``` 以上步骤详细地介绍了如何将 Ceph 集成到 OpenStack 中,以支持 Glance 和 Cinder 的存储需求。通过这种方式,可以有效地利用 Ceph 的高性能和可扩展性来增强 OpenStack 的功能。
一、系统规划
controller 10.10.101.7
compute01 10.10.101.8
compute02 10.10.101.9
compute03 10.10.101.10
network01 10.10.101.4
network02 10.10.101.5
ceph01(mon,mds) 10.10.101.3
ceph02(osd1) 10.10.101.2
ceph02(osd2) 10.10.101.1
【安装ceph,生成配置文件】
所有openstack计算节点操作:
yum -y install ceph
vim /etc/ceph/ceph.conf
[global]
auth_service_required = cephx
filestore_xattr_use_omap = true
auth_client_required = cephx
auth_cluster_required = cephx
mon_host = 10.10.101.1
log_to_syslog_level = info
log_to_syslog = True
osd_pool_default_size = 2
osd_pool_default_min_size = 1
log_file = /var/log/ceph/radosgw.log
log_to_syslog_facility = LOG_LOCAL0
osd_journal_size = 1000
auth_supported = cephx
osd_pool_default_pgp_num = 512
[client]
rbd cache writethrough until flush = False
rbd cache = False
二、配置过程
【Glance 配置 Ceph 后端】
1、创建存储池(ceph01操作)
ceph osd pool create glance 128
2、设置ceph客户端认证
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=glance'
3、配置Glance(colltroller操作)
cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
vim /etc/glance/glance-api.conf
[DEFAULT]
default_store=rbd
rbd_store_user = glance
rbd_store_pool = glance
rbd_store_chunk_size = 8
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助