专业的编程技术博客社区

网站首页 > 博客文章 正文

在国产操作系统deepin部署minio分布式存储

baijin 2024-09-27 06:50:01 博客文章 8 ℃ 0 评论

我在网上淘的二手电脑台式机是安装国产操作系统deepin20.9,cpu 20核,内存32G。

之前几轮淘汰下来的旧硬盘,我买了个4插槽的硬盘外接插座,通过usb3.0接入台式机。这样我的台式机上就有5个盘,安装系统的512G固态硬盘,还有外接硬盘插座上4个大小不一的机械硬盘,为了保障数据安全,我决定使用单节点多硬盘的minio服务部署方式,将4个外接硬盘挂载到deepin操作系统。

硬盘格式化和挂载

4个硬盘挂载到操作系统分别是/dev/disk[b,c,d,e],然后我分别格式化4个硬盘并创建分区挂载,为了防止硬盘故障导致服务器启动异常,我采用启动后手动挂载硬盘。

先查看硬盘的uuid号,使用uuid号挂载避免外接硬盘序号变化

lsblk -o uuid,name

根据uuid编写挂载脚本mnt.sh

#/dev/sdb1
mount -t ext4 UUID=92fce36d-bee5-41be-87e8-cd3f8805de62 /diskb
#/dev/sdc1
mount -t ext4  UUID=38505c97-d664-4424-8ef3-225cc4298654 /diskc
#/dev/sdd1
mount -t ext4 UUID=9a8b890e-6414-4ec1-a9a0-46aaac87224a /diskd
#/dev/sde1
mount -t ext4 UUID=4a1f6403-6097-4de4-8262-b4a8dcef2dad /diske

挂载完成后df -h检查硬盘挂载状态

安装minio服务和客户端

到minio国内镜像站下载minio-server和minio-client

minio_20230413030807.0.0_amd64.deb,mcli_20230412022151.0.0_amd64.deb

sudo dpkg -i minio_20230413030807.0.0_amd64.deb
sudo dpkg -i mcli_20230412022151.0.0_amd64.deb

编写minio server启动脚本startminio.sh

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=[miniopassword]
minio server --console-address "127.0.0.1:9091" \
        --address "127.0.0.1:9090" \
        /diskb/minio \
        /diskc/minio \
        /diskd/minio \
        /diske/minio 

启动后登陆MinIO Console界面:

登陆后创建bucket

限制大小1T

再创建policy mycloud,使用如下json语句,将mycloud权限限制在mycloud bucket中:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::mycloud/*"
            ]
        }
    ]
}

然后创建用户mycloud,给它分配权限规则mycloud

使用mycloud权限登陆,可以正常管理mycloud bucke,表示用户创建和分配权限成功。

挂载成s3fs文件系统

操作系统安装s3fs软件,用于将minio的bucket挂载成文件系统。

sudo apt-get install s3fs

编写s3fs挂载脚本,也是使用手工挂载,避免出错。

首先按照格式"username:password"将mycloud的用户密码保存在root根目录下的文件$HOME/.passwd-s3fs,然后编写s3fs挂载脚本:

s3fs -o passwd_file=$HOME/.passwd-s3fs -o use_path_request_style  -o url=http://localhost:9090 -o bucket=mycloud /mycloud -o use_xattr  -o use_cache=/tmp  -o ensure_diskfree=500 -o mp_umask=0022 -o uid=1000 -o gid=1000

执行挂载脚本后,可以看到mycloud挂载起来了

这样,我们就成功的把minio存储挂载成一个网盘来使用。大家觉得我这样是不是非常精打细算,废物利用?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表