glance-0.1.7 分析(七)—— glance/store 镜像存储后端

glance/store 模块主要负责镜像的存储操作,支持包括 FilesystemBackend(文件系统)、HTTPBackend(HTTP/HTTPS)、SwiftBackend(Swift)和 S3Backend(S3)在内的多种存储机制。这些后端作为存储服务的前端接口,实现了不同存储方式的封装。

glance/store 提供了镜像的存储服务。当前支持不同的存储机制:

            "file"                  FilesystemBackend

            "http"/"https"     HTTPBackend

            "swift"                SwiftBackend

            "s3"                    S3Backend


glance/store/__init__.py

       作为后端存储的前端封装接口

            def get_backend_class(backend)
            def get_from_backend(uri, **kwargs)
            def delete_from_backend(uri, **kwargs)
            def get_store_from_location(location)
            def parse_uri_tokens(parsed_uri, example_url)

glance/store/backends
        一个空目录,没有实质功能

glance/store/filesystem.py
        基于文件的存储适配器,缺省路径为 /var/lib/glance/images/

glance/store/http.py
        http 适配器

glance/store/s3.py
        s3 适配器

glance/store/swift.py
        swift 适配器


#修改成自己的ip openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.80.144 openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:123456@manager.node openstack-config --set /etc/nova/nova.conf api auth_strategy keystone openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://manager.node:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers manager.node:11211 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name default openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name default openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova openstack-config --set /etc/nova/nova.conf keystone_authtoken password nv123456 openstack-config --set /etc/nova/nova.conf vnc enabled true openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0 openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip' openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://manager.node:6080/vnc_auto.html openstack-config --set /etc/nova/nova.conf glance api_servers http://manager.node:9292 openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp openstack-config --set /etc/nova/nova.conf placement region_name RegionOne openstack-config --set /etc/nova/nova.conf placement project_domain_name Default openstack-config --set /etc/nova/nova.conf placement project_name service openstack-config --set /etc/nova/nova.conf placement auth_type password openstack-config --set /etc/nova/nova.conf placement user_domain_name Default openstack-config --set /etc/nova/nova.conf placement auth_url http://manager.node:5000/v3 openstack-config --set /etc/nova/nova.conf placement username placement openstack-config --set /etc/nova/nova.conf placement password pm123456控制节点是manager.node,计算节点是master.node
最新发布
06-21
### 配置 OpenStack Nova 服务的相关参数 在 OpenStack 中,`openstack-config` 命令可以用来设置配置文件中的参数。以下是针对 `Nova` 服务的各个参数配置方法: #### 配置 `my_ip` 通过以下命令设置 Nova 的 IP 地址: ```bash openstack-config --set /etc/nova/nova.conf DEFAULT my_ip <your-ip-address> ``` 这将指定 Nova 使用的 IP 地址[^1]。 #### 集成 Neutron 启用 Neutron 并设置防火墙驱动程序: ```bash openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron True openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver ``` 上述命令启用了 Neutron,并禁用了防火墙功能[^3]。 #### 设置认证策略 启用的 API 和认证策略可以通过以下命令进行配置: ```bash openstack-config --set /etc/nova/nova.conf api enabled_apis osapi_compute,metadata openstack-config --set /etc/nova/nova.conf api auth_strategy keystone ``` 这确保了仅允许经过 Keystone 认证的用户访问 Nova API[^4]。 #### 消息队列配置 设置消息队列的传输 URL: ```bash openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://<user>:<password>@<rabbitmq-host>:5672/ ``` 此命令定义了 RabbitMQ 的连接信息[^3]。 #### Keystone 认证令牌 配置 Keystone 认证令牌相关参数: ```bash openstack-config --set /etc/nova/nova.conf keystone_authtoken www_authenticate_uri http://<controller-ip>:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://<controller-ip>:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers <controller-ip>:11211 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova openstack-config --set /etc/nova/nova.conf keystone_authtoken password <nova-password> ``` 这些参数确保了 Nova 能够正确地与 Keystone 进行身份验证[^4]。 #### VNC 设置 配置 VNC 相关参数以支持远程控制台访问: ```bash openstack-config --set /etc/nova/nova.conf vnc enabled True openstack-config --set /etc/nova/nova.conf vnc vncserver_listen 0.0.0.0 openstack-config --set /etc/nova/nova.conf vnc vncserver_proxyclient_address <compute-node-ip> openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://<controller-ip>:6080/vnc_auto.html ``` 这为计算节点上的虚拟机实例启用了 VNC 控制台访问[^1]。 #### Glance API 配置 设置 Glance API 的地址: ```bash openstack-config --set /etc/nova/nova.conf glance api_servers http://<controller-ip>:9292 ``` 此命令指定了 Glance API 的地址,以便 Nova 可以获取镜像信息。 #### 并发控制 配置并发控制参数以限制线程和进程数量: ```bash openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp ``` 这设置了锁路径以避免多线程冲突[^2]。 #### Placement 服务配置 确保 Placement 服务被正确配置: ```bash openstack-config --set /etc/nova/nova.conf placement region_name RegionOne openstack-config --set /etc/nova/nova.conf placement project_domain_name Default openstack-config --set /etc/nova/nova.conf placement project_name service openstack-config --set /etc/nova/nova.conf placement auth_type password openstack-config --set /etc/nova/nova.conf placement auth_url http://<controller-ip>:5000/v3 openstack-config --set /etc/nova/nova.conf placement username placement openstack-config --set /etc/nova/nova.conf placement password <placement-password> ``` 这些参数确保了 Nova 能够与 Placement 服务交互以管理资源分配。 ### 示例代码 以下是一个完整的脚本示例,用于批量配置上述参数: ```bash #!/bin/bash # 定义变量 MY_IP="<your-ip-address>" RABBITMQ_USER="<user>" RABBITMQ_PASSWORD="<password>" RABBITMQ_HOST="<rabbitmq-host>" CONTROLLER_IP="<controller-ip>" NOVA_PASSWORD="<nova-password>" PLACEMENT_PASSWORD="<placement-password>" # 配置 my_ip openstack-config --set /etc/nova/nova.conf DEFAULT my_ip $MY_IP # 配置 Neutron openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron True openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver # 配置认证策略 openstack-config --set /etc/nova/nova.conf api enabled_apis osapi_compute,metadata openstack-config --set /etc/nova/nova.conf api auth_strategy keystone # 配置消息队列 openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://$RABBITMQ_USER:$RABBITMQ_PASSWORD@$RABBITMQ_HOST:5672/ # 配置 Keystone 认证令牌 openstack-config --set /etc/nova/nova.conf keystone_authtoken www_authenticate_uri http://$CONTROLLER_IP:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://$CONTROLLER_IP:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers $CONTROLLER_IP:11211 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova openstack-config --set /etc/nova/nova.conf keystone_authtoken password $NOVA_PASSWORD # 配置 VNC openstack-config --set /etc/nova/nova.conf vnc enabled True openstack-config --set /etc/nova/nova.conf vnc vncserver_listen 0.0.0.0 openstack-config --set /etc/nova/nova.conf vnc vncserver_proxyclient_address $MY_IP openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://$CONTROLLER_IP:6080/vnc_auto.html # 配置 Glance API openstack-config --set /etc/nova/nova.conf glance api_servers http://$CONTROLLER_IP:9292 # 配置并发控制 openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp # 配置 Placement openstack-config --set /etc/nova/nova.conf placement region_name RegionOne openstack-config --set /etc/nova/nova.conf placement project_domain_name Default openstack-config --set /etc/nova/nova.conf placement project_name service openstack-config --set /etc/nova/nova.conf placement auth_type password openstack-config --set /etc/nova/nova.conf placement auth_url http://$CONTROLLER_IP:5000/v3 openstack-config --set /etc/nova/nova.conf placement username placement openstack-config --set /etc/nova/nova.conf placement password $PLACEMENT_PASSWORD ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值