2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Documenta officialis:https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html
Haec solutio usus MinIO in multi-nodo multi agitatori (MNMD) vel "distributi" configurationem explicavit. MNMD instruere incepti gradus perficiendi, promptitudinis et scalabilitas praebent ac topologiam commendatam pro omnibus laboribus productionis exercent.
MNMD instruere sustinent lituras figurarum coding quae iacturam nodi tolerare possunt vel in instruere ad operas legendas perdurantes impellit.
Botrus instruere iudicium
Nodus consiliorum et orbis ordinatio sunt hae.
Node nomen | Node IP | minio orbis | mons punctum | sistema operatum |
---|---|---|---|---|
minio1.example.com | 192.168.72.51 | /dev/sdb /dev/sdc /dev/sdd /dev/sde | /var/lib/minio/data1/var/lib/minio/data2/var/lib/minio/data3/var/lib/minio/data4 | Ubuntu22.04 |
minio2.example.com | 192.168.72.52 | /dev/sdb /dev/sdc /dev/sdd /dev/sde | /var/lib/minio/data1/var/lib/minio/data2/var/lib/minio/data3/var/lib/minio/data4 | Ubuntu22.04 |
minio3.example.com | 192.168.72.53 | /dev/sdb /dev/sdc /dev/sdd /dev/sde | /var/lib/minio/data1/var/lib/minio/data2/var/lib/minio/data3/var/lib/minio/data4 | Ubuntu22.04 |
minio4.example.com | 192.168.72.54 | /dev/sdb /dev/sdc /dev/sdd /dev/sde | /var/lib/minio/data1/var/lib/minio/data2/var/lib/minio/data3/var/lib/minio/data4 | Ubuntu22.04 |
lb1.example.com | 192.168.72.55 | - | - | Ubuntu22.04 |
lb2.example.com | 192.168.72.56 | - | - | Ubuntu22.04 |
VIP | 192.168.72.100 | - | - | - |
Descriptio: VIP oratio resolvitminio.example.com
Nomen domain nomen ut unum introitum servat.
http://minio.example.com
http://minio.example.com/minio/ui
Botrus architecturae talis est:
Omnes nodi minio cum nominibus castrorum respective configurantur.
hostnamectl set-hostname minio1.example.com
hostnamectl set-hostname minio2.example.com
hostnamectl set-hostname minio3.example.com
hostnamectl set-hostname minio4.example.com
Omnes nodi minii cum hostiis solutionis separatim configurantur.
cat >/etc/hosts<<EOF
192.168.72.51 minio1.example.com
192.168.72.52 minio2.example.com
192.168.72.53 minio3.example.com
192.168.72.54 minio4.example.com
EOF
All minio nodi configuration times are synchronised.
Minio multi-nodi systemata servare debent tempus et diem synchronum ad stabilitatem inter nodi operationem et commercium conservandum.
apt install -y chrony
systemctl enable --now chrony
timedatectl set-timezone Asia/Shanghai
Singulis nodi oriuntur 4 orbes, quorum sda est ratio orbis;
root@minio1:~# lsblk -d -n -o NAME | grep '^sd'
sda
sdb
sdc
sdd
sde
In unaquaque nodo, quattuor directoria crea ut quattuor agitet conscendendum;
sudo mkdir -p /var/lib/minio/data1
sudo mkdir -p /var/lib/minio/data2
sudo mkdir -p /var/lib/minio/data3
sudo mkdir -p /var/lib/minio/data4
Singulis nodi separatim format disci ad systema fasciculi XFS;
sudo mkfs.xfs /dev/sdb -L DISK1
sudo mkfs.xfs /dev/sdc -L DISK2
sudo mkfs.xfs /dev/sdd -L DISK3
sudo mkfs.xfs /dev/sde -L DISK4
Configurare automatic adscendens
cat >>/etc/fstab<<EOF
LABEL=DISK1 /var/lib/minio/data1 xfs defaults,noatime 0 2
LABEL=DISK2 /var/lib/minio/data2 xfs defaults,noatime 0 2
LABEL=DISK3 /var/lib/minio/data3 xfs defaults,noatime 0 2
LABEL=DISK4 /var/lib/minio/data4 xfs defaults,noatime 0 2
EOF
conscendunt omnes in /etc/fstab
File systema definitum in lima sed nondum mounted
sudo mount -av
Confirmare quod tabella ratio annectitur Northmanni
root@minio1:~# df -hT
......
/dev/sdb xfs 100G 746M 100G 1% /var/lib/minio/data1
/dev/sdc xfs 100G 746M 100G 1% /var/lib/minio/data2
/dev/sdd xfs 100G 746M 100G 1% /var/lib/minio/data3
/dev/sde xfs 100G 746M 100G 1% /var/lib/minio/data4
Install Minio usura deb sarcina in se nodi seorsim
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20240704142545.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
usus groupadd
etuseradd
Imperat creare users et coetus
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown -R minio-user:minio-user /var/lib/minio
exist /etc/default/minio
Create environment files. Ministerium Minio hoc lima utitur ut Minio andminio.service
Fons omnium rerum variabilium in tabella usus est.
cat >/etc/default/minio<<EOF
MINIO_VOLUMES="http://minio{1...4}.example.com:9000/var/lib/minio/data{1...4}/minio"
MINIO_OPTS="--console-address :9001"
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=Minio@123456
MINIO_BROWSER_REDIRECT_URL="http://minio.example.com/minio/ui"
EOF
Praeceptum sequens mandatum de singulis nodi in instruere ad ministerium Minio committitur.
sudo systemctl restart minio.service
Confirmare ministerium online est et currit recte utens hoc mandato:
sudo systemctl status minio.service
journalctl -f -u minio.service
Aperire navigatrum et portum accessere :9001
quis MinIO hostname ut MinIO console login aperiat.Exempli gratia
http://minio1.example.com:9001
Uti minio_root_user
etminio_root_password
Log in.
MinIO consolatorio uti potes ad administrationem generalem munerum faciendam sicut identitas et accessus administratio, metrica et magna vigilantia, seu configurationis servientis. Quisque Minio servo suo Minio consolatorium infixa continet.
Documenta officialis:https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html
ususnginx
etkeepalived
Ad libramen onus assequendum, servientes 2 para ut nodos librans onus.
Hospes nomen in lb nodi respective configurare.
hostnamectl set-hostname lb1.example.com
hostnamectl set-hostname lb2.example.com
Configurare exercituum solutionem in lb nodi respective.
cat >/etc/hosts<<EOF
192.168.72.55 lb1.example.com
192.168.72.56 lb2.example.com
192.168.72.51 minio1.example.com
192.168.72.52 minio2.example.com
192.168.72.53 minio3.example.com
192.168.72.54 minio4.example.com
EOF
Instrue nginx et serva in 2 lymphaticorum;
apt install -y nginx keepalived
Configurationis limam crea nginx, electronicam ministrantem mitigare et portum auscultare customize, modificationes attendeserver_name
modulus;
cat > /etc/nginx/conf.d/minio-lb.conf <<'EOF'
upstream minio_s3 {
least_conn;
server minio1.example.com:9000;
server minio2.example.com:9000;
server minio3.example.com:9000;
server minio4.example.com:9000;
}
upstream minio_console {
least_conn;
server minio1.example.com:9001;
server minio2.example.com:9001;
server minio3.example.com:9001;
server minio4.example.com:9001;
}
server {
listen 80;
listen [::]:80;
server_name minio.example.com;
# Allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# Disable buffering
proxy_buffering off;
proxy_request_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass https://minio_s3; # This uses the upstream directive definition to load balance
}
location /minio/ui/ {
rewrite ^/minio/ui/(.*) /$1 break;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# To support websockets in MinIO versions released after January 2023
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)
# Uncomment the following line to set the Origin request to an empty string
# proxy_set_header Origin '';
chunked_transfer_encoding off;
proxy_pass https://minio_console; # This uses the upstream directive definition to load balance
}
}
EOF
Satus nginx ministerium
systemctl restart nginx
Configurationis limam conservativam crea et mutare secundum ambitum actualeminterface
etvirtual_ipaddress
Parametri duo nodi eandem conformationem habent;
cat > /etc/keepalived/keepalived.conf <<EOF
! Configuration File for keepalived
global_defs {
router_id minio
vrrp_version 2
vrrp_garp_master_delay 1
script_user root
enable_script_security
}
vrrp_script chk_nginx {
script "/usr/bin/killall -0 nginx"
timeout 3
interval 3 # check every 1 second
fall 2 # require 2 failures for KO
rise 2 # require 2 successes for OK
}
vrrp_instance lb-minio {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.72.100
}
track_script {
chk_nginx
}
}
EOF
Satus ad officium keepalvied
systemctl restart keepalived
VIP oratio videre generatae
root@lb1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:9a:92:75 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.72.55/24 brd 192.168.72.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.72.100/32 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe9a:9275/64 scope link
valid_lft forever preferred_lft forever
In machina, quae minio accedere debet, exercitum solutionis configurare
echo "192.168.72.100 minio.example.com" >>/etc/hosts
Minio consolatorium accessum pasco
http://minio.example.com/minio/ui/
Visum Metrica informationes:
Minio install client in aliqua machina
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin/
Minio configurare clientis
mc alias set myminio http://minio.example.com minioadmin Minio@123456
View botrum portassent statum per API interface
root@ubuntu:~# mc admin info myminio
● minio1.example.com:9000
Uptime: 25 minutes
Version: 2024-07-04T14:25:45Z
Network: 4/4 OK
Drives: 4/4 OK
Pool: 1
● minio2.example.com:9000
Uptime: 25 minutes
Version: 2024-07-04T14:25:45Z
Network: 4/4 OK
Drives: 4/4 OK
Pool: 1
● minio3.example.com:9000
Uptime: 25 minutes
Version: 2024-07-04T14:25:45Z
Network: 4/4 OK
Drives: 4/4 OK
Pool: 1
● minio4.example.com:9000
Uptime: 25 minutes
Version: 2024-07-04T14:25:45Z
Network: 4/4 OK
Drives: 4/4 OK
Pool: 1
Pools:
1st, Erasure sets: 1, Drives per erasure set: 16
16 drives online, 0 drives offline
root@ubuntu:~#