在儲存區之間移動資料
有時需要將資料移至或備份至不同的 IBM Cloud® Object Storage 區域。 在物件儲存空間區域之間移動或抄寫資料的一種方法是使用「同步」或「複製」工具,例如 開放程式碼 rclone 指令行公用程式。 此公用程式可在兩個位置之間同步檔案樹,包括雲端物件儲存。 rclone 將資料寫入 COS 時,會使用 COS/S3 API 來分割大型物件,並根據設定為組態參數的大小和臨界值並行上傳各部分。
本手冊提供將資料從一個 IBM Cloud Object Storage 儲存區複製到相同區域內的另一個 Object Storage 儲存區,或複製到不同 Object Storage 區域中的第二個 Object Storage 儲存區的指示。 對於您要從每一個儲存區複製的所有資料,需要重複這些步驟。 移轉資料之後,您可以使用 rclone check 來驗證傳送的完整性,這會產生任何不符合檔案大小或總和檢查的物件清單。 此外,您可以透過從可用來源定期執行
rclone sync 至所選目的地,來保持儲存區同步。
建立目的地 IBM Cloud Object Storage 儲存區
您可以選擇使用現有的 IBM Cloud Object Storage 實例或建立新的實例。 如果您想要重複使用現有實例,請跳至步驟 #2。
- 從 目錄 中建立 IBM Cloud Object Storage 的實例。
- 建立您需要儲存已傳送資料的所有儲存區。 請閱讀入門手冊,以充分瞭解端點及儲存空間類別這類重要概念。
rclone公用程式將不會複製任何儲存區配置或物件 meta 資料。 因此,如果您使用任何 Object Storage 特性,例如有效期限、保存檔、金鑰保護等。在移轉資料之前,請務必適當地配置它們。 若要檢視 COS 目的地支援哪些特性,請參閱 特性矩陣。
您可以在下列 IBM Cloud 入口網站網頁中檢視特性配置及存取原則文件:
設定運算資源以執行移轉工具
- 選擇最接近您資料的 Linux™/macOS™ /BSD™ 機器或 IBM Cloud Infrastructure 裸金屬或虛擬伺服器。 在與目的地儲存區相同的地區中選取資料中心通常是最佳選擇 (例如,如果將資料從
mel01移至au-syd,請在au-syd中使用 VM 或裸機)。 建議的伺服器配置為:32 GB 記憶體、2-4 核心處理器、1000 Mbps 的專用網路速度。 - 如果您在 IBM Cloud 基礎架構裸機或虛擬伺服器上執行移轉,請使用 專用 COS 端點來避免網路輸出費用。
- 否則,請使用公用或直接 COS 端點。
- 從 套件管理程式或預先編譯的二進位檔安裝
rclone。
curl https://rclone.org/install.sh | sudo bash
針對 COS 來源資料配置 rclone
在 rclone 中為移轉的來源和目的地建立 'profiles'。
必要的話,請取得 COS 認證
- 在 IBM Cloud 主控台,選取 COS 實例。
- 按一下導覽窗格中的服務認證。
- 按一下新建認證以產生認證資訊。
- 選取 進階 選項。
- 將 HMAC 認證設為 開啟。
- 按一下新增。
- 檢視已建立的認證,然後複製 JSON 內容。
取得 COS 端點
- 按一下導覽窗格中的儲存區。
- 按一下移轉目的地儲存桶。
- 按一下導覽窗格中的配置。
- 向下捲動到端點區段,然後根據執行移轉工具的位置來選擇端點。
- 複製以下內容並貼入
rclone.conf,以建立 COS 目的地。
[COS_SOURCE]
type = s3
provider = IBMCOS
env_auth = false
access_key_id =
secret_access_key =
endpoint =
使用 [COS_DESTINATION] 作為您需要建立以配置目的地的設定檔名稱。 重複上述步驟,
使用您的認證及想要的端點,完成下列欄位:
access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <bucket endpoint>
針對 COS 目的地資料配置 rclone
針對目的地儲存區重複先前的步驟。
確認來源和目的地已正確設定
- 列出與來源相關聯的儲存區,以驗證
rclone是否已適當配置。
rclone lsd COS_SOURCE:
- 列出與目的地相關聯的儲存區,以驗證
rclone已適當配置。
rclone lsd COS_DESTINATION:
如果您對來源和目的地使用相同的 COS 實例,則儲存區清單將相符。
執行 rclone
- 使用
rclone的乾式執行 (不複製資料) 測試您的設定,以測試將來源儲存桶 (例如source-test) 中的物件複製到目標儲存桶 (例如destination-test),其中source-test和destination-test是各自的來源和目標儲存桶名稱。
rclone --dry-run copy COS_SOURCE:source-test COS_DESTINATION:destination-test
- 檢查要移轉的檔案是否顯示在指令輸出中。 如果一切正常,請移除
--dry-run旗標,並選擇性地新增-v及/或-P旗標,以複製資料並追蹤進度。 使用選用的--checksum旗標可避免更新在兩個位置中具有相同 MD5 雜湊和物件大小的任何檔案。
rclone -v -P copy --checksum COS_SOURCE:source-test COS_DESTINATION:destination-test
嘗試將執行 rclone 的機器的 CPU、記憶體及網路最大化,以獲得最快速的傳送時間。
調整 rclone 時需要考量其他參數。 這些值的不同組合將影響儲存區中物件的 CPU、記憶體及傳送時間。
| 旗標 | 類型 | 說明 |
|---|---|---|
--checkers |
int |
平行執行的檢查程式數目(預設為 8)。 這是執行中總和檢查比較執行緒數目。 建議將此值增加至 64 個以上。 |
--transfers |
int |
這是要平行傳輸的物件數量 (預設為 4)。 在傳送許多小型檔案時,建議將此值增加至 64 或 128 或更高。 |
--multi-thread-streams |
int |
平行下載多個部分的大型檔案 (> 250M)。 這將改善大型檔案的下載時間 (預設值 4)。 |
--s3-upload-concurrency |
int |
要平行上傳的大型檔案組件數 (> 200M)。 這將改善大型檔案的上傳時間 (預設值 4)。 |
{:caption =“rclone 選項”caption-side =“頂部”}
使用 rclone copy 遷移資料僅會複製而不會刪除原始資料。
對於需要移轉/複製/備份的所有其他來源儲存區,應該重複複製處理程序。