基于MinIO打造高可靠分布式“当地”文件体系

种地  金牌会员 | 2024-12-7 18:36:52 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

MinIO是一款高性能的对象存储服务,而S3协议是由亚马逊Web服务(AWS)制定的一种标准协议,用于云存储服务之间的数据互换。MinIO与S3协议的关系在于,MinIO实现了S3协议的接口,这意味着用户可以使用与AWS S3雷同的API来与MinIO进行交互。因此,MinIO可以或许与支持S3协议的各种工具和应用步伐兼容,为用户提供一个与AWS S3高度兼容的存储办理方案。

基于S3协议的对象存储服务具有以下优势:起首,它提供了高度可扩展的存储办理方案,可以或许容纳海量数据,而且易于水平扩展。其次,S3协议的对象存储支持restful API,便于应用集成。别的,它还具备高可用性和长期性,确保数据安全可靠。末了,基于S3协议的对象存储服务本钱较低,用户只需按实际使用量付费,无需前期投资大量硬件装备。

Linux 安装步调
Minio 下载文件安装
1、下载所在
  1. wget https://dl.min.io/server/minio/release/linux-amd64/minio
复制代码
2、修改文件执行权限
  1. chmod +x minio
复制代码
3、启动,随机端口启动
  1. ./minio server /data/miniodata
  2. # 或者指定密码执行
  3. MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server /data/miniodata
  4. # 指定密码,配置文件地址,数据存放地址启动
  5. MINIO_ACCESS_KEY=myminioadmin MINIO_SECRET_KEY=myminioadmin ./minio server --config-dir /config/minio/config /data/miniodata
复制代码

注意:以上启动方式端口是随机的,必要开放随机端谈锋可以访问
4、指定端口启动
控制台监听端口是动态生成的,可以通过–console-address ":port"指定静态端口
  1. ./minio server --console-address ":9000" /data/miniodata
复制代码
5、防火墙检察
  1. # 查看防火墙状态1
  2. systemctl status firewalld 或者 systemctl status firewalld.service
  3. # 查看防火墙状态2
  4. firewall-cmd --state
  5. # 开启/关闭/重启防火墙
  6. systemctl start/stop/restart firewalld
  7. # firewall防火墙,查询端口是否开放
  8. firewall-cmd --query-port=9000/tcp
  9. # 开放9000端口
  10. firewall-cmd --permanent --add-port=9000/tcp
  11. # 移除端口
  12. firewall-cmd --permanent --remove-port=9000/tcp
  13. #重启防火墙(修改配置后要重启防火墙)
  14. firewall-cmd --reload
  15. # 查看防火墙所有端口
  16. firewall-cmd --zone=public --list-ports
复制代码
6、背景启动,指定输出日记文件
  1. nohup ./minio server /data/miniodata --config-dir /config/minio/config --console-address ":80" --address ":9000" > /data/miniodata/minio.log 2>&1 &
复制代码
7、修改密码,执行完修改密码命令,在执行第6步
  1. export MINIO_ACCESS_KEY=admin
  2. export MINIO_SECRET_KEY=admin123
复制代码
增补说明
  1. # 数据存放地址
  2. /data/miniodata
  3. # minio 配置放地址
  4. --config-dir /config/minio/config
  5. # 浏览器访问暴露端口
  6. --console-address ":80"
  7. # 内网访问地址端口
  8. --address ":9000"
  9. # 日志存放地址
  10. /data/miniodata/minio.log
复制代码
S3FS是一个开源的文件体系,它答应用户将Amazon S3(Simple Storage Service)存储桶挂载到当地文件体系中,使得用户可以像操纵当地文件一样读写S3中的数据,无需改变现有的应用步伐代码或工具。通过S3FS,用户可以或许在不牺牲S3的长期性和可用性的同时,享受到无缝的文件存储体验。
  1. # 安装启用 EPEL 仓库
  2. yum install epel-release -y
  3. # 安装 s3fs
  4. yum install s3fs-fuse -y
  5. # 查看 s3fs 版本,确定是否成功安装
  6. s3fs --version
复制代码
  1. cat > /etc/passwd-s3fs <<-'EOF'
  2. root:12345678
  3. EOF
  4. chmod 600 /etc/passwd-s3fs
  5. mkdir -p /mnt/volumes
  6. s3fs volumes /mnt/volumes -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.31.230:9000 -o use_path_request_style
复制代码
  1. [root@localhost s3fs-fuse]# cat > /etc/passwd-s3fs <<-'EOF'
  2. > root:12345678
  3. > EOF
  4. [root@localhost s3fs-fuse]# chmod 600 /etc/passwd-s3fs
  5. [root@localhost s3fs-fuse]# mkdir -p /mnt/volumes
  6. [root@localhost s3fs-fuse]# s3fs volumes /mnt/volumes -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.31.230:9000 -o use_path_request_style
  7. [root@localhost s3fs-fuse]# df -h
  8. 文件系统                 容量  已用  可用 已用% 挂载点
  9. devtmpfs                 7.8G     0  7.8G    0% /dev
  10. tmpfs                    7.8G     0  7.8G    0% /dev/shm
  11. tmpfs                    7.8G   12M  7.8G    1% /run
  12. tmpfs                    7.8G     0  7.8G    0% /sys/fs/cgroup
  13. /dev/mapper/centos-root   37G   20G   18G   53% /
  14. /dev/sda1               1014M  152M  863M   15% /boot
  15. overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/fed98c3a97bc3e29e555d9fb1694fe2caf9b7a9da8ae12b5dd0c056a671ce7e5/merged
  16. overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/1fbde6ceca8835769d17ee70757842fce2fb74f2af5c0fea0dc3f5788915d305/merged
  17. tmpfs                    1.6G     0  1.6G    0% /run/user/0
  18. overlay                   37G   20G   18G   53% /var/lib/docker/overlay2/d5d5bfb9250d988dd0b65e7053acb7049a20dcea364508918a3d78f34485ed1b/merged
  19. s3fs                      64P     0   64P    0% /mnt/volumes
复制代码
  1. [root@localhost s3fs-fuse]# cd /mnt/volumes/
  2. [root@localhost volumes]# cat > index.html <<-'EOF'
  3. > ABC
  4. > EOF
复制代码
卸载挂载目次
  1. yum remove s3fs-fuse -y
复制代码
  1. umount /mnt/volumes
  2. #强制卸载
  3. umount /mnt/volumes
复制代码
调试挂载信息,排查异常
  1. # 在挂载命令后增加几个参数 -d -f -o f2 -o curldbg 即可
  2. # -d:启用调试模式。该选项会输出更详细的调试信息,用于故障排除和调试目的。
  3. # -f:以前台模式运行。通常,s3fs 在后台运行并将挂载的 S3 存储桶映射到本地目录。使用 -f 选项,s3fs 将在前台运行,并将输出信息打印到终端。
  4. # -o f2:指定文件系统选项 "f2"。这个选项是 s3fs 的一个特殊选项,用于启用 FUSE 文件系统的第二代实现。它可用于提供更高的性能和可靠性。
  5. # -o curldbg:启用 cURL 调试输出。cURL 是 s3fs 使用的底层工具之一,用于与 S3 存储桶进行通信。启用 -o curldbg 选项会输出关于 cURL 请求和响应的详细调试信息,用于诊断和分析与 S3 存储桶的通信问题。
  6. s3fs s3-bucket /mnt/minio/s3-bucket -o passwd_file=/etc/passwd-s3fs -o url=http://192.168.198.144:9000 -o use_path_request_style -d -f -o f2 -o curldbg
复制代码

开机启动自动挂载
  1. # 编辑配置文件
  2. vi /etc/fstab
  3. # 查看配置文件
  4. cat /etc/fstab
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表