• OSS对象存储命令管理、数据迁移


    一、知识点分析

    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		//挂载命令安装
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    配置OSS对象存储连接信息

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述
    (注意:公有云的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	//删除文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    3.OSS挂载到本地
    创建访问凭据

    #Access Key:Secret Key 
    echo "7347xxxxxxxxx31b864e:1cb5e97xxxxxxxxxxxxxxxxx99495f443eeb07"  > /root/.passwd-s3fs && chmod 600 /root/.passwd-s3fs
    
    • 1
    • 2

    需要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 地址
    
    • 1
    • 2
    • 3

    从下图中可以看到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				//查看版本
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    安装迁移工具

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    配置system.conf (根据自己服务器性能具体优化)

    cat system.conf 
    {
        "threadNum":100,				//并发数(1~3000)
        "maxSimpleObjectSizeM":100,		//对象大小限制,单位是 MiB
        "partSizeM":5,					//拆分为分段对象时的分片大小,单位 MiB
        "maxThroughput":-1,				//对源端流量进行限制,单位是 KiB/s
        "stopScan":false				//是否终止遍历源对象
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    配置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											//是否跳过目标资源池中已有的对象。
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    启动

    #数据迁移工具支持断点续传,如果迁移过程中程序被终止了,可以重新启动迁移任务,从之前中断的位置继续开始迁移。
    ./import.sh
    
    • 1
    • 2

    在这里插入图片描述
    查看传输进度

    cat statistics.txt
    
    • 1

    在这里插入图片描述
    (提示:其他参数详情可参考 ”OOS数据迁移工具使用手册“)

    三、结束语

      本次实战对象存储管理、使用、迁移到此就结束了,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!

  • 相关阅读:
    Chapter 4 k-近邻算法与朴素贝叶斯
    量子计算新突破!来源于150年前的思想实验
    微信小程序结合php后台实现登录授权机制详解
    Java 集合面试题小结(1)
    在上一家公司待的时间很短,面试中会成为扣分项吗,该如何应对?
    mtk sensor 驱动调试
    Java无锁并发
    什么是Monkey,以及Monkey异常
    【微信小程序 | 实战开发】常用的基础内容组件介绍和使用(2)
    音视频----rtmp服务器搭建(一)
  • 原文地址:https://blog.csdn.net/qq_43417559/article/details/127645850