亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文僅介紹在linux系統中部署minio

軟件下載

?。?!強烈建議同一個業務系統使用同一固定版本,防止版本變動帶來的不必要的問題

下載最新版文件

wget https://dl.min.io/server/minio/release/linux-amd64/minio wget https://dl.min.io/client/mc/release/linux-amd64/mc

注意:

 

  1. 生產環境部署時,密碼一定要更換?。。?/li>
  2. 文中的IP地址一定要換成自己的實際IP地址。
  3. 注意防火墻的端口開放[9000-9010],[19000-19010],當然也可以更換為自己想要的端口。

 

部署運行 安裝minio 和 mc chmod +x minio mv minio /usr/local/bin/ chmod +x mc mv mc /usr/local/bin/ 創建minio用戶 # 創建用戶組:-r創建一個系統賬戶 groupadd -r minio # 創建用戶 -M不創建用戶的主目錄 -r創建一個系統賬戶 -g新賬戶主組的名稱或 ID useradd -M -r -g minio minio 腳本方式部署

首先我們建議將腳本統一放在/opt/minio目錄下,并授權給minio用戶,包括后面自行編寫的導入導出腳本

# 授權用戶目錄權限 chown minio:minio /opt/minio # 賦予腳本執行權限 chmod 777 /opt/minio/*.sh

單節點單驅動器部署

不具有糾刪碼校驗修復能力 簡單、快速部署

 

1.創建和授權minio用戶數據目錄

mkdir /mnt/data chown minio:minio /mnt/data

2.啟動腳本 /opt/minio/minio-simple-start.sh

#!/bin/bash RUNNING_USER=minio MINIO_root_USER=minioadmin MINIO_ROOT_PASSword=miniopwd MINIO_DATA=/mnt/data START_CMD="MINIO_ROOT_USER=${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} nohup minio server --console-address ":19000" ${MINIO_DATA} > ./minio-simple-run.log 2>&1 &" su ${RUNNING_USER} -c "${START_CMD}" echo "${START_CMD}"

3.管理操作

# 啟動實例 ./minio-simple-start.sh # 訪問控制臺 (注意:訪問http://ip:9000也會直接重定向到19000端口) http://ip:19000 # 查看日志 tail -100f minio-simple-run.log # 查看所有minio進程 ps -ef |grep minio # 殺死所有minio進程 ps -aux | grep minio | awk '{print $2}' | xargs kill


 

單節點多驅動器部署

具有糾刪碼校驗修復能力 下例中/mnt/disk{1...4},用的是目錄模擬的驅動器,實際生產環境中,應掛載為4個磁盤

 

1.創建和授權minio用戶數據模擬的驅動器目錄

mkdir /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4 chown minio:minio /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4

2.啟動腳本 /opt/minio/minio-start.sh

#!/bin/bash RUNNING_USER=minio MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=miniopwd MINIO_DATA=/mnt/disk{1...4} # CI=true 允許根目錄磁盤作為驅動器(模擬時使用,生產環境可去除) START_CMD="MINIO_ROOT_USER=${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} CI=true nohup minio server --console-address ":19000" ${MINIO_DATA} > ./minio-run.log 2>&1 &" su ${RUNNING_USER} -c "${START_CMD}" echo "${START_CMD}"

3.管理操作

# 啟動實例 ./minio-start.sh # 訪問控制臺 (注意:訪問http://ip:9000也會直接重定向到19000端口) http://ip:19000 # 查看日志 tail -100f minio-run.log # 查看所有minio進程 ps -ef |grep minio # 殺死所有minio進程 ps -aux | grep minio | awk '{print $2}' | xargs kill


 

多節點多驅動器部署

具有糾刪碼校驗修復能力 模擬準備四個節點,每個節點四個驅動器 本例中用的是目錄模擬的節點和驅動器,實際生產環境中,應以4個服務器作為節點,每個節點掛載為4個磁盤

 

1.創建和授權minio用戶數據模擬的節點以及驅動器目錄

mkdir /mnt/mdata && mkdir /mnt/mdata/node1 /mnt/mdata/node2 /mnt/mdata/node3 /mnt/mdata/node4 mkdir /mnt/mdata/node1/disk1 /mnt/mdata/node1/disk2 /mnt/mdata/node1/disk3 /mnt/mdata/node1/disk4 mkdir /mnt/mdata/node2/disk1 /mnt/mdata/node2/disk2 /mnt/mdata/node2/disk3 /mnt/mdata/node2/disk4 mkdir /mnt/mdata/node3/disk1 /mnt/mdata/node3/disk2 /mnt/mdata/node3/disk3 /mnt/mdata/node3/disk4 mkdir /mnt/mdata/node4/disk1 /mnt/mdata/node4/disk2 /mnt/mdata/node4/disk3 /mnt/mdata/node4/disk4 # 賦予用戶和文件夾讀寫權限,否則會無權限錯誤 chown minio:minio /mnt/mdata # 賦予所有節點可讀寫權限,否則建立驅動器時會報錯 chmod -R 777 /mnt/mdata

2.啟動腳本 /opt/minio/minio-multi-start.sh

#!/bin/bash RUNNING_USER=minio MINIO_HOST=192.168.1.110 MINIO_ROOT_USER="minioadmin" MINIO_ROOT_PASSWORD="miniopwd" for i in {1..4}; do START_CMD="MINIO_ROOT_USER=${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} nohup minio server --address "${MINIO_HOST}:900${i}" --console-address "${MINIO_HOST}:1900${i}" http://${MINIO_HOST}:9001/mnt/mdata/node1/disk{1...4} http://${MINIO_HOST}:9002/mnt/mdata/node2/disk{1...4} http://${MINIO_HOST}:9003/mnt/mdata/node3/disk{1...4} http://${MINIO_HOST}:9004/mnt/mdata/node4/disk{1...4} > ./minio-multi-run${i}.log 2>&1 &" su ${RUNNING_USER} -c "${START_CMD}" echo "${START_CMD}" done

3.管理操作

# 啟動實例 ./minio-multi-start.sh # 訪問控制臺 (注意:訪問http://ip:9001也會直接重定向到19001端口) http://ip:19001 http://ip:19002 ... # 查看日志 tail -100f minio-multi-run1.log tail -100f minio-multi-run2.log ... # 查看所有minio進程 ps -ef |grep minio # 殺死所有minio進程 ps -aux | grep minio | awk '{print $2}' | xargs kill

4.多節點Nginx負載均衡

upstream minio { server 192.168.1.110:9001; server 192.168.1.110:9002; server 192.168.1.110:9003; server 192.168.1.110:9004; } server{ listen 9000; server_name 192.168.1.110; ignore_invalid_headers off; proxy_buffering off; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; proxy_set_header Host $http_host; proxy_connect_timeout 300; #秒 proxy_http_version 1.1; client_body_buffer_size 100m; client_max_body_size 1000m; chunked_transfer_encoding off; proxy_ignore_client_abort on; proxy_pass http://minio; } }

然后就可以通過:192.168.1.110:9000 直接訪問API了,當然訪問控制臺還是會重定向到1900{1...4}端口。


 

服務方式部署 官方文檔

官方文檔

https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html

 

使用多驅動器的建議
  1. 如果使用多驅動器,強烈建議使用具有 XFS 格式磁盤的直連 JBOD 陣列,以獲得最佳性能。
  2. 多個磁盤確保具有相同的容量和格式,否則minio會限制每個磁盤的容量為最小的那個。
  3. 掛在磁盤時確保使用/etc/fstab,保證每次重啟自動掛載磁盤。
  4. MinIO 不支持將具有現有 MinIO 數據的驅動器任意遷移到新的掛載位置
mkfs.xfs /dev/sdb -L DISK1 mkfs.xfs /dev/sdc -L DISK2 mkfs.xfs /dev/sdd -L DISK3 mkfs.xfs /dev/sde -L DISK4 nano /etc/fstab # LABEL=DISK1 /mnt/disk1 xfs defaults,noatime 0 2 LABEL=DISK2 /mnt/disk2 xfs defaults,noatime 0 2 LABEL=DISK3 /mnt/disk3 xfs defaults,noatime 0 2 LABEL=DISK4 /mnt/disk4 xfs defaults,noatime 0 2 單節點單/多驅動器部署

 

1.創建 /etc/systemd/system/minio.service 服務

cd /etc/systemd/system/ touch minio.service

/etc/systemd/system/minio.service
[Unit] Description=MinIO Documentation=https://min.io/docs/minio/linux/index.html Wants.NETwork-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local # Run Os User User=minio Group=minio ProtectProc=invisible EnvironmentFile=/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; exit 1; fi" ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES # Let systemd Restart this service always Restart=always # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Specifies the maximum number of threads this process can create TasksMax=infinity # Disable timeout logic and wait until process is stopped TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target # Built for ${project.name}-${project.version} (${project.name})

 

2.創建和授權minio用戶數據模擬的驅動器目錄

# 用于模擬多驅動器的目錄 mkdir /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4 chown minio:minio /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4 # 用于單驅動器的目錄 mkdir /mnt/data chown minio:minio /mnt/data

3.創建環境變量(注意更改用戶名/密碼)

# windows的在C:minioconfig touch /etc/default/minio vi /etc/default/minio

/etc/default/minio 文件內容如下
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server. # This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment. # Omit to use the default values 'minioadmin:minioadmin'. # MinIO recommends setting non-default values as a best practice, regardless of environment MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=miniopwd # MINIO_VOLUMES sets the storage volume or path to use for the MinIO server. # 單驅動器 # MINIO_VOLUMES="/mnt/data" # 多驅動器(至少4個以上) MINIO_VOLUMES="/mnt/disk{1...4}" # 控制臺訪問端口 MINIO_OPTS="--console-address :19000" # 該參數設置為true支持掛載根目錄的多驅動器部署(不建議) CI=true # MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server # MinIO assumes your network control plane can correctly resolve this hostname to the local machine # Uncomment the following line and replace the value with the correct hostname for the local machine. #MINIO_SERVER_URL="http://minio.example.net"

 

4.管理操作

# 啟用服務 systemctl enable minio.service # 啟動 sudo systemctl start minio.service systemctl start minio.service # 重啟 systemctl restart minio.service # 停止 systemctl stop minio.service # 查看狀態 systemctl status minio.service journalctl -f -u minio.service 多節點多驅動器

對于多節點驅動器部署,至少需要4個以上的節點才能滿足最低的糾刪碼校驗修復功能

多節點多驅動器服務部署是官方的方式目前沒有實驗過,所以本文檔可能參考的意義不多。

建議可直接翻閱官方文檔。

多節點多驅動器官方文檔

https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html

MinIO 強烈建議為部署中的所有節點選擇基本相似的硬件配置。確保硬件(CPU、內存、主板、存儲適配器)和軟件(操作系統、內核設置、系統服務)在所有節點上保持一致。

1.按照單節點的步驟部署4臺存儲服務

 

部署具有單個服務器池,該池由四個具有順序主機名的 MinIO 服務器主機組成。
# IP 192.168.10.101 192.168.10.102 192.168.10.103 192.168.10.104 # 或主機名 minio1.example.com minio3.example.com minio2.example.com minio4.example.com
每個服務器上的 /etc/default/minio 文件內容調整如下
# Set the hosts and volumes MinIO uses at startup # The command uses MinIO expansion notation {x...y} to denote a # sequential series. # # The following example covers four MinIO hosts # with 4 drives each at the specified hostname and drive locations. # The command includes the port that each MinIO server listens on # (default 9000) # MINIO_VOLUMES="http://192.168.10.10{1...4}:9000/mnt/disk{1...4}" MINIO_VOLUMES="https://minio{1...4}.example.net:9000/mnt/disk{1...4}" # Set all MinIO server options # # The following explicitly sets the MinIO Console listen address to # port 9001 on all network interfaces. The default behavior is dynamic # port selection. MINIO_OPTS="--console-address :19000" # Set the root username. This user has unrestricted permissions to # perform S3 and administrative API operations on any resource in the # deployment. # # Defer to your organizations requirements for superadmin user name. MINIO_ROOT_USER=minioadmin # Set the root password # # Use a long, random, unique string that meets your organizations # requirements for passwords. MINIO_ROOT_PASSWORD=miniopwd # 負載均衡URL設置 # Set to the URL of the load balancer for the MinIO deployment # This value *must* match across all MinIO servers. If you do # not have a load balancer, set this value to to any *one* of the # MinIO hosts in the deployment as a temporary measure. # MINIO_SERVER_URL="http://192.168.10.100:9000" MINIO_SERVER_URL="https://minio.example.net:9000"

 

可能的問題 1. 遇到類似 Unknown lvalue 'ProtectProc' in section 'Service' # 升級systemd yum install systemd-* -y 2. Error: Disk /mnt/disk1 is part of root disk # 將 /etc/default/minio 文件下 設置CI=true # 這是因為minio默認不允許多驅動器模式直接使用根目錄的磁盤 CI=true

存儲遷移

主要是利用mc進行遷移操作

# 從機器1 遷移到 機器2 # 設置機器1別名 mc alias set mdata http://127.0.0.1:9000 minioadmin miniopwd # 查看已設置的別名列表 mc alias list # 導出備份 mdata:別名,base:存儲桶 mc cp --recursive mdata/base/ /mnt/minio_data_bak/ # 將minio_data_bak打包遷移到機器2 # 設置機器2別名 mc alias set mdata http://127.0.0.1:9000 minioadmin miniopwd # 導入備份文件 mdata:別名,base:存儲桶 mc cp --recursive /mnt/minio_data_bak/ mdata/base/

更多MC命令可參考官方文檔:mc命令操作說明

https://min.io/docs/minio/linux/reference/minio-mc.html#minio-client

結語

如有錯誤請指正,非常感謝!

分享到:
標簽:minio
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定