当前位置: 首页 > backend >正文

离线部署openstack 2024.1 cinder

控制节点存储服务

离线下载

apt-get install --download-only cinder-api cinder-scheduler cinder-volume python3-cinder python3-ceph python3-rbd python3-cephfsmkdir /controller/cinder
mv /var/cache/apt/archives/*.deb /controller/cinder/
dpkg -i /controller/cinder/*.deb

在一个控制节点操作

CREATE DATABASE cinder;CREATE USER 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DBPASS';
CREATE USER 'cinder'@'%' IDENTIFIED BY 'CINDER_DBPASS';GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%';FLUSH PRIVILEGES;
source ~/admin-openrc
# 创建cinder用户,赋予admin角色
openstack user create --domain default --password <CINDER_PASS> cinder
openstack role add --project service --user cinder admin
# 创建服务实体
openstack service create --name cinder --description "OpenStack Block Storage" volume
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
# API端点
openstack endpoint create --region RegionOne volumev3 public http://<VIP>:8776/v3/%(project_id)s
openstack endpoint create --region RegionOne volumev3 internal http://<VIP>:8776/v3/%(project_id)s
openstack endpoint create --region RegionOne volumev3 admin http://<VIP>:8776/v3/%(project_id)s

在三个控制节点操作

  • 主要配置
vim /etc/cinder/cinder.conf[DEFAULT]
transport_url = rabbit://cinder:CINDER_PASS@ip1,ip2,ip3
auth_strategy = keystone
# 本机IP,其余节点填对应IP
my_ip = ip1
enabled_backends = ceph
glance_api_servers = http://<VIP>:9292
default_volume_type = ceph[database]
connection = mysql+pymysql://cinder:CINDER_DBPASS@<VIP>/cinder[keystone_authtoken]
www_authenticate_uri = http://<VIP>:5000
auth_url = http://<VIP>:5000
memcached_servers = ip1:11211,ip2:11211,ip3:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = cinder
password = CINDER_PASS
service_token_roles_required = true
service_token_roles = admin
region_name = RegionOne# 后端名称,与enabled_backends一致
[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_pool = volumes
# 用于libvirt对接,下面说明如何获取
rbd_secret_uuid = <Ceph RBD Secret UUID>
volume_backend_name = ceph
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = 30
report_discard_supported = true# 如果需要多池,可以继续配置

使libvirt识别cinder密钥

  • 确保文件在节点可用:
  • /etc/ceph/ceph.conf
  • /etc/ceph/client.cinder.keyring
chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
chmod 640 /etc/ceph/ceph.client.cinder.keyring
# 生成uuid
uuidgen# 创建密钥配置文件
vim secret.xml
<secret ephemeral='no' private='no'>
<uuid>上面的uuid</uuid><usage type='ceph'><name>client.cinder secret</name></usage>
</secret>
# 按照配置文件导入密钥
virsh secret-define --file secret.xml
# 查看cinder用户的密钥
ceph auth get-key client.cinder
# 注入密钥
virsh secret-set-value --secret <uuid> --base64 <cinder.key>

在一个控制节点操作

su -s /bin/sh -c "cinder-manage db sync" cinder

在三个控制节点操作

systemctl start cinder-scheduler cinder-api cinder-volume
systemctl enable --now cinder-scheduler cinder-api cinder-volumesource ~/admin-openrc
openstack volume service list
openstack catalog list

计算节点存储服务

离线下载

apt-get --download-only install cinder-volume python3-cinder python3-ceph python3-rbd python3-cephfsmkdir /compute/cinder
mv /var/cache/apt/archives/*.deb /compute/cinder/
dpkg -i /compute/cinder/*.deb

在计算节点操作

vim /etc/cinder/cinder.conf[DEFAULT]
enabled_backends = ceph
auth_strategy = keystone
# 本机IP,其余节点填对应IP
my_ip = ip1[database]
connection = mysql+pymysql://cinder:CINDER_DBPASS@<VIP>/cinder[keystone_authtoken]
www_authenticate_uri = http://<VIP>:5000
auth_url = http://<VIP>:5000
memcached_servers = ip1:11211,ip2:11211,ip3:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = cinder
password = CINDER_PASS
service_token_roles_required = true
service_token_roles = admin
region_name = RegionOne[oslo_messaging_rabbit]
transport_url = rabbit://cinder:CINDER_PASS@ip1,ip2,ip3# 后端名称,与enabled_backends一致
[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_pool = volumes
rbd_user = cinder
rbd_secret_uuid = <CINDER_CEPH_SECRET_UUID>
volume_backend_name = ceph
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
report_discard_supported = true

使libvirt识别cinder密钥

  • 确保文件在节点可用:
  • /etc/ceph/ceph.conf
  • /etc/ceph/client.cinder.keyring
chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
chmod 640 /etc/ceph/ceph.client.cinder.keyring
# 创建密钥配置文件
vim secret.xml
<secret ephemeral='no' private='no'>
<uuid>与控制节点的cinder的uuid相同</uuid><usage type='ceph'><name>client.cinder secret</name></usage>
</secret>
# 按照配置文件导入密钥
virsh secret-define --file secret.xml
# 查看cinder用户的密钥
ceph auth get-key client.cinder
# 注入密钥
virsh secret-set-value --secret <uuid> --base64 <cinder.key>
systemctl start cinder-volume && systemctl enable cinder-volumesource ~/admin-openrc
cinder service-list
http://www.xdnf.cn/news/13736.html

相关文章:

  • pangolin
  • 全连接层和卷积层等效情况举例
  • 离线部署openstack 2024.1控制节点keystone
  • Design Compiler:使用read_file命令读取RTL设计
  • Python Day 48 学习(日志Day18学习)
  • 谷歌被禁用的麦克风如何能使用
  • 榕壹云打车系统:赋能出租与网约车的全场景解决方案
  • 阿里1688 普通 231滑块 x82 分析
  • 前端将多个PDF链接的内容拼接成一个后返回出一个链接进行打开
  • 一起学习swin-transformer(一)
  • STM32开发GCC常用编译选项
  • 计组刷题日记(1)
  • 快速熟悉公司的服务器开发环境需要系统
  • 软件测试之APP测试要点(包含Monkey基础使用)
  • 如何创建vue工程?以及遇到问题的解决方法
  • vue3提供的hook和通常的函数有什么区别
  • Python直接访问Windows API库之pywin32使用详解
  • mysql递归查询所有父节点拼接父节点名称
  • 使用Gradle打包springboot项目为JAR包教程
  • 蓝凌EKP产品:低门槛、可扩展、可视化公式引擎应用示例
  • 功能化组件编码流程-2(延续上一章)
  • 《HarmonyOSNext属性动画实战手册:让UI丝滑起舞的魔法指南》
  • 人工智能新范式:从大模型到智能体的演化逻辑
  • 语音信号处理三十——高效多相抽取器(Polyphase+Noble)
  • Java并发编程实战 Day 18:线程池深度剖析与自定义实现
  • 工业自动化网关在饮料行业中的应用:DeviceNet转Modbus RTU协议转换网关案例
  • sssssssssssss
  • 电子电路原理第十八章(有源滤波器)
  • 【C#如何计算从某一个日期到今天过了多少天】2022-4-24
  • 94. 评论日记