• 干货 | 对象存储的跨地域复制概述


    在这里插入图片描述

    一、功能和使用场景

    1、功能

    跨区域复制(Bucket Cross-Region Replication) 是跨不同区域的Bucket自动、异步复制Object,它会将对源Bucket中的对象的改动(除删除操作)同步到目标Bucket。跨区域复制功能能够很好的满足用户数据复制或者提供Bucket跨区域容灾的需求。目标Bucket中的对象是源Bucket中对象的精确副本,它们具有相同的对象名、元数据以及内容。

    2、使用场景

    当您有以下需要时,设置跨区域复制可能对您有所帮助:

    • 数据复制:由于业务原因,需要将数据从一个存储区域迁移至另一个存储区域,原空间数据仍会保留。
    • 合规性要求:合规性要求所规定的数据需要跨一定距离保存一份副本。通过跨区域同步管理功能,可以在远距离的存储区域之间同步数据以满足这些合规性要求。
    • 数据备份与容灾:如果您对所有写入的数据都希望在异地存储区域维护一份副本,以备发生如海啸、地震等特大灾难导致存储区域损毁时,还能启用异地存储区域的备份数据。
    • 最大限度减少延迟:客户处于两个地理位置。为了最大限度缩短访问对象时的延迟,可以在地理位置与用户较近的存储区域维护对象副本。

    二、Demo演示

    Demo演示示意图:

    在这里插入图片描述

    1、创建Bucket

    华北-北京对象存储新建源Bucket(空间)- asource,在华东-宿迁对象存储新建目标Bucket;
    在这里插入图片描述
    在这里插入图片描述

    2、开启【跨区域复制】功能

    在对象存储源Bucket上开启跨区域复制的功能,目标Bucket选择华东-宿迁的Bucket,其他选项根据自己需要选择;

    在这里插入图片描述
    在这里插入图片描述
    跨区域复制成功开启后如下图所示:

    3、在源Bucket生成测试文件

    华北-北京新建一台云主机,使用S3fs将源Bucket挂载到云主机上,然后用dd命令生成100个小文件到源Bucket里;

    3.1 云主机配置:
    地域 操作系统 配置 带宽 云主机命名
    华北-北京 CentOS 7.4 64位 2核4G 2Mbps pocenv-hcc-hb-test

    在这里插入图片描述

    3.2 挂载Bucket

    A. 安装依赖包

    [root@pocenv-hcc-hb-test ~]# yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel -y
    

    B. 安装以及编译

    [root@pocenv-hcc-hb-test ~]# git clone https://github.com/s3fs-fuse/s3fs-fuse.git
    [root@pocenv-hcc-hb-test ~]# cd s3fs-fuse
    [root@pocenv-hcc-hb-test s3fs-fuse]# ./autogen.sh
    [root@pocenv-hcc-hb-test s3fs-fuse]# ./configure
    [root@pocenv-hcc-hb-test s3fs-fuse]# make && make install
    

    在这里插入图片描述
    C. 创建密码文件

    [root@pocenv-hcc-hb-test s3fs-fuse]# echo Access_Key_ID:Access_Key_Secret > ~/.passwd-s3fs
    [root@pocenv-hcc-hb-test s3fs-fuse]# chmod 600 ~/.passwd-s3fs
    

    在这里插入图片描述

    Access_Key_ID:Access_Key_Secret获取方式:https://uc.jdcloud.com/account/accessKey

    在这里插入图片描述

    D. 挂载对象存储到本地目录/hcc(目录名称自定义)

    [root@pocenv-hcc-hb-test s3fs-fuse]# cd
    [root@pocenv-hcc-hb-test ~]# mkdir /hcc
    [root@pocenv-hcc-hb-test ~]# s3fs asource /hcc -o passwd_file=~/.passwd-s3fs -o url="https://s3.cn-north-1.jcloudcs.com"
    

    mkdir:创建hcc文件夹作为本地挂载目录
    s3fs:手动挂载命令,其中bucketname为bucket名称、/hcc是本地挂载路径、passwd_file为密码文件位置、url为京东云对象存储兼容S3域名(请输入空间的Bucket域名)

    E. 查看挂载结果

    [root@pocenv-hcc-hb-test ~]# df -Th
    

    在这里插入图片描述

    3.3 生成测试文件

    通过dd命令在所挂载的对象存储里生成文件(我们这里生成小文件

    [root@pocenv-hcc-hb-test /]# cd /hcc
    [root@pocenv-hcc-hb-test hcc]# ll
    total 0
    [root@pocenv-hcc-hb-test hcc]# for ((i=1;i<=100;i++));do dd if=/dev/zero of=block_$i.file bs=1k count=1024;done
    

    这个命令是在所挂载的对象存储Bucket里生成100个大小为1M的小文件。

    生成测试文件过程的部分截图如下:
    在这里插入图片描述

    4、查看结果

    在源Bucket-asource查看文件生成结果:

    在这里插入图片描述
    在目标Bucket-btarget查看异地复制结果:

    在这里插入图片描述

    如上,测试完成。

  • 相关阅读:
    遗产
    (OK) C/S—心跳检测—heartbeat
    如何判断SOCKET已经断开
    accept() returns the same socket descriptor
    C/S—心跳检测—heartbeat
    Linux—Network—Socket—Programming—heartbeat—源代码
    CentOS 7
    yum—repo—yum源
    (OK) CentOS7—mp4—avi—视频播放—SMPlayer
    读史
  • 原文地址:https://www.cnblogs.com/jdclouddeveloper/p/11673478.html
Copyright © 2020-2023  润新知