乾貨 | 對象存儲的跨地域複製概述

在這裏插入圖片描述

1、功能和使用場景

一、功能

跨區域複製(Bucket Cross-Region Replication) 是跨不一樣區域的Bucket自動、異步複製Object,它會將對源Bucket中的對象的改動(除刪除操做)同步到目標Bucket。跨區域複製功能可以很好的知足用戶數據複製或者提供Bucket跨區域容災的需求。目標Bucket中的對象是源Bucket中對象的精確副本,它們具備相同的對象名、元數據以及內容。c++

二、使用場景

當您有如下須要時,設置跨區域複製可能對您有所幫助:git

  • 數據複製:因爲業務緣由,須要將數據從一個存儲區域遷移至另外一個存儲區域,原空間數據仍會保留。
  • 合規性要求:合規性要求所規定的數據須要跨必定距離保存一份副本。經過跨區域同步管理功能,能夠在遠距離的存儲區域之間同步數據以知足這些合規性要求。
  • 數據備份與容災:若是您對全部寫入的數據都但願在異地存儲區域維護一份副本,以備發生如海嘯、地震等特大災難致使存儲區域損毀時,還能啓用異地存儲區域的備份數據。
  • 最大限度減小延遲:客戶處於兩個地理位置。爲了最大限度縮短訪問對象時的延遲,能夠在地理位置與用戶較近的存儲區域維護對象副本。

2、Demo演示

Demo演示示意圖:github

在這裏插入圖片描述

一、建立Bucket

華北-北京對象存儲新建源Bucket(空間)- asource,在華東-宿遷對象存儲新建目標Bucket; 在這裏插入圖片描述 在這裏插入圖片描述curl

二、開啓【跨區域複製】功能

在對象存儲源Bucket上開啓跨區域複製的功能,目標Bucket選擇華東-宿遷的Bucket,其餘選項根據本身須要選擇;異步

在這裏插入圖片描述

 

跨區域複製成功開啓後以下圖所示:測試

三、在源Bucket生成測試文件

華北-北京新建一臺雲主機,使用S3fs將源Bucket掛載到雲主機上,而後用dd命令生成100個小文件到源Bucket裏;url

3.1 雲主機配置spa

地域 操做系統 配置 帶寬 雲主機命名
華北-北京 CentOS 7.4 64位 2核4G 2Mbps pocenv-hcc-hb-test

在這裏插入圖片描述

3.2 掛載Bucket操作系統

A. 安裝依賴包3d

[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的小文件。

生成測試文件過程的部分截圖以下: 在這裏插入圖片描述

四、查看結果

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

在這裏插入圖片描述

在目標Bucket-btarget查看異地複製結果:

在這裏插入圖片描述

如上,測試完成。

在這裏插入圖片描述

在這裏插入圖片描述

相關文章
相關標籤/搜索