使用移轉工具將資料搬移至 OCI 雲端儲存服務

簡介

這是一個四個教學課程系列的教學課程 1,其中顯示將資料移轉至 Oracle Cloud Infrastructure (OCI) 雲端儲存服務的各種方式。該系列的設定可讓您檢閱此第一個教學課程,以深入瞭解各種工具,然後繼續進行與移轉需求相關的相關教學課程或文件。

OCI 為客戶提供高效能運算和低成本雲端儲存選項。透過隨選本機、物件、檔案、區塊和封存儲存,Oracle 可滿足關鍵儲存工作負載需求和使用案例。

OCI 雲端儲存服務可為您的所有企業需求提供快速、安全且持久的雲端儲存選項。從 OCI File Storage with Lustre 和 OCI Block Volumes 服務等高效能選項開始,具備高效能掛載目標的 OCI File Storage 完全受管理 EB 級檔案系統;具備高持久性和可擴展的 OCI Object Storage。我們的解決方案可以滿足您的需求,範圍從 AI/ML 工作負載等高效能應用程式到 EB 級資料湖。

許多客戶發現需要從內部部署、另一個提供者或 OCI 雲端儲存服務之間,將資料傳輸到 OCI 雲端儲存服務。根據資料傳輸的來源、目的地和方向,完成移轉的最佳方法可能會有所不同。識別出資料來源的基本知識和 OCI 中的目的地之後,您必須決定移轉路徑以及需要使用的工具。讓我們的實作體驗引導您瞭解正確的移轉工具及其使用方式。此系列教學課程 1 介紹各種工具,以及這些工具最適合移轉流程的位置。

決定需要移轉的資料量,以及可切換至新 OCI 儲存平台的停機時間。批次移轉是將移轉細分為可管理增量的最佳選擇。批次移轉可讓您跨不同時段排定特定應用程式的停機時間。部分客戶可在排定的維護時段內彈性執行 2-4 天的一次性移轉。OCI FastConnect 可用於在 OCI 與您的環境之間建立專用的專用連線,連接埠速度從 1G 到 400G,以加速資料傳輸流程。OCI FastConnect 可與 Megaport 和 ConsoleConnect 等合作夥伴解決方案整合,以建立與資料中心的專用連線,或建立雲端對雲端互連,以更直接將資料從另一個雲端供應商移至 OCI 雲端儲存服務。如需詳細資訊,請參閱 FastConnect 與 Megaport Cloud Router 整合

適用對象

DevOps 工程師、開發人員、OCI 雲端儲存管理員和使用者、IT 管理者、OCI 超級使用者和應用程式管理員。

目標

瞭解如何使用各種工具將資料複製並同步至 OCI 雲端儲存服務:

必備條件

移轉工具

我們的客戶體驗和測試可協助您引導移轉工具最適合您的情境。建議您對範例資料集進行概念驗證和測試,以驗證資料集的最佳移轉方法。我們將探索可將資料從內部部署和其他雲端提供者移轉至 OCI 或移轉至 OCI 雲端儲存服務的通用移轉工具。測試結果會從範例資料集共用,因此您可以推斷工具在資料集上的執行方式。

適合工作的工具

進行移轉時,有許多工具可供選擇,而且一次研究這些工具可能非常困難。最佳移轉工具將根據移轉的來源、目的地、方向、使用者體驗和使用者環境而有所不同。

下表提供常見的移轉案例建議,包括將內部部署資料移轉、將資料從另一個雲端供應商移轉至 OCI、將 OCI 雲端儲存資料從一個區域複製到另一個區域、複製區域內的 OCI 雲端儲存資料,以及將 OCI 檔案儲存資料複製到 OCI 物件儲存。

資料移轉來源 將資料移轉至 建議的工具 備註 文件 / 教學連結
內部部署檔案系統 OCI Object Storage 1. s5cmd (小 / 混合檔案)
2。OCI 物件儲存同步 (少許大型檔案)
3。Rclone (混合)
4。隨時隨地使用
使用最適合您資料結構的工具,讓您感到自在。FastConnect 應予以複查以改善傳輸時間。 S5cmd 與 Object Storage 同步教學
Rclone 教學課程
Resilio Active Anywhere
另一個雲端供應商物件或 Blob 儲存 OCI Object Storage 1. 彈性化 IO
2。重新複製
針對與 S3 相容的廠商,以及需要支援的 GUI 介面時,使用 Flexify IO。
當您熟悉實驗、切換各種設定,以及支援超過 70 個不同雲端廠商 (S3 相容與非 S3 相容的物件儲存體) 時,請使用 Rclone。
Flexify IO 在雲端之間移轉Rclone 教學課程
OCI Object Storage 另一個區域中的 OCI 物件儲存 1. 物件複製
2。OCI 物件儲存大量複製 Python API
3。彈性化 IO
4。重新複製
使用原生物件複寫適用於目前空白之新儲存桶的精確複寫、使用 OCI Object Storage Bulk Copy Python API、Flexify IO 或 Rclone 初始化已有物件或想要保留目的地物件之來源儲存桶的複本。 物件儲存複寫文件
大量作業使用 Oracle Cloud Infrastructure Object Storage Python 公用程式
彈性化 IO
Rclone 教學課程
OCI Object Storage 其他租用戶中的 OCI 物件儲存 (相同或不同的區域) 1.OCI 物件儲存大量複製 Python API
2。彈性化 IO
3。重新複製
OCI 物件儲存大量複製 Python API 的先決條件:使用跨租用戶 IAM 原則啟用跨租用戶複本。如需詳細資訊,請參閱存取跨租用戶的物件儲存資源 使用 Oracle Cloud Infrastructure Object Storage Python 公用程式進行大量操作
Flexify IO
Rclone 教學課程
OCI 檔案儲存 OCI Object Storage 1. s5cmd (小 / 混合檔案)
2。物件儲存同步 (少許大型檔案)
3。Rclone (混合)
4。隨時隨地使用
使用最適合您資料結構的工具,讓您感到自在。 S5cmd 與 Object Storage 同步教學
Rclone 教學課程
Resilio Active Anywhere
內部部署檔案系統 OCI 檔案儲存 1. fpsync (Linux) 和 CIFS + fpsync (Windows)
2。隨時隨地使用
請確定已在來源和目的地執行處理之間建立網路連線。 Fpsync 文件
fpsync 教學課程
Resilio Active Anywhere
另一個雲端供應商本機磁碟或檔案儲存 OCI 檔案儲存 1. fpsync (Linux) 和 CIFS + fpsync (Windows)
2。隨時隨地使用
請確定已在來源和目的地執行處理之間建立網路連線。FastConnect 應予以複查以改善傳輸時間。 Fpsync 文件
fpsync 教學課程
Resilio Active Anywhere
OCI 檔案儲存 其他區域中的 OCI 檔案儲存 1. 檔案系統複製
2. fpsync 與執行處理對執行處理串流
3。隨時隨地使用
如果使用複製,請參閱複製的限制和考量,或者如果使用執行處理對執行處理串流,請確定是在來源和目的地執行處理之間建立網路連線。 Fpsync 說明文件
fpsync 教學課程
檔案系統複寫文件
Resilio Active Anywhere
OCI 檔案儲存 相同可用性網域內的 OCI 檔案儲存 1. 檔案系統複寫
2。使用檔案儲存平行工具:parcp
3。隨時隨地使用
如果使用複製,請參閱複製的限制和考量;如果使用 parcp,請確保來源和目的地檔案系統都掛載在執行處理中。 檔案系統複製
使用檔案儲存平行工具:parcp
Resilio Active Anywhere
內部部署,另一個雲端供應商 OCI 物件儲存或 OCI 檔案儲存 Resilio Active Anywhere 平台 當您需要資料的多向同步化、支援的白手套服務,以及 GUI 介面時,請使用 Resilio Active Anywhere 平台。Resilio 已通過 OCI 雲端儲存服務產品團隊驗證,可在 Oracle Cloud Marketplace 中取得。 如需使用平台的詳細資訊,請參閱 Resilio 團隊

注意:移轉工具系列將不會涵蓋 OCI Object Storage 或 OCI File System Replication、OCI Object Storage Bulk Copy Python API、Flexify 以及 Resilio。請參閱「相關連結」以取得更多資訊。

接下來的步驟

繼續學習與您的移轉需求相關的相關教學課程。若要將資料移至 OCI 雲端儲存服務,請執行下列動作:

( 可選擇 ) 測試環境

根據測試和客戶互動提出建議。

測試環境 1:

1 個 VM 執行處理 VM.Standard.E4.Flex、1 個 OCPU、1Gbps 網路頻寬、16GB 的記憶體。將內部部署資料模擬至 OCI 移轉,將資料從 PHX NFS 複製到 IAD。

資料集

資料集大小總計:3TB,每個檔案 3TB。

方法 終止來源 Time 命令 旗標
os 同步 NFS/ 檔案 PHX 至物件 IAD 123m17.102s --parallel-operations-count 100
s5cmd NFS/ 檔案 PHX 至物件 IAD 239m20.625s copy run commands.txt,預設執行 --numworkers 256
複製 NFS/ 檔案 PHX 至物件 IAD 178m27.101s copy --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest

注意:我們的測試顯示 os sync 對此資料集執行最快的速度。

資料集大小總計:9.787GB,包含 20,000 個檔案,每個檔案 20MB

方法 終止來源 Time 命令 旗標
s5cmd NFS/ 檔案 PHX 至物件 IAD 1m12.746s copy 預設執行 --numworkers 256
os 同步 NFS/ 檔案 PHX 至物件 IAD 2m48.742s --parallel-operations-count 1000
複製 NFS/ 檔案 PHX 至物件 IAD 1m52.886s copy --transfers=500 --oos-no-check-bucket --no-check-dest

注意:我們的測試顯示 s5cmd 對此資料集執行最佳效能。

測試環境 2:

VM 執行處理:每次測試都使用了 2 個 VM 執行處理,我們使用了 VM.Standard.E4.Flex 和 24 個 OCPU、24Gbps 網路頻寬、384GB 的記憶體。Oracle Linux 8 用於 Linux 測試。彈性 IO 不使用 VM 執行處理。

測試時使用的資料集: 14 個主目錄具有下列檔案數目與大小,總計為 2.25TiB。

資料集目錄 大小 檔案數目 每個檔案的大小
目錄 1 107.658 GiB 110,242 1 MiB
目錄 2 1.687 GiB 110,569 15 MiB
目錄 3 222 GiB 111 2 GiB
目錄 4 1.265 TiB 1,295 1 GiB
目錄 5 26.359 GiB 1,687 16 MiB
目錄 6 105.281 MiB 26,952 4 KiB
目錄 7 29.697 MiB 30,410 1 KiB
目錄 8 83.124 GiB 340,488 256 KiB
目錄 9 21.662 GiB 354,909 64 KiB
目錄 10 142.629 GiB 36,514 4 MiB
目錄 11 452.328 MiB 57,898 8 MiB
目錄 12 144 GiB 72 2GiB
目錄 13 208.500 GiB 834 256 MiB
目錄 14 54.688 GiB 875 64 MiB

注意:

方法 終止來源 Time 命令 旗標 / 備註
s5cmd NFS/ 檔案 PHX 至物件 IAD 54m41.814s copy --numworkers 74
os 同步 NFS/ 檔案 PHX 至物件 IAD 65m43.200s --parallel-operations-count 50
複製 NFS/ 檔案 PHX 至物件 IAD 111m59.704s copy --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
複製 物件 PHX 至物件 IAD 28m55.663s copy --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 400,在 2 個 VM 之間執行相同的命令,並行執行 800 個傳輸
python 大量複製命令檔 物件 PHX 至物件 IAD 25m43.715s Default 1 個 VM、50 個工作者、100,000 個檔案一次排入佇列
彈性 IO 物件 PHX 至物件 IAD 20m27s copy 預設為 10 個引擎 / 插槽
彈性 IO 物件 PHX 至物件 IAD 16m12s copy 20 個引擎 / 插槽,可透過「 進階設定」產生

s5cmdos sync 指令在物件儲存的檔案系統 /NFS 上運作良好。僅針對物件儲存 (儲存桶對儲存桶) 傳輸進行彈性化 IO 和大量複製命令檔,而且未針對 NFS 移轉進行測試。

只有 Flexify IO、rclone 和 python 大量複製指令碼能夠跨區域執行儲存桶到儲存桶的傳輸,因此其他工具無法對其進行測試。Flexify IO 在跨區域執行物件儲存移轉的最佳效果,python 大量複製指令碼的效能優於 rclone。請務必注意,Flexify IO 僅適用於 S3 相容的物件儲存、python 大量複製指令碼僅適用於 OCI 物件儲存,而 rclone 支援許多後端和雲端提供者。

小型測試執行是使用 rclone 將資料從 Microsoft Azure Blob 儲存、Amazon Simple Storage Service (Amazon S3) 和 Google Cloud Platform Cloud Storage 傳輸至 OCI Object Storage,以驗證工具適用於這些類型的傳輸。如需詳細資訊,請參閱使用 Rclone 將資料移到雲端中的物件儲存體

FlexifyIO was used to migrate this data set from AWS us-east-2 to the OCI Ashburn region and took only 23m51s for the 2.25TiB using the default of 10 engines/ slots, additional engines/ slots could be added for faster performance.

測試環境 3:

VM 執行處理:每個測試都使用了 1-2 個 VM 執行處理,我們使用了 VM.Standard.E4.Flex 和 24 個 OCPU、24Gbps 網路頻寬、384GB 的記憶體。Oracle Linux 8 用於 Linux 測試。所有測試都是儲存桶對儲存桶。彈性 IO 不使用 VM 執行處理。

總大小 檔案計數 檔案大小範圍
7.74 TiB 1,000,000 30 MiB
方法 終止來源 Time 命令 旗標 備註  
複製 物件至物件 IAD -> IAD 18h39m11.4s copy --oos-no-check-bucket --fast-list --no-traverse --transfers 500 --oos-chunk-size 10Mi 1 個 VM,由於檔案數目過高且列出對來源的呼叫,因此速度非常緩慢  
複製 物件至物件 IAD -> IAD 55m8.431s copy --oos-no-check-bucket --no-traverse --transfers 500 --oos-chunk-size 10Mi --files-from <file> 2 個 VM、每一 VM 500 個傳輸、物件 / 檔案清單一次饋送 1,000 個檔案、防止在來源和目的地上列出,並提升效能  
python 大量複製命令檔 物件至物件 IAD -> IAD 28m21.013s Default 1 個 VM、50 個工作者、100,000 個檔案一次排入佇列  
python 大量複製命令檔 物件至物件 IAD -> IAD Default 2 部虛擬機、每部虛擬機 50 名員工、一次排入 10 萬個佇列的檔案。收到 429 個錯誤,指令碼停滯且無法完成  
彈性 IO 物件至物件 IAD -> IAD 39m19s copy Default 預設為 10 個引擎 / 插槽  
彈性 IO 物件至物件 IAD -> IAD 21m37s copy 20 個引擎 / 插槽 設為 20 個引擎 / 插槽,可透過「 進階設定」產生  
s5cmd 物件至物件 IAD -> IAD 14m10.864s copy 預設值 (256 名職工) 1 個 VM
s5cmd 物件至物件 IAD -> IAD 7m50.013s copy 預設值 2 個虛擬機器,每個虛擬機器 256 個工作者 以 1 個 VM 的約半時間執行
s5cmd 物件至物件 IAD -> IAD 3m23.382s copy --numworkers 1000 1 個 VM,1000 個工作節點 在多個測試中,我們發現這是此資料集的最佳執行 s5cmd
複製 物件至物件 IAD -> PHX 184m36.536s copy --oos-no-check-bucket --no-traverse --transfers 500 --oos-chunk-size 10Mi --files-from <file> 2 個 VM、每一 VM 500 個傳輸、物件 / 檔案清單一次饋送 1,000 個檔案  
python 大量複製命令檔 物件至物件 IAD -> PHX 35m31.633s Default 一次排入佇列的 1VM、50 個工作者、100,000 個檔案  
彈性 IO 物件至物件 IAD -> PHX 21m17s copy 20 個引擎 / 插槽 設為 20 個引擎 / 插槽,可透過「 進階設定」產生  

s5cmd 指令在大型檔案計數和小型檔案上執行一致。s5cmd 有限,因為它只能在相同租用戶和相同區域內執行儲存桶對儲存桶複製。

彈性 IO 是此移轉資料集的建議工具,因為它表現良好且支援各種與 S3 相容的物件儲存類型。提高 Flexify IO 的引擎 / 插槽數目之後的移轉時間已停止。

請注意,將檔案饋送至命令並從擴展至另一個 VM 後,對 rclone 有高度的改善。Rclone 的執行速度可能比其他工具慢,但它支援的各種平台和可執行的移轉類型最多。

OCI Object Storage 大量複製 Python API 只能使用 OCI 原生 CopyObject API,而且在調節之前,最多只能同時取得 50 個工作者,通常對此資料集表現良好。

IAD 至 PHX 的測試僅針對 IAD 至 IAD 的表現最佳,且有問題的測試並未重新執行。s5cmd 不適用於 IAD 至 PHX,因為它只能在相同區域內進行儲存桶對儲存桶複製。

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center