storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/README_zh_CN.md (about) 1 # MinIO Quickstart Guide [](https://slack.min.io) [](https://hub.docker.com/r/minio/minio/) 2 3 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 4 5 MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。 6 7 ## Docker 容器 8 ### 稳定版 9 ``` 10 docker run -p 9000:9000 \ 11 -e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \ 12 -e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \ 13 minio/minio server /data 14 ``` 15 16 ### 尝鲜版 17 ``` 18 docker run -p 9000:9000 \ 19 -e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \ 20 -e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \ 21 minio/minio:edge server /data 22 ``` 23 24 > 提示:除非你通过`-it`(TTY交互)参数启动容器,否则Docker将不会显示默认的密钥。一般情况下,并不推荐使用容器的默认密钥,更多Docker部署信息请访问 [这里](https://docs.min.io/docs/minio-docker-quickstart-guide) 25 26 ## macOS 27 ### Homebrew(推荐) 28 使用 [Homebrew](http://brew.sh/)安装minio 29 30 ```sh 31 brew install minio/stable/minio 32 minio server /data 33 ``` 34 35 > 提示:如果你之前使用 `brew install minio`安装过minio, 可以用 `minio/stable/minio` 官方镜像进行重装. 由于golang 1.8的bug,homebrew版本不太稳定。 36 ```sh 37 brew uninstall minio 38 brew install minio/stable/minio 39 ``` 40 41 ### 下载二进制文件 42 | 操作系统 | CPU架构 | 地址 | 43 | ---------- | -------- | ------ | 44 | Apple macOS | 64-bit Intel | https://dl.min.io/server/minio/release/darwin-amd64/minio | 45 ```sh 46 chmod 755 minio 47 ./minio server /data 48 ``` 49 50 ## GNU/Linux 51 ### 下载二进制文件 52 | 操作系统 | CPU架构 | 地址 | 53 | ---------- | -------- | ------ | 54 | GNU/Linux | 64-bit Intel | https://dl.min.io/server/minio/release/linux-amd64/minio | 55 ```sh 56 wget https://dl.min.io/server/minio/release/linux-amd64/minio 57 chmod +x minio 58 ./minio server /data 59 ``` 60 61 | 操作系统 | CPU架构 | 地址 | 62 | ---------- | -------- | ------ | 63 | GNU/Linux | ppc64le | https://dl.min.io/server/minio/release/linux-ppc64le/minio | 64 ```sh 65 wget https://dl.min.io/server/minio/release/linux-ppc64le/minio 66 chmod +x minio 67 ./minio server /data 68 ``` 69 70 ## 微软Windows系统 71 ### 下载二进制文件 72 | 操作系统 | CPU架构 | 地址 | 73 | ---------- | -------- | ------ | 74 | 微软Windows系统 | 64位 | https://dl.min.io/server/minio/release/windows-amd64/minio.exe | 75 ```sh 76 minio.exe server D:\Photos 77 ``` 78 79 ## FreeBSD 80 ### Port 81 使用 [pkg](https://github.com/freebsd/pkg)进行安装,MinIO官方并没有提供FreeBSD二进制文件, 它由FreeBSD上游维护,点击 [这里](https://www.freshports.org/www/minio)查看。 82 83 ```sh 84 pkg install minio 85 sysrc minio_enable=yes 86 sysrc minio_disks=/home/user/Photos 87 service minio start 88 ``` 89 90 ## 使用源码安装 91 92 采用源码安装仅供开发人员和高级用户使用,如果你还没有Golang环境, 请参考 [How to install Golang](https://golang.org/doc/install)。最低需要Golang版本为 [go1.16](https://golang.org/dl/#stable) 93 94 ```sh 95 GO111MODULE=on go get github.com/minio/minio 96 ``` 97 98 ## 为防火墙设置允许访问的端口 99 100 默认情况下,MinIO 使用端口9000来侦听传入的连接。如果你的平台默认阻止了该端口,则需要启用对该端口的访问。 101 102 ### ufw 103 104 对于启用了ufw的主机(基于Debian的发行版), 你可以通过`ufw`命令允许指定端口上的所有流量连接. 通过如下命令允许访问端口9000 105 106 ```sh 107 ufw allow 9000 108 ``` 109 110 如下命令允许端口9000-9010上的所有传入流量。 111 112 ```sh 113 ufw allow 9000:9010/tcp 114 ``` 115 116 ### firewall-cmd 117 118 对于启用了firewall-cmd的主机(CentOS), 你可以通过`firewall-cmd`命令允许指定端口上的所有流量连接。 通过如下命令允许访问端口9000 119 120 ```sh 121 firewall-cmd --get-active-zones 122 ``` 123 124 这个命令获取当前正在使用的区域。 现在,就可以为以上返回的区域应用端口规则了。 假如返回的区域是 `public`, 使用如下命令 125 126 ```sh 127 firewall-cmd --zone=public --add-port=9000/tcp --permanent 128 ``` 129 130 这里的`permanent`参数表示持久化存储规则,可用于防火墙启动、重启和重新加载。 最后,需要防火墙重新加载,让我们刚刚的修改生效。 131 132 ```sh 133 firewall-cmd --reload 134 ``` 135 136 ### iptables 137 138 对于启用了iptables的主机(RHEL, CentOS, etc), 你可以通过`iptables`命令允许指定端口上的所有流量连接。 通过如下命令允许访问端口9000 139 140 ```sh 141 iptables -A INPUT -p tcp --dport 9000 -j ACCEPT 142 service iptables restart 143 ``` 144 145 如下命令允许端口9000-9010上的所有传入流量。 146 147 ```sh 148 iptables -A INPUT -p tcp --dport 9000:9010 -j ACCEPT 149 service iptables restart 150 ``` 151 152 ## 使用MinIO浏览器进行验证 153 MinIO Server带有一个嵌入的Web对象浏览器,安装后使用浏览器访问[http://127.0.0.1:9000](http://127.0.0.1:9000),如果可以访问,则表示minio已经安装成功。 154 155  156 157 ## 使用MinIO客户端 `mc`进行验证 158 `mc` 提供了一些UNIX常用命令的替代品,像ls, cat, cp, mirror, diff这些。 它支持文件系统和亚马逊S3云存储服务。 更多信息请参考 [mc快速入门](https://docs.min.io/docs/minio-client-quickstart-guide) 。 159 160 ## 已经存在的数据 161 当在单块磁盘上部署MinIO server,MinIO server允许客户端访问数据目录下已经存在的数据。比如,如果MinIO使用`minio server /mnt/data`启动,那么所有已经在`/mnt/data`目录下的数据都可以被客户端访问到。 162 163 上述描述对所有网关后端同样有效。 164 165 ## 升级 MinIO 166 MinIO 服务端支持滚动升级, 也就是说你可以一次更新分布式集群中的一个MinIO实例。 这样可以在不停机的情况下进行升级。可以通过将二进制文件替换为最新版本并以滚动方式重新启动所有服务器来手动完成升级。但是, 我们建议所有用户从客户端使用 [`mc admin update`](https://docs.min.io/docs/minio-admin-complete-guide.html#update) 命令升级。 这将同时更新集群中的所有节点并重新启动它们, 如下命令所示: 167 168 ``` 169 mc admin update <minio alias, e.g., myminio> 170 ``` 171 172 > 注意: 有些发行版可能不允许滚动升级,这通常在发行说明中提到,所以建议在升级之前阅读发行说明。在这种情况下,建议使用`mc admin update`升级机制来一次升级所有服务器。 173 174 ### MinIO升级时要记住的重要事项 175 176 - `mc admin update` 命令仅当运行MinIO的用户对二进制文件所在的父目录具有写权限时才工作, 比如当前二进制文件位于`/usr/local/bin/minio`, 你需要具备`/usr/local/bin`目录的写权限. 177 - `mc admin update` 命令同时更新并重新启动所有服务器,应用程序将在升级后重试并继续各自的操作。 178 - `mc admin update` 命令在 kubernetes/container 环境下是不能用的, 容器环境提供了它自己的更新机制来更新。 179 - 对于联盟部署模式,应分别针对每个群集运行`mc admin update`。 在成功更新所有群集之前,不要将`mc`更新为任何新版本。 180 - 如果将`kes`用作MinIO的KMS,只需替换二进制文件并重新启动`kes`,可以在 [这里](https://github.com/minio/kes/wiki) 找到有关`kes`的更多信息。 181 - 如果将Vault作为MinIO的KMS,请确保已遵循如下Vault升级过程的概述:https://www.vaultproject.io/docs/upgrading/index.html 182 - 如果将MinIO与etcd配合使用, 请确保已遵循如下etcd升级过程的概述: https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrading-etcd.md 183 184 ## 了解更多 185 - [MinIO纠删码入门](https://docs.min.io/docs/minio-erasure-code-quickstart-guide) 186 - [`mc`快速入门](https://docs.min.io/docs/minio-client-quickstart-guide) 187 - [使用 `aws-cli`](https://docs.min.io/docs/aws-cli-with-minio) 188 - [使用 `s3cmd`](https://docs.min.io/docs/s3cmd-with-minio) 189 - [使用 `minio-go` SDK](https://docs.min.io/docs/golang-client-quickstart-guide) 190 - [MinIO文档](https://docs.min.io) 191 192 ## 如何参与到MinIO项目 193 请参考 [贡献者指南](https://github.com/minio/minio/blob/master/CONTRIBUTING.md)。欢迎各位中国程序员加入到MinIO项目中。 194 195 ## 授权许可 196 MinIO的使用受 Apache 2.0 License 约束,你可以在 [LICENSE](./LICENSE) 查看许可。