使用s3fs-fuse 掛載minio s3 對象存儲


minio 是一個aws s3 兼容的對象存儲系統,我們可以通過s3fs 進行數據桶的掛載,這樣可以做好多方便的事情

環境准備

使用docker-compose 運行

  • minio docker-compose 文件
version: "3"
services:
  s3:
    image: minio/minio
    command: server /export
    ports:
    - "9000:9000"
    volumes:
      - ./data:/data
      - ./config:/root/.minio
    environment:
    - "MINIO_ACCESS_KEY=dalongapp"
    - "MINIO_SECRET_KEY=dalongapp"
  • 安裝s3fs-fuse

    centos 系統

yum install -y s3fs-fuse 
  • 配置.passwd-s3fs

    注意這個文件的權限,(目前我測試600 是沒有問題的,實際參考操作提示解決)

echo dalongapp:dalongapp > .passwd-s3fs
chmod 600 .passwd-s3fs
  • 創建桶

如下圖:

掛載文件系統

  • s3fs
創建掛載點
mkdir /opt/webhooks
s3fs -o passwd_file=.passwd-s3fs -o use_path_request_style -o endpoint=us-east-1 -o url=http://localhost:9000 -o bucket=app /opt/webhooks
  • 文件信息查詢
ls  -sailh /op/webhooks
   1 512 drwx------ 1 root root 0 1月 1 1970 .
131074 4.0K drwxr-xr-x. 12 root root 4.0K 4月 29 13:30 ..
     2 2.5K -rw-r----- 1 root root 2.2K 4月 29 13:05 hooks.json
     3 512 drwxr-x--- 1 root root 0 1月 1 1970 rong

掛載中的幾個問題

  • password 權限
 credentials file .passwd-s3fs should not have others permissions.
設置 .passwd-s3fs 文件權限 600
  • openssl 問題
s3fs[18691]: init v1.85(commit:unknown) with OpenSSL
這個看這個目前基本是可以使用的,基本問題不大
  • unable to access MOUNTPOINT
注意需要配置.passwd-s3fs 文件,同時添加參數

一個簡單使用掛載s3 文件系統的例子

  • webhook 功能
啟動運行文件
/usr/bin/webhook -port 9001 -hooks /opt/webhooks/hooks.json -verbose -hotreload
  • systemd 配置
[Unit]
Description=webhook

[Service]
Type=simple
User=root
Group=root
# Load env vars from /etc/default/ and /etc/sysconfig/ if they exist.
# Prefixing the path with '-' makes it try to load, but if the file doesn't
# exist, it continues onward.
EnvironmentFile=-/etc/default/webhook
EnvironmentFile=-/etc/sysconfig/webhook
ExecStart=/usr/bin/webhook -port 9001 -hooks $OPTHOOKS -verbose -hotreload
Restart=always

[Install]
WantedBy=multi-user.target
  • 運行配置
/etc/default/webhook
OPTHOOKS= "/opt/webhooks/hooks.json"

說明

使用s3fs 掛載方式,對於我們進行開發中配置的變動,還是很方便的,中心話,可以通過直接修改信息,然后重新上傳配置,部分應用可能需要重啟
生效配置

參考資料

https://github.com/s3fs-fuse/s3fs-fuse


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM