From ce129efa09d236910e5916798f7e279118f06ad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=9E=E9=9B=AA=E6=97=A0=E6=83=85?= Date: Fri, 7 Aug 2020 02:43:30 +0800 Subject: [PATCH] update and improve config,throttle zh_CN document (#10214) --- docs/zh_CN/config/README.md | 175 ++++++++++++++++++++++++++++++---- docs/zh_CN/throttle/README.md | 53 ++++++++++ 2 files changed, 210 insertions(+), 18 deletions(-) create mode 100644 docs/zh_CN/throttle/README.md diff --git a/docs/zh_CN/config/README.md b/docs/zh_CN/config/README.md index dfa89455a..9b08f7667 100644 --- a/docs/zh_CN/config/README.md +++ b/docs/zh_CN/config/README.md @@ -144,10 +144,144 @@ MINIO_CACHE_AFTER (number) 缓存对象之前的最小可访问次数 MINIO_CACHE_COMMENT (sentence) 为这个设置添加一个可选的注释 ``` +#### Etcd +MinIO支持在etcd上存储加密的IAM assets和Bucket DNS记录。 + +> NOTE: if *path_prefix* is set then MinIO will not federate your buckets, namespaced IAM assets are assumed as isolated tenants, only buckets are considered globally unique but performing a lookup with a *bucket* which belongs to a different tenant will fail unlike federated setups where MinIO would port-forward and route the request to relevant cluster accordingly. This is a special feature, federated deployments should not need to set *path_prefix*. + +``` +KEY: +etcd 为IAM and Bucket DNS联合多个集群 + +ARGS: +endpoints* (csv) 以逗号分隔的etcd endpoint列表,例如 "http://localhost:2379" +path_prefix (path) 为隔离租户提供的命名控件前缀,例如 "customer1/" +coredns_path (path) 共享bucket DNS记录, 默认是 "/skydns" +client_cert (path) 用于mTLS身份验证的客户端证书 +client_cert_key (path) 用于mTLS身份验证的客户端证书密钥 +comment (sentence) 为这个设置添加一个可选的注释 +``` + +或者通过环境变量 +``` +KEY: +etcd 为IAM and Bucket DNS联合多个集群 + +ARGS: +MINIO_ETCD_ENDPOINTS* (csv) 以逗号分隔的etcd endpoint列表,例如 "http://localhost:2379" +MINIO_ETCD_PATH_PREFIX (path) 为隔离租户提供的命名控件前缀,例如 "customer1/" +MINIO_ETCD_COREDNS_PATH (path) 共享bucket DNS记录, 默认是 "/skydns" +MINIO_ETCD_CLIENT_CERT (path) 用于mTLS身份验证的客户端证书 +MINIO_ETCD_CLIENT_CERT_KEY (path) 用于mTLS身份验证的客户端证书密钥 +MINIO_ETCD_COMMENT (sentence) 为这个设置添加一个可选的注释 +``` + +### API +默认情况下,服务器/集群同时处理的并发请求数没有限制。 但是,可以使用API子系统强加这种限制。 在[此处](https://github.com/minio/minio/blob/master/docs/zh_CN/throttle/README.md)阅读有关MinIO服务器中限制限制的更多信息。 + +``` +KEY: +api 管理全局HTTP API调用的特定功能,例如限制,身份验证类型等. + +ARGS: +requests_max (number) 设置并发请求的最大数量,例如 "1600" +requests_deadline (duration) 设置等待处理的API请求的期限,例如 "1m" +ready_deadline (duration) 设置健康检查API /minio/health/ready的期限,例如 "1m" +cors_allow_origin (csv) 设置CORS请求允许的来源列表,以逗号分割,例如 "https://example1.com,https://example2.com" +``` + +或者通过环境变量 + +``` +MINIO_API_REQUESTS_MAX (number) 设置并发请求的最大数量,例如 "1600" +MINIO_API_REQUESTS_DEADLINE (duration) 设置等待处理的API请求的期限,例如 "1m" +MINIO_API_CORS_ALLOW_ORIGIN (csv) 设置CORS请求允许的来源列表,以逗号分割,例如 "https://example1.com,https://example2.com" +``` + +#### 通知 +MinIO支持如下列表中的通知。要配置单个目标,请参阅[此处](https://docs.min.io/cn/minio-bucket-notification-guide.html)的更多详细文档 + +``` +notify_webhook 发布 bucket 通知到 webhook endpoints +notify_amqp 发布 bucket 通知到 AMQP endpoints +notify_kafka 发布 bucket 通知到 Kafka endpoints +notify_mqtt 发布 bucket 通知到 MQTT endpoints +notify_nats 发布 bucket 通知到 NATS endpoints +notify_nsq 发布 bucket 通知到 NSQ endpoints +notify_mysql 发布 bucket 通知到 MySQL databases +notify_postgres 发布 bucket 通知到 Postgres databases +notify_elasticsearch 发布 bucket 通知到 Elasticsearch endpoints +notify_redis 发布 bucket 通知到 Redis datastores +``` + +### 访问配置 +可以使用[`mc admin config` get/set/reset/export/import commands](https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md)命令应用所有配置的更改. + +#### 列出所有可用的配置key +``` +~ mc admin config set myminio/ +``` + +#### 获取每个key的帮助 +``` +~ mc admin config set myminio/ +``` + +例如: `mc admin config set myminio/ etcd` 会返回 `etcd` 可用的配置参数 + +``` +~ mc admin config set play/ etcd +KEY: +etcd federate multiple clusters for IAM and Bucket DNS + +ARGS: +endpoints* (csv) comma separated list of etcd endpoints e.g. "http://localhost:2379" +path_prefix (path) namespace prefix to isolate tenants e.g. "customer1/" +coredns_path (path) shared bucket DNS records, default is "/skydns" +client_cert (path) client cert for mTLS authentication +client_cert_key (path) client cert key for mTLS authentication +comment (sentence) optionally add a comment to this setting +``` + +要获取每个配置参数的等效ENV,请使用`--env`标志 +``` +~ mc admin config set play/ etcd --env +KEY: +etcd federate multiple clusters for IAM and Bucket DNS + +ARGS: +MINIO_ETCD_ENDPOINTS* (csv) comma separated list of etcd endpoints e.g. "http://localhost:2379" +MINIO_ETCD_PATH_PREFIX (path) namespace prefix to isolate tenants e.g. "customer1/" +MINIO_ETCD_COREDNS_PATH (path) shared bucket DNS records, default is "/skydns" +MINIO_ETCD_CLIENT_CERT (path) client cert for mTLS authentication +MINIO_ETCD_CLIENT_CERT_KEY (path) client cert key for mTLS authentication +MINIO_ETCD_COMMENT (sentence) optionally add a comment to this setting +``` + +此行为在所有key中都是一致的,每个key都带有可用的示例文档。 + +## 环境变量仅有的配置 (配置文件中没有) + +#### 使用情况采集器 +> 注意: 数据使用情况采集器不支持网关部署模式。 + +数据使用情况采集器默认是启用的,通过Envs可以设置更多的交错延迟。 + +采集器能适应系统速度,并在系统负载时完全暂停。 可以调整采集器的速度,从而达到延迟更新的效果。 每次采集操作之间的延迟都可以通过环境变量`MINIO_DISK_USAGE_CRAWL_DELAY`来调整。 默认情况下,该值为10。 这意味着采集每次操作都将休眠*10x*的时间。 + +大多数设置要让采集器足够慢,这样不会影响整体的系统性能。 +设置 `MINIO_DISK_USAGE_CRAWL_DELAY` 为一个 *较低* 的值可以让采集器更快,并且设置为0的时候,可以让采集器全速运行(不推荐)。 设置一个较高的值可以让采集器变慢,进一步减少资源的消耗。 + +示例: 如下设置将使采集器的速度降低三倍, 减少了系统资源的使用,但是反映到更新的延迟会增加。 + +```sh +export MINIO_DISK_USAGE_CRAWL_DELAY=30 +minio server /data +``` + ### 浏览器 -|参数|类型|描述| -|:---|:---|:---| -|``browser``| _string_ | 开启或关闭浏览器访问,默认是开启的,你可以通过``MINIO_BROWSER``环境变量进行修改| + +开启或关闭浏览器访问,默认是开启的,你可以通过``MINIO_BROWSER``环境变量进行修改。 示例: @@ -156,18 +290,23 @@ export MINIO_BROWSER=off minio server /data ``` -#### 通知 -|参数|类型|描述| -|:---|:---|:---| -|``notify``| |通知通过以下方式开启存储桶事件通知,用于lambda计算| -|``notify.amqp``| |[通过AMQP发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#AMQP)| -|``notify.mqtt``| |[通过MQTT发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#MQTT)| -|``notify.elasticsearch``| |[通过Elasticsearch发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#Elasticsearch)| -|``notify.redis``| |[通过Redis发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#Redis)| -|``notify.nats``| |[通过NATS发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#NATS)| -|``notify.postgresql``| |[通过PostgreSQL发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#PostgreSQL)| -|``notify.kafka``| |[通过Apache Kafka发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#apache-kafka)| -|``notify.webhook``| |[通过Webhooks发布MinIO事件](https://docs.min.io/cn/minio-bucket-notification-guide#webhooks)| - -## 了解更多 -* [MinIO Quickstart Guide](https://docs.min.io/cn/minio-quickstart-guide) +### 域名 + +默认情况下,MinIO支持格式为 http://mydomain.com/bucket/object 的路径类型请求。 +`MINIO_DOMAIN` 环境变量被用来启用虚拟主机类型请求。 如果请求的`Host`头信息匹配 `(.+).mydomain.com`,则匹配的模式 `$1` 被用作 bucket, 并且路径被用作object. 更多路径类型和虚拟主机类型的信息参见[这里](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAPI.html) +示例: + +```sh +export MINIO_DOMAIN=mydomain.com +minio server /data +``` + +`MINIO_DOMAIN`环境变量支持逗号分隔的多域名配置 +```sh +export MINIO_DOMAIN=sub1.mydomain.com,sub2.mydomain.com +minio server /data +``` + +## 进一步探索 +* [MinIO快速入门指南](https://docs.min.io/cn/minio-quickstart-guide) +* [使用TLS安全的访问Minio服务](https://docs.min.io/cn/how-to-secure-access-to-minio-server-with-tls.html) diff --git a/docs/zh_CN/throttle/README.md b/docs/zh_CN/throttle/README.md new file mode 100644 index 000000000..c68b01506 --- /dev/null +++ b/docs/zh_CN/throttle/README.md @@ -0,0 +1,53 @@ +# MinIO服务器限制设置指南 [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io) [![Docker Pulls](https://img.shields.io/docker/pulls/minio/minio.svg?maxAge=604800)](https://hub.docker.com/r/minio/minio/) + +MinIO服务器允许限制传入的请求: + +- 限制整个集群中允许的活动请求数 +- 限制队列中每个请求的等待时间 + +这些值可以通过服务器的配置或者环境变量启用。 + +## 示例 +### 配置连接限制 +如果您使用传统的机械(hdd)硬盘,则某些具有高并发性的应用程序可能需要调整MinIO群集,以避免驱动器上出现随机I/O。将高并发I/O转换为顺序I/O的方法是通过减少每个集群允许的并发操作数。这使MinIO集群在操作上可以应对此类工作负载,同时还可以确保驱动器具有最佳效率和响应能力。 + +示例:限制MinIO群集在群集的所有节点上最多接受1600个S3兼容的API请求。 + +```sh +export MINIO_API_REQUESTS_MAX=1600 +export MINIO_ACCESS_KEY=your-access-key +export MINIO_SECRET_KEY=your-secret-key +minio server http://server{1...8}/mnt/hdd{1...16} +``` + +或者 + +```sh +mc admin config set myminio/ api requests_max=1600 +mc admin service restart myminio/ +``` + +> 注意: `requests_max`为零意味着无限制,这也是默认的行为。 + +### 配置连接(等待)期限 +此值与最大连接设置一起使用,设置此值可允许长时间等待的请求,在没有可用空间执行请求时快速超时。 + +当客户端未配置超时时,这将减少等待请求的堆积。如果启用了*MINIO_API_REQUESTS_MAX*,则默认等待时间为*10秒*。根据您的应用程序需求,这可能需要进行调整。 + +示例: 限制MinIO群集在8个服务器上,最多可以接受1600个S3兼容API并发请求,并将每个API操作的等待期限设置为*2分钟*。 + +```sh +export MINIO_API_REQUESTS_MAX=1600 +export MINIO_API_REQUESTS_DEADLINE=2m +export MINIO_ACCESS_KEY=your-access-key +export MINIO_SECRET_KEY=your-secret-key +minio server http://server{1...8}/mnt/hdd{1...16} +``` + +或者 + +```sh +mc admin config set myminio/ api requests_max=1600 requests_deadline=2m +mc admin service restart myminio/ +``` +