1.什么是对象存储?
OSS(Object Storage Service)对象存储具有稳定可靠、安全合规、智能存储、成本低等优势,简单来说在云上提供无层次结构的分布式存储产品,为用户提供单价较低且快速可靠的数据存储方案。用户可通过云服务器实例或互联网使用 Web API 接口存储和检索数据。
2.OSS和OOS的关系?
对象/文件(Object)是OOS存储数据的基本单位,也被称为OSS的文件。
1.OSS命令管理安装与配置
(基于CentOS7 Linux环境操作)
#安装相关命令
tar -xvf oss.tar.gz
cd oss/
yum -y localinstall s3cmd-2.3.0-1.el7.noarch.rpm //管理命令安装
yum -y localinstall s3fs-fuse-1.91-1.el7.x86_64.rpm //挂载命令安装
s3cmd --configure <<EOF
7347xxxxxxxxx31b864e //Access Key
1cb5e97xxxxxxxxxxxxxxxxx99495f443eeb07 //Secret Key
cn //中国时区
oos-cn.ctyunapi.cn //Endpoint
%(bucket)s.oos-cn.ctyunapi.cn //%(bucket)s.Endpoint
1cb5e97xxxxxxxxxxxxxxxxx99495f443eeb07 //Secret Key
//回车
//回车,如果是私有OSS请写No
//回车
Y //使用提供的凭据测试访问?是
y //是否保存配置?是
EOF
(注意:公有云的OSS可以默认开启https传输,私有的只允许内网访问的需要关闭此选项)
2.OSS命令管理基本使用
#上传文件 s3cmd put V2rayU.dmp s3://pictest/
#下载文件 s3cmd get s3://iosdemo/viewDidLoad620205141.mp4
#删除文件 s3cmd del s3://iosdemo/viewDidLoad620205141.mp4
s3cmd ls //可以查看到自己的桶信息了
s3cmd ls s3://ljfl-1 //具体通文件内容
s3cmd put test.txt s3://ljfl-1 //上传文件(touch test.txt)
s3cmd get s3://ljfl-1/test.txt //下载文件(rm -rf test.txt 不可重名 不然无法下载)
s3cmd del s3://ljfl-1/test.txt //删除文件
#Access Key:Secret Key
echo "7347xxxxxxxxx31b864e:1cb5e97xxxxxxxxxxxxxxxxx99495f443eeb07" > /root/.passwd-s3fs && chmod 600 /root/.passwd-s3fs
需要OSS管理员提供:bucket名、AccessKeyID、AccessSecretKey:、endpoint 地址
#创建好空目录mkdir /data
s3fs ljfl-1 /data -o passwd_file=/root/.passwd-s3fs -o url=http://oos-cn.ctyunapi.cn -o allow_other
bucket名 挂载的路径 密码文件路径 endpoint 地址
从下图中可以看到OSS对象存储以及挂载到本地了,并且可以像正常目录一样访问:
4.OOS数据迁移
(注意:本次迁移案例:OOS[天翼云]迁移到COS[腾讯云])
安装jdk1.8
tar -xvf jdk1.8.0_181.tar.gz -C /srv/program/
vim /etc/profile
...
export JAVA_HOME=/srv/program/jdk1.8.0_181
export JRE_HOME=/srv/program/jdk1.8.0_181/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
:wq //保存退出
source /etc/profile //刷新环境变量
java -version //查看版本
unzip CTYUN_OOS_Import_1.2.4.zip
cd CTYUN_OOS_Import_1.2.4/
目录结构:
CTYUN_OOS_Import_1.2.4
|----config
|-------log4j2.xml //日志级别配置文件
|-------migrate.conf //迁移信息配置文件
|-------system.conf //工具参数调节配置文件
|----lib
|----import.sh
|----import.bat
cat system.conf
{
"threadNum":100, //并发数(1~3000)
"maxSimpleObjectSizeM":100, //对象大小限制,单位是 MiB
"partSizeM":5, //拆分为分段对象时的分片大小,单位 MiB
"maxThroughput":-1, //对源端流量进行限制,单位是 KiB/s
"stopScan":false //是否终止遍历源对象
}
配置migrate.conf
cat migrate.conf
{
"srcType":"OOS", //迁移源类型
"srcEndpoint":"oos-cn.ctyunapi.cn", //源资源池 Endpoint
"srcAccessKey":"7347xxxxxxxxx31b864e", //源资源池账户 AccessKey
"srcSecretKey":"1cb5e97xxxxxxxxxxxxxxxxx99495f443eeb07", //源资源池账户 SecretKey
"srcBucket":"ljfl-1", //源资源池 Bucket
"destEndpoint":"cos.hdregion.csp.hd.cloud189.cn", //目标资源池 Endpoint
"destAccessKey":"AKIDPZxxxxxxxxxxxxxxxxxxBWYFfma4", //目标资源池 AccessKey
"destSecretKey":"E8hvpOdY9xxxxxxxxxxxx4SVEbe", //目标资源池 SecretKey
"destBucket":"lajifenlei-1255000049", //目标资源池 Bucket
"isSkipExistFile":false //是否跳过目标资源池中已有的对象。
}
启动
#数据迁移工具支持断点续传,如果迁移过程中程序被终止了,可以重新启动迁移任务,从之前中断的位置继续开始迁移。
./import.sh
cat statistics.txt
(提示:其他参数详情可参考 ”OOS数据迁移工具使用手册“)
本次实战对象存储管理、使用、迁移到此就结束了,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!