第 3 章 Glance


下面的章节包含有关 glance 服务中的配置选项的信息。

3.1. glance-api.conf

本节包含 /etc/glance/glance-api.conf 文件的选项。

3.1.1. DEFAULT

下表概述了 /etc/glance/glance-api.conf 文件中的 [DEFAULT] 组下可用的选项。

.

配置选项 = 默认值类型Description

admin_password = None

字符串值

管理员密码。如果 "use_user_token" 无效,则可以指定 admin 凭据。

admin_role = admin

字符串值

用于识别经过身份验证的用户的角色。

提供代表 Keystone 角色的字符串值,以识别管理用户。具有此角色的用户将被授予管理特权。此选项的默认值是 admin

可能的值:

  • 有效的 Keystone 角色的字符串值

相关选项:

  • None

admin_tenant_name = None

字符串值

管理用户的租户名称。如果 "use_user_token" 无效,则可以指定 admin 租户名称。

admin_user = None

字符串值

管理员用户名。如果 "use_user_token" 无效,则可以指定 admin 凭据。

allow_additional_image_properties = True

布尔值

允许用户向镜像添加额外的/自定义属性。

Glance 定义一组标准的属性(在 schema 中),这些属性出现在每个镜像中。这些属性也称为基本属性。除了这些属性外,Glance 还允许用户向镜像添加自定义属性。它们称为 附加属性

默认情况下,此配置选项设置为 True,用户可以添加额外的属性。可以通过 image_property_quota 配置选项控制可添加到镜像的额外属性数量。

可能的值:

  • True
  • False

相关选项:

  • image_property_quota

allow_anonymous_access = False

布尔值

允许对未经身份验证的用户的有限访问。

分配一个布尔值,以确定未经身份验证的用户的 API 访问。当设置为 False 时,未经身份验证的用户访问 API。当设置为 True 时,未经身份验证的用户可以使用只读权限访问 API。但是,只有在使用 ContextMiddleware 时才适用。

可能的值:

  • True
  • False

相关选项:

  • None

allowed_rpc_exception_modules = ['glance.common.exception', 'builtins', 'exceptions']

列出值

允许异常模块处理 RPC 异常的异常模块列表。

提供以逗号分隔的模块列表,在向 Glance 发出的 RPC 调用接收异常数据时允许重新创建其异常数据。默认列表包括 glance.common.exception, builtins, 和 exceptions

RPC 协议允许通过网络或同一系统中的调用与 Glance 交互。包含带有此选项的异常命名空间列表可让 RPC 将异常传播到用户。

可能的值:

  • 以逗号分隔的有效例外模块列表

相关选项:

  • None

api_limit_max = 1000

整数值

请求可返回的最大结果数。

limit_param_default 的帮助文本中所述,一些请求可能会返回多个结果。要返回的结果数量取决于请求中的 limit 参数或 limit_param_default 配置选项。在这两种情况下的值不能超过此配置选项定义的绝对最大值。大于这个值的任何值都修剪在此处定义的最大值。

注意

把它设置为非常大的值可能会减慢数据库查询的速度,并提高响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • limit_param_default

auth_region = None

字符串值

身份验证服务的区域。如果 "use_user_token" 无效并使用 keystone auth,则可以指定区域名称。

auth_strategy = noauth

字符串值

用于身份验证的策略。如果 "use_user_token" 无效,则可以指定 auth 策略。

auth_url = None

字符串值

keystone 服务的 URL。如果 "use_user_token" 无效并使用 keystone 身份验证,则可以指定 keystone 的 URL。

backlog = 4096

整数值

设置传入连接请求数。

提供正整数值来限制 backlog 队列中的请求数。默认队列大小为 4096。

在与服务器建立连接前,到 TCP 侦听器套接字的传入连接会被排队。为 TCP 套接字设置 backlog 可确保传入流量的有限队列大小。

可能的值:

  • 正整数

相关选项:

  • None

bind_host = 0.0.0.0

主机地址值

将 glance 服务器绑定到的 IP 地址。

提供 IP 地址来绑定 glance 服务器。默认值为 0.0.0.0

编辑这个选项,使服务器能够侦听网卡上的一个特定 IP 地址。这有助于为服务器选择特定的网络接口。

可能的值:

  • 有效的 IPv4 地址
  • 有效的 IPv6 地址

相关选项:

  • None

bind_port = None

端口值

服务器将侦听的端口号。

提供有效的端口号来绑定服务器的套接字。然后,将此端口设置为识别进程并转发到达服务器的网络信息。API 服务器的默认 bind_port 值为 9292,registry 服务器为 9191。

可能的值:

  • 有效端口号(0 到 65535)

相关选项:

  • None

ca_file = None

字符串值

CA 文件的绝对路径。

提供字符串值,代表用于客户端身份验证的证书颁发机构文件的有效绝对路径。

CA 文件通常包含用于客户端身份验证所需的可信证书。这对于确保通过互联网建立安全连接非常重要。

可能的值:

  • CA 文件的有效绝对路径

相关选项:

  • None

cert_file = None

字符串值

证书文件的绝对路径。

提供代表证书文件的有效绝对路径的字符串值,这是安全启动 API 服务所需的。

证书文件通常是一个公钥容器,包括服务器的公钥、服务器名称、服务器信息和签名,这是使用 CA 证书的验证过程的结果。这是安全连接建立所需要的。

可能的值:

  • 证书文件的有效绝对路径

相关选项:

  • None

client_socket_timeout = 900

整数值

客户端连接的套接字操作的超时。

提供代表等待的时间(以秒为单位)的有效整数值,以在进入连接关闭前设置等待的时间。默认值为 900 秒。

值 0 表示等待ever。

可能的值:

  • 正整数

相关选项:

  • None

conn_pool_min_size = 2

整数值

连接过期策略的池大小限制

conn_pool_ttl = 1200

整数值

池中闲置连接的时间为 sec

control_exchange = openstack

字符串值

范围下主题的默认交换。可以被 transport_url 选项指定的交换名称覆盖。

data_api = glance.db.sqlalchemy.api

字符串值

数据访问 API 的 Python 模块路径。

指定用于访问数据模型的 API 的路径。此选项决定了如何访问镜像目录数据。

可能的值:

  • glance.db.sqlalchemy.api
  • glance.db.registry.api
  • glance.db.simple.api

如果此选项设置为 glance.db.sqlalchemy.api,则镜像目录数据将存储在数据库中,并通过 SQLAlchemy Core 和 ORM API 从数据库读取。

将此选项设置为 glance.db.registry.api 将强制所有数据库访问请求通过 Registry 服务路由。这可避免 Glance API 节点的数据访问,添加了安全性、可扩展性和过期层。

注意

在 v2 OpenStack Images API 中,registry 服务是可选的。要在 v2 中使用 Registry API,选项 enable_v2_registry 必须设为 True

最后,当此配置选项设置为 glance.db.simple.api 时,镜像目录数据将存储在内存中数据结构中。这主要用于测试。

相关选项:

  • enable_v2_api
  • enable_v2_registry

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

debug = False

布尔值

如果设置为 true,则日志级别将设置为 DEBUG,而不是默认的 INFO 级别。

default_log_levels = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'iso8601=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'stevedore=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']

列出值

以 logger=LEVEL 的形式列出软件包日志级别列表。如果设置了 log_config_append,则忽略这个选项。

default_publisher_id = image.localhost

字符串值

传出 Glance 通知的默认 publisher_id。

这是通知驱动程序将用于识别来自 Glance 服务的事件的消息的值。通常,这是生成消息的实例的主机名。

可能的值:

  • 任何合理的实例标识符,例如:image.host1

相关选项:

  • None

delayed_delete = False

布尔值

打开/关闭延迟删除。

通常,当镜像被删除时,glance-api 服务会将镜像置于 已删除 状态,并同时删除其数据。延迟删除是 Glance 中的一个功能,可延迟实际删除镜像数据,直到后续时间点(如配置选项 scrub_time决定)。打开延迟删除后,glance-api 服务会在删除时将镜像置于 pending_delete 状态,并将镜像数据留在存储后端中,以便稍后删除镜像清理。镜像清理实例将在 成功删除镜像数据时将镜像移到已删除 状态。

注意

打开延迟删除时,镜像清理网络 MUST 作为定期任务运行,以防止后端存储使用不需要的使用量填充。

可能的值:

  • True
  • False

相关选项:

  • scrub_time
  • wakeup_time
  • scrub_pool_size

digest_algorithm = sha256

字符串值

用于数字签名的摘要算法。

提供代表用来生成数字签名的摘要算法的字符串值。默认情况下使用 sha256

要获取平台上 OpenSSL 版本支持的可用算法列表,请运行以下命令: openssl list-message-digest-algorithms。例如是 sha1、 sha256sha512

注意

digest_algorithm 与 Glance 的镜像签名和验证无关。它仅用于将通用唯一标识符(UUID)签名为证书文件和密钥文件验证的一部分。

可能的值:

  • OpenSSL 消息摘要算法标识符

关系选项:

  • None

disabled_notifications = []

列出值

要禁用的通知列表。

指定不应发出的通知列表。可将通知指定为通知类型,以禁用单个事件通知,或者作为通知组前缀来禁用组中的所有事件通知。

可能的值 :要禁用的独立通知类型或通知组的逗号分隔列表。目前支持的组: 镜像 image.member 任务 metadef_namespace metadef_object metadef_property metadef_resource_type metadef_tag 用于每个事件的完整列表和描述 :http://docs.openstack.org/developer/glance/notifications.html

The values must be specified as: <group_name>.<event_name>
For example: image.create,task.success,metadef_tag

相关选项:

  • None

enable_v1_registry = True

布尔值

弃用删除

弃用自:new ton

Danreason:在 Newton 版本中,镜像(Glance)版本 1 API 已在 Newton 版本中为 DEPRECATED,并将按照标准 OpenStack 弃用策略删除或之后。因此,特定于镜像(Glance) v1 API 的配置选项已被弃用,并可能会删除。建议 Operator 部署镜像(Glance) v2 API。

enable_v2_api = True

布尔值

部署 v2 OpenStack Images API。

当此选项设置为 True 时,Glance 服务将响应注册端点上的请求,符合 v2 OpenStack Images API。

备注:

  • 如果禁用了这个选项,则建议禁用 enable_v2_registry 选项(默认启用)。

可能的值:

  • True
  • False

相关选项:

  • enable_v2_registry

弃用自:new ton

Danreason:在 Newton 版本中,Imageeoms 版本(Glance)版本 1 API 已是 DEPRECATED。根据标准的 OpenStack 弃用策略,它将在 Pike 版本上或之后删除。在删除了镜像(Glance) v1 API 后,只能部署镜像(Glance) v2 API,并默认启用此选项,使此选项冗余。

enable_v2_registry = True

布尔值

部署 v2 API Registry 服务。

当此选项设置为 True 时,对于 v2 API 请求,在 Glance 中将启用 Registry 服务。

备注:

  • 在 v2 API 中使用 Registry 是可选的,因此只有在 enable_v2_api 设为 Truedata_api 选项设置为 glance.db.registry.api 时,才必须启用这个选项。
  • 如果仅部署 v1 OpenStack Images API,则此选项(默认启用)应被禁用。

可能的值:

  • True
  • False

相关选项:

  • enable_v2_api
  • data_api

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

enabled_backends = None

字典值

Key:Value 对存储标识符和存储类型。如果是多个后端,则应使用逗号分隔。

enabled_import_methods = ['glance-direct', 'web-download', 'copy-image']

列出值

启用的镜像导入方法列表

'glance-direct', 'copy-image' and 'web-download' are enabled by default.
    Related options:
** [DEFAULT]/node_staging_uri

executor_thread_pool_size = 64

整数值

当 executor 为 threading 或 eventle 时,executor 线程池的大小。

fatal_deprecations = False

布尔值

启用或禁用弃用的严重状态。

hashing_algorithm = sha512

字符串值

用于计算 os_hash_value 属性的安全哈希算法。

此选项配置 Glance "multihash",它由两个镜像属性组成: os_hash_algoos_hash_valueos_hash_algo 将由这个配置选项填充,当算法应用到上传或导入的镜像数据时,os_hash_value 将由十六进制摘要填充。

该值必须是由 python hashlib 库识别的有效安全哈希算法名称。您可以通过检查 Glance 安装中使用的库的 hashlib.algorithms_available 数据成员来确定它们是什么。然而,为了实现互操作性,我们建议您使用由 hashlib.algorithms_guaranteed 数据成员提供的安全散列名称集,因为所有平台上的 hashlib 库都可以保证支持这些算法。因此,任何本地使用 hashlib 的镜像使用者都应验证镜像的 os_hash_value

sha512 的默认值是一个性能安全哈希算法。

如果这个选项被错误配置,则任何用于存储镜像数据的尝试都会失败。因此,我们建议使用默认值。

可能的值:

  • Python hashlib 库识别的任何安全哈希算法名称

相关选项:

  • None

http_keepalive = True

布尔值

为 HTTP over TCP 设置 keep alive 选项。

提供布尔值来确定保留实时数据包的发送。如果设置为 False,服务器会返回标头 "Connection: close"。如果设置为 True,服务器会在其响应中返回一个 "Connection: Keep-Alive"。这为 HTTP 对话启用相同的 TCP 连接保留,而不是为每个新请求打开一个新 TCP 连接。

如果客户端套接字连接需要在收到响应并读取客户端成功后明确关闭,则必须将此选项设置为 False

可能的值:

  • True
  • False

相关选项:

  • None

image_cache_dir = None

字符串值

镜像缓存的基础目录。

这是缓存镜像数据的位置。所有缓存的镜像都直接存储在此目录下。此目录还包含三个子目录,即 不完整无效 和队列

不完整的 子目录是下载镜像的暂存区域。镜像首次下载到此目录。镜像下载成功后,它会被移到基本目录中。但是,如果下载失败,部分下载的镜像文件将移到 无效的 子目录中。

queue 的子目录用于排队下载的镜像。这主要由 cache-prefetcher 使用,它可以调度为 cache-pruner 和 cache-cleaner 等定期任务,以在使用前缓存镜像。收到缓存镜像的请求后,Glance 会将 'queue 目录中的文件与镜像 ID 作为文件名进行联系。cache-prefetcher 在运行时轮询 队列 目录中的文件,并开始按照创建的顺序下载它们。当下载成功时,从 队列 目录中删除零大小文件。如果下载失败,则零化文件会保留,并将在下次运行 cache-prefetcher 时重试。

可能的值:

  • 有效路径

相关选项:

  • image_cache_sqlite_db

image_cache_driver = sqlite

字符串值

用于镜像缓存管理的驱动程序。

此配置选项提供了在不同可用镜像缓存驱动程序之间进行选择的灵活性。image-cache 驱动程序负责提供 image-cache 的基本功能,如从缓存中写入/读取镜像,跟踪缓存的年龄和使用,提供缓存镜像列表、缓存的大小、队列镜像缓存和清理缓存等。

驱动程序的基本功能在基本类 glance.image_cache.drivers.base.Driver 中定义。所有 image-cache 驱动程序(现有和参与)都必须实现这个接口。当前可用的驱动程序是 sqlitexattr。这些驱动程序主要与保存缓存镜像信息的方式有所不同:

  • sqlite 驱动程序使用 sqlite 数据库(位于本地的每一 glance 节点上)来跟踪缓存的镜像的使用。
  • xattr 驱动程序使用文件的扩展属性来存储此信息。它还需要一个文件系统,在访问时对文件设置 atime

可能的值:

  • SQLite
  • xattr

相关选项:

  • None

image_cache_max_size = 10737418240

整数值

缓存大小上限(以字节为单位),这会清理镜像缓存。

注意

这只是要操作的 cache-pruner 的阈值。它不超过镜像缓存永远不会增长的硬限制。实际上,根据 cache-pruner 运行的频率以及缓存填满的速度,镜像缓存可能会超过此处指定的大小。因此,必须小心,才能适当地调度 cache-pruner 并设置这个限制。

Glance 在下载镜像时缓存镜像。因此,在下载数量增加时,镜像缓存的大小会随时间增长。为了保持缓存大小无法管理,建议以定期任务的形式运行 cache-pruner。当缓存修剪器停止时,它会比较当前镜像缓存的大小,并在镜像缓存超过指定大小时触发清理。清理后,缓存的大小将小于或等于此处指定的大小。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_cache_sqlite_db = cache.db

字符串值

用于镜像缓存管理的 sqlite 文件的相对路径。

这是到 sqlite 文件数据库的相对路径,用于跟踪镜像缓存的年龄和使用统计信息。该路径相对于镜像缓存基本目录,由配置选项 image_cache_dir 指定。

这是一个轻量级数据库,只有一个表。

可能的值:

  • 到 sqlite 文件数据库的有效相对路径

相关选项:

  • image_cache_dir

image_cache_stall_time = 86400

整数值

不完整的镜像保留在缓存中的时间(以秒为单位)。

不完整的镜像是下载正在进行的镜像。详情请查看配置选项 image_cache_dir 的描述。有时,由于各种原因,下载可能会挂起,未下载的镜像保留在 不完整的 目录中。此配置选项设定在清理前不完整镜像应保留在 不完整 目录中的时间限制。当镜像花费的时间超过这里指定的时间后,它将在下次运行时被 cache-cleaner 删除。

建议您在 Glance API 节点上作为定期任务运行 cache-cleaner,以便从占用磁盘空间中保留不完整的镜像。

可能的值:

  • 任何非负整数

相关选项:

  • None

image_location_quota = 10

整数值

镜像允许的最大位置数。

任何负值都解释为无限值。

相关选项:

  • None

image_member_quota = 128

整数值

每个镜像的最大镜像成员数量。

这限制了镜像可以被共享的最大用户。任何负值都解释为无限值。

相关选项:

  • None

image_property_quota = 128

整数值

镜像允许的最大属性数。

这对镜像可以具有的额外属性数量实施上限。任何负值都解释为无限值。

注意

如果禁用附加属性,则这不会影响。请参阅 allow_additional_image_properties

相关选项:

  • allow_additional_image_properties

image_size_cap = 1099511627776

整数值

用户可以以字节为单位上传的最大镜像大小。

大于此处提到的大小的镜像上传会导致镜像创建失败。此配置选项默认为 1099511627776 字节(1 TiB)。

备注:

  • 这个值只有在仔细考虑后才会增加,且必须设置小于或等于 8 EiB (9223372036854775808)。
  • 这个值必须小心地考虑后端存储容量。把它设置为非常低的值可能会导致大量镜像失败。因此,将其设置为非常大的值可能会导致存储更快地消耗。因此,这必须根据创建和可用存储容量的镜像的性质进行设置。

可能的值:

  • 任何小于或等于 9223372036854775808 的正数

image_tag_quota = 128

整数值

镜像允许的最大标签数。

任何负值都解释为无限值。

相关选项:

  • None

`instance_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例格式。

`instance_uuid_format = [instance: %(uuid)s] `

字符串值

通过日志消息传递的实例 UUID 的格式。

key_file = None

字符串值

私钥文件的绝对路径。

提供字符串值,代表到私钥文件的有效绝对路径,这是建立客户端-服务器连接所需的。

可能的值:

  • 私钥文件的绝对路径

相关选项:

  • None

limit_param_default = 25

整数值

为请求返回的默认结果数。

对某些 API 请求的响应(如列出镜像)可能会返回多个项目。通过在 API 请求中指定 limit 参数,可以显式控制返回的结果数量。但是,如果没有指定 limit 参数,此配置值将用作要为任何 API 请求返回的默认结果数。

备注:

  • 此配置选项的值不能超过 api_limit_max 指定的值。
  • 把它设置为非常大的值可能会减慢数据库查询的速度,并提高响应时间。把它设置为非常低的值可能会导致用户体验不佳。

可能的值:

  • 任何正整数

相关选项:

  • api_limit_max

location_strategy = location_order

字符串值

确定镜像位置的首选顺序的策略。

此配置选项指示决定镜像位置必须访问的顺序,以便为镜像的数据提供服务。然后,Glance 从此列表中找到的第一个响应活跃位置检索镜像数据。

此选项采用两个可能的值 location_orderstore_type 之一。默认值为 location_order,它假定镜像数据按照存储在 Glance 中的顺序使用位置来提供。store_type 值根据存储后端列为配置选项 store_type_preference 的逗号分隔列表来设置镜像位置首选项。

可能的值:

  • location_order
  • store_type

相关选项:

  • store_type_preference

log-config-append = None

字符串值

日志配置文件的名称。此文件附加到任何现有日志配置文件中。有关日志记录配置文件的详情,请查看 Python 日志记录模块文档。请注意,当使用日志记录配置文件时,所有日志配置都会在配置文件中设置,其他日志记录配置选项将被忽略(如 log-date-format)。

log-date-format = %Y-%m-%d %H:%M:%S

字符串值

在日志记录中定义 %%(asctime)的格式字符串。默认:%(默认)s。如果设置了 log_config_append,则忽略这个选项。

log-dir = None

字符串值

(可选)用于相对 log_file 路径的基础目录。如果设置了 log_config_append,则忽略这个选项。

log-file = None

字符串值

(可选)要将日志输出发送到的日志文件的名称。如果没有设置默认值,日志记录将进入由 use_stderr 定义的 stderr。如果设置了 log_config_append,则忽略这个选项。

log_rotate_interval = 1

整数值

轮转日志文件前的时间长度。这个选项将被忽略,除非 log_rotation_type 被设置为 "interval"。

log_rotate_interval_type = days

字符串值

轮转间隔类型。调度下一次轮转时使用最后一次文件更改的时间(或启动服务的时间)。

log_rotation_type = none

字符串值

日志轮转类型。

logging_context_format_string = %(asctime) s.%(msecs) 03d %(process) d %(levelname) s %(name) s [%(request_id) s %(user_identity) s] %(instance) s%(message)

字符串值

用于具有上下文的日志消息的格式字符串。oslo_log.formatters.ContextFormatter 使用

logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

字符串值

在消息的日志级别为 DEBUG 时附加的额外数据以记录消息。oslo_log.formatters.ContextFormatter 使用

logging_default_format_string = %(asctime) s.%(msecs) 03d %(process) d %(levelname) s %(name) s [-] %(instance) s%(message) s%(message) s

字符串值

未定义时用于日志消息的格式字符串。oslo_log.formatters.ContextFormatter 使用

logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

字符串值

使用此格式为每个异常输出添加前缀。oslo_log.formatters.ContextFormatter 使用

logging_user_identity_format = %(user) s %(tenant) s %(domain) s %(user_domain) s %(project_domain) s %(project_domain) s %(project_domain)

字符串值

定义 logging_context_format_string 中使用的 %(user_identity)的格式字符串。oslo_log.formatters.ContextFormatter 使用

max_header_line = 16384

整数值

消息标头的最大行大小。

提供代表消息标头大小的长度的整数值。默认值为 16384。

注意

使用大型令牌时(通常是由 Keystone v3 API 使用大型服务目录生成的令牌)时,可能需要增加 max_header_line。但请注意,max_header_line 的较大的值会大量日志。

max_header_line 设置为 0 可为消息标头的行大小设置限制。

可能的值:

  • 0
  • 正整数

相关选项:

  • None

max_logfile_count = 30

整数值

轮转的日志文件的最大数量。

max_logfile_size_mb = 200

整数值

日志文件最大大小(以 MB 为单位)。如果 "log_rotation_type" 没有设置为 "size",则忽略这个选项。

max_request_id_length = 64

整数值

限制请求 ID 长度。

提供整数值,将请求 ID 的长度限制为指定的长度。默认值为 64。用户可以将其更改为 0 到 16384 之间的任何 ineteger 值,但请记住一个较大的值可能会大量日志。

可能的值:

  • 0 到 16384 之间的整数值

相关选项:

  • None

metadata_encryption_key = None

字符串值

用于加密存储位置元数据的 AES 密钥。

提供代表 AES 密码用于加密 Glance 存储元数据的字符串值。

注意

使用的 AES 密钥必须设置为长度为 16、24 或 32 字节的随机字符串。

可能的值:

  • 代表有效 AES 键的字符串值

相关选项:

  • None

node_staging_uri = file:///tmp/staging/

字符串值

URL 提供存储临时数据的位置

此选项仅用于 Glance 内部使用。Glance 将在镜像导入过程中将用户上传到 暂存 端点的镜像数据保存。

这个选项不会以任何方式更改 staging API 端点。

注意

不建议使用与 [task]/work_dir 相同的路径

注意

file://<absolute-directory-path > 是唯一选项 api_image_import 流将支持。

注意

暂存路径必须位于所有 Glance API 节点可用的共享文件系统上。

可能的值:

  • file:// 开头的字符串,后跟绝对 FS 路径

相关选项:

  • [task]/work_dir

owner_is_tenant = True

布尔值

将镜像所有者设置为租户或经过身份验证的用户。

分配一个布尔值来确定镜像的所有者。当设置为 True 时,镜像的所有者是租户。当设置为 False 时,镜像的所有者将是发出请求的经过身份验证的用户。将它设置为 False 使镜像私有到关联的用户,并与同一租户(或"项目")中的其他用户共享,需要通过镜像成员资格进行显式镜像共享。

可能的值:

  • True
  • False

相关选项:

弃用自: Rocky

reason : 此选项的非默认设置将 Glance 与其他 OpenStack 服务相关,符合资源所有权。此外,调查表示操作员不使用此选项。根据标准的 OpenStack 弃用策略,选项将在 S 开发周期早期删除。因为选项没有被广泛使用,因此不会建议迁移路径。

property_protection_file = None

字符串值

属性保护文件的位置。

提供属性保护文件的有效路径,其中包含属性保护的规则以及与它们关联的角色/策略。

当设置时,属性保护文件会限制由角色或策略标识的特定用户组创建、读取、更新和删除 Glance 镜像属性。如果没有设置此配置选项,则默认不会强制使用属性保护。如果指定了值且未找到文件,则 glance-api 服务将无法启动。有关属性保护的更多信息,请访问: https://docs.openstack.org/glance/latest/admin/property-protections.html

可能的值:

  • 空字符串
  • 到属性保护配置文件的有效路径

相关选项:

  • property_protection_rule_format

property_protection_rule_format = roles

字符串值

属性保护的规则格式。

提供设置 Glance 镜像属性的属性保护方法。两个感知的值是 rolespolicies。默认值为 roles

如果值为 roles,则属性保护文件必须包含以逗号分隔的用户角色列表,指示每个受保护的属性的权限。如果设置为 policies,则使用 policy.json 中定义的策略来表达每个 CRUD 操作的属性保护。有关如何根据 角色或 策略 强制实施属性保护的示例,请访问 :https://docs.openstack.org/glance/latest/admin/property-protections.html#examples

可能的值:

  • roles
  • policies

相关选项:

  • property_protection_file

public_endpoint = None

字符串值

用于 Glance 版本响应的公共 url 端点。

这是将出现在 Glance "versions" 响应中的公共 url 端点。如果没有指定值,版本的响应中显示的端点是运行 API 服务的主机。如果 API 服务在代理后面运行,将端点更改为代表代理 URL。如果服务在负载均衡器后面运行,请为这个值添加负载均衡器的 URL。

可能的值:

  • None
  • 代理 URL
  • 负载均衡器 URL

相关选项:

  • None

publish_errors = False

布尔值

启用或禁用错误事件的发布。

pydev_worker_debug_host = None

主机地址值

pydev 服务器的主机地址。

提供代表用于调试的 pydev 服务器的主机名或 IP 的字符串值。pydev 服务器侦听此地址上的调试连接,在 Glance 中促进远程调试。

可能的值:

  • 有效主机名
  • 有效的 IP 地址

相关选项:

  • None

pydev_worker_debug_port = 5678

端口值

pydev 服务器将侦听的端口号。

提供要将 pydev 服务器绑定到的端口号。pydev 进程接受此端口上的调试连接,并促进 Glance 中的远程调试。

可能的值:

  • 有效端口号

相关选项:

  • None

rate_limit_burst = 0

整数值

每个 rate_limit_interval 的最大记录消息数。

rate_limit_except_level = CRITICAL

字符串值

速率限制使用的日志级别名称:CRITICAL, ERROR, INFO, WARNING, DEBUG 或空字符串。级别大于或等于 rate_limit_except_level 的日志不会被过滤。空字符串表示过滤所有级别。

rate_limit_interval = 0

整数值

日志速率限制的时间间隔(秒数)。

registry_client_ca_file = None

字符串值

证书颁发机构文件的绝对路径。

提供代表证书颁发机构文件的有效绝对路径的字符串值,用于建立到 registry 服务器的安全连接。

注意

如果 registry_client_protocol 设置为 https,则必须设置这个选项。或者,GLANCE_CLIENT_CA_FILE 环境变量可以设置为 CA 文件的文件路径。如果 registry_client_insecure 选项设为 True,则此选项将被忽略。

可能的值:

  • 代表 CA 文件的有效绝对路径的字符串值。

相关选项:

  • registry_client_protocol
  • registry_client_insecure

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_client_cert_file = None

字符串值

证书文件的绝对路径。

提供代表证书文件的有效绝对路径的字符串值,以用于建立到 registry 服务器的安全连接。

注意

如果 registry_client_protocol 设置为 https,则必须设置这个选项。或者,GLANCE_CLIENT_CERT_FILE 环境变量可以设置为证书文件的文件路径。

可能的值:

  • 代表证书文件的有效绝对路径的字符串值。

相关选项:

  • registry_client_protocol

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_client_insecure = False

布尔值

设置 registry 服务器证书的验证。

提供布尔值,以确定是否验证到 registry 服务器的 SSL 连接。默认情况下,此选项设置为 False,并且 SSL 连接会被验证。

如果设置为 True,则不会通过认证机构验证到 registry 服务器的连接,并且忽略 registry_client_ca_file 选项。这等同于使用 glanceclient 为 API 在命令行中指定 --insecure。

可能的值:

  • True
  • False

相关选项:

  • registry_client_protocol
  • registry_client_ca_file

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_client_key_file = None

字符串值

私钥文件的绝对路径。

提供代表私钥文件的有效绝对路径,用于建立到 registry 服务器的安全连接。

注意

如果 registry_client_protocol 设置为 https,则必须设置这个选项。或者,GLANCE_CLIENT_KEY_FILE 环境变量可以设置为密钥文件的文件路径。

可能的值:

  • 代表密钥文件的有效绝对路径的字符串值。

相关选项:

  • registry_client_protocol

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_client_protocol = http

字符串值

用于与 registry 服务器通信的协议。

提供代表用于与 registry 服务器通信的协议的字符串值。默认情况下,这个选项被设置为 http,连接不安全。

这个选项可以设置为 https,以建立到 registry 服务器的安全连接。在这种情况下,使用 registry_client_key_file 选项提供用于 SSL 连接的密钥。还包括 CA 文件和证书文件,分别使用选项 registry_client_ca_fileregistry_client_cert_file

可能的值:

  • http
  • https

相关选项:

  • registry_client_key_file
  • registry_client_cert_file
  • registry_client_ca_file

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_client_timeout = 600

整数值

registry 请求的超时值。

提供一个整数值,代表 API 服务器等待 registry 请求完成的时间(以秒为单位)。默认值为 600 秒。

值 0 表示请求永远不会超时。

可能的值:

  • 正整数

相关选项:

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_host = 0.0.0.0

主机地址值

解决托管 registry 服务器的问题。

可能的值:

  • 有效 IP 或主机名

相关选项:

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

registry_port = 9191

端口值

registry 服务器侦听的端口。

可能的值:

  • 有效端口号

相关选项:

弃用自: Queens

原因: Glance registry 服务已弃用以被删除。

如需更多信息,请参阅 spec: http://specs.openstack.org/openstack/glance-specs/specs/queens/approved/glance/deprecate-registry.html

rpc_conn_pool_size = 30

整数值

RPC 连接池的大小。

rpc_response_timeout = 60

整数值

等待调用的响应的秒数。

scrub_pool_size = 1

整数值

用于清理镜像的线程池大小。

当清理了大量镜像时,并行清理镜像很有用,以便清理队列保持控制,并且后端存储会及时回收。此配置选项表示并行清理的镜像的最大数量。默认值为 one,表示串行清理。上面的任何值都表示并行清理。

可能的值:

  • 任何非零正整数

相关选项:

  • delayed_delete

scrub_time = 0

整数值

延迟镜像清理的时间(以秒为单位)。

打开延迟删除后,镜像会在删除时进入 pending_delete 状态,直到清理实例删除其镜像数据。通常,在镜像变为 pending_delete 状态后很快就可以进行清理。但是,清理可能会被延迟,直到稍后使用此配置选项为止。此选项表示镜像在可用于清理前处于 pending_delete 状态的时间周期。

务必要意识到此问题对存储有影响。scrub_time 越大,从已删除的镜像回收后端存储的时间就越长。

可能的值:

  • 任何非负整数

相关选项:

  • delayed_delete

secure_proxy_ssl_header = None

字符串值

用于决定原始请求的方案的 HTTP 标头,即使它已被 SSL 终止代理删除了。典型的值为 "HTTP_X_FORWARDED_PROTO"。

send_identity_headers = False

布尔值

在向 registry 发出请求时发送从身份收到的标头。

通常,Glance registry 可以部署为多种类型,它们可能也可能不包括身份验证。例如,trusted-auth 是一个类型,不需要 registry 服务来验证它收到的请求。但是,registry 服务可能仍需要填充用户上下文来提供请求。这可以通过调用者( Glance API 通常)通过从通过同一请求的身份进行身份验证的标头进行传递。发送的典型标头有 X-User-Id,X-Tenant-Id,X-Roles,X-Identity-StatusX-Service-Catalog

提供布尔值,以确定是否发送身份标头以提供租户和用户信息,以及向 registry 服务的请求。默认情况下,此选项设置为 False,这意味着用户和租户信息不可用。它必须通过身份验证获得。因此,如果将其设置为 False,则必须将flavor 设置为包含身份验证或经过身份验证的用户上下文的值。

可能的值:

  • True
  • False

相关选项:

  • 类型

show_image_direct_url = False

布尔值

在返回镜像时显示直接镜像位置。

此配置选项指示在向用户返回镜像详细信息时是否显示直接镜像位置。直接镜像位置是镜像数据存储在后端存储中的位置。此镜像位置显示在镜像属性 direct_url 下。

当镜像存在多个镜像位置时,会根据配置选项 location_strategy 表示的位置策略显示最佳位置。

备注:

  • 显示镜像位置有时可能会包括 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。使用 EXTREME CAUTION 和 ONLY IF 将其设置为 True,您知道您要做什么!
  • 如果运算符希望向用户显示任何镜像位置,则此选项和 show_multiple_locations MUST 都被设置为 False

可能的值:

  • True
  • False

相关选项:

  • show_multiple_locations
  • location_strategy

show_multiple_locations = False

布尔值

在返回镜像时显示所有镜像位置。

此配置选项指示在向用户返回镜像详细信息时是否显示所有镜像位置。镜像存在多个镜像位置时,该位置会根据配置 opt location_strategy 表示的位置策略进行排序。镜像位置显示在镜像属性 位置 下。

备注:

  • 显示镜像位置有时可能会包括 GRAVE SECURITY RISK,因为镜像位置有时可以包含凭证。因此,默认设置为 False。使用 EXTREME CAUTION 和 ONLY IF 将其设置为 True,您知道您要做什么!
  • 如需更多信息,请参阅 https://wiki.openstack.org/wiki/OSSN/OSSN-0065
  • 如果操作器希望向用户显示任何镜像位置,则此选项和 show_image_direct_url MUST 都被设置为 False

可能的值:

  • True
  • False

相关选项:

  • show_image_direct_url
  • location_strategy

弃用自:new ton

Danreason:从 Newton 开始,此选项的使用(从 Newton 开始已弃用)存在安全风险,当我们找出可以满足当前需要它的用例后会被删除。以前,使用策略可以通过策略实现相同的功能。您不能通过策略配置来临时解决这个问题,但是这是我们认为这个修复将采取的指示。请查阅 Glance 发行注记,以保持与此问题相关的最新状态。

syslog-log-facility = LOG_USER

字符串值

syslog 工具接收日志行。如果设置了 log_config_append,则忽略这个选项。

tcp_keepidle = 600

整数值

在连接重新检查前设置等待时间。

提供一个正整数值,代表时间(以秒为单位),该整数值被设置为空闲等待时间,然后再将 TCP 保持实时数据包发送到主机。默认值为 600 秒。

设置 tcp_keepidle 有助于定期验证连接是否不完整,并防止频繁 TCP 连接重新建立。

可能的值:

  • 正整数值,代表时间(以秒为单位)

相关选项:

  • None

transport_url = rabbit://

字符串值

用于连接到消息传递后端的网络地址和可选用户凭据,采用 URL 格式。预期格式为:

driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

示例:rabbit://rabbitmq:password@127.0.0.1:5672//

有关 URL 中字段的详情,请查看 oslo_messaging.TransportURL 文档 https://docs.openstack.org/oslo.messaging/latest/reference/transport.html

use-journal = False

布尔值

为日志记录启用 journald。如果在 systemd 环境中运行,您可能需要启用日志支持。这样做将使用日志原生协议,除了日志消息外还包含结构化元数据。如果设置了 log_config_append,则忽略此选项。

use-json = False

布尔值

使用 JSON 格式进行日志记录。如果设置了 log_config_append,则忽略这个选项。

use-syslog = False

布尔值

使用 syslog 进行日志记录。现有 syslog 格式是 DEPRECATED,之后将更改为遵守 RFC5424。如果设置了 log_config_append,则忽略这个选项。

use_eventlog = False

布尔值

将日志输出记录到 Windows 事件日志。

use_stderr = False

布尔值

将输出记录到标准错误。如果设置了 log_config_append,则忽略这个选项。

use_user_token = True

布尔值

在向 registry 发出请求时是否通过用户令牌。要防止在大型文件上传过程中令牌过期失败,建议将此参数设置为 False.If "use_user_token" 无效,然后可以指定 admin 凭证。

user_storage_quota = 0

字符串值

每个租户的最大镜像存储量。

这对所有存储中租户的所有镜像消耗的累积存储实施上限。这是一个按租户限制。

此配置选项的默认单位是字节。但是,可以使用区分大小写的字面量来指定存储单元,分别代表 Bytes、KiloBytes、GigaBytes 和 TeraBytes。 请注意,值和单元之间不应有任何空格。值 0 表示没有配额强制。负值无效,并导致错误。

可能的值:

  • 一个字符串,它是一个非负整数,代表存储值,以及一个可选的字符串,代表存储单元,如上所述。

相关选项:

  • None

watch-log-file = False

布尔值

使用日志处理程序来监视文件系统。当日志文件移动或移除此处理程序时,会打开带有指定路径即时的新日志文件。只有在指定了 log_file 选项并使用 Linux 平台时才有意义。如果设置了 log_config_append,则忽略这个选项。

Worker = None

整数值

要启动的 Glance worker 进程数量。

提供非负整数值,将子进程 worker 的数量设置为服务请求。默认情况下,可用的 CPU 数量被设置为 worker 的值设置为 8。例如,如果处理器数为 6 个 6 个 worker,则会使用处理器数为 24 个 worker。如果配置了 24 个 worker,这个限制只适用于默认值(如果配置了 24 个 worker)。

每个 worker 进程都是为了侦听配置文件中设置的端口,并包含一个大小为 1000 的绿色线程池。

注意

将 worker 数量设置为零,会触发创建单个 API 进程,并带有绿色线程池 1000。

可能的值:

  • 0
  • 正整数值(通常等于 CPU 数量)

相关选项:

  • None

3.1.2. cinder

下表概述了 /etc/glance/glance-api.conf 文件中的 [cinder] 组下可用的选项。

表 3.1. cinder
配置选项 = 默认值类型Description

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 cinder 客户端请求的 CA 证书文件的位置。

如果设置,指定的 CA 证书文件用于通过 HTTPS 端点验证 cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设为 True 来启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev2::publicURL

字符串值

在服务目录中查找 cinder 时要匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,将考虑 cinder_os_region_name 来获取适当的端点。

服务目录可通过 openstack catalog list 命令列出。

可能的值:

  • 应该指定以下格式的字符串:< service_type>:<service_name>:<interface > At least service_typeinterface。可以省略 service_name

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

当设置此选项时,这个值用于生成 cinder 端点,而不是从服务目录查找。如果 cinder_store_auth_addresscinder_store_user_namecinder_store_project_name,并且指定了 cinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) 被替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果它被设置为 True,则当 multipathd 未运行时,镜像传输的卷附加将中止。否则,它将回退到单一路径。

可能的值:

  • true 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当因为任何错误调用失败时,cinderclient 会在休眠几秒钟后重试调用最多指定时间。

可能的值:

  • 正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

在 glance 节点上挂载 NFS 卷的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录中查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 来确定端点时使用。如果设置,则此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出了多个区域时,它很有用。如果没有设置,则从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷转换完成的时间(以秒为单位)。

创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,新创建的卷状态会在 创建 过程完成后从 create 变为 available。这将指定等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为意外值(例如,错误),则镜像创建会失败。

可能的值:

  • 正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password 选项时,指定的值总是用于身份验证。这可用于通过将其存储在特定于镜像服务的项目/租户中从用户隐藏镜像卷。它还允许用户在 glance 的 ACL 控制的其他项目间共享镜像卷。

如果没有设置其中一个选项,则会从服务目录中查找 cinder 端点,并使用当前上下文的用户和项目。

可能的值:

  • 有效的验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

针对 cinder 验证的用户的密码。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷存储在 cinder 中的项目名称。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的项目。

可能的值:

  • 有效项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

在部署中支持或不支持多路径的标记。

如果不支持多路径,则将其设置为 False。

可能的值:

  • true 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

在 cinder 中创建卷的卷类型。

有些 cinder 后端可以有几个卷类型来优化存储使用。添加这个选项可让操作员在 cinder 中选择可针对镜像优化的特定卷类型。

如果没有设置,则使用 cinder 配置中指定的默认卷类型来创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

  • None

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

用于以 root 用户身份运行命令的 rootwrap 配置文件的路径。

cinder 存储需要 root 特权才能运行镜像卷(用于连接到 iSCSI/FC 卷以及读/写卷数据等)。配置文件应允许 cinder store 和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

3.1.3. CORS

下表概述了 /etc/glance/glance-api.conf 文件中的 [cors] 组下可用的选项。

表 3.2. CORS
配置选项 = 默认值类型Description

allow_credentials = True

布尔值

指明实际请求可以包含用户凭证

allow_headers = ['Content-MD5', 'X-Image-Meta-Checksum', 'X-Storage-Token', 'Accept-Encoding', 'X-Auth-Token', 'X-Identity-Status', 'X-Roles', 'X-Service-Catalog', 'X-User-Id', 'X-Tenant-Id', 'X-OpenStack-Request-ID']

列出值

指定在实际请求过程中可以使用哪些标头字段名称。

allow_methods = ['GET', 'PUT', 'POST', 'DELETE', 'PATCH']

列出值

指定在实际请求过程中可以使用哪些方法。

allowed_origin = None

列出值

指明此资源是否可以与请求"origin"标头中收到的域共享。格式:"<protocol>://<host>[:<port>]",没有尾部斜杠。示例: https://horizon.example.com

expose_headers = ['X-Image-Meta-Checksum', 'X-Auth-Token', 'X-Subject-Token', 'X-Service-Token', 'X-OpenStack-Request-ID']

列出值

指明哪些标头可以安全地向 API 公开。默认为 HTTP Simple Headers。

max_age = 3600

整数值

CORS preflight 请求的最大缓存年龄。

3.1.4. 数据库

下表概述了 /etc/glance/glance-api.conf 文件中的 [database] 组下可用的选项。

表 3.3. 数据库
配置选项 = 默认值类型Description

backend = sqlalchemy

字符串值

用于数据库的后端。

connection = None

字符串值

用于连接到数据库的 SQLAlchemy 连接字符串。

connection_debug = 0

整数值

SQL 调试信息的详细程度: 0=None, 100=Everything.

`connection_parameters = `

字符串值

连接时附加到连接 URL 的可选 URL 参数;将指定为 param1=value1&param2=value2&…​

connection_recycle_time = 3600

整数值

连接池中存在的时间超过这个秒数,在下次池中签出时,将被替换为一个新的连接。

connection_trace = False

布尔值

将 Python 堆栈跟踪作为注释字符串添加到 SQL 中。

db_inc_retry_interval = True

布尔值

如果为 True,将数据库操作的重试间隔增加到 db_max_retry_interval。

db_max_retries = 20

整数值

在引发错误前,连接错误或死锁错误时的最大重试。设置为 -1 以指定无限重试计数。

db_max_retry_interval = 10

整数值

如果设置了 db_inc_retry_interval,则数据库操作的重试间隔的秒数。

db_retry_interval = 1

整数值

数据库事务重试间隔的秒数。

max_overflow = 50

整数值

如果设置,请将这个值用于带有 SQLAlchemy 的 max_overflow。

max_pool_size = 5

整数值

在池中保持打开的最大 SQL 连接数。设置 0 表示没有限制。

max_retries = 10

整数值

在启动过程中的最大数据库连接重试数。设置为 -1 以指定无限重试计数。

mysql_enable_ndb = False

布尔值

如果为 True,则透明地启用对处理 MySQL 集群(NDB)的支持。

mysql_sql_mode = TRADITIONAL

字符串值

用于 MySQL 会话的 SQL 模式。这个选项(包括默认选项)会覆盖任何 server-set SQL 模式。要使用服务器配置设置的任何 SQL 模式,请将其设置为 no 值。示例:mysql_sql_mode=

pool_timeout = None

整数值

如果设置,则使用带有 SQLAlchemy 的 pool_timeout 的值。

retry_interval = 10

整数值

打开 SQL 连接的重试间隔。

slave_connection = None

字符串值

用于连接到 slave 数据库的 SQLAlchemy 连接字符串。

sqlite_synchronous = True

布尔值

如果为 True,则 SQLite 将使用同步模式。

use_db_reconnect = False

布尔值

启用在连接丢失时重新连接的数据库的实验性使用。

use_tpool = False

布尔值

为所有 DB API 调用启用线程池的实验性使用

3.1.5. file

下表概述了 /etc/glance/glance-api.conf 文件中的 [file] 组下可用的选项。

表 3.4. file
配置选项 = 默认值类型Description

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可能会提高吞吐量,但在处理大量请求时可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储写入镜像的目录。

启动时,Glance 会在该目录不存在,并验证在其下运行 glance-api 的用户具有写入访问权限。如果写访问不可用,则引发 BadStoreConfiguration 异常,并且可能无法使用文件系统存储来添加新镜像。

注意

只有在将文件系统存储用作存储后端时,才会使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,将引发 BadStoreConfiguration,并且可能无法使用文件系统存储来添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用 filesystem_store_datadir 配置选项指定的单个目录。在使用多个目录时,可以为每个目录赋予一个可选的优先级,以指定应使用它们的首选顺序。priority 是一个整数,它与带有冒号的目录路径串联,高值表示更高的优先级。当两个目录具有相同的优先级时,会使用最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的详情,请参考 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

只有在将文件系统存储用作存储后端时,才会使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,将引发 BadStoreConfiguration,并且可能无法使用文件系统存储来添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件文件的权限。

为镜像数据设置所需的文件访问权限。这提供了一种方式,可以启用其他服务,如 Nova,以直接使用文件系统存储中的镜像。运行要被授予访问权限的服务的用户,可以成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数字。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效的文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

包含与文件系统存储关联的任何位置返回的元数据的文件路径。该文件必须包含有效的 JSON 对象。对象应包含密钥 idmountpoint。这两个键的值应该是字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

filesystem_thin_provisioning = False

布尔值

在此后端中启用或不精简置备。

这个配置选项启用没有实际写入空字节序列的功能,显示的漏洞将自动被文件系统解释为 null 字节,且不会实际消耗您的存储。除了在后端中保存空间外,启用此功能也会加快镜像上传并保存网络流量,因为 null 字节序列不会通过网络发送。

可能的值:

  • True
  • False

相关选项:

  • None

3.1.6. glance.store.http.store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance.store.http.store] 组下可用的选项。

表 3.5. glance.store.http.store
配置选项 = 默认值类型Description

http_proxy_information = {}

字典值

用于连接到远程服务器的 http/https 代理信息。

此配置选项指定应该用于连接远程服务器的 http/https 代理信息。代理信息应该是方案和代理的键值对,如 http:10.0.0.1:3128。您还可以使用逗号分隔键值对来指定多个方案的代理,例如 http:10.0.0.1:3128, https:10.0.0.1:1080。

可能的值:

  • 如上所示,以逗号分隔的 scheme:proxy 对列表

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则 https_insecure 选项将被忽略,指定的 CA 文件将用于验证服务器证书并建立到服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书的验证。

此配置选项采用布尔值值来确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,将使用 https_ca_certificates_file 选项指定的文件来验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

3.1.7. glance.store.rbd.store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance.store.rbd.store] 组下可用的选项。

表 3.6. glance.store.rbd.store
配置选项 = 默认值类型Description

rados_connect_timeout = 0

整数值

用于连接到 Ceph 集群的超时值。

此配置选项使用连接 Ceph 集群时使用的超时值(以秒为单位)。它会设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不会设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果用户未设置此选项的值或设置为空字符串,则 librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,则此文件应该在 client.<USER> 部分中包括对正确密钥环的引用

注意 2:如果您将此选项留空(默认),则使用的实际 Ceph 配置文件可能会根据所使用的 librados 版本而改变。如果您对您准确了解哪些配置文件生效非常重要,您可以使用此选项在此处指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

大小(以 MB 为单位)将 RADOS 镜像阻止到其中。

提供一个整数值,以 MB 为单位代表 Glance 镜像的大小。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像会被阻止到使用此选项设置的大小的对象中。这些块对象随后存储在分布式块数据存储中,供 Glance 使用。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像将通过对象的逻辑分组(镜像块) 存储在池中。每个池都使用它可以包含的放置组数量定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请参阅 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效的池名称

相关选项:

  • None

rbd_store_user = None

字符串值

RADOS 用户,以.

此配置选项采用 RADOS 用户进行身份验证。这只有在启用 RADOS 身份验证时才需要,且仅在用户使用 Cephx 身份验证时才适用。如果用户未设置此选项的值,或者设置为 None,则会选择默认值,它将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在此后端中启用或不精简置备。

此配置选项启用没有在 RBD 后端上实际写入 null 字节序列的功能,出现的漏洞将自动被 Ceph 解释为 null 字节,且不会实际消耗您的存储。除了在后端中保存空间外,启用此功能也会加快镜像上传并保存网络流量,因为 null 字节序列不会通过网络发送。

可能的值:

  • True
  • False

相关选项:

3.1.8. glance.store.sheepdog.store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance.store.sheepdog.store] 组下可用的选项。

表 3.7. glance.store.sheepdog.store
配置选项 = 默认值类型Description

sheepdog_store_address = 127.0.0.1

主机地址值

将 Sheepdog 守护进程绑定到的地址。

提供代表要将 Sheepdog 守护进程绑定到的地址的字符串值。为 sheep 设置的默认地址为 127.0.0.1。

Sheepdog 守护进程(也称为 sheep )通过跨存储网络写入对象来管理分布式集群中的存储。它使用 sheepdog_store_address 选项识别并操作定向到设置的地址,以存储 Glance 镜像的块。

可能的值:

  • 有效的 IPv4 地址
  • 有效的 IPv6 地址
  • 有效的主机名

相关选项:

  • sheepdog_store_port

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

sheepdog_store_chunk_size = 64

整数值

要存储在 Sheepdog 数据存储中的镜像的块大小。

提供代表兆字节(1048576 字节)大小的整数值,以将 Glance 镜像阻止到其中。默认块大小为 64MB。

在使用 Sheepdog 分布式存储系统时,镜像会被阻止到这个大小的对象中,然后存储在分布式数据存储中,供 Glance 使用。

块大小(如果 2 的指数)有助于避免碎片并启用更高的性能。

可能的值:

  • 正整数值,以兆字节表示大小。

相关选项:

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

sheepdog_store_port = 7000

端口值

sheep 守护进程将侦听的端口号。

提供一个代表有效端口号的整数值,您希望 Sheepdog 守护进程侦听的端口。默认端口为 7000。

Sheepdog 守护进程(也称为 sheep )通过跨存储网络写入对象来管理分布式集群中的存储。它使用 sheepdog_store_port 选项标识并操作它接收的消息,以存储 Glance 镜像的块。

可能的值:

  • 有效端口号(0 到 65535)

相关选项:

  • sheepdog_store_address

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

3.1.9. glance.store.swift.store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance.store.store] 组下可用的选项。

表 3.8. glance.store.swift.store
配置选项 = 默认值类型Description

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/后备存储参数。

提供字符串值,代表对使用 swift 帐户/回存储进行镜像存储所需的默认参数的引用。此配置选项的默认引用值为 ref1。此配置选项解引用参数,并在每次添加新镜像时在 Swift 存储后端中利用镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

swift_buffer_on_upload = False

布尔值

上传到 Swift 之前缓冲区镜像片段。

提供布尔值,以指示 Glance 在上传到 swift 时是否应该将镜像数据缓冲到磁盘。这可让 Glance 恢复错误上传。

注意:当启用此选项时,应该特别注意,因为这会增加 API 节点上的磁盘用量。请注意,根据文件系统配置方式,用于缓冲区的磁盘空间可能会减少 glance 镜像缓存的可用磁盘空间。磁盘利用率将根据以下比例进行上限:(swift_store_large_object_chunk_size 工作程序 站 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列出值

将被授予 admin 访问权限的租户列表。

这是租户列表,将在多租户模式下为 Glance 创建的所有 Swift 容器授予读/写访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书的验证。

此布尔值决定是否验证服务器证书。如果此选项设为 True,swiftclient 会在验证时不检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务的版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员在连接到 Swift 时指定自定义证书颁发机构文件的路径,以进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户配置的文件的绝对路径。

包括一个字符串值,代表配置的每个配置 Swift 帐户/后备存储的引用的配置文件的路径。默认情况下,没有指定文件路径并禁用自定义 Swift 引用。在为镜像存储使用 Swift 存储后端时,强烈建议配置此选项,因为它可避免数据库中存储凭据。

注意

如果将 swift_store_multi_tenant 设置为 True,则不要配置此选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

用于存储多个容器的 images/name 前缀的单个容器名称

当单个容器用于存储镜像时,此配置选项表示用于存储所有镜像的 Glance 帐户中的容器。当使用多个容器来存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 来控制单/多个容器的使用。

当使用多个容器时,容器将在为这个配置选项设置的值后命名,镜像 UUID 的第一个 N chars 作为后缀(其中 N 由 swift_store_multiple_containers_seed分隔)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,则此配置选项可以是 Glance Swift 帐户中有效 swift 容器名称的任何字符串
  • 如果使用多个容器,只要满足 Swift 强制的容器命名规则,此配置选项可以是任何字符串。还应考虑 swift_store_multiple_containers_seed 的值。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

在上传镜像时,创建容器(如果尚未存在)。

在上传镜像时,如果对应的容器不存在,它将创建它,只要此配置选项设为 True。默认情况下,不会创建它。这个行为适用于单一和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供代表 URL 端点的字符串值,用于将 Glance 镜像存储在 Swift 存储中。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,用于 Glance 镜像存储。

注意

URL 应该包含最多的路径,但不包括容器。对象的位置通过将容器和对象附加到配置的 URL 来获取。

可能的值:

  • 代表 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值表示用于获取 Swift 端点的端点类型。端点类型决定允许用户执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时,才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期前请求新令牌的窗口大小的时间(以秒为单位)。

通常,Swift 存储驱动程序会在当前令牌过期时获取新的令牌,以确保继续访问 Swift。但是,如果令牌立即过期,一些 Swift 事务(如上传镜像片段)可能无法正常恢复。

因此,通过在当前令牌过期前获取新令牌,我们确保令牌不会过期,或者在尝试事务前关闭过期。默认情况下,Swift 存储驱动程序请求在当前令牌过期前有 60 秒或更少的新令牌。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

针对 Swift 身份验证服务进行身份验证的验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据时片段的最大大小(以 MB 为单位)。

当镜像数据被片段上传大于 Swift 集群强制的限制时,镜像数据被分解为片段,这不大于这个配置选项指定的大小。如需了解更多详细信息,请参阅 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 考虑的正整数,它小于或等于 Swift 集群实施的大对象限值。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

Glance 将启动分割镜像数据的大小阈值(以 MB 为单位)。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分为多个较小的对象,这些对象与清单文件关联。如需了解更多详细信息,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序将启动镜像数据划分为多个较小的文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群强制执行的大对象限制进行设置。

可能的值:

  • 考虑的、小于或等于 Swift 集群强制的大对象限制的正整数。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这可让多租户存储模式,使 Glance 镜像存储在租户特定的 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在其自己的帐户中。更多详细信息多租户存储请参考 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保不使用 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

请参阅指示用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像都将存储在一个容器中。当设置为 1 到 32 之间的整数值时,将使用多个容器来存储镜像。此配置选项将决定创建多少个容器。要使用的容器总数等于 16^N,因此如果此配置选项设为 2,则使用 16^2=256 容器来存储镜像。

有关命名规则的更多详情,请参阅 swift_store_container。有关使用多个容器的更多详细信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点的区域。

提供代表 Swift 区域的字符串值,其中 Glance 可以为镜像存储进行连接。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端时,存储具有多个端点的特定租户的镜像,使用 swift_store_region 设置 Swift 可让 Glance 连接到指定区域中的 Swift,而不是单一区域连接。

此选项可以同时配置单租户和多租户存储。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在租户在不同区域有多个端点时才需要

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前,会重试 Swift 下载的次数。

提供一个整数值,代表镜像下载在出错前必须重试的次数。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 会在发送错误消息前确保下载多次尝试多次。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供字符串值,代表在使用 Swift 后端存储时用于存储镜像的服务类型。默认服务类型设置为 object-store

注意

如果将 swift_store_auth_version 设置为 2,则此配置选项的值需要是 object-store。如果使用较高版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否压缩 SSL 层上镜像的 HTTPS Swift 请求。默认情况下启用压缩。

当使用 Swift 作为 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用此选项可以提高已压缩格式的镜像的性能,如 qcow2。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

将信任用于多租户 Swift 存储。

此选项指示 Swift 存储在多租户存储正在使用时为每个 add/get 请求创建信任。使用信任可让 Swift 存储避免身份验证令牌在上传或下载数据期间过期的问题。

默认情况下,swift_store_use_trusts 设置为 True(启用信任使用)。如果设置为 False,则用户令牌用于 Swift 连接,从而消除信任创建开销。

注意

只有在 swift_store_multi_tenant 设为 True时,才会考虑这个选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

上传到 Swift 之前到缓冲区镜像片段的目录。

提供字符串值,代表 glance 节点上的目录的绝对路径,其中镜像片段将在上传到 swift 之前被缓冲。

注意:只有配置选项 swift_buffer_on_upload 设为 True 时才需要它。应调配此目录,请记住 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

3.1.10. glance.store.vmware_datastore.store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance.store.vmware_datastore.store] 组下可用的选项。

表 3.9. glance.store.vmware_datastore.store
配置选项 = 默认值类型Description

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

这个配置选项指定 VMware ESX/VC 服务器 API 在连接相关问题或服务器 API 调用过载时必须重试的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate Authority File 来验证 ESX/vCenter 证书。

如果设置了这个选项,则将忽略"vmware_insecure"选项,指定的 CA 文件将用于验证 ESX/vCenter 服务器证书并建立到服务器的安全连接。

可能的值:

  • 任何字符串是 CA 文件的有效绝对路径

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

存储镜像的数据存储。

此配置选项指定镜像可以存储在 VMWare 存储后端中的数据存储。这个选项可多次指定来指定多个数据存储。数据存储名称应在数据中心路径后指定,用 ":" 分隔。可以在数据存储名称后指定可选的权重,并再次用 ":" 分隔以指定优先级。因此,所需的格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

添加镜像时,会选择最高权重的数据存储,除非镜像大小已知时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储的权重相同,则会选择具有最多可用空间的可用空间。

可能的值:

  • 格式的任何字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:Chist None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书的验证。

此配置选项使用一个布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,这个选项将被忽略。在这种情况下,将使用使用 "vmware_ca_file" 选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码。

此配置选项使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证的密码。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何与使用 "vmware_server_username" 选项指定的用户名对应的字符串

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用户名与 VMware ESX/ESXi 或 vCenter Server 进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像将存储在数据存储中的目录。

此配置选项指定将 glance 镜像存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 任何是到目录有效路径的字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

用于轮询 VMware ESX/VC 服务器上调用的远程任务的时间间隔(以秒为单位)。

这个配置选项以秒为单位轮询 async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.1.11. glance_store

下表概述了 /etc/glance/glance-api.conf 文件中的 [glance_store] 组下可用的选项。

表 3.10. glance_store
配置选项 = 默认值类型Description

cinder_api_insecure = False

布尔值

允许对 cinder 执行不安全的 SSL 请求。

如果此选项设置为 True,则使用 cinder_ca_certificates_file 选项指定的 CA 证书文件验证 HTTPS 端点连接。

可能的值:

  • True
  • False

相关选项:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

字符串值

用于 cinder 客户端请求的 CA 证书文件的位置。

如果设置,指定的 CA 证书文件用于通过 HTTPS 端点验证 cinder 连接。如果端点是 HTTP,则忽略这个值。cinder_api_insecure 必须设为 True 来启用验证。

可能的值:

  • ca 证书文件的路径

相关选项:

  • cinder_api_insecure

cinder_catalog_info = volumev2::publicURL

字符串值

在服务目录中查找 cinder 时要匹配的信息。

如果没有设置 cinder_endpoint_template,并且任何 cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password 没有设置,cinder 存储将使用此信息从当前上下文中的服务目录中查找 Cinder 端点。如果设置,将考虑 cinder_os_region_name 来获取适当的端点。

服务目录可通过 openstack catalog list 命令列出。

可能的值:

  • 应该指定以下格式的字符串:< service_type>:<service_name>:<interface > At least service_typeinterface。可以省略 service_name

相关选项:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

字符串值

使用 cinder 端点的模板覆盖服务目录查找。

当设置此选项时,这个值用于生成 cinder 端点,而不是从服务目录查找。如果 cinder_store_auth_addresscinder_store_user_namecinder_store_project_name,并且指定了 cinder_store_password,则忽略这个值。

如果设置了此配置选项,则忽略 cinder_catalog_info

可能的值:

  • cinder 端点的 URL 模板字符串,其中 %%(tenant) 被替换为当前的租户(项目)名称。例如: http://cinder.openstack.example.org/v2/%%(tenant)s

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_enforce_multipath = False

布尔值

如果它被设置为 True,则当 multipathd 未运行时,镜像传输的卷附加将中止。否则,它将回退到单一路径。

可能的值:

  • true 或 False

相关选项:

  • cinder_use_multipath

cinder_http_retries = 3

整数值

失败 http 调用的 cinderclient 重试次数。

当因为任何错误调用失败时,cinderclient 会在休眠几秒钟后重试调用最多指定时间。

可能的值:

  • 正整数

相关选项:

  • None

cinder_mount_point_base = /var/lib/glance/mnt

字符串值

在 glance 节点上挂载 NFS 卷的目录。

可能的值:

  • 代表挂载点的绝对路径的字符串。

cinder_os_region_name = None

字符串值

从服务目录中查找 cinder 服务的区域名称。

这仅在使用 cinder_catalog_info 来确定端点时使用。如果设置,则此节点的 cinder 端点的查找将过滤到指定的区域。当目录中列出了多个区域时,它很有用。如果没有设置,则从每个区域查找端点。

可能的值:

  • 是有效区域名称的字符串。

相关选项:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

整数值

等待 cinder 卷转换完成的时间(以秒为单位)。

创建、删除或附加到 glance 节点以读/写卷数据时,卷的状态将改变。例如,新创建的卷状态会在 创建 过程完成后从 create 变为 available。这将指定等待状态更改的最长时间。如果在等待时发生超时,或者状态更改为意外值(例如,错误),则镜像创建会失败。

可能的值:

  • 正整数

相关选项:

  • None

cinder_store_auth_address = None

字符串值

cinder 身份验证服务正在侦听的地址。

当指定所有 cinder_store_auth_addresscinder_store_user_namecinder_store_project_namecinder_store_password 选项时,指定的值总是用于身份验证。这可用于通过将其存储在特定于镜像服务的项目/租户中从用户隐藏镜像卷。它还允许用户在 glance 的 ACL 控制的其他项目间共享镜像卷。

如果没有设置其中一个选项,则会从服务目录中查找 cinder 端点,并使用当前上下文的用户和项目。

可能的值:

  • 有效的验证服务地址,例如: http://openstack.example.org/identity/v2.0

相关选项:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

字符串值

针对 cinder 验证的用户的密码。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • cinder_store_user_name指定的用户的有效密码

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

字符串值

镜像卷存储在 cinder 中的项目名称。

如果没有设置此配置选项,则使用当前上下文中的项目。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的项目。

可能的值:

  • 有效项目名称

相关选项:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

字符串值

要针对 cinder 进行身份验证的用户名。

这必须与以下所有相关选项一起使用。如果没有指定其中任何一个,则使用当前上下文的用户。

可能的值:

  • 有效的用户名

相关选项:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_use_multipath = False

布尔值

在部署中支持或不支持多路径的标记。

如果不支持多路径,则将其设置为 False。

可能的值:

  • true 或 False

相关选项:

  • cinder_enforce_multipath

cinder_volume_type = None

字符串值

在 cinder 中创建卷的卷类型。

有些 cinder 后端可以有几个卷类型来优化存储使用。添加这个选项可让操作员在 cinder 中选择可针对镜像优化的特定卷类型。

如果没有设置,则使用 cinder 配置中指定的默认卷类型来创建卷。

可能的值:

  • 来自 cinder 的有效卷类型

相关选项:

  • None

default_backend = None

字符串值

保存数据的默认后端的存储标识符。

该值必须定义为 DEFAULT 配置组中 enabled_backends 配置选项定义的字典中的一个键。

如果没有为这个选项定义值:

  • 使用的服务可能会拒绝启动
  • 不指定特定后端的 store_add 调用将引发 glance_store.exceptions.UnknownScheme 异常

相关选项:

  • enabled_backends

default_store = file

字符串值

用于存储镜像的默认方案。

提供代表用于存储镜像的默认方案的字符串值。如果没有设置,Glance 使用 file 作为默认方案来使用文件存储镜像。

注意

为这个配置选项提供的值必须是使用 stores 配置选项注册的存储的有效方案。

可能的值:

  • file
  • filesystem
  • http
  • https
  • swift
  • swift+http
  • swift+https
  • swift+config
  • rbd
  • sheepdog
  • cinder
  • vsphere

相关选项:

  • Store

弃用自: Rocky

reason: 这个选项针对新的配置选项 ''default_backend'' 被弃用,它的行为类似于 ''default_store'' 配置选项。

在美国开发周期中计划删除此选项。

default_swift_reference = ref1

字符串值

引用默认 Swift 帐户/后备存储参数。

提供字符串值,代表对使用 swift 帐户/回存储进行镜像存储所需的默认参数的引用。此配置选项的默认引用值为 ref1。此配置选项解引用参数,并在每次添加新镜像时在 Swift 存储后端中利用镜像存储。

可能的值:

  • 有效字符串值

相关选项:

  • None

filesystem_store_chunk_size = 65536

整数值

块大小,以字节为单位。

读取或写入镜像文件时使用的块大小。增加这个值可能会提高吞吐量,但在处理大量请求时可能会稍微增加内存用量。

可能的值:

  • 任何正整数值

相关选项:

  • None

filesystem_store_datadir = /var/lib/glance/images

字符串值

文件系统后端存储写入镜像的目录。

启动时,Glance 会在该目录不存在,并验证在其下运行 glance-api 的用户具有写入访问权限。如果写访问不可用,则引发 BadStoreConfiguration 异常,并且可能无法使用文件系统存储来添加新镜像。

注意

只有在将文件系统存储用作存储后端时,才会使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,将引发 BadStoreConfiguration,并且可能无法使用文件系统存储来添加新镜像。

可能的值:

  • 到目录的有效路径

相关选项:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

多值

文件系统后端存储写入镜像的目录及其优先级列表。

文件系统存储可以配置为将镜像存储在多个目录中,而不是使用 filesystem_store_datadir 配置选项指定的单个目录。在使用多个目录时,可以为每个目录赋予一个可选的优先级,以指定应使用它们的首选顺序。priority 是一个整数,它与带有冒号的目录路径串联,高值表示更高的优先级。当两个目录具有相同的优先级时,会使用最多可用空间的目录。如果没有指定优先级,则默认为零。

有关使用多个存储目录配置文件系统存储的详情,请参考 https://docs.openstack.org/glance/latest/configuration/configuring.html

注意

只有在将文件系统存储用作存储后端时,才会使用此目录。filesystem_store_datadirfilesystem_store_datadirs 选项必须在 glance-api.conf 中指定。如果指定了这两个选项,将引发 BadStoreConfiguration,并且可能无法使用文件系统存储来添加新镜像。

可能的值:

  • 以下格式的字符串列表:

    • <a valid directory path>:<optional integer priority>

相关选项:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

整数值

镜像文件文件的权限。

为镜像数据设置所需的文件访问权限。这提供了一种方式,可以启用其他服务,如 Nova,以直接使用文件系统存储中的镜像。运行要被授予访问权限的服务的用户,可以成为拥有创建文件的组的成员。为这个配置选项分配一个小于或等于 0 的值表示没有对默认权限进行任何更改。这个值将被解码为八进制数字。

如需更多信息,请参阅文档 https://docs.openstack.org/glance/latest/configuration/configuring.html

可能的值:

  • 有效的文件访问权限
  • 任何负整数

相关选项:

  • None

filesystem_store_metadata_file = None

字符串值

文件系统存储元数据文件。

包含与文件系统存储关联的任何位置返回的元数据的文件路径。该文件必须包含有效的 JSON 对象。对象应包含密钥 idmountpoint。这两个键的值应该是字符串。

可能的值:

  • 存储元数据文件的有效路径

相关选项:

filesystem_thin_provisioning = False

布尔值

在此后端中启用或不精简置备。

这个配置选项启用没有实际写入空字节序列的功能,显示的漏洞将自动被文件系统解释为 null 字节,且不会实际消耗您的存储。除了在后端中保存空间外,启用此功能也会加快镜像上传并保存网络流量,因为 null 字节序列不会通过网络发送。

可能的值:

  • True
  • False

相关选项:

  • None

http_proxy_information = {}

字典值

用于连接到远程服务器的 http/https 代理信息。

此配置选项指定应该用于连接远程服务器的 http/https 代理信息。代理信息应该是方案和代理的键值对,如 http:10.0.0.1:3128。您还可以使用逗号分隔键值对来指定多个方案的代理,例如 http:10.0.0.1:3128, https:10.0.0.1:1080。

可能的值:

  • 如上所示,以逗号分隔的 scheme:proxy 对列表

相关选项:

  • None

https_ca_certificates_file = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员使用自定义证书颁发机构文件来验证远程服务器证书。如果设置了这个选项,则 https_insecure 选项将被忽略,指定的 CA 文件将用于验证服务器证书并建立到服务器的安全连接。

可能的值:

  • CA 文件的有效路径

相关选项:

  • https_insecure

https_insecure = True

布尔值

设置远程服务器证书的验证。

此配置选项采用布尔值值来确定是否验证远程服务器证书。如果设置为 True,则不会验证远程服务器证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

如果设置了 https_ca_certificates_file,则忽略这个选项。然后,将使用 https_ca_certificates_file 选项指定的文件来验证远程服务器证书。

可能的值:

  • True
  • False

相关选项:

  • https_ca_certificates_file

rados_connect_timeout = 0

整数值

用于连接到 Ceph 集群的超时值。

此配置选项使用连接 Ceph 集群时使用的超时值(以秒为单位)。它会设置在关闭连接前等待 glance-api 的时间。这可防止在连接到 RBD 时出现 glance-api 挂起。如果此选项的值设为小于或等于 0,则不会设置超时,并且使用默认的 librados 值。

可能的值:

  • 任何整数值

相关选项:

  • None

`rbd_store_ceph_conf = `

字符串值

Ceph 配置文件路径.

此配置选项指定要使用的 Ceph 配置文件的路径。如果用户未设置此选项的值或设置为空字符串,则 librados 将按顺序搜索默认的 Ceph 配置文件位置来读取标准 ceph.conf 文件。详情请参阅 Ceph 文档。

注意

如果使用 Cephx 身份验证,则此文件应该在 client.<USER> 部分中包括对正确密钥环的引用

注意 2:如果您将此选项留空(默认),则使用的实际 Ceph 配置文件可能会根据所使用的 librados 版本而改变。如果您对您准确了解哪些配置文件生效非常重要,您可以使用此选项在此处指定该文件。

可能的值:

  • 配置文件的有效路径

相关选项:

  • rbd_store_user

rbd_store_chunk_size = 8

整数值

大小(以 MB 为单位)将 RADOS 镜像阻止到其中。

提供一个整数值,以 MB 为单位代表 Glance 镜像的大小。默认块大小为 8MB。为获得最佳性能,该值应该是 2 的指数。

当 Ceph 的 RBD 对象存储系统用作存储 Glance 镜像的存储后端时,镜像会被阻止到使用此选项设置的大小的对象中。这些块对象随后存储在分布式块数据存储中,供 Glance 使用。

可能的值:

  • 任何正整数值

相关选项:

  • None

rbd_store_pool = images

字符串值

存储镜像的 RADOS 池。

当 RBD 用作存储 Glance 镜像的存储后端时,镜像将通过对象的逻辑分组(镜像块) 存储在池中。每个池都使用它可以包含的放置组数量定义。使用的默认池是 images

有关 RBD 存储后端的更多信息,请参阅 :http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/

可能的值:

  • 有效的池名称

相关选项:

  • None

rbd_store_user = None

字符串值

RADOS 用户,以.

此配置选项采用 RADOS 用户进行身份验证。这只有在启用 RADOS 身份验证时才需要,且仅在用户使用 Cephx 身份验证时才适用。如果用户未设置此选项的值,或者设置为 None,则会选择默认值,它将基于 rbd_store_ceph_conf 中的 client. 部分。

可能的值:

  • 有效的 RADOS 用户

相关选项:

  • rbd_store_ceph_conf

rbd_thin_provisioning = False

布尔值

在此后端中启用或不精简置备。

此配置选项启用没有在 RBD 后端上实际写入 null 字节序列的功能,出现的漏洞将自动被 Ceph 解释为 null 字节,且不会实际消耗您的存储。除了在后端中保存空间外,启用此功能也会加快镜像上传并保存网络流量,因为 null 字节序列不会通过网络发送。

可能的值:

  • True
  • False

相关选项:

  • None

rootwrap_config = /etc/glance/rootwrap.conf

字符串值

用于以 root 用户身份运行命令的 rootwrap 配置文件的路径。

cinder 存储需要 root 特权才能运行镜像卷(用于连接到 iSCSI/FC 卷以及读/写卷数据等)。配置文件应允许 cinder store 和 os-brick 库所需的命令。

可能的值:

  • rootwrap 配置文件的路径

相关选项:

  • None

sheepdog_store_address = 127.0.0.1

主机地址值

将 Sheepdog 守护进程绑定到的地址。

提供代表要将 Sheepdog 守护进程绑定到的地址的字符串值。为 sheep 设置的默认地址为 127.0.0.1。

Sheepdog 守护进程(也称为 sheep )通过跨存储网络写入对象来管理分布式集群中的存储。它使用 sheepdog_store_address 选项识别并操作定向到设置的地址,以存储 Glance 镜像的块。

可能的值:

  • 有效的 IPv4 地址
  • 有效的 IPv6 地址
  • 有效的主机名

相关选项:

  • sheepdog_store_port

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

sheepdog_store_chunk_size = 64

整数值

要存储在 Sheepdog 数据存储中的镜像的块大小。

提供代表兆字节(1048576 字节)大小的整数值,以将 Glance 镜像阻止到其中。默认块大小为 64MB。

在使用 Sheepdog 分布式存储系统时,镜像会被阻止到这个大小的对象中,然后存储在分布式数据存储中,供 Glance 使用。

块大小(如果 2 的指数)有助于避免碎片并启用更高的性能。

可能的值:

  • 正整数值,以兆字节表示大小。

相关选项:

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

sheepdog_store_port = 7000

端口值

sheep 守护进程将侦听的端口号。

提供一个代表有效端口号的整数值,您希望 Sheepdog 守护进程侦听的端口。默认端口为 7000。

Sheepdog 守护进程(也称为 sheep )通过跨存储网络写入对象来管理分布式集群中的存储。它使用 sheepdog_store_port 选项标识并操作它接收的消息,以存储 Glance 镜像的块。

可能的值:

  • 有效端口号(0 到 65535)

相关选项:

  • sheepdog_store_address

弃用自: Train

原因: Sheepdog 项目不再被主动维护。Sheepdog 驱动程序计划 在美国 开发周期中删除。

stores = ['file', 'http']

列出值

启用的 Glance 存储列表。

注册用于存储磁盘镜像的存储后端,以逗号分隔的列表。为使用 Glance 存储磁盘镜像的默认存储是 filehttp

可能的值:

  • 以逗号分隔的列表,其中包括:

    • file
    • http
    • swift
    • rbd
    • sheepdog
    • cinder
    • vmware

相关选项:

  • default_store

弃用自: Rocky

原因: 此选项针对新的配置选项 ''enabled_backends' 弃用,这有助于配置不同方案的多个后端存储。

在美国开发周期中计划删除此选项。

swift_buffer_on_upload = False

布尔值

上传到 Swift 之前缓冲区镜像片段。

提供布尔值,以指示 Glance 在上传到 swift 时是否应该将镜像数据缓冲到磁盘。这可让 Glance 恢复错误上传。

注意:当启用此选项时,应该特别注意,因为这会增加 API 节点上的磁盘用量。请注意,根据文件系统配置方式,用于缓冲区的磁盘空间可能会减少 glance 镜像缓存的可用磁盘空间。磁盘利用率将根据以下比例进行上限:(swift_store_large_object_chunk_size 工作程序 站 1000)

可能的值:

  • True
  • False

相关选项:

  • swift_upload_buffer_dir

swift_store_admin_tenants = []

列出值

将被授予 admin 访问权限的租户列表。

这是租户列表,将在多租户模式下为 Glance 创建的所有 Swift 容器授予读/写访问权限。默认值为空列表。

可能的值:

  • 以逗号分隔的字符串列表,代表 Keystone 项目/租户的 UUID

相关选项:

  • None

swift_store_auth_address = None

字符串值

Swift 身份验证服务侦听的端口。

swift_store_auth_insecure = False

布尔值

设置服务器证书的验证。

此布尔值决定是否验证服务器证书。如果此选项设为 True,swiftclient 会在验证时不检查有效的 SSL 证书。如果选项设为 False,则使用默认 CA 信任存储进行验证。

可能的值:

  • True
  • False

相关选项:

  • swift_store_cacert

swift_store_auth_version = 2

字符串值

要使用的身份验证服务的版本。对于 keystone 有效版本是 2 和 3,对于 swauth 和 rackspace 为 1(已弃用) 。

swift_store_cacert = None

字符串值

CA 捆绑包文件的路径。

此配置选项可让操作员在连接到 Swift 时指定自定义证书颁发机构文件的路径,以进行 SSL 验证。

可能的值:

  • CA 文件的有效路径

相关选项:

  • swift_store_auth_insecure

swift_store_config_file = None

字符串值

包含 swift 帐户配置的文件的绝对路径。

包括一个字符串值,代表配置的每个配置 Swift 帐户/后备存储的引用的配置文件的路径。默认情况下,没有指定文件路径并禁用自定义 Swift 引用。在为镜像存储使用 Swift 存储后端时,强烈建议配置此选项,因为它可避免数据库中存储凭据。

注意

如果将 swift_store_multi_tenant 设置为 True,则不要配置此选项。

可能的值:

  • 代表 glance-api 节点上的绝对路径的字符串值

相关选项:

  • swift_store_multi_tenant

swift_store_container = glance

字符串值

用于存储多个容器的 images/name 前缀的单个容器名称

当单个容器用于存储镜像时,此配置选项表示用于存储所有镜像的 Glance 帐户中的容器。当使用多个容器来存储镜像时,这将是所有容器的名称前缀。可以使用配置选项 swift_store_multiple_containers_seed 来控制单/多个容器的使用。

当使用多个容器时,容器将在为这个配置选项设置的值后命名,镜像 UUID 的第一个 N chars 作为后缀(其中 N 由 swift_store_multiple_containers_seed分隔)。

示例:如果 seed 设为 3,swift_store_container = glance,则带有 UUID fdae39a1-bac5-4238-aba4-69bcc726e848 的一个镜像将被放入容器 glance_fda。在创建容器名称时包括在 UUID 中的横线不会计算在字符长度的限制中,因此,当 N= 10 时,容器名称可以为 glance_fdae39a1-ba.

可能的值:

  • 如果使用单个容器,则此配置选项可以是 Glance Swift 帐户中有效 swift 容器名称的任何字符串
  • 如果使用多个容器,只要满足 Swift 强制的容器命名规则,此配置选项可以是任何字符串。还应考虑 swift_store_multiple_containers_seed 的值。

相关选项:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

布尔值

在上传镜像时,创建容器(如果尚未存在)。

在上传镜像时,如果对应的容器不存在,它将创建它,只要此配置选项设为 True。默认情况下,不会创建它。这个行为适用于单一和多个容器模式。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_endpoint = None

字符串值

用于 Swift 后端存储的 URL 端点。

提供代表 URL 端点的字符串值,用于将 Glance 镜像存储在 Swift 存储中。默认情况下,不会设置端点,并使用 auth 返回的存储 URL。使用 swift_store_endpoint 设置端点会覆盖存储 URL,用于 Glance 镜像存储。

注意

URL 应该包含最多的路径,但不包括容器。对象的位置通过将容器和对象附加到配置的 URL 来获取。

可能的值:

  • 代表 Swift 容器的有效 URL 路径的字符串值

相关选项:

  • None

swift_store_endpoint_type = publicURL

字符串值

Swift 服务的端点类型。

此字符串值表示用于获取 Swift 端点的端点类型。端点类型决定允许用户执行的操作,例如,读取和写入存储。只有在 swift_store_auth_version 大于 1 时,才会使用此设置。

可能的值:

  • publicURL
  • adminURL
  • internalURL

相关选项:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

整数值

定义在当前令牌到期前请求新令牌的窗口大小的时间(以秒为单位)。

通常,Swift 存储驱动程序会在当前令牌过期时获取新的令牌,以确保继续访问 Swift。但是,如果令牌立即过期,一些 Swift 事务(如上传镜像片段)可能无法正常恢复。

因此,通过在当前令牌过期前获取新令牌,我们确保令牌不会过期,或者在尝试事务前关闭过期。默认情况下,Swift 存储驱动程序请求在当前令牌过期前有 60 秒或更少的新令牌。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_key = None

字符串值

针对 Swift 身份验证服务进行身份验证的验证密钥。

swift_store_large_object_chunk_size = 200

整数值

镜像数据时片段的最大大小(以 MB 为单位)。

当镜像数据被片段上传大于 Swift 集群强制的限制时,镜像数据被分解为片段,这不大于这个配置选项指定的大小。如需了解更多详细信息,请参阅 swift_store_large_object_size

例如:如果 swift_store_large_object_size 为 5GB,而 swift_store_large_object_chunk_size 为 1GB,则大小为 6.2GB 的镜像将被分为 7 段,前 6 个段的大小为 1GB,第七个段的大小为 0.2GB。

可能的值:

  • 考虑的正整数,它小于或等于 Swift 集群实施的大对象限值。

相关选项:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

整数值

Glance 将启动分割镜像数据的大小阈值(以 MB 为单位)。

Swift 对单个上传对象的大小具有上限。默认情况下,这是 5GB。要上传大于这个限制的对象,对象被分为多个较小的对象,这些对象与清单文件关联。如需了解更多详细信息,请参阅 https://docs.openstack.org/swift/latest/overview_large_objects.html

此配置选项指定 Swift 驱动程序将启动镜像数据划分为多个较小的文件的大小阈值。目前,Swift 驱动程序只支持创建动态大对象。

注意

这应该通过考虑 Swift 集群强制执行的大对象限制进行设置。

可能的值:

  • 考虑的、小于或等于 Swift 集群强制的大对象限制的正整数。

相关选项:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

布尔值

将镜像存储在租户的 Swift 帐户中。

这可让多租户存储模式,使 Glance 镜像存储在租户特定的 Swift 帐户中。如果禁用,Glance 会将所有镜像存储在其自己的帐户中。更多详细信息多租户存储请参考 https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage

注意

如果使用多租户 swift 存储,请确保不使用 swift_store_config_file 选项设置 swift 配置文件。

可能的值:

  • True
  • False

相关选项:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

整数值

请参阅指示用于存储镜像的容器数量。

在使用单租户存储时,镜像可以存储在一个或多个容器中。当设置为 0 时,所有镜像都将存储在一个容器中。当设置为 1 到 32 之间的整数值时,将使用多个容器来存储镜像。此配置选项将决定创建多少个容器。要使用的容器总数等于 16^N,因此如果此配置选项设为 2,则使用 16^2=256 容器来存储镜像。

有关命名规则的更多详情,请参阅 swift_store_container。有关使用多个容器的更多详细信息,请参阅 https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-multiple-containers.html

注意

这仅在禁用 swift_store_multi_tenant 时使用。

可能的值:

  • 小于或等于 32 的非负整数

相关选项:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = None

字符串值

Glance 使用的 Swift 端点的区域。

提供代表 Swift 区域的字符串值,其中 Glance 可以为镜像存储进行连接。默认情况下,没有设置区域。

当 Glance 使用 Swift 作为存储后端时,存储具有多个端点的特定租户的镜像,使用 swift_store_region 设置 Swift 可让 Glance 连接到指定区域中的 Swift,而不是单一区域连接。

此选项可以同时配置单租户和多租户存储。

注意

使用 swift_store_region 设置区域是特定于租户的,只有在租户在不同区域有多个端点时才需要

可能的值:

  • 代表有效 Swift 区域的字符串值。

相关选项:

  • None

swift_store_retry_get_count = 0

整数值

在请求失败前,会重试 Swift 下载的次数。

提供一个整数值,代表镜像下载在出错前必须重试的次数。默认值为 0 (在失败的镜像下载时不重试)。当设置为正整数值时,swift_store_retry_get_count 会在发送错误消息前确保下载多次尝试多次。

可能的值:

  • 正整数值

相关选项:

  • None

swift_store_service_type = object-store

字符串值

要使用的 Swift 服务类型。

提供字符串值,代表在使用 Swift 后端存储时用于存储镜像的服务类型。默认服务类型设置为 object-store

注意

如果将 swift_store_auth_version 设置为 2,则此配置选项的值需要是 object-store。如果使用较高版本的 Keystone 或不同的身份验证方案,则可以修改此选项。

可能的值:

  • 代表 Swift 存储的有效服务类型的字符串。

相关选项:

  • None

swift_store_ssl_compression = True

布尔值

HTTPS Swift 请求的 SSL 层压缩。

提供布尔值,以确定是否压缩 SSL 层上镜像的 HTTPS Swift 请求。默认情况下启用压缩。

当使用 Swift 作为 Glance 镜像存储的后端存储时,可以使用此选项设置 HTTPS Swift 请求的 SSL 层压缩。如果设置为 False,则禁用 HTTPS Swift 请求的 SSL 层压缩。禁用此选项可以提高已压缩格式的镜像的性能,如 qcow2。

可能的值:

  • True
  • False

相关选项:

  • None

swift_store_use_trusts = True

布尔值

将信任用于多租户 Swift 存储。

此选项指示 Swift 存储在多租户存储正在使用时为每个 add/get 请求创建信任。使用信任可让 Swift 存储避免身份验证令牌在上传或下载数据期间过期的问题。

默认情况下,swift_store_use_trusts 设置为 True(启用信任使用)。如果设置为 False,则用户令牌用于 Swift 连接,从而消除信任创建开销。

注意

只有在 swift_store_multi_tenant 设为 True时,才会考虑这个选项

可能的值:

  • True
  • False

相关选项:

  • swift_store_multi_tenant

swift_store_user = None

字符串值

对 Swift 身份验证服务进行身份验证的用户。

swift_upload_buffer_dir = None

字符串值

上传到 Swift 之前到缓冲区镜像片段的目录。

提供字符串值,代表 glance 节点上的目录的绝对路径,其中镜像片段将在上传到 swift 之前被缓冲。

注意:只有配置选项 swift_buffer_on_upload 设为 True 时才需要它。应调配此目录,请记住 swift_store_large_object_chunk_size 以及给定 glance 节点可以同时上传的最大镜像数。

可能的值:

  • 代表绝对路径的字符串值

相关选项:

  • swift_buffer_on_upload
  • swift_store_large_object_chunk_size

vmware_api_retry_count = 10

整数值

VMware API 重试次数。

这个配置选项指定 VMware ESX/VC 服务器 API 在连接相关问题或服务器 API 调用过载时必须重试的次数。无法指定 retry forever

可能的值:

  • 任何正整数值

相关选项:

  • None

vmware_ca_file = None

字符串值

CA 捆绑包文件的绝对路径。

此配置选项可让操作员使用自定义 Cerificate Authority File 来验证 ESX/vCenter 证书。

如果设置了这个选项,则将忽略"vmware_insecure"选项,指定的 CA 文件将用于验证 ESX/vCenter 服务器证书并建立到服务器的安全连接。

可能的值:

  • 任何字符串是 CA 文件的有效绝对路径

相关选项:

  • vmware_insecure

vmware_datastores = None

多值

存储镜像的数据存储。

此配置选项指定镜像可以存储在 VMWare 存储后端中的数据存储。这个选项可多次指定来指定多个数据存储。数据存储名称应在数据中心路径后指定,用 ":" 分隔。可以在数据存储名称后指定可选的权重,并再次用 ":" 分隔以指定优先级。因此,所需的格式将变为 <datacenter_path>:<datastore_name>:<optional_weight>。

添加镜像时,会选择最高权重的数据存储,除非镜像大小已知时没有足够的可用空间。如果未指定权重,则假定为 0,目录将被视为最后选择。如果多个数据存储的权重相同,则会选择具有最多可用空间的可用空间。

可能的值:

  • 格式的任何字符串: <datacenter_path>:<datastore_name>:<optional_weight>

相关选项:Chist None

vmware_insecure = False

布尔值

设置 ESX/vCenter 服务器证书的验证。

此配置选项使用一个布尔值来确定是否验证 ESX/vCenter 服务器证书。如果此选项设为 True,则不会验证 ESX/vCenter 服务器证书。如果此选项设置为 False,则使用默认 CA 信任存储进行验证。

如果设置了 "vmware_ca_file" 选项,这个选项将被忽略。在这种情况下,将使用使用 "vmware_ca_file" 选项指定的文件来验证 ESX/vCenter 服务器证书。

可能的值:

  • True
  • False

相关选项:

  • vmware_ca_file

vmware_server_host = None

主机地址值

ESX/ESXi 或 vCenter Server 目标系统的地址。

此配置选项设置 ESX/ESXi 或 vCenter Server 目标系统的地址。使用 VMware 存储后端时需要这个选项。地址可以包含 IP 地址(127.0.0.1)或 DNS 名称(www.my-domain.com)。

可能的值:

  • 有效的 IPv4 或 IPv6 地址
  • 有效的 DNS 名称

相关选项:

  • vmware_server_username
  • vmware_server_password

vmware_server_password = None

字符串值

服务器密码。

此配置选项使用 VMware ESX/ESXi 或 vCenter Server 进行身份验证的密码。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何与使用 "vmware_server_username" 选项指定的用户名对应的字符串

相关选项:

  • vmware_server_host
  • vmware_server_username

vmware_server_username = None

字符串值

服务器用户名.

此配置选项使用用户名与 VMware ESX/ESXi 或 vCenter Server 进行身份验证。使用 VMware 存储后端时需要这个选项。

可能的值:

  • 任何字符串,这是具有适当权限的用户的用户名

相关选项:

  • vmware_server_host
  • vmware_server_password

vmware_store_image_dir = /openstack_glance

字符串值

glance 镜像将存储在数据存储中的目录。

此配置选项指定将 glance 镜像存储在 VMware 数据存储中的目录的路径。如果没有设置这个选项,则存储 glance 镜像的默认目录为 openstack_glance。

可能的值:

  • 任何是到目录有效路径的字符串

相关选项:

  • None

vmware_task_poll_interval = 5

整数值

用于轮询 VMware ESX/VC 服务器上调用的远程任务的时间间隔(以秒为单位)。

这个配置选项以秒为单位轮询 async 任务,作为 VMWare ESX/VC 服务器 API 调用的一部分。

可能的值:

  • 任何正整数值

相关选项:

  • None

3.1.12. image_format

下表概述了 /etc/glance/glance-api.conf 文件中的 [image_format] 组下可用的选项。

表 3.11. image_format
配置选项 = 默认值类型Description

container_formats = ['ami', 'ari', 'aki', 'bare', 'ovf', 'ova', 'docker', 'compressed']

列出值

container_format image 属性支持的值

disk_formats = ['ami', 'ari', 'aki', 'vhd', 'vhdx', 'vmdk', 'raw', 'qcow2', 'vdi', 'iso', 'ploop']

列出值

disk_format image 属性支持的值

3.1.13. keystone_authtoken

下表概述了 /etc/glance/glance-api.conf 文件中的 [keystone_authtoken] 组下可用的选项。

表 3.12. keystone_authtoken
配置选项 = 默认值类型Description

auth_section = None

字符串值

从中加载插件特定选项的配置部分

auth_type = None

字符串值

要载入的身份验证类型

auth_uri = None

字符串值

完成"公共"身份 API 端点。此端点不应是一个"admin"端点,因为它应该可以被所有最终用户访问。未经身份验证的客户端重定向到此端点以进行身份验证。虽然此端点应该被版本写,但通配符中的客户端支持会有所不同。如果您在此处使用版本化的 v2 端点,则这 不应与 服务用户用于验证令牌的端点相同,因为普通用户可能无法访问该端点。这个选项已弃用,而是使用 www_authenticate_uri,并将在 S 发行版本中删除。弃用自: Queens

btrfsreason: the auth_uri 选项已弃用,而是使用 www_authenticate_uri,并将在 S 发行版本中删除。

auth_version = None

字符串值

Identity API 端点的 API 版本。

cache = None

字符串值

存储 Swift 缓存对象的请求环境密钥。当 auth_token 中间件使用 Swift 缓存部署时,请使用此选项使中间件与 swift 共享缓存后端。否则,请使用 memcached_servers 选项。

cafile = None

字符串值

验证 HTTP 连接时使用的 PEM 编码证书颁发机构。默认为系统 CA。

certFile = None

字符串值

如果身份服务器需要客户端证书,则需要此项

delay_auth_decision = False

布尔值

不要处理中间件中的授权请求,而是将授权决定委派给下游 WSGI 组件。

enforce_token_bind = permissive

字符串值

用于控制令牌绑定的使用和类型。可以设置为:"disabled" 以不检查令牌绑定。"permissive" (默认)验证绑定信息(如果绑定类型是服务器所知的格式),并忽略它(如"permissive"。如果绑定类型未知,则令牌将被拒绝。"必需"任何形式的令牌绑定需要被允许。最后,令牌中必须存在的绑定方法的名称。

http_connect_timeout = None

整数值

与 Identity API 服务器通信的请求超时值。

http_request_max_retries = 3

整数值

与 Identity API 服务器通信时,我们将尝试重新连接的次数。

include_service_catalog = True

布尔值

(可选)指示是否设置 X-Service-Catalog 标头。如果为 False,则中间件不会在令牌验证上请求服务目录,也不会设置 X-Service-Catalog 标头。

insecure = False

布尔值

验证 HTTPS 连接。

interface = admin

字符串值

用于 Identity API 端点的接口。有效值为 "public", "internal" 或 "admin" (default)。

keyfile = None

字符串值

如果身份服务器需要客户端证书,则需要此项

memcache_pool_conn_get_timeout = 10

整数值

(可选)操作从池中获取 memcached 客户端连接的秒数。

memcache_pool_dead_retry = 300

整数值

(可选)在尝试前 memcached 服务器被视为死的秒数。

memcache_pool_maxsize = 10

整数值

(可选)每个 memcached 服务器的最大打开连接数。

memcache_pool_socket_timeout = 3

整数值

(可选)与 memcached 服务器通信的插槽超时(以秒为单位)。

memcache_pool_unused_timeout = 60

整数值

(可选)在关闭前,与 memcached 的连接保持在池中未使用的秒数。

memcache_secret_key = None

字符串值

(可选,如果定义了 memcache_security_strategy,则强制设置)此字符串用于密钥生成。

memcache_security_strategy = None

字符串值

(可选)如果定义,指示令牌数据是否应该经过验证还是经过验证和加密。如果 MAC,令牌数据在缓存中进行身份验证(使用 HMAC)。如果 ENCRYPT,令牌数据会在缓存中加密和验证。如果该值不是这些选项之一或为空,auth_token 会在初始化时引发异常。

memcache_use_advanced_pool = False

布尔值

(可选)使用 advanced (eventlet safe) memcached 客户端池。高级池只能在 python 2.x 下工作。

memcached_servers = None

列出值

(可选)指定用于缓存的 memcached 服务器列表。如果未定义,令牌将在进程中缓存。

region_name = None

字符串值

可以找到身份服务器的区域。

service_token_roles = ['service']

列出值

需要出现在服务令牌中的角色。服务令牌允许请求过期令牌可以使用,因此此检查应严格控制仅应发送此令牌的实际服务。此处的角色作为 ANY 检查应用,因此此列表中的任何角色都必须存在。出于向后兼容的原因,这目前仅影响 allow_expired 检查。

service_token_roles_required = False

布尔值

出于向后兼容的原因,我们必须让有效的服务令牌通过,这些令牌不会传递 service_token_roles 检查。设置此 true 将在以后的版本中成为默认值,并应该尽可能启用。

service_type = None

字符串值

服务目录中出现的服务名称或类型。这用于验证具有受限访问规则的令牌。

token_cache_time = 300

整数值

为了防止过度工作需要验证令牌,在可配置的持续时间(以秒为单位)内,中间件缓存之前可切换令牌的中间件缓存(以秒为单位)。设置为 -1 以完全禁用缓存。

www_authenticate_uri = None

字符串值

完成"公共"身份 API 端点。此端点不应是一个"admin"端点,因为它应该可以被所有最终用户访问。未经身份验证的客户端重定向到此端点以进行身份验证。虽然此端点应该被版本写,但通配符中的客户端支持会有所不同。如果您在此处使用版本化的 v2 端点,则这 不应与 服务用户用于验证令牌的端点相同,因为普通用户可能无法访问该端点。

3.1.14. oslo_concurrency

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_concurrency] 组下可用的选项。

表 3.13. oslo_concurrency
配置选项 = 默认值类型Description

disable_process_locking = False

布尔值

启用或禁用进程间锁定。

lock_path = None

字符串值

用于锁定文件的目录。为安全起见,指定的目录应仅可由运行需要锁定的进程的用户写入。默认为环境变量 OSLO_LOCK_PATH。如果使用外部锁定,则必须设置锁定路径。

3.1.15. oslo_messaging_amqp

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_messaging_amqp] 组下可用的选项。

表 3.14. oslo_messaging_amqp
配置选项 = 默认值类型Description

addressing_mode = dynamic

字符串值

表示驱动程序使用的寻址模式。允许的值: legacy - 使用旧的不可路由寻址;routable - 使用可路由地址;dynamic - 如果消息总线不支持路由,使用 legacy,如果支持,使用 routable。

anycast_address = anycast

字符串值

发送到一组消费者时附加到地址前缀。消息总线用来识别应跨消费者以轮循方式发送的消息。

broadcast_prefix = broadcast

字符串值

地址广播到所有服务器时使用的地址前缀

connection_retry_backoff = 2

整数值

在每个故障转移尝试失败后,将 connection_retry_interval 增加这个秒数。

connection_retry_interval = 1

整数值

尝试重新连接前暂停的秒数。

connection_retry_interval_max = 30

整数值

connection_retry_interval + connection_retry_backoff 的最大限制

container_name = None

字符串值

AMQP 容器的名称。必须是全局唯一的。默认为生成的 UUID

default_notification_exchange = None

字符串值

通知地址中使用的交换名称。Exchange name resolution priority: Target.exchange,如果设置了其他 default_notification_exchange,如果设置了其他 control_exchange,则 Target.exchange

default_notify_timeout = 30

整数值

发送通知消息发送的截止时间。仅在调用者不提供超时到期时使用。

default_reply_retry = 0

整数值

重新发送因可恢复错误导致回复消息的最大尝试数。

default_reply_timeout = 30

整数值

rpc 回复消息发送的截止时间。

default_rpc_exchange = None

字符串值

RPC 地址中使用的交换名称。Exchange name resolution priority: Target.exchange (如果设置了其他 default_ rpc_exchange,如果设置了其他 control_exchange,则 Target.exchange

default_send_timeout = 30

整数值

rpc cast 或调用消息发送的截止时间。仅在调用者不提供超时到期时使用。

default_sender_link_timeout = 600

整数值

调度闲置发送方链接的清除持续时间。在到期后分离链接。

group_request_prefix = unicast

字符串值

发送到组中任何服务器时的地址前缀

idle_timeout = 0

整数值

不活跃连接的超时时间(以秒为单位)

link_retry_delay = 10

整数值

由于可恢复的错误,在重新连接 AMQP 1.0 链接之间暂停的时间。

multicast_address = multicast

字符串值

发送 fanout 消息时附加到地址前缀。消息总线用于识别 fanout 消息。

notify_address_prefix = openstack.org/om/notify

字符串值

所有生成的通知地址的地址前缀

notify_server_credit = 100

整数值

传入通知消息的窗口大小

pre_settled = ['rpc-cast', 'rpc-reply']

多值

预设置此类型的消息。pre-settled 消息不会从 peer 接收确认。注:如果发送失败,可能会静默地丢弃预先设置的消息。允许的值: rpc-call - 发送 RPC 调用预设定的 rpc-reply- 发送 RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - 发送通知预设置

pseudo_vhost = True

布尔值

为不原生支持虚拟主机(如 qpidd)的消息总线启用虚拟主机支持。当设置为 true 时,虚拟主机名将添加到所有消息总线地址中,从而有效地为每个虚拟主机 创建专用子网。如果消息总线支持使用 AMQP 1.0 Open performative 作为虚拟主机名称中的 hostname 字段进行虚拟主机,设置为 False。

reply_link_credit = 200

整数值

传入 RPC Reply 消息的窗口大小。

rpc_address_prefix = openstack.org/om/rpc

字符串值

所有生成的 RPC 地址的地址前缀

rpc_server_credit = 100

整数值

传入 RPC 请求消息的窗口大小

`sasl_config_dir = `

字符串值

包含 SASL 配置的目录路径

`sasl_config_name = `

字符串值

配置文件的名称(不带 .conf 后缀)

`sasl_default_realm = `

字符串值

如果用户名中没有域,则使用 SASL 域

`sasl_mechanisms = `

字符串值

空格分隔的 SASL 机制列表

server_request_prefix = exclusive

字符串值

发送到特定服务器时使用的地址前缀

ssl = False

布尔值

尝试通过 SSL 连接。如果没有给出其他与 ssl 相关的参数,它将使用系统的 CA-bundle 来验证服务器的证书。

`ssl_ca_file = `

字符串值

用于验证服务器证书的 CA 证书 PEM 文件

`ssl_cert_file = `

字符串值

自我识别证书 PEM 文件以进行客户端身份验证

`ssl_key_file = `

字符串值

用于为 ssl_cert_file 证书签名的私钥 PEM 文件(可选)

ssl_key_password = None

字符串值

用于解密 ssl_key_file 的密码(如果加密)

ssl_verify_vhost = False

布尔值

默认情况下,SSL 检查服务器证书中的名称是否与 transport_url 中的主机名匹配。在某些配置中,最好使用虚拟主机名,例如,如果服务器使用 Server Name Indication TLS 扩展(rfc6066)为每个虚拟主机提供证书。如果服务器的 SSL 证书使用虚拟主机名而不是 DNS 名称,则将 ssl_verify_vhost 设置为 True。

trace = False

布尔值

debug:将 AMQP 帧转储到 stdout

unicast_address = unicast

字符串值

当发送到特定的 RPC/Notification 服务器时,附加到地址前缀。消息总线用来识别发送到单个目的地的消息。

3.1.16. oslo_messaging_kafka

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_messaging_kafka] 组下可用的选项。

表 3.15. oslo_messaging_kafka
配置选项 = 默认值类型Description

compression_codec = none

字符串值

生成者生成的所有数据的压缩代码c。如果没有设置,则不会使用压缩。请注意,允许的值取决于 kafka 版本

conn_pool_min_size = 2

整数值

连接过期策略的池大小限制

conn_pool_ttl = 1200

整数值

池中闲置连接的时间为 sec

consumer_group = oslo_messaging_consumer

字符串值

Kafka 消费者的组 ID。一个组中的消费者将协调消息消耗

enable_auto_commit = False

布尔值

启用异步消费者提交

kafka_consumer_timeout = 1.0

浮点值

Kafka 用户的默认超时时间

kafka_max_fetch_bytes = 1048576

整数值

Kafka 使用者的最大获取字节

max_poll_records = 500

整数值

轮询调用中返回的最大记录数

pool_size = 10

整数值

Kafka Consumers 的池大小

producer_batch_size = 16384

整数值

producer async 发送的批处理大小

producer_batch_timeout = 0.0

浮点值

KafkaProducer batching 延迟的上限(以秒为单位)

sasl_mechanism = PLAIN

字符串值

安全协议为 SASL 时的机制

security_protocol = PLAINTEXT

字符串值

用于与代理通信的协议

`ssl_cafile = `

字符串值

用于验证服务器证书的 CA 证书 PEM 文件

3.1.17. oslo_messaging_notifications

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_messaging_notifications] 组下可用的选项。

表 3.16. oslo_messaging_notifications
配置选项 = 默认值类型Description

driver = []

多值

处理发送通知的驱动程序。可能的值有 messaging, messagingv2, route, log, test, noop

retry = -1

整数值

重新发送通知消息的最大次数,该消息因为可恢复的错误而无法发送。0 - 无重试,-1 - indefinite

topics = ['notifications']

列出值

用于 OpenStack 通知的 AMQP 主题。

transport_url = None

字符串值

代表用于通知的消息驱动程序的 URL。如果没有设置,我们回退到用于 RPC 的相同配置。

3.1.18. oslo_messaging_rabbit

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_messaging_rabbit] 组下可用的选项。

表 3.17. oslo_messaging_rabbit
配置选项 = 默认值类型Description

amqp_auto_delete = False

布尔值

AMQP 中的自动删除队列。

amqp_durable_queues = False

布尔值

在 AMQP 中使用 durable 队列。

direct_mandatory_flag = True

布尔值

(DEPRECATED)为直接发送启用/禁用 RabbitMQ 强制标志。直接发送作为回复使用,因此在客户端队列不存在时引发 MessageUndeliverable 异常。MessageUndeliverable 异常将用于循环超时,以便可以进行发送者恢复。这个标志已弃用,且无法停用此功能

enable_cancel_on_failover = False

布尔值

启用 x-cancel-on-ha-failover 标志,以便 rabbitmq 服务器将取消并通知消费者的时间队列停机

heartbeat_in_pthread = False

布尔值

EXPERIMENTAL:通过原生 python 线程运行健康检查心跳线程。默认情况下,如果此选项未提供健康检查心跳,则来自父进程的执行模型。例如,如果父进程使用 eventlet/greenlet 对stdlib 进行补丁,则通过绿色线程运行 heartbeatwill。

heartbeat_rate = 2

整数值

在 heartbeat_timeout_threshold 期间,我们检查心跳的频率。

heartbeat_timeout_threshold = 60

整数值

如果心跳的 keep-alive 失败(0 禁用心跳)时 Rabbit 代理被视为 down 的秒数。

kombu_compression = None

字符串值

EXPERIMENTAL :可能的值有:gzip、bz2。如果没有设置压缩,则不会使用。以后的版本中可能不提供这个选项。

kombu_failover_strategy = round-robin

字符串值

决定在我们当前连接到的 RabbitMQ 节点不可用时如何选择下一个 RabbitMQ 节点。仅在配置中提供了多个 RabbitMQ 节点时才生效。

kombu_missing_consumer_retry_timeout = 60

整数值

在取消发送其回复前,等待丢失客户端的时间。这个值不应超过 rpc_response_timeout。

kombu_reconnect_delay = 1.0

浮点值

在响应 AMQP 消费者取消通知前等待的时间。

rabbit_ha_queues = False

布尔值

尝试在 RabbitMQ 中使用 HA 队列(x-ha-policy: all)。如果更改这个选项,您必须擦除 RabbitMQ 数据库。在 RabbitMQ 3.0 中,在声明队列时,队列镜像不再由 x-ha-policy 参数控制。如果您只想确保所有队列(除自动生成的名称外)都在所有节点上镜像,请运行:"rabbitmqctl set_policy HA ^(?!amq\.) VirtualMachine {"ha-mode": "all"} "

rabbit_interval_max = 30

整数值

RabbitMQ 连接重试的最大间隔。默认值为 30 秒。

rabbit_login_method = AMQPLAIN

字符串值

RabbitMQ 登录方法。

rabbit_qos_prefetch_count = 0

整数值

指定要 prefetch 的消息数。设置为零可允许无限消息。

rabbit_retry_backoff = 2

整数值

连接到 RabbitMQ 时重试之间的 backoff 时长。

rabbit_retry_interval = 1

整数值

重试与 RabbitMQ 连接的频率。

rabbit_transient_queues_ttl = 1800

整数值

正整数,代表队列 TTL (x-expires)的持续时间(以秒为单位)。在 TTL 持续时间内未使用的队列会被自动删除。参数仅影响回复和无线队列。

ssl = False

布尔值

通过 SSL 连接。

`ssl_ca_file = `

字符串值

SSL 认证认证机构文件(仅在启用 SSL 时进行检查)。

`ssl_cert_file = `

字符串值

SSL 证书文件(仅在启用 SSL 时进行检查)。

`ssl_key_file = `

字符串值

SSL 密钥文件(仅在启用 SSL 时进行检查)。

`ssl_version = `

字符串值

要使用的 SSL 版本(仅在启用 SSL 时进行评估)。有效值为 TLSv1 和 SSLv23。SSLv2、SSLv3、TLSv1_1 和 TLSv1_2 可以在某些发行版中可用。

3.1.19. oslo_middleware

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_middleware] 组下可用的选项。

表 3.18. oslo_middleware
配置选项 = 默认值类型Description

enable_proxy_headers_parsing = False

布尔值

应用程序是否在代理后面。这决定了中间件是否应该解析标头。

3.1.20. oslo_policy

下表概述了 /etc/glance/glance-api.conf 文件中的 [oslo_policy] 组下可用的选项。

表 3.19. oslo_policy
配置选项 = 默认值类型Description

enforce_scope = False

布尔值

此选项控制在评估策略时是否强制执行范围。如果为 True,则请求中使用的令牌范围将与要强制执行的策略的 scope_types 进行比较。如果范围不匹配,则引发 InvalidScope 异常。如果为 False,则会记录一条信息,告知操作员使用了不匹配的范围调用策略。

policy_default_rule = default

字符串值

默认规则。未找到请求的规则时强制执行。

policy_dirs = ['policy.d']

多值

保存策略配置文件的目录。它们可以相对于 config_dir 选项定义的搜索路径中的任何目录,或绝对路径。policy_file 定义的文件必须存在,才能搜索这些目录。缺少或空目录将被忽略。

policy_file = policy.json

字符串值

将文件相对或绝对路径,该文件将角色映射到给定服务的权限。相对路径必须与配置文件设置此选项相关。

remote_content_type = application/x-www-form-urlencoded

字符串值

用于发送和接收基于 REST 策略检查的数据的内容类型

remote_ssl_ca_crt_file = None

字符串值

基于 REST 的策略检查的 ca 证书文件的绝对路径

remote_ssl_client_crt_file = None

字符串值

基于 REST 的策略检查的客户端证书的绝对路径

remote_ssl_client_key_file = None

字符串值

绝对路径客户端密钥文件 REST 基于策略检查

remote_ssl_verify_server_crt = False

布尔值

基于 REST 的策略检查的服务器身份验证

3.1.21. paste_deploy

下表概述了 /etc/glance/glance-api.conf 文件中的 [paste_deploy] 组下可用的选项。

表 3.20. paste_deploy
配置选项 = 默认值类型Description

config_file = None

字符串值

粘贴配置文件的名称。

提供代表粘贴配置文件名称的字符串值,用于为服务器应用程序部署配置管道。

备注:

  • 为粘贴配置文件而不是绝对路径提供相对于 glance 目录的名称或路径。
  • 在大多数情况下不需要编辑 Glance 附带的示例粘贴配置文件,因为它附带了所有常见部署类别的就绪管道。

如果没有为此选项指定值,则会在已知配置目录中搜索带有相应 Glance 服务配置文件名称的 paste.ini 文件。(例如,如果从 中缺少这个选项,或者没有在 glance-api.conf 中设置值,该服务将查找名为 glance-api-paste.ini. 的文件) 如果没有找到粘贴配置文件,该服务将不会启动。

可能的值:

  • 代表粘贴配置文件名称的字符串值。

相关选项:

  • 类型

flavor = None

字符串值

在服务器应用程序管道中使用的部署类别。

提供字符串值,代表服务器应用程序管道中使用的适当部署类别。这通常是粘贴配置文件中带有服务名称删除的管道的部分名称。

例如,如果您的粘贴配置文件中的粘贴部分名称为 [pipeline:glance-api-keystone],请将 flavor 设置为 keystone

可能的值:

  • 代表部分管道名称的字符串值。

相关选项:

  • config_file

3.1.22. profiler

下表概述了 /etc/glance/glance-api.conf 文件中的 [profiler] 组下可用的选项。

表 3.21. profiler
配置选项 = 默认值类型Description

connection_string = messaging://

字符串值

通知程序后端的连接字符串。

默认值为 messaging://,它将 notifier 设置为 oslo_messaging。

可能的值示例:

  • messaging:// - 使用 oslo_messaging 驱动程序来发送 span。
  • redis://127.0.0.1:6379 - 使用 redis 驱动程序来发送 span。
  • MongoDB://127.0.0.1:27017 - 使用 mongodb 驱动程序来发送 span。
  • elasticsearch://127.0.0.1:9200 - 使用 elasticsearch 驱动程序来发送 span。
  • Jaeger://127.0.0.1:6831 - 使用 jaeger tracing 作为发送 span 的驱动程序。

enabled = False

布尔值

为此节点上的所有服务启用性能分析。

默认值为 False (完全禁用性能分析功能)。

可能的值:

  • true :启用该功能
  • false :禁用该功能。分析无法通过此项目操作启动。如果分析是由另一个项目触发的,则此项目部分为空。

es_doc_type = notification

字符串值

elasticsearch 中通知索引的文档类型。

es_scroll_size = 10000

整数值

Elasticsearch 将大型请求分成批处理。此参数定义每个批处理的最大大小(例如:es_scroll_size=10000)。

es_scroll_time = 2m

字符串值

此参数是一个时间值参数(例如:es_scroll_time=2m),指示参与搜索的节点将维护相关资源的时长,以便继续和支持它。

filter_error_trace = False

布尔值

启用包含与分隔位置的错误/删除的过滤跟踪。

默认值为 False。

可能的值:

  • true :启用包含 error/exception 的过滤器追踪。
  • false :禁用过滤器。

hmac_keys = SECRET_KEY

字符串值

用于加密性能分析上下文数据的 secret 密钥。

此字符串值应具有以下格式:<key1>[,<key2>,…​<keyn>],其中每个键都是一些随机字符串。通过 REST API 触发性能分析的用户必须在 REST API 调用的标头中设置其中一个密钥,使其包含此特定项目的性能分析结果。

"enabled"标志和"hmac_keys"配置选项都应设置为启用性能分析。此外,若要在所有服务中生成正确的性能分析信息,在 OpenStack 项目之间至少需要一个密钥的一致性。这样可确保可以从客户端使用它来生成 trace,其中包含所有可能资源的信息。

sentinel_service_name = mymaster

字符串值

Redissentinel 使用服务名称来识别 master redis 服务。此参数定义名称(例如:send inal_service_name=mymaster)。

socket_timeout = 0.1

浮点值

Redissentinel 在连接上提供了一个 timeout 选项。此参数定义超时(例如: socket_timeout=0.1)。

trace_sqlalchemy = False

布尔值

在服务中启用 SQL 请求性能分析。

默认值为 False (SQL 请求不会被跟踪)。

可能的值:

  • true :启用 SQL 请求分析。每个 SQL 查询都将是 trace 的一部分,可通过花费的时间来分析。
  • false :禁用 SQL 请求分析。花费的时间仅显示在更高级别的操作上。无法以这种方式分析单个 SQL 查询。

3.1.23. store_type_location_strategy

下表概述了 /etc/glance/glance-api.conf 文件中的 [store_type_location_strategy] 组下可用的选项。

表 3.22. store_type_location_strategy
配置选项 = 默认值类型Description

store_type_preference = []

列出值

存储后端的首选顺序。

提供以逗号分隔的存储名称列表,按应从存储后端检索镜像的顺序。这些存储名称必须使用 stores 配置选项注册。

注意

只有在将 store_type 选为 location_strategy 配置选项的值时,才会应用 store_type_preference 配置选项。一个空列表不会更改位置顺序。

可能的值:

  • 空列表
  • 以逗号分隔的注册存储名称列表。法律值为:

    • file
    • http
    • rbd
    • swift
    • sheepdog
    • cinder
    • vmware

相关选项:

  • location_strategy
  • Store

3.1.24. task

下表概述了 /etc/glance/glance-api.conf 文件中的 [task] 组下可用的选项。

表 3.23. task
配置选项 = 默认值类型Description

task_executor = taskflow

字符串值

用于运行任务脚本的任务执行器。

提供代表用于执行任务的 executor 的字符串值。默认情况下使用 TaskFlow executor。

TaskFlow 帮助使任务执行简单、一致、可扩展且可靠。它还允许创建以声明性方式组合成流的轻量级任务对象和/或功能。

可能的值:

  • taskflow

相关选项:

  • None

task_time_to_live = 48

整数值

任务之后的时间(以小时为单位)成功或失败

work_dir = None

字符串值

用于异步任务操作的工作目录的绝对路径。

此处设置的目录将用于通过镜像运行 - 通常,在目标存储中导入它们之前。

注意

work_dir 提供值时,请确保有足够的空间供并发任务高效运行,而无需耗尽空间。

粗略估算可以通过乘以平均镜像大小的 max_workers 数(如 500MB)来实现。镜像大小估算应该根据部署中的平均大小进行。请注意,根据运行的任务,您可能需要根据任务的作用,将这个数字乘以某些因素。例如,如果启用了镜像更改触发器,您可能希望将可用大小加倍。这所说的是,请记住它们只是估算,您应该根据最糟糕的情况进行它们,并准备好进行。

可能的值:

  • 代表到工作目录的绝对路径的字符串值

相关选项:

  • None

3.1.25. taskflow_executor

下表概述了 /etc/glance/glance-api.conf 文件中的 [taskflow_executor] 组下可用的选项。

表 3.24. taskflow_executor
配置选项 = 默认值类型Description

conversion_format = None

字符串值

设置所需的镜像更改触发器。

提供在存储镜像以供 Glance 使用之前希望转换镜像的有效镜像格式。特定的存储后端需要适当的镜像格式转换,以便有效地处理日志记录的带宽和使用。

默认情况下,未设置 conversion_format,必须在配置文件中明确设置。

此选项允许的值是 rawqcow2vmdkraw 格式是无结构的磁盘格式,应在 RBD 或 Ceph 存储后端用于镜像存储时进行选择。qcow2 支持 QEMU 模拟器,它动态扩展并支持 Write 上的复制。vmdk 是许多常见虚拟机监控器(如 VMWare Workstation)支持的另一个通用磁盘格式。

可能的值:

  • qcow2
  • raw
  • vmdk

相关选项:

  • disk_formats

engine_mode = parallel

字符串值

设置 taskflow 引擎模式。

提供字符串值值,以设置 taskflow 引擎将任务调度到主机上的 worker 的模式。根据此模式,引擎在单线程或多个线程中执行任务。此配置选项的可能值为:serialparallel。当设置为 serial 时,引擎在单个线程中运行所有任务,这会导致任务序列执行。把它设置为 并行,使引擎在多个线程中运行任务。这会导致任务并行执行。

可能的值:

  • serial
  • parallel

相关选项:

  • max_workers

max_workers = 10

整数值

设置引擎可执行文件任务的数量。

提供整数值来限制主机上可实例化的 worker 数量。换句话说,这个数字定义了任务流引擎可以同时执行的并行任务数量。当引擎模式设置为并行时,这个值可以大于一。

可能的值:

  • 大于或等于 1 的整数值

相关选项:

  • engine_mode
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.