㈠ s3對象存儲下載什麼意思
S3 是 Amazon Web Services (AWS) 提供的一項服務, 它通過基於 RESTful API 的介面提供對象存儲。
㈡ 關於ceph rgw storage_class 的使用研究(amazon S3 智能分層 )
為什麼要研究這個?
因為rgw 沒找到橫向擴容的比較好的辦法。有些人是在rgw 上層再加一個接入層,在上面加數據記錄。比如一個「虛擬大bucket」,對應了下面多個集群的多個 bucket 。
無論哪一種辦法,都要增加額外的元數據管理系統。
看到amazon 的這個 storage class 被ceph rgw (Nautilus)支持後
我打算研究一下利用這個新功能做到幾件事
1 橫向 在bucket 下擴pool
2 通過 bucket 下同時支持多個 pool,提高讀寫吞吐。
3 利用 生命周期。前置ssd pool 。達到時間後把對象遷移到後面的廉價 COLD pool 比如 大容量sata 。
ceph 官網文檔 地址 https://docs.ceph.com/docs/master/radosgw/placement/
這個功能 amazon s3 在 2018年推出
發布於: Nov 26, 2018
S3 智能分層是一種新的 Amazon S3 存儲類,專為希望在數據訪問模式發生變化時自動優化存儲成本而不會影響性能或運營開銷的客戶而設計。S3 智能分層是第一個雲對象存儲類,通過在訪問模式發生變化時在兩個訪問層(頻繁訪問層和不頻繁訪問層)之間移動數據來實現自動節省成本,非常適用於訪問模式未知或不斷變化的數據。
ceph 官方在rgw Nautilus 版本中引入
首先說說 palcement 和 storage class 的區別
placement 是指 bucket 的放置屬性 ,storage class 是bucket 內每個對象的放置屬性。
placement 下面默認有個標准層 STANDARD 他對應的pool 默認default.rgw.buckets.data (這個pool 可修改為你想存放的 pool,)
"STANDARD": {
"data_pool": 「default.rgw.buckets.data」
每個 placemetn 都有個 STANDARD
你可以 添加自定義分層 比如 COLD 不只限於一個。可以多個。
上圖是我測試的placement 加的2個class。 可以分別對應不同的pool 。
pool 可以根據你的需要新建在不同的設備上 比如 ssd sas sata
根據我們以前的測試結果
bucket ==> placement storage class ==>pool
創建bucket 通過指定 placement 制定了 放置池組
PUT 對象時候 可以制定 storage_class 指定具體的pool
下面說說具體做法 ,我就在默認 的 default-placement操作測試
根據官網命令 To add a new storage class named COLD to the default-placement target, start by adding it to the zonegroup
先在 zonegroup 加入 tag
1)
$ radosgw-admin zonegroup placement add
--rgw-zonegroup default
--placement-id default-placement
--storage-class COLD
2)zone 中加入 具體 pool 官網例子加上了壓縮。這個可以根據需要配置是否加上
radosgw-admin zone placement add
--rgw-zone default
--placement-id default-placement
--storage-class COLD
--data-pool default.rgw.cold.data
--compression lz4
結果如下
placement_pools": [
{
"key": "default-placement」,
"val": {
"index_pool": 「default.rgw.buckets.index」,
"storage_classes": {
我們用 s3cmd 測試上傳
對我的 測試placement 做put 文件測試 (這里我用自定義 的placemet 做測試
指定 -storage-class=TEMPCOLD
s3cmd put cirros-0.3.5-x86_64-disk.img s3://bucket2/clodtest1 --storage-class=TEMPCOLD
upload: 'cirros-0.3.5-x86_64-disk.img' -> ' s3://bucket2/clodtest1' [1 of 1]
s3cmd info s3://bucket2/clodtest1
s3://bucket2/clodtest1 (object):
File size: 13267968
Last mod: Sun, 29 Mar 2020 07:03:34 GMT
MIME type: application/octet-stream
Storage: TEMPCOLD
MD5 sum:
如果不加參數
s3cmd put cirros-0.3.5-x86_64-disk.img s3://bucket2/clodtest3
upload: 'cirros-0.3.5-x86_64-disk.img' -> ' s3://bucket2/clodtest3' [1 of 1]
13267968 of 13267968 100% in 0s 27.25 MB/s done
數據會落在 STANDARD
s3://bucket2/clodtest3 (object):
File size: 13267968
Last mod: Sun, 29 Mar 2020 07:06:24 GMT
MIME type: application/octet-stream
Storage: STANDARD
經過測試 讀數據不需要知道對象屬於哪一個 Storage
。
=====
官方說明
所有放置目標都有一個STANDARD存儲類,默認情況下該存儲類適用於新對象。用戶可以使用覆蓋此默認設置 default_storage_class。
要在非默認存儲類中創建對象,請在請求的HTTP標頭中提供該存儲類名稱。S3協議使用 X-Amz-Storage-Class標頭,而Swift協議使用 X-Object-Storage-Class標頭。
結論:
1
如果需要 提高性能。可以同時在一個placement 下加入多個 Storage 對應多個 pool。 客戶端寫數據的時候可以均衡指定 storage-class
具體可以參考s3 api .
或者可以在nginx 接入層做 靈活的指定 X-Amz-Storage-Class (對多個 storage-class 做自定義輪詢或者打開關閉)
2
如果需要在pool 將近滿了。可以新增一個 storage-class。 客戶端讀寫 指定到新的 storage-class。
3
如果需要用ssd 加速。可以 用ssd pool 作為STANDARD
用 廉價 sata 作為 COLD 進行遷移。 具體要研究 Lifecycle 的設置
我這里就沒時間做測試了。
目前我測試的 ceph 是 14.2.5. 不是最新。 感覺這個功能還有寫莫名其妙的情況。
建議各位有需要的可以做大規模的測試。
㈢ 對象存儲、文件存儲和塊存儲的區別是什麼
對象存儲、文件存儲和塊存儲的區別如下:
1、速度不同
塊存儲:低延遲(10ms),熱點突出;
文件存儲:不同技術各有不同;
對象存儲:100ms-1s,冷數據;
2、可分步性不同
塊存儲:異地不現實;
文件存儲:可分布式,但有瓶頸;
對象存儲:分步並發能力高;
3、文件大小不同
塊存儲:大小都可以,熱點突出;
文件存儲:適合大文件;
對象存儲:適合各種大小;
4、介面不同
塊存儲:Driver,kernel mole ;
文件存儲:POSIX;
對象存儲:Restful API ;
5、典型技術不同
塊存儲:SAN;
文件存儲: HDFS,GFS;
對象存儲:Swift,Amazon S3;
6、適合場景不同
塊存儲:銀行;
文件存儲:數據中心;
對象存儲:網路媒體文件存儲。
(3)amazons3對象存儲擴展閱讀:
對象存儲、文件存儲和塊存儲的聯系:
通常來講,磁碟陣列都是基於Block塊的存儲,而所有的NAS產品都是文件級存儲。
1. 塊存儲:DAS SAN
a) DAS(Direct Attach Storage): 是直接連接於主機伺服器的一種存儲方式,每台伺服器有獨立的存儲設備,每台主機伺服器的存儲設備無法互通,需要跨主機存取資料室,必須經過相對復雜的設定,若主機分屬不同的操作系統,則更復雜。
應用:單一網路環境下且數據交換量不大,性能要求不高的環境,技術實現較早。
b) SAN(Storage Area Network): 是一種高速(光纖)網路聯接專業主機伺服器的一種存儲方式,此系統會位於主機群的後端,它使用高速I/O聯接方式,如:SCSI,ESCON及Fibre-Channels.特點是,代價高、性能好。但是由於SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。
應用:對網速要求高、對數據可靠性和安全性要求高、對數據共享的性能要求高的應用環境中。
2. 文件存儲
通常NAS產品都是文件級存儲。
NAS(Network Attached Storage):是一套網路存儲設備,通常直接連在網路上並提供資料存取服務,一套NAS儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。
它採用NFS或CIFS命令集訪問數據,以文件為傳輸協議,可擴展性好、價格便宜、用戶易管理。目前在集群計算中應用較多的NFS文件系統,但由於NAS的協議開銷高、帶寬低、延遲大,不利於在高性能集群中應用。
3. 對象存儲:
總體上講,對象存儲同時兼具SAN高級直接訪問磁碟特點及NAS的分布式共享特點。
核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,並且基於對象存儲設備(OSD),構建存儲系統,每個對象存儲設備具備一定的職能,能夠自動管理其上的數據分布。
對象儲存結構組成部分(對象、對象存儲設備、元數據伺服器、對象存儲系統的客戶端)
㈣ 亞馬遜雲科技的雲存儲,最應該知道的有這三點
傳統存儲在以各種方式對接公有雲生態,公有雲的雲上服務類型也在不斷完善,作為企業信息化負責人要做的是更多地了解公有雲,然後,考慮如何充分利用公有雲的優勢。
本文通過介紹亞馬遜雲 科技 存儲服務的三個關鍵點,帶您認識雲存儲的現狀。
正文:
乘著互聯網產業的春風,雲存儲在過去近二十年走過了可遇不可求的發展歷程。也讓從90年代開始,就一直坐著冷板凳,負責數據歸檔的對象存儲,一躍成為整個互聯網數據的基石。
如今,絕大部分互聯網上可訪問的數據都靠對象存儲來存,偶爾曝出的數據泄露事件也大多都跟對象存儲有關,當然,問題不在於對象存儲本身。
從2006年,亞馬遜雲 科技 的對象存儲服務Amazon S3發布,到現在,算起來也有十六年的時間了,這也是亞馬遜雲 科技 推出的第一款雲服務。
從市場表現來看,Amazon S3是非常成功的,前兩年有人推測說,亞馬遜雲 科技 在存儲方面的營收規模非常大,甚至被稱作是全球最大的存儲公司,Amazon S3無疑是功勞最大的一個。
有人說,許多亞馬遜雲 科技 用戶使用的第一個產品就是Amazon S3對象存儲,在所有亞馬遜雲 科技 的用戶案例,在所有技術文檔里,Amazon S3的出鏡率都非常高。
雲上原生存儲Amazon S3的主線任務:不斷降低成本
如果亞馬遜雲 科技 的用戶沒用過Amazon S3,就好比去包子鋪吃飯沒點包子,光顧燒烤店沒吃烤串一樣,令人費解。
Amazon S3的易用性高、可用性高,開發者很喜歡,Amazon S3幾乎不丟數據的可靠性,穩定性也很高,運維管理人員很喜歡,Amazon S3在互聯網應用場景被普遍應用。
如今,Amazon S3上存著超過100萬億個對象,每秒需要處理上千百萬次請求。
Amazon S3一開始解決了可靠性和可用性以及安全方面的基本問題,性能也一直在提升,多年看下來,最大的工作重點就是不斷降低成本。
亞馬遜雲 科技 大中華區產品部總經理 陳曉建介紹稱,同樣存儲一份數據,如果2006年需要100塊錢,而在2022年就只需要大概15塊錢,16年間,Amazon S3的存儲成本降低了大約7倍。
2021年12月,亞馬遜雲 科技 宣布在全球九大區域,將Amazon S3 Standard In Frequent Access和Amazon S3 One Zone In Frequent Access的價格降低了31%。
Amazon S3存儲分了八個層級。
對於需要經常訪問的數據,首選標准版的Amazon S3,它具有毫秒級的訪問表現,而不太經常訪問的數據就選Amazon S3 Standard-IA上,相較於前者能節省大概40%的費用。
而對於那些很少訪問的數據,則可以選擇放在Amazon S3 Glacier DeepArcihve上,它的成本非常低,大約1美刀1個TB,但代價是,想把數據拿回來就得多等等,大概需要12到48個小時。
有人覺得這等的時間也太長了,於是,亞馬遜雲 科技 又推出了Amazon S3 Glacier Flexible Retrieval,只需要等上幾分鍾到幾小時。
就沒有一種,既可以便宜,訪問性能又高的存儲嗎?還真有。
這就是Amazon S3 Glacier Instant Retrieval,它是最新的一個存儲層級,拿回數據的速度是毫秒級的,成本與Amazon S3 Glacier相當,適合每季度才訪問一次、又需要毫秒級取回的海量數據。
另外,Amazon S3 One Zone-IA的成本也很低,顧名思義,數據只存在單個可用區上,而其他S3存儲的數據都在多個可用區上存著好幾分,相比之下,理論上丟數據的風險高了些。
最後,出於合規的要求,用戶有些數據不能上雲,亞馬遜雲 科技 可以提供Amazon Outposts,把雲的硬體放到了用戶的數據中心裡。使用Amazon S3 on Outposts,就像在雲上使用S3一樣。
總的來說,Amazon S3的存儲層級還是挺多的,但問題是,這給選型和管理也帶來了負擔。
為此,亞馬遜雲 科技 推出了Amazon S3 Intelligent-Tiering(智能分層),它會根據對象被訪問的次數在多個存儲層級間進行自動化遷移。
如果不能確定要選什麼或者存儲需求會變,那就選它,它不僅能解除選擇困難症,還能避免用戶自行管理數據分層的麻煩。
一家在東南亞和北美市場非常有影響力的互聯網公司,在亞馬遜雲 科技 上存放了大約幾十PB的數據,原本主要使用的是Amazon S3 Standard—IA,在使用Amazon S3智能分層後,沒有進行任何額外操作,就將存儲成本降低了62%。
亞馬遜雲 科技 最早在2018年就推出了Amazon S3智能分層功能,如今,Amazon S3智能分層已經涵蓋了Amazon S3家族的幾乎所有存儲類別,最多可節省68%的成本。
不僅如此,如今數據分層還拓展到文件存儲Amazon EFS,Amazon EFS提供四種文件存儲等級,數據分層能節省高達72%的存儲成本。
打通雲應用與傳統應用的隔閡:靠多種文件存儲
如果說,對象存儲是雲存儲的標配的話,那文件存儲就是雲存儲連接本地存儲的橋梁。
如今常見的應用分為兩類。
一類是雲原生的現代化應用,也就是在雲上開發的、充分利用雲架構優勢的應用,比如電商、 游戲 、社交媒體等平台。對應需要的存儲,大部分是對象存儲Amazon S3來滿足,少部分需要文件存儲Amazon EFS。
另一類是傳統企業應用,它誕生在公有雲之前,常見的有高性能計算、EDA、視頻渲染等場景,通常由本地的文件存儲系統,比如NAS來支撐的,為提升安全性和可靠性,通常都帶有快照、鏡像、遠程復制等功能特性。
這類工作負載並沒有根據雲架構的特點來設計,如果強行上雲,不僅需要調整應用本身,而且還可能出現兼容性的問題,為了避免此類問題,亞馬遜雲 科技 推出了FSx文件存儲家族。
從2018年開始,陸續推出了面向Windows環境的Amazon FSx for Windows,面向高性能計算場景的Amazon FSx for Lustre,面向大數據分析場景推出了Amazon FSx for OpenZFS。
金風慧能採用了亞馬遜雲 科技 構建HPC高性能計算系統,其中使用了Amazon FSx for Lustre共享存儲系統,不僅使氣象預測系統性能提升了10%,氣象計算時間縮短了1/3,還將成本降低了70%,運維復雜度也大大降低。
此外,還與知名存儲廠商NetApp合作推出了Amazon FSx for NetApp ONTAP,把NetApp的經典NAS文件存儲系統NetApp ONTAP放到了公有雲上。
NetApp在2015年就提出了Data Fabric的概念,大意就是想要實現數據在雲上和雲下的自由流動,是比較早積極擁抱混合雲的存儲廠商之一。
與一些存儲廠商的雲上託管服務不同,Amazon FSx for NetApp ONTAP沒有刪減任何功能,它是雲上唯一完整且全託管的NetApp ONTAP文件存儲系統,能夠無縫地跟企業本地的ONTAP系統對接,所以,用戶的IT系統不需要做任何改動,就能使用雲上服務。
2019年,NetApp與聯想成立合資公司——聯想凌拓,聯想凌拓在中國區提供相關服務,聯想凌拓產品管理與營銷高級總監林佑聲表示,從發布到現在,Amazon FSx for NetApp ONTAP得到了非常多客戶的認可,包括金融、醫療、石油以及高 科技 行業客戶。
嘉里物流原本是本地存儲NetApp ONTAP的用戶,隨著業務全球化發展,在數據擴容以及數據共享方面碰到的問題越來越多,通過使用亞馬遜雲 科技 提供的Amazon FSx for NetApp ONTAP,將數據從本地遷到雲上,解決了這些問題。
上雲之後,不僅可以使用原來NetApp ONTAP自帶的快照和備份等功能,同時,還可以使用亞馬遜雲 科技 遍布全球的數據中心,實現跨區域的災備。
補足數據保護方面的短板:Amazon Backup
一直以來,雲存儲被詬病的點還在於缺少數據災備功能,在如何維持業務連續性方面有一些爭議,而亞馬遜雲 科技 正在試著消除這一顧慮,這就是Amazon Backup。
由於缺少與業務價值的強關聯性,數據保護經常容易被忽視,同時,由於數據保護系統本身很復雜,合規的要求還特別多,實踐起來也特別麻煩,所以,數據保護的實踐相對落後。
可能也是基於這樣的考慮,亞馬遜雲 科技 的數據保護服務Amazon Backup才特別喜歡強調「一站式」「操作簡單」的特點,讓用戶知道,數據保護也沒有那麼麻煩。
於是我們看到,Amazon Backup能覆蓋旗下的幾乎所有存儲產品,包括塊存儲(Amazon EBS)、對象存儲、文件存儲、資料庫,以及計算和存儲網關等相關產品。
Amazon Backup的操作比較簡單,通過圖形的界面即可完成大部分操作,用戶還可以通過預設的策略進行自動化的備份,降低手動備份帶來的問題。
安全合規的問題讓許多用戶頭疼,Amazon Backup深度集成了亞馬遜雲 科技 自帶的KMS數據加密服務,整個備份操作許可權、數據訪問許可權都可以用IAM進行細顆粒度監控,滿足個人信息安全規范、信息安全等級保護等方面的合規要求。
Amazon Backup避免讓數據保護帶來太多的成本負擔,因此也用上了智能分層技術,用戶通過冷熱分層策略可以有效降低約75%的成本。
澳大利亞石油天然氣的供應商Santos要對Amazon EBS塊存儲做備份,原本都是用手動備份的方案,但隨著業務量的發展,備份的出錯率越來越高,成功率越來越低。
而在用了Amazon Backup後,平均備份任務用時和運營成本均有大幅降低,備份成功率到了100%,而且還完全做到企業數據合規。
結束語
確實如陳曉建所言,亞馬遜雲 科技 存儲服務已經成為IT行業的「水」和「電」,讓各行各業的業務都能從存儲服務中獲得價值。
亞馬遜雲 科技 的存儲服務類型和存儲的相關實踐都非常有代表性,而且,很多做法已經成了上雲的參考實踐,企業用戶應該多少了解亞馬遜雲 科技 的雲存儲,特別是有上雲打算的企業。
當然,上雲帶來的便捷和靈活,穩定性和安全性,以及對運維的解放都很吸引人。
還有顧慮?據我個人了解,亞馬遜雲 科技 非常在意企業在雲上的成功和成本節省,不僅會幫企業不斷優化。除此之外,市場上有一些專門的服務,幫助企業做規劃實施,讓你充分利用雲的優勢。
㈤ amazon s3的S3 數據加密方法
亞馬遜S3 bucket和對象可以通過互聯網訪問。AWS安全控制用來保護其他的資源,比如安全群組和網路訪問控制列表,但不保護S3中的數據。但是也有一些方法可以保護S3中的數據的機密性、完整性和可用性。
默認方式下,創建於亞馬遜簡單存儲服務(S3)的對象只能夠為創建它們的人訪問。所有者可以授權其他人以粗粒度和細粒度的方式訪問。比如一位所有者可以讓數據集公開使用,每一個人都可以用這個對象的URL來訪問。
或者所有者可以使用S3策略和身份及訪問管理用戶和群組,允許有限的用戶集訪問。S3策略也可以基於網路連接屬性限制運行。如果你只希望企業網路的用戶訪問S3中的對象,指定所有的連接都從一個可信任的IP地址范圍發出。其他地址嘗試訪問則會被拒絕。
如果你希望確保從S3下載下來的數據是加密的,拒絕訪問任何不適SSL加密的連接。
還有一些方法可以用來在S3中實現加密。如果你使用AWS Key Management Service,就可以使用伺服器端加密,允許亞馬遜Web服務(AWS)管理加密密鑰。為了管理你自己的密鑰,你需要使用伺服器端加密密鑰,並且在企業內部保存。第三種選擇是在將數據發送到AWS之前加密數據。在這種場景中,你要管理加密流程的所有方面。
對於在S3中保護數據而言,審計是一個重要的安全流程。存儲管理員可以配置亞馬遜S3 bucket來記錄所有的請求特定bucket的細節。他們可以在其他的亞馬遜S3 bucket中存儲日誌文件,並且用不同的訪問控制授權來最小化干預。
㈥ 對象存儲是什麼對象存儲的基本定義
對象存儲是一種將數據作為對象進行管理的計算機數據存儲體系結構,與其他存儲體系結構(例如將數據作為文件層級管理的文件系統)以及將數據作為塊和扇區內的塊進行管理的塊存儲相對。每個對象通常包括數據本身,可變數量的元數據和全局獨立標識符。
對象存儲可以在多個級別實現,包括設備級別(對象存儲設備),系統級別和介面級別。在每種情況下,對象存儲都試圖實現其他存儲架構無法解決的功能,例如可以由應用程序直接編程的介面,可以再多個物理硬體實例的命名空間,以及數據管理功能,如數據復制和數據分發在對象級粒度。
相比於資料庫這種面向結構化數據存儲的技術,對象存儲主要面向存儲大量的非結構化數據。
(6)amazons3對象存儲擴展閱讀:
對象存儲、文件存儲和塊存儲的區別如下:
1、速度不同
塊存儲:低延遲(10ms),熱點突出;
文件存儲:不同技術各有不同;
對象存儲:100ms-1s,冷數據;
2、可分步性不同
塊存儲:異地不現實;
文件存儲:可分布式,但有瓶頸;
對象存儲:分步並發能力高;
3、文件大小不同
塊存儲:大小都可以,熱點突出;
文件存儲:適合大文件;
對象存儲:適合各種大小;
4、介面不同
塊存儲:Driver,kernel mole ;
文件存儲:POSIX;
對象存儲:Restful API ;
5、典型技術不同
塊存儲:SAN;
文件存儲: HDFS,GFS;
對象存儲:Swift,Amazon S3;
6、適合場景不同
塊存儲:銀行;
文件存儲:數據中心;
對象存儲:網路媒體文件存儲。
㈦ Amazon S3 V4簽名校驗錯誤
部署的ceph對象存儲使用了兼容Amazon s3的RGW網關,通過Amazon S3訪問對象存儲。為了網關的高可用和負載均衡,在RWG網關前面加了一層nginx代理轉發。
發現加了nginx之後V4簽名會報錯 The request signature we calculated does not match the signature you provided. Check your key and signing method. ,但是V2簽名不會報錯。
經過打開工程debug日誌、nginx日誌、RGW網關日誌,最後發現是RGW網關接受到的請求和客戶端發出去的請求的頭參數 Host 不一樣。
在nginx中轉發http請求有個參數設置 proxy_set_header Host xxx; ,當我們使用以下形式的nginx轉發時:
nginx默認使用的是基於IP的轉發,這樣服務端接收到的請求頭參數 Host 就變成了 127.0.0.1:8080 和 127.0.0.1:9000 。
以上客戶端指的是nginx前一級,服務端指的是nginx後一級,如果有多級代理,都需要設置;也可以不是nginx,是例如Haproxy等等。
㈧ 【Minio】基於AWS S3協議搭建個人雲存儲服務
在2007年,GlusterFS演變為大型分布式存儲方案後,任何配備合適硬體的公司,單位都可以利用個做分布式的流媒體,數據分析。在2011年,Red Hat收購了GlusterFS.
Minio是GlusterFS創始人之一Anand Babu Periasamy發布新的開源項目。Minio兼容Amason的S3分布式對象存儲項目,採用Golang實現,客戶端支持Java,Python,Javacript, Golang語言。
Minio 提供對象存儲服務,兼容了 AWS S3 存儲協議,用於非結構化的數據存。非結構化對象,比如圖像,音、視頻,日誌文件,備份鏡像…等等管理不方便,不定長,大小變化大、類型多,雲端的訪問復雜,minio就是來解決這種場景的。非結構化的文件從數KB到5TB都能很好的支持。開源並且用 Go 語言開發,有web操作界面,我們可以用它來搭建兼容S3協議的存儲雲服務。
Minio可以做為雲存儲的解決方案用來保存海量的圖片,視頻,文檔。由於採用Golang實現,服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是復制可執行程序,單行命令可以運行起來。
官網: https://minio.io
那麼,如何自己搭建一個私有的S3存儲雲服務呢?
官方的話是推薦用Docker來搞,我們先用普通的二進制文件來直接解決了!
######################################################################################
# mkdir /data/aws_s3
# wget https://dl.minio.io/server/minio/release/linux-amd64/minio
# mv minio /usr/local/bin/
# chmod 755 /usr/local/bin/minio
# minio server /data/aws_s3
#############################################################
Created minio configuration file successfully at /root/.minio
Endpoint: http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey: /
Region: us-east-1
SQS ARNs:
Browser Access:
http://10.5.10.89:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
################################################################
$ mc config host add myminio http://10.5.10.89:9000 U3XLU4IMXY3IDKHU268F /
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
Drive Capacity: 8.3 GiB Free, 9.1 GiB Total
##############################################################
我們就成功啟動了minio的s3服務,默認埠9000,可以通過網頁訪問:
http://10.5.10.89:9000
http://127.0.0.1:9000
http://172.17.0.1:9000
注意 :第一次打開時候需要填寫AccessKey和SecretKey才能進入,我們上面啟動服務的時候,已經看到屏幕有輸出:
AccessKey: U3XLU4IMXY3IDKHU268F
SecretKey:
把這兩個Key填入,就能順利進入,進入後展開頁面如下:
這就是我們的S3雲存儲的管理頁面了,看著是不是和七牛什麼的提供雲存儲的產品頁面挺像的,大家都是基於S3協議開發的!
上傳個文件試試:
點擊右下角的紅色小加號按鈕,彈出的菜單選擇」create bucket」則會創建一個桶,輸入名字」test」
點擊剛才那個紅色小加號按鈕,這次選擇」Upload file」上傳文件,給這個桶上傳了一個叫login.txt的文本文檔
此時頁面如下:
至此我們可以看到文件已經上傳,要訪問這個文件,可以點擊文件右側的三個點的按鈕,選擇分享就可以得到一個外鏈,在瀏覽器中訪問這個外鏈就可以直接訪問文件。
那麼文件到底被存到哪裡去了呢,我們啟動命令中其實指定了工作路徑/data/aws_s3/,所以到伺服器這個目錄下看看:
# ls /data/aws_s3/
test
# ls /data/aws_s3/test/
login.txt
桶名稱test是一個目錄,其下就有上傳的login.txt文件。
如果想指定ip和埠,可以這樣寫:
# minio server /data/aws_s3 --address=0.0.0.0:9000
如果想讓服務在後台運行:
# nohup minio server /data/aws_s3 --address=0.0.0.0:443 &
[1] 19882
// nohup: 忽略輸入並把輸出追加到啟動命令的當前目錄下的 "nohup.out"文件
minio可以用來搭建分布式存儲系統 GlusterFS,這樣就成了真正的雲存儲了,有時間再研究下把它從現在的單機測試,變成一朵存儲雲!
minio官網: https://minio.io
minio官方文檔: https://docs.minio.io/docs/minio-docker-quickstart-guide
minio github主頁: https://github.com/minio/minio
㈨ amazon s3的S3 概述
理論上,S3 是一個全球存儲區域網路 (SAN),它表現為一個超大的硬碟,您可以在其中存儲和檢索數字資產。但是,從技術上講,Amazon 的架構有一些不同。您通過 S3 存儲和檢索的資產被稱為對象。對象存儲在存儲段(bucket)中。您可以用硬碟進行類比:對象就像是文件,存儲段就像是文件夾(或目錄)。與硬碟一樣,對象和存儲段也可以通過統一資源標識符(Uniform Resource Identifier,URI)查找。
例如,在我的硬碟中,我有一個名為 whitepaper.pdf 的文件,它位於主目錄中名為 documents 的文件夾中。相應的,該 pdf 文件的 URI 為 /home/aglover/documents/whitepaper.pdf 。在 S3 中,URI 有一點不同。首先,存儲段只能是頂級的 — 無法像嵌套硬碟中的文件夾(或目錄)一樣進行嵌套。其次,存儲段必須遵循 Internet 命名法則;句點旁邊沒有斜杠,名稱不包括下劃線等等。最後,由於存儲段名稱已經是 Amazon 域內的公共 URI 的一部分,存儲段名稱必須在所有 S3 中是惟一的。(好消息是每個帳戶只能包含 100 個存儲段,因此不用擔心別人佔用了所有的好名字)。