目录前言一、安装MinIO单机版1、创建数据存储目录及其配置文件目录2、创建完毕进入目录3、安装4、操作命令5、重置密码补充5.1、停止容器并移除旧容器5.2、启动新容器并设置新密码二、安装mc1、下载mc2、设置权限及其导入目录3、让用户在重启后也可以使用mc3.1、编辑文件3.2、增加路径3.3、刷新文件即刻生效三、数据迁移前言MinIO 是一个高性能的分布式对象存储系统。 它是软件定义的在行业标准硬件上运行并且 100% 开源主要许可证是 GNU AGPL v3。MinIO 的不同之处在于它从一开始就被设计为私有/混合云对象存储的标准。 因为 MinIO 是专门为对象而构建的所以单层架构可以毫不妥协地实现所有必要的功能。 结果是一个同时具有高性能、可扩展性和轻量级的云原生对象服务器。虽然 MinIO 在二级存储、灾难恢复和归档等传统对象存储用例方面表现出色但它在克服与机器学习、分析和云原生应用程序工作负载相关的挑战方面独树一帜。一、安装MinIO单机版1、创建数据存储目录及其配置文件目录mkdir -p /export/server/docker/minio/datamkdir -p /export/server/docker/minio/config2、创建完毕进入目录cd /export/server/docker/minio/ ll效果如下3、安装docker run -p 9000:9000 -p 9090:9090 --nethost --name minio -d --restartalways -e MINIO_ACCESS_KEYminioadmin -e MINIO_SECRET_KEYminioadmin -v /export/server/docker/minio/data:/data -v /export/server/docker/minio/config:/root/.minio minio/minio server /data --console-address :9090 -address :9000安装完毕浏览器访问http://ip:9090使用设置的账号密码即可登录系统。效果如下此时minio已经安装完毕4、操作命令停止命令docker stop minio启动命令docker start minio查看日志docker logs minio5、重置密码补充平时我们安装完MinIO后可能会涉及到修改密码操作但是Docker容器不支持直接修改密码不过不要着急也照样能实现密码重置功能移除旧容器再根据新账号新密码创建新容器即可5.1、停止容器并移除旧容器# 查看当前运行的MinIO容器docker ps | grep minio# 停止容器假设容器名为miniodocker stop minio# 删除旧容器数据卷不会丢失因已挂载到宿主机docker rm -f minio5.2、启动新容器并设置新密码通过环境变量 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 指定新凭据docker run -p 9000:9000 -p 9090:9090 \--name minio \-d \--restartalways \-e MINIO_ROOT_USERadmin \-e MINIO_ROOT_PASSWORDadmin \-v /export/server/docker/minio/data:/data \-v /export/server/docker/minio/config:/root/.minio \minio/minio server /data --console-address :9090此时容器修改密码完成二、安装mc1、下载mccurl https://dl.min.io/client/mc/release/linux-amd64/mc \--create-dirs \-o $HOME/minio-binaries/mc2、设置权限及其导入目录chmod x $HOME/minio-binaries/mcexport PATH$PATH:$HOME/minio-binaries/3、让用户在重启后也可以使用mc3.1、编辑文件vim ~/.bashrc3.2、增加路径export PATH$PATH:$HOME/minio-binaries/3.3、刷新文件即刻生效source ~/.bashrc三、数据迁移这里我们将上述安装的minio作为目标地址将我们已经存在的minio作为源地址进行迁移若没有minio源地址可以继续按一种操作继续安装一个minio作为源地址因为需要看到效果所以我们在源地址minio中手动创建几个bucket并在其下面上传数个文件等待迁移效果。1、设置minio源地址mc alias set minio1 http://192.168.10.11:9000 minioadmin minioadmin2、设置minio目标地址mc alias set minio2 http://192.168.10.12:9000 minioadmin minioadmin3、查看已经添加的minio信息mc config host ls效果如下4、全量迁移,重名文件不覆盖,bucket不存在会自动创建mc mirror minio1 minio2若只是迁移某个bucket,以test为例目标的bucket需要提前建好mc mirror minio1/test minio2/test若需要覆盖重名文件加--overwritemc mirror --overwrite minio1/test minio2/test执行过程如下等待操作完毕我们打开目标地址minio并登录后发现所有的bucket及其文件都迁移回来了有了这门技术后是不是发现自己可以打造一个云端文件存储系统了而且还全免费顶多就是购买一个服务器就算云服务器到期了在即将到期之前我们把数据进行迁移就可以实现文件的永不丢失了好啦今天的课程到此结束下课