跨區域複製(Bucket Cross-Region Replication) 是跨不一樣區域的Bucket自動、異步複製Object,它會將對源Bucket中的對象的改動(除刪除操做)同步到目標Bucket。跨區域複製功能可以很好的知足用戶數據複製或者提供Bucket跨區域容災的需求。目標Bucket中的對象是源Bucket中對象的精確副本,它們具備相同的對象名、元數據以及內容。c++
當您有如下須要時,設置跨區域複製可能對您有所幫助:git
Demo演示示意圖:github
在華北-北京
對象存儲新建源Bucket(空間)- asource,在華東-宿遷對象存儲新建目標Bucket; curl
在對象存儲源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查看異地複製結果:
如上,測試完成。