<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
MinIO 是高效能的物件儲存,是為海量資料儲存、人工智慧、巨量資料分析而設計的,它完全相容Amazon S3介面,單個物件最大可達5TB,適合儲存海量圖片、視訊、紀錄檔檔案、備份資料和容器/虛擬機器器映象等。MinIO主要採用Golang語言實現,,使用者端與儲存伺服器之間採用http/https通訊協定。
1、首頁
2、下載
3、中文檔案
http://docs.minio.org.cn/docs/
MinIO分散式叢集是指在多個伺服器節點均部署MinIO服務,並將其組建為分散式儲存叢集,對外提供標準S3介面以進行統一存取。
MinIO叢集採用去中心化無共用架構,各節點間為對等關係,連線至任一節點均可實現對叢集的存取。在我們的方案中還選擇了Nginx的輪詢實現各個節點的負載均衡。
資料物件在MinIO叢集中進行儲存時,先進行糾刪分片,後打散儲存在各硬碟上。具體為:
假設某MinIO叢集內糾刪組包含4塊硬碟,某資料物件名為MyObject,其隸屬儲存桶名為MyBucket,雜湊計算得到對應的糾刪組為Disk 14。那麼在Disk 14的資料路徑下,都會生成MyBucket/MyObject子路徑,子路徑中包含2個檔案,分別為儲存後設資料資訊的xl.meta和MyObject物件在該盤上的第一個分片part.1。其中,xl表示MinIO中資料物件的預設儲存格式。
1、S3
Simple Storage Service,簡單儲存服務,這個概念是Amazon在2006年推出的,物件儲存就是從那個時候誕生的。S3提供了一個簡單Web服務介面,可用於隨時在Web上的任何位置儲存和檢索任何數量的資料。
2、Object
儲存到 Minio 的基本物件,如檔案、位元組流,Anything...
3、Bucket
用來儲存 Object 的邏輯空間。每個 Bucket 之間的資料是相互隔離的。
4、Drive
部署 Minio 時設定的磁碟,Minio 中所有的物件資料都會儲存在 Drive 裡。
5、Set
一組 Drive 的集合,分散式部署根據叢集規模自動劃分一個或多個 Set ,每個 Set 中的 Drive 分佈在不同位置。一個物件儲存在一個 Set 上。
糾刪碼是一種恢復丟失和損壞資料的數學演演算法,目前,糾刪碼技術在分散式儲存系統中的應用主要有三類,陣列糾刪碼(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)裡德-所羅門類糾刪碼和LDPC(LowDensity Parity Check Code)低密度奇偶校驗糾刪碼。Erasure Code是一種編碼技術,它可以將n份原始資料,增加m份校驗資料,並能通過n+m份中的任意n份原始資料,還原為原始資料。即如果有任意小於等於m份的校驗資料失效,仍然能通過剩下的資料還原出來。
Minio採用Reed-Solomon code將物件拆分成N/2資料和N/2 奇偶校驗塊。
在同一叢集內,MinIO 自己會自動生成若干糾刪組(Set),用於分佈存放桶資料。一個糾刪組中的一定數量的磁碟發生的故障(故障磁碟的數量小於等於校驗盤的數量),通過糾刪碼校驗演演算法可以恢復出正確的資料。
有兩臺伺服器:
1、在每臺伺服器上建立minio目錄
mkdir -p /home/minio/{run,data1,data2} && mkdir -p /etc/minio
2、下載或者上傳下載好的minio二進位制檔案
官網下載地址:
https://dl.min.io/server/minio/release/linux-amd64/minio
3、叢集啟動檔案設定
Minio預設9000埠,在組態檔中加入–address “127.0.0.1:9029” 可更改埠
注意 :
vim /home/minio/run/minio-run.sh
叢集節點192.168.3.17內容為
#!/bin/bash export MINIO_ACCESS_KEY=admin export MINIO_SECRET_KEY=admin123 /home/minio/run/minio server --config-dir /etc/minio --address "192.168.3.17:9000" http://192.168.3.17/home/minio/data1 http://192.168.3.17/home/minio/data2 http://192.168.3.18/home/minio/data1 http://192.168.3.18/home/minio/data2
叢集節點192.168.3.18內容為
#!/bin/bash export MINIO_ACCESS_KEY=admin export MINIO_SECRET_KEY=admin123 /home/minio/run/minio server --config-dir /etc/minio --address "192.168.3.18:9000" http://192.168.3.17/home/minio/data1 http://192.168.3.17/home/minio/data2 http://192.168.3.18/home/minio/data1 http://192.168.3.18/home/minio/data2
4、建立Minio.server,將minio加入系統服務
vim /usr/lib/systemd/system/minio.service
[Unit] Description=Minio service Documentation=https://docs.minio.io/ [Service] WorkingDirectory=/home/minio/run/ ExecStart=/home/minio/run/minio-run.sh Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
修改組態檔後需要過載入設定
systemctl daemon-reload
5、許可權修改
chmod +x /usr/lib/systemd/system/minio.service && chmod +x /home/minio/run/minio && chmod +x /home/minio/run/minio-run.sh
6、啟動叢集
systemctl start minio systemctl enable minio
檢視叢集狀態
systemctl status minio.service -l
apt-get install nginx
nginx檔案安裝完成之後的檔案位置:
/usr/sbin/nginx
:主程式/etc/nginx
:存放組態檔/usr/share/nginx
:存放靜態檔案/var/log/nginx
:存放紀錄檔為了保證安全性,將採用https形式存取minio,下面展示再伺服器本地生成ssl證書,並且整合到nginx中。
1、建立證書目錄
[root@localhost ~]# cd /etc/nginx/ [root@localhost nginx]# mkdir ssl [root@localhost nginx]# cd ssl/
2、生成一個RSA金鑰
[root@localhost ssl]# openssl genrsa -des3 -out nginx.key 1024 #實際使用中看伺服器效能,如果足夠好也可以使用4096位祕鑰 Generating RSA private key, 1024 bit long modulus .......++++++ ...++++++ e is 65537 (0x10001) Enter pass phrase for nginx.key: 123456 #輸入密碼,自定義 Verifying - Enter pass phrase for nginx.key: 123456 #確認密碼
3、生成一個證書請求
[root@localhost ssl]# openssl req -new -key nginx.key -out nginx.csr Enter pass phrase for nginx.key: #輸入剛剛建立的祕密碼 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:CN #國家名稱 State or Province Name (full name) []:JiangSu #省 Locality Name (eg, city) [Default City]:NanJing #市 Organization Name (eg, company) [Default Company Ltd]:Dwing #公司 Organizational Unit Name (eg, section) []:Tech #部門 Common Name (eg, your name or your server's hostname) []:*.generalstorage.com #注意,此處應當填寫你要部署的域名,如果是單個則直接新增即可,如果不確定,使用*,表示可以對所有generalstorage.com的子域名做認證 Email Address []:admin@generalstorage.com #以域名結尾即可 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: #是否設定密碼,可以不寫直接回車 An optional company name []: #其他公司名稱 可不寫
4、建立不需要輸入密碼的RSA證書,否則每次reload、restart都需要輸入密碼
[root@localhost ssl]# openssl rsa -in nginx.key -out nginx_nopass.key Enter pass phrase for nginx.key: #之前RSA祕鑰建立時的密碼 writing RSA key
5、簽發證書(由於是測試自己簽發,實際應該將自己生成的csr檔案提交給SSL認證機構認證)
[root@localhost ssl]# openssl x509 -req -days 3650 -in nginx.csr -signkey nginx.key -out nginx.crt Signature ok subject=/C=CN/ST=JiangSu/L=NanJing/O=Dwing/OU=Tech/CN=*.generalstorage.com/emailAddress=admin@generalstorage.com Getting Private key Enter pass phrase for nginx.key: #RSA建立時的密碼
server { listen 80 default_server; listen [::]:80 default_server; server_name test.generalstorage.com; include /etc/nginx/default.d/*.conf; return 301 https://$server_name$request_uri; #在80監聽埠 設定跳轉 } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name test.generalstorage.com; client_max_body_size 20M; charset utf-8; ssl_certificate "/etc/nginx/ssl/nginx.crt"; # ssl_certificate_key "/etc/nginx/ssl/nginx_nopass.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location /{ proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://minio_server; } }
啟動服務
[root@localhost nginx]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@localhost nginx]# systemctl restart nginx
本地hosts繫結域名
192.168.3.17 test.generalstorage.com
瀏覽器中輸入:https://test.generalstorage.com/
輸入賬號/密碼:admin/admin123
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45