OpenStack对象存储管理手册(4) OpenStack对象存储系统管理-2

来源:互联网 发布:利艾r18漫画艾伦性淘宝 编辑:程序博客网 时间:2024/05/17 09:38

找实习面试被拒了,不开心……

今天的东西非常细节,是swift集群的配置参数,只有在自己亲手配置的时候才会使用到,不过在配置时很多参数我都没用到,也有些不懂是干什么的

4. OpenStack对象存储系统管理

4.2 服务器配置参考

Swift使用paste.deploy来管理服务器配置。默认配置选项设置在[DEFAULT]部分,它的任何选项都可以在其他区域中被覆写(overridden)。

4.2.1 对象服务器配置

       一个对象服务器的配置例子可以在源码库的etc/object-server.conf-sample找到。

       有如下的配置选项:

4.2.1.1 object-server.conf的默认选项[DEFAULT]

选项

默认

描述

Swift_dir

/etc/swift

Swift的配置目录

Devices

/srv/node

设备挂载的父目录

mount_check

True

是否检测设备已挂载来避免误写入根设备

Bind_ip

0.0.0.0

服务器绑定的IP地址

Bind_port

6000

服务器绑定的端口

Bind_timeout

30

尝试绑定的秒数

Workers

1

Fork出的工作线程数

Backlog

4096

允许挂起的最大的TCP链接数

Expiring_objects_

container_divisor

86400

 

Log_name

Swift

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log设备

Log_level

INFO

LOGGING level

User

Swift

以哪个用户来运行,指linux系统的用户

Db_preallocation

True

为减少碎片,预先为SQLite数据库分配空间

Eventlet_debug

False

为eventlet开启debug logging

Disable_fallocate

False

如果底层文件系统不支持的话就关闭文件预分配空间的“fast fail”检测

Fallocate_reserve

0

为fallocate保留的字节数,不管是否有足够的空间。默认保留的字节是0,意味着不保留。一些系统在没有空间后性能很差,为了避免这个问题,你可以设置该参数,当磁盘剩余空间小于这个值时,fallocate会失败,即使底层OS fallocate可能会成功。比如当磁盘空间低于10G时,把该参数设置成10G会使任何fallocate调用失败,即使文件大小为0.

4.2.1.2 object-server.conf的服务器选项[object-server]

选项

默认

描述

Use

 

对象服务器的paste.deploy的接入点,大部分情况下是egg:swift#object

Log_name

Object-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_requests

True

是否log每个请求

User

Swift

以哪个用户来运行

node_timeout

3

外部服务的请求超时时间

Conn_timeout

0.5

外部服务的连接超时时间

Network_chunk_size

65536

读写磁盘的chunk大小

Max_upload_time

86400

上传一个对象的最长时间

Slow

0

如果大于0,表示完成一个PUT或DELETE请求的最短秒数

Auto_create_account_prefix

.

自动创建账户时使用的前缀

Allowed_headers

Content-disposition,

Content-encoding,

x-delete-at

x-object-manifest

可在对象的元数据中设置的以逗号分隔的头列表

Mb_per_sync

512

在PUT时,每512M同步一次数据

4.2.1.3 object-server.conf的副本选项[object-replicator]

选项

默认

描述

Log_name

Object-replicator

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Daemonize

Yes

是否将副本以一个守护进程运行

Concurrency

1

并发的副本线程数

Timeout

5

向rsync_timeout和-contimeout(没看到这个选项啊)发送的超时时间

http_timeout

60

一个HTTP请求的最长时间

Lockup_timeout

1800

在Lockup_timeout时间内如果没有任何复制工作的话就尝试杀死所有worker(秒)

Stats_interval

300

记录副本统计数据的时间间隔(秒)

Reclaim_age

604800

一个对象被回收前经历的秒数

Recon_cache_path

/var/cache/swift

存储一些条目的统计信息的目录

Recon_enable

No

是否允许recon记录副本的统计信息

Ring_check_interval

15

核对ring的周期(秒)

Rsync_io_timeout

30

传递给rsync服务的I/O请求的最大持续时间(秒)

Rsync_timeout

900

一个分区进行同步的最大持续时间

vm_test_mode

No

表明你使用一个VM环境

 

4.2.1.4 object-server.conf的更新选项[object-updater]

选项

默认

描述

Log_name

Object-updater

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Interval

300

一个pass的最短时间(不明白pass是什么意思

Concurrency

1

并发执行的updater工作线程

Node_timeout

10

外部服务的请求超时时间

Conn_timeout

0.5

外部服务的连接超时时间

Slowdown

0.01

执行更新操作时针对不同对象时等待的秒数

 

4.2.1.5 object-server.conf的审计选项[object-auditor]

选项

默认

描述

Log_name

Object-auditor

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_time

3600

记录状态的频率(秒)

Files_per_second

20

每秒钟审核的最大文件数。该值应该根据系统规格进行调整。0表示无限制

bytes_per_second

10000000

每秒审核的最大字节数。该值应该根据系统规格进行调整。0表示无限制

Zero_byte_files_per_second

50

每秒钟审核的最多空文件个数

 

4.2.1.6 object-server.conf的静态网页选项[filter:staticweb]

如果配置了静态网页选项,那么StaticWebWSGI中间件会把容器数据当做一个静态的网站来处理,包括index文件和error文件以及可选的文件列表。这个模式一般只用来处理匿名的请求。

选项

默认

描述

Cache_timeout

300

缓存容器的x-container-meta-web-*头的秒数

Log_facility

LOG_LOCAL0

记录静态网站请求所使用的设施

Log_level

INFO

静态网站请求的log等级

Log_name

Staticweb

Log时使用的标签

Log_headers

F

记录静态网站请求所使用的消息头

Access_log_facility

LOG_LOCAL0

记录访问静态网站容器所使用的设施

Access_log_name

Staticweb

记录访问静态网站容器所使用的名字

 

4.2.2 容器服务器配置

容器服务器配置的例子可以在源码库的etc/container-server.conf-sample找到。

可使用如下的配置选项:

4.2.2.1container-server.conf的默认选项[DEFAULT]

选项

默认

描述

Swift_dir

/etc/swift

Swift的配置目录

Devices

/srv/node

设备挂载的父目录

Mount_check

True

是否检测设备已挂载来避免误写入根设备

Bind_ip

0.0.0.0

服务器绑定的IP地址

Bind_port

6001

服务器绑定的端口

Bind_timeout

30

尝试绑定的秒数

Workers

1

Fork出的工作线程数

User

Swift

以哪个用户来运行,指linux系统的用户

Db_preallocation

True

为减少碎片,预先为SQLite数据库分配空间

Eventlet_debug

False

为eventlet开启debug logging

Disable_fallocate

False

如果底层文件系统不支持的话就关闭文件预分配空间的“fast fail”检测

Fallocate_reserve

0

为fallocate保留的字节数,不管是否有足够的空间。默认保留的字节是0,意味着不保留。一些系统在没有空间后性能很差,为了避免这个问题,你可以设置该参数,当磁盘剩余空间小于这个值时,fallocate会失败,即使底层OS fallocate可能会成功。比如当磁盘空间低于10G时,把该参数设置成10G会使任何fallocate调用失败,即使文件大小为0.

Log_name

Swift

Log时使用的标签

Log_facility

LOG_LOCAL0

系统日志服务设施

Log_level

INFO

日志等级

Auto_create_account_prefix

.

自动创建账户时使用的前缀

Backlog

4096

允许挂起的最大的TCP链接数

 

4.2.2.2 container-server.conf的服务器选项[container-server]

选项

默认

描述

Use

 

容器服务器的paste.deploy的接入点,大部分情况下是egg:swift#container

Log_name

container-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_requests

True

是否log每个请求

Node_timeout

10

外部服务的请求超时时间

Conn_timeout

0.5

外部服务的连接超时时间

 

4.2.2.3 container-server.conf的副本选项[container-replicator]

选项

默认

描述

Log_name

container-replicator

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Per_diff

1000

每个diff所获得的最少的条目数

Concurrency

8

并发的副本线程数

Run_pause

30

不同副本传递过程中等待的秒数

Node_timeout

10

外部服务请求超时时间

Conn_timeout

0.5

外部服务连接超时时间

Reclaim_age

604800

容器被回收前经历的秒数

interval

30

一个副本传递的最短时间

Max_diffs

100

每个副本传递时复制器花费的同步数据库的时间

Vm_test_mode

No

表明你使用一个VM环境

 

4.2.2.4 container-server.conf的更新选项[container-updater]

选项

默认

描述

Log_name

container-updater

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Interval

300

一个pass的最短时间(不明白pass是什么意思

Concurrency

4

并发执行的updater工作线程

Node_timeout

3

外部服务的请求超时时间

Conn_timeout

0.5

外部服务的连接超时时间

Slowdown

0.01

执行更新操作时针对不同对象时等待的秒数

Account_supression_time

60

对于出问题的账户暂时停止更新的时间

 

4.2.2.5 container-server.conf的审计选项[container-auditor]

选项

默认

描述

Log_name

container-auditor

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Internal

1800

一个pass的最短时间(不明白pass是什么意思

Container_per_second

200

每秒审核的最大容器数。该值应该根据系统规格进行调整。0表示无限制

 

4.2.2.6 container-server.conf的同步选项[container-sync]

选项

默认

描述

Log_name

Container-sync

Log时使用的标签

Log_facility

LOG_LOCAL0

系统日志设施

Log_level

INFO

日志等级

Container_time

60

同步每个容器的最长时间

Sync_proxy

 

如果需要使用一个HTTP代理,在这里设置(如http://127.0.0.1:8888)。默认不使用代理

 

4.2.3 账户服务器配置

4.2.3.1 account-server.conf的默认选项[DEFAULT]

选项

默认

描述

Swift_dir

/etc/swift

Swift的配置目录

Devices

/srv/node

设备挂载的父目录

Mount_check

True

是否检测设备已挂载来避免误写入根设备

Bind_ip

0.0.0.0

服务器绑定的IP地址

Bind_port

6002

服务器绑定的端口

Bind_timeout

30

尝试绑定的秒数

Workers

1

Fork出的工作线程数

User

Swift

以哪个用户来运行,指linux系统的用户

Backlog

4096

允许挂起的最大的TCP链接数

Db_preallocation

True

为减少碎片,预先为SQLite数据库分配空间

Eventlet_debug

False

eventlet开启debug logging

Disable_fallocate

False

如果底层文件系统不支持的话就关闭文件预分配空间的“fast fail”检测

Fallocate_reserve

0

为fallocate保留的字节数,不管是否有足够的空间。默认保留的字节是0,意味着不保留。一些系统在没有空间后性能很差,为了避免这个问题,你可以设置该参数,当磁盘剩余空间小于这个值时,fallocate会失败,即使底层OS fallocate可能会成功。比如当磁盘空间低于10G时,把该参数设置成10G会使任何fallocate调用失败,即使文件大小为0.

 

4.2.3.2 account-server.conf的服务器选项[account-server]

选项

默认

描述

Use

 

账户服务器的paste.deploy的接入点,大部分情况下是egg:swift#account

Log_name

account-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_requests

True

是否log每个请求

Auto_create_account_prefix

.

自动创建账户时使用的前缀

 

4.2.3.3 account-server.conf的副本选项[account-replicator]

选项

默认

描述

Log_name

account-replicator

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Per_diff

1000

每个diff所获得的最少的条目数

Max_diffs

100

每个副本传递时复制器花费的同步数据库的时间

Concurrency

8

并发的副本线程数

Run_pause

30

不同副本传递过程中等待的秒数

Node_timeout

10

外部服务请求超时时间

Conn_timeout

0.5

外部服务连接超时时间

Reclaim_age

604800

容器被回收前经历的秒数

Vm_test_mode

No

表明你使用一个VM环境

Interval

30

一个副本传递的最短时间

Error_suppression_interval

60

一个节点的最后一个错误被认为已经不是错误所必须经历的时间(我不确定是不是这个意思

Error_suppression_limit

10

一个节点的错误计数

 

4.2.3.4 account-server.conf的审计选项[account-auditor]

选项

默认

描述

Log_name

account-auditor

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Internal

1800

一个pass的最短时间(不明白pass是什么意思

Container_per_second

200

每秒审核的最大账户数。该值应该根据系统规格进行调整。0表示无限制

 

4.2.3.5 account-server.conf的reaper选项[account-reaper]

选项

默认

描述

Delay_reaping

0

删除一个已被删除的账户信息所延迟的秒数,比如2592000=30天

Log_name

Account-auditor

记录日志时使用的标签

Log_facility

LOG_LOCAL0

系统日志设施

Log_level

INFO

日志等级

Concurrency

25

并发的副本线程数

Interval

3600

一个pass花费的最短时间

Node_timeout

10

外部服务的请求超时时间

Conn_timeout

0.5

外部服务的连接超时时间

 

4.2.4 代理服务器配置

       代理服务器配置的例子可以在源码库etc/proxy-server.conf-sample找到。

4.2.4.1proxy-server.conf的默认选项[DEFAULT]

选项

默认

描述

Bind_ip

0.0.0.0

服务器绑定的IP地址

Bind_port

80

服务器绑定的端口

Bind_timeout

30

尝试绑定的秒数

Swift_dir

/etc/swift

Swift的配置目录

Workers

1

Fork出的工作线程数

User

Swift

以哪个用户来运行,指linux系统的用户

Cert_file

 

Ssl.crt的路径

Key_file

 

Ssl.key的路径

Eventlet_debug

False

eventlet开启debug logging

 

4.2.4.2 proxy-server.conf的服务器选项[proxy-server]

选项

默认

描述

Use

 

代理服务器的paste.deploy的接入点,大部分情况下是egg:swift#proxy

Log_name

account-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_headers

True

如果是true,在每个请求中记录消息头

Recheck_account_existence

60

账户在memcached中的缓存超时时间(秒)

Recheck_container_existence

60

容器在memcached中的缓存超时时间

Object_chunk_size

65536

从对象服务器读取的chunk大小

Client_chunk_size

65536

从客户端读取的chunk大小

Memcache_server

127.0.0.1:11211

以逗号分隔的memcached服务器ip:prot

Node_timeout

10

外部服务的请求超时时间

Client_timeout

60

从客户端读取一个chunk的超时时间

Conn_timeout

0.5

外部服务的连接超时时间

Error_suppression_interval

60

一个节点的最后一个错误被认为已经不是错误所必须经历的时间(我不确定是不是这个意思

Error_suppression_limit

10

一个节点的错误计数

Allow_account_management

False

是否允许对账户进行PUT和DELETE操作

 

4.2.4.3 proxy-server.conf的paste.deploy选项[filter:swauth]

选项

默认

描述

Use

 

auth的paste.deploy的接入点, egg:swauth#swauth

Log_name

auth-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_headers

True

如果是true,在每个请求中记录消息头

Reseller_prefix

AUTH

认证服务的命名范围。swift 的存储账户和认证令牌都使用这个前缀

Auth_prefix

/auth/

认证服务的HTTP请求认证服务前缀。Swift保留了以V开头的所有东西

Default_swift_cluster

Local#http://127.0.0.1:8080/v1

Swift集群默认将新创建的账户放置的地方,只有使用Swauth作为认证时才需要

Token_file

86400

令牌的有效时间(秒)

Node_timeout

10

请求超时时间

Super_admin_key

None

.super_admin账户的密钥

 

4.2.4.4 proxy-server.conf在[filter:cache]中的服务器选项

选项

默认

描述

Log_name

account-server

Log时使用的标签

Log_facility

LOG_LOCAL0

系统log的设施

Log_level

INFO

Logging level

Log_headers

False

如果是true,在每个请求中记录消息头

Memcache_servers

127.0.0.1:11211

以逗号分隔的memcached服务器ip:port。如果这个值在/etc/swift/proxy-server.conf中设置了,那么在这里会被忽略