ZOS概述
對象存儲(簡稱ZOS,Zettabyte Object Storge)是天翼云為客戶提供的一種海量、彈性、高可靠、高性價比的存儲產品,是專門針對云計算、大數據和非結構化數據的海量存儲形態,通過S3協議和標準的服務接口,提供非結構化數據(圖片、音視頻、文本等格式文件)的無限存儲服務。
架構
對象(Object)是對象存儲的基本單元,可以是任意大小的二進制數據,通常以文件的形式存在。對象存儲中,數據以對象(Object)的形式進行存儲,每個對象由元數據(Metadata)、文件數據(Data)、對象ID(OID)組成。
元數據(Metadata)是描述對象的屬性和特征的信息,以鍵值對(Key-Value)的形式被上傳到ZOS中。
文件數據(Data)即文件的數據內容。
對象ID(OID) 即對象的名稱,一個桶里的每個對象必須擁有唯一的對象ID。
桶(Bucket)是存儲對象的容器,用戶可以在桶中創建、組織和管理對象。
應用場景
數據備份
對象存儲主要滿足各種應用軟件、本地數據庫、RDS和非結構化數據的備份歸檔需求,還可以為云主機、云硬盤等產品提供備份存儲能力。主要優勢在于同資源池IAAS、PAAS資源內網天然互通,節約了外網流量費用。在需要時,還可將ZOS中的數據遷移至其他地域實現異地災備。
數據遷移
天翼云提供了對象存儲遷移能力,可將ZOS中的數據遷移至不同地域下的桶中,亦可將其他服務商的對象存儲數據遷移至ZOS中。
ZOS適配Elasticsearch
開通ZOS
獲得AKSK,endpoint,建好bucket。
配置Elastisearch
配置在上面獲得的AKSK:
bin/elasticsearch-keystore add s3.client.default.access_key
bin/elasticsearch-keystore add s3.client.default.secret_key
在配置文件中配置region:
vim config/elasticsearch.yml
增加:
s3.client.default.region: cn-huadong-1
聯通測試
配置repository:
curl -X PUT "ip:9200/_snapshot/test_repository?pretty" -H 'Content-Type: application/json' -d'
{
"type": "s3",
"settings": {
"bucket": "bucket-****",
"base_path": "test/subdir",
"protocol": "http",
"endpoint": "ip:80"
}
}'
成功后會顯示:
{
"acknowledged" : true
}
創建測試index:
curl -X PUT "ip:9200/my_index" -H 'Content-Type: application/json' -d'
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
}
}
}
}'
插入數據:
curl -X POST "ip:9200/my_index/_doc" -H 'Content-Type: application/json' -d'
{
"name": "John Doe",
"age": 30
}'
curl -X POST "ip:9200/my_index/_doc" -H 'Content-Type: application/json' -d'
{
"name": "Jane Doe",
"age": 25
}'
創建快照:
curl -X PUT "ip:9200/_snapshot/test_repository/test_snapshot?wait_for_completion=true&pretty" -H 'Content-Type: application/json' -d'
{
"indices": "my_index"
}'
ZOS中此時應該有相應的數據。
索引恢復測試
刪除elasticsearch里的索引:
curl -X DELETE "ip:9200/my_index?pretty"
恢復索引:
curl -X POST "ip:9200/_snapshot/test_repository/test_snapshot/_restore?pretty"
此時應該可以看到索引又恢復了。