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"
此时应该可以看到索引又恢复了。