全部产品
Search
文档中心

Data Online Migration:Ikhtisar

更新时间:Jul 06, 2025

ossimport adalah alat untuk memigrasikan data ke Object Storage Service (OSS). Anda dapat menerapkan ossimport di server lokal atau Instance Elastic Compute Service (ECS) untuk memigrasikan data dari penyimpanan lokal atau penyimpanan cloud pihak ketiga ke OSS. Alibaba Cloud juga menyediakan Data Online Migration dan fitur replikasi lintas wilayah untuk membantu Anda memigrasikan data ke cloud dan mereplikasi data antara Bucket OSS melalui GUI.

Penting
  • ossimport tidak memverifikasi data setelah migrasi sehingga tidak menjamin konsistensi dan integritas data. Setelah tugas migrasi selesai, pastikan Anda memverifikasi konsistensi data antara sumber dan tujuan migrasi.

    Jika Anda menghapus data sumber tanpa memverifikasi konsistensi data antara sumber dan tujuan, Anda bertanggung jawab atas segala kerugian dan konsekuensi yang timbul.

  • Untuk memigrasikan data dari sumber data pihak ketiga, kami sarankan Anda menggunakan Data Online Migration.

  • Untuk mereplikasi objek antara Bucket OSS secara mendekati waktu nyata, kami sarankan Anda menggunakan fitur replikasi lintas wilayah OSS.

Fitur

  • ossimport mendukung berbagai macam sumber data, seperti sistem file lokal, Qiniu Cloud Object Storage (KODO), Baidu Object Storage (BOS), Amazon Simple Storage Service (Amazon S3), Azure Blob Storage, UPYUN Storage Service (USS), Tencent Cloud Object Service (COS), Kingsoft Standard Storage Service (KS3), daftar URL HTTP dan HTTPS, serta Alibaba Cloud OSS.

  • ossimport mendukung mode penyebaran mandiri dan terdistribusi. Mode mandiri mudah diterapkan dan digunakan. Mode terdistribusi cocok untuk migrasi data skala besar.

    Catatan

    Dalam mode mandiri, hanya satu bucket yang dapat dimigrasikan pada satu waktu.

  • ossimport mendukung unggah yang dapat dilanjutkan.

  • ossimport mendukung pembatasan lalu lintas.

  • ossimport mendukung migrasi objek yang dimodifikasi setelah waktu tertentu dan objek yang namanya mengandung awalan tertentu.

  • ossimport mendukung unduhan dan unggahan data konkuren.

Penagihan

ossimport tersedia secara gratis. Namun, jika Anda menggunakan ossimport untuk memigrasikan data melalui Internet, Anda mungkin dikenakan biaya lalu lintas keluar dan permintaan di sisi sumber data serta biaya permintaan di sisi OSS. Jika percepatan transfer digunakan selama migrasi, Anda akan dikenakan biaya tambahan untuk percepatan transfer.

Catatan Penggunaan

  • Kecepatan Migrasi

    Kecepatan migrasi ossimport bervariasi berdasarkan beberapa faktor, seperti lebar pita baca sumber data, lebar pita jaringan lokal, dan ukuran file yang akan dimigrasikan. Migrasi file yang lebih kecil dari 200 KB lambat karena jumlah IOPS yang besar yang diperlukan untuk memproses banyak file kecil.

  • Migrasi File Arsip

    Jika Anda ingin memigrasikan file arsip, Anda harus memulihkan file arsip terlebih dahulu sebelum dapat memigrasikan file tersebut.

  • Pengelolaan Data Sementara

    Saat menggunakan ossimport untuk memigrasikan data, aliran data pertama kali ditransfer ke memori lokal dan kemudian diunggah ke tujuan.

  • Penyimpanan Data Sumber

    Selama tugas migrasi data, ossimport hanya melakukan operasi baca pada data sumber. Ini tidak melakukan operasi tulis. Hal ini memastikan bahwa data sumber tidak dimodifikasi atau dihapus.

  • Migrasi Menggunakan ossutil

    Untuk memigrasikan data yang lebih kecil dari 30 TB, kami sarankan Anda menggunakan ossutil. ossutil adalah alat yang ringan dan mudah digunakan. Anda dapat menggunakan opsi -u, --update, dan --snapshot-path untuk memigrasikan file secara inkremental. Untuk informasi lebih lanjut, lihat Ikhtisar.

Lingkungan Runtime

ossimport dapat diterapkan di Linux atau Windows yang memenuhi persyaratan berikut:

  • Windows 7 atau lebih baru

  • CentOS 6 atau CentOS 7

  • Java 7 atau Java 8

Penting

ossimport tidak dapat diterapkan di Windows dalam mode terdistribusi.

Mode Penyebaran

ossimport mendukung mode penyebaran mandiri dan terdistribusi.

  • Penyebaran Mandiri cocok untuk migrasi data yang lebih kecil dari 30 TB. Untuk menerapkan ossimport dalam mode mandiri, unduh paket ossimport untuk penyebaran mandiri. Anda dapat menerapkan ossimport pada perangkat yang dapat mengakses data yang akan dimigrasikan dan Bucket OSS tempat Anda ingin memigrasikan data.

  • Penyebaran Terdistribusi cocok untuk migrasi data yang lebih besar dari 30 TB. Untuk menerapkan ossimport dalam mode terdistribusi, unduh paket ossimport untuk penyebaran terdistribusi. Anda dapat menerapkan ossimport pada beberapa perangkat yang dapat mengakses data yang akan dimigrasikan dan Bucket OSS tempat Anda ingin memigrasikan data.

    Catatan

    Untuk mengurangi waktu yang diperlukan untuk memigrasikan sejumlah besar data, Anda dapat menerapkan ossimport pada beberapa Instance ECS yang berada di wilayah yang sama dengan Bucket OSS Anda dan menghubungkan server sumber ke virtual private cloud (VPC) menggunakan Express Connect. Dengan cara ini, Anda dapat menggunakan Instance ECS untuk memigrasikan data melalui VPC dengan kecepatan migrasi yang lebih cepat.

    Anda juga dapat menggunakan ossimport untuk mentransmisikan data melalui Internet. Dalam hal ini, kecepatan transmisi dipengaruhi oleh lebar pita mesin lokal Anda.

Mode Mandiri

Modul Master, Worker, Tracker, dan Console dikompresi menjadi ossimport2.jar dan berjalan pada perangkat yang sama. Sistem ini hanya memiliki satu worker.

Kode berikut menunjukkan struktur file dalam mode mandiri:

ossimport
├── bin
│ └── ossimport2.jar  # Paket JAR yang berisi modul Master, Worker, Tracker, dan Console.
├── conf
│ ├── local_job.cfg   # File konfigurasi Job dalam penyebaran mandiri.
│ └── sys.properties  # File konfigurasi yang berisi parameter sistem.
├── console.bat         # Alat baris perintah Windows yang digunakan untuk menjalankan perintah langkah demi langkah.
├── console.sh          # Alat baris perintah Linux yang digunakan untuk menjalankan perintah langkah demi langkah.
├── import.bat          # Skrip yang menjalankan tugas migrasi di Windows dengan beberapa klik berdasarkan file konfigurasi conf/local_job.cfg. Skrip ini mencakup semua langkah tugas migrasi, termasuk memulai tugas migrasi, memigrasikan data, memverifikasi data, dan mencoba kembali tugas migrasi.
├── import.sh           # Skrip yang menjalankan tugas migrasi di Linux dengan beberapa klik berdasarkan file konfigurasi conf/local_job.cfg. Skrip ini mencakup semua langkah tugas migrasi, termasuk memulai tugas migrasi, memigrasikan data, memverifikasi data, dan mencoba kembali tugas migrasi.
├── logs                # Direktori yang berisi log.
└ ── README.md # File yang memberikan instruksi tentang cara menggunakan ossimport. Kami sarankan Anda membaca file ini sebelum menggunakan ossimport.
  • import.bat dan import.sh adalah skrip yang digunakan untuk menjalankan tugas migrasi dengan beberapa klik. Anda dapat menjalankan skrip ini setelah memodifikasi file konfigurasi local_job.cfg.

  • console.bat dan console.sh adalah alat baris perintah yang digunakan untuk menjalankan perintah langkah demi langkah.

  • Jalankan skrip atau perintah dalam direktori ossimport, yaitu direktori yang berisi file *.bat dan *.sh.

Mode Terdistribusi

Arsitektur ossimport dalam mode terdistribusi terdiri dari master dan beberapa worker. Kode berikut menunjukkan struktur:

Master --------- Job --------- Console
    |
    |
   TaskTracker
    |_____________________
    |Task     | Task      | Task
    |         |           |
Worker      Worker      Worker

Parameter

Deskripsi

Master

Master yang membagi tugas migrasi menjadi beberapa subtugas berdasarkan ukuran data dan jumlah file. Anda dapat menentukan ukuran data dan jumlah file dalam file sys.properties. Master membagi tugas migrasi menjadi beberapa subtugas dengan melakukan langkah-langkah berikut:

  1. Master menelusuri daftar lengkap file yang akan dimigrasikan dari penyimpanan lokal atau penyimpanan cloud pihak ketiga.

  2. Master membagi file menjadi beberapa subtugas berdasarkan ukuran data dan jumlah file. Setiap subtugas bertanggung jawab atas migrasi atau verifikasi sebagian file.

Worker

  • Worker memigrasikan file dan memverifikasi data untuk subtugas. Worker menarik file tertentu dari sumber data dan mengunggah file ke direktori yang ditentukan di OSS. Anda dapat mengonfigurasi sumber data dan Bucket OSS tujuan dalam file konfigurasi job.cfg atau local_job.cfg.

  • Worker mendukung pembatasan lalu lintas dan jumlah subtugas konkuren kustom untuk migrasi data. Anda dapat mengonfigurasi pengaturan dalam file konfigurasi sys.properties.

TaskTracker

TaskTracker yang mendistribusikan subtugas dan melacak status subtugas. TaskTracker disingkat sebagai tracker.

Console

Konsol yang berinteraksi dengan pengguna, menerima masukan perintah, dan menampilkan keluaran perintah. Konsol mendukung perintah manajemen sistem termasuk deploy, start, dan stop, serta perintah manajemen job termasuk submit, retry, dan clean.

Job

Tugas migrasi data yang dikirimkan oleh pengguna. Satu tugas sesuai dengan satu file konfigurasi job.cfg.

Task

Subtugas yang memigrasikan sebagian file. Tugas migrasi dapat dibagi menjadi beberapa subtugas berdasarkan ukuran data dan jumlah file. Unit minimal untuk membagi tugas migrasi menjadi subtugas adalah file. Satu file tidak ditugaskan ke beberapa subtugas.

Dalam penyebaran terdistribusi, Anda dapat memulai beberapa perangkat dan menjalankan hanya satu worker pada setiap perangkat untuk memigrasikan data. Subtugas didistribusikan secara merata ke worker, dan worker menjalankan beberapa subtugas.

Kode berikut menunjukkan struktur file dalam mode terdistribusi:

ossimport
├── bin
│ ├── console.jar     # Paket JAR untuk modul Console.
│ ├── master.jar      # Paket JAR untuk modul Master.
│ ├── tracker.jar     # Paket JAR untuk modul Tracker.
│ └── worker.jar      # Paket JAR untuk modul Worker.
├── conf
│ ├── job.cfg         # Template file konfigurasi Job.
│ ├── sys.properties  # File konfigurasi yang berisi parameter sistem.
│ └── workers         # Daftar worker.
├── console.sh          # Alat baris perintah. Hanya Linux yang didukung.
├── logs                # Direktori yang berisi log.
└ ── README.md # File yang memberikan instruksi tentang cara menggunakan ossimport. Kami sarankan Anda membaca file ini sebelum menggunakan ossimport.

File Konfigurasi

File konfigurasi sys.properties dan local_job.cfg tersedia dalam mode mandiri. File konfigurasi sys.properties, job.cfg, dan workers tersedia dalam mode terdistribusi. File konfigurasi local_job.cfg dan job.cfg memiliki parameter yang sama. File konfigurasi workers eksklusif untuk mode terdistribusi.

  • sys.properties: parameter sistem.

    Parameter

    Deskripsi

    Catatan

    workingDir

    Direktori kerja.

    Direktori tempat paket diekstraksi. Jangan ubah parameter ini dalam mode mandiri. Dalam mode terdistribusi, direktori kerja harus sama untuk setiap perangkat.

    workerUser

    Nama pengguna SSH yang digunakan untuk masuk ke perangkat tempat worker berada.

    • Jika parameter privateKeyFile ditentukan, nilai parameter privateKeyFile digunakan.

    • Jika parameter privateKeyFile tidak ditentukan, nilai parameter workerUser dan workerPassword digunakan.

    • Jangan ubah parameter ini dalam mode mandiri.

    workerPassword

    Kata sandi SSH yang digunakan untuk masuk ke perangkat tempat worker berada.

    Jangan ubah parameter ini dalam mode mandiri.

    privateKeyFile

    Path file kunci privat.

    • Jika Anda sudah membangun koneksi SSH, Anda dapat menentukan parameter ini. Jika tidak, biarkan parameter ini kosong.

    • Jika parameter privateKeyFile ditentukan, nilai privateKeyFile digunakan.

    • Jika parameter privateKeyFile tidak ditentukan, nilai parameter workerUser dan workerPassword digunakan.

    • Jangan ubah parameter ini dalam mode mandiri.

    sshPort

    Port SSH.

    Nilai default adalah 22. Dalam kebanyakan kasus, kami sarankan Anda mempertahankan nilai default. Jangan ubah parameter ini dalam mode mandiri.

    workerTaskThreadNum

    Jumlah maksimum utas untuk worker menjalankan subtugas.

    • Parameter ini terkait dengan memori perangkat dan kondisi jaringan. Kami sarankan Anda menetapkan parameter ini ke 60.

    • Nilai dapat ditingkatkan untuk mesin fisik. Misalnya, Anda dapat menetapkan parameter ini ke 150. Jika lebar pita jaringan sudah penuh, jangan tingkatkan lebih lanjut.

    • Jika kondisi jaringan buruk, kurangi nilainya. Misalnya, Anda dapat menetapkan parameter ini ke 30. Dengan cara ini, Anda dapat mencegah kesalahan timeout yang disebabkan oleh kompetisi untuk sumber daya jaringan.

    workerMaxThroughput(KB/s)

    Throughput maksimum untuk migrasi data worker.

    Parameter ini dapat digunakan untuk pembatasan. Nilai default adalah 0, yang menentukan bahwa tidak ada pembatasan yang diberlakukan.

    dispatcherThreadNum

    Jumlah utas untuk distribusi subtugas dan pemeriksaan status oleh tracker.

    Jika Anda tidak memiliki persyaratan khusus, pertahankan nilai default.

    workerAbortWhenUncatchedException

    Menentukan apakah akan melewati kesalahan atau menghentikan subtugas jika terjadi kesalahan yang tidak diketahui.

    Secara default, kesalahan dilewati jika terjadi kesalahan yang tidak diketahui.

    workerRecordMd5

    Menentukan apakah akan menggunakan item metadata x-oss-meta-md5 untuk mencatat hash MD5 file yang akan dimigrasikan. Secara default, hash MD5 tidak dicatat.

    Nilai parameter ini digunakan untuk memverifikasi integritas data.

  • job.cfg: konfigurasi untuk tugas migrasi data. File konfigurasi local_job.cfg dan job.cfg berbeda dalam nama tetapi berisi parameter yang sama.

    Parameter

    Deskripsi

    Catatan

    jobName

    Nama tugas migrasi. Nilainya bertipe STRING.

    • Nama tugas secara unik mengidentifikasi tugas. Nama tugas dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-), serta harus memiliki panjang 4 hingga 128 karakter. Anda dapat mengirimkan beberapa tugas yang memiliki nama berbeda.

    • Jika Anda mengirimkan tugas dengan nama yang sama dengan tugas yang sudah ada, sistem akan memperingatkan bahwa tugas tersebut sudah ada. Sebelum Anda membersihkan tugas yang ada, Anda tidak diizinkan mengirimkan tugas dengan nama yang sama.

    jobType

    Jenis tugas migrasi. Nilainya bertipe STRING.

    • Nilai default: import.

    isIncremental

    Menentukan apakah akan mengaktifkan mode migrasi inkremental. Nilainya bertipe BOOLEAN.

    • Nilai default: false.

    • Jika parameter ini diatur ke true, ossimport melakukan pemindaian data pada interval detik yang ditentukan oleh incrementalModeInterval untuk mendeteksi data inkremental dan kemudian memigrasikan data inkremental yang terdeteksi ke OSS.

    incrementalModeInterval

    Interval migrasi dalam detik dalam mode migrasi inkremental. Nilainya bertipe INTEGER.

    Parameter ini valid jika parameter isIncremental diatur ke true. Interval minimum adalah 900 detik. Kami sarankan Anda menetapkan parameter ini ke nilai tidak kurang dari 3600 untuk mencegah lonjakan permintaan dan overhead tambahan.

    importSince

    Kondisi waktu untuk tugas migrasi data. Data yang waktu modifikasi terakhirnya lebih dari nilai parameter ini dimigrasikan. Nilainya bertipe INTEGER. Unit: detik.

    • Timestamp harus dalam format UNIX. Timestamp UNIX adalah jumlah detik yang telah berlalu sejak 00:00:00 Kamis, 1 Januari 1970. Anda dapat menjalankan perintah date +%s untuk menanyakan timestamp UNIX.

    • Nilai default adalah 0, yang menentukan bahwa semua data dimigrasikan.

    srcType

    Jenis sumber migrasi. Nilainya bertipe STRING dan peka huruf besar-kecil.

    Nilai yang valid:

    • local: memigrasikan data dari penyimpanan lokal ke OSS. Jika nilai ini ditentukan, tentukan parameter srcPrefix dan biarkan parameter srcAccessKey, srcSecretKey, srcDomain, dan srcBucket kosong.

    • oss: memigrasikan data dari Bucket OSS ke Bucket OSS lainnya.

    • qiniu: memigrasikan data dari KODO ke OSS.

    • bos: memigrasikan data dari BOS ke OSS.

    • ks3: memigrasikan data dari KS3 ke OSS.

    • s3: memigrasikan data dari Amazon S3 ke OSS.

    • youpai: memigrasikan data dari USS ke OSS.

    • http: Migrasikan data dari daftar URL HTTP atau HTTPS ke OSS.

    • cos: Migrasikan data dari COS ke OSS.

    • azure: memigrasikan data dari Azure Blob Storage ke OSS.

    srcAccessKey

    ID AccessKey yang digunakan untuk mengakses sumber. Nilainya bertipe STRING.

    • Jika parameter srcType diatur ke oss, qiniu, baidu, ks3, atau s3, tentukan ID AccessKey yang digunakan untuk mengakses sumber tersebut.

    • Jika parameter srcType diatur ke local atau http, abaikan parameter ini.

    • Jika parameter srcType diatur ke youpai atau azure, tentukan nama akun yang digunakan untuk mengakses sumber.

    srcSecretKey

    Rahasia AccessKey yang digunakan untuk mengakses sumber. Nilainya bertipe STRING.

    • Jika parameter srcType diatur ke oss, qiniu, baidu, ks3, atau s3, tentukan Rahasia AccessKey yang digunakan untuk mengakses sumber.

    • Jika parameter srcType diatur ke local atau http, abaikan parameter ini.

    • Jika parameter srcType diatur ke youpai, tentukan kata sandi operator yang digunakan untuk mengakses sumber.

    • Jika parameter srcType diatur ke azure, tentukan kunci akun yang digunakan untuk mengakses sumber.

    srcDomain

    Titik akhir sumber.

    • Jika parameter srcType diatur ke local atau http, abaikan parameter ini.

    • Jika parameter srcType diatur ke oss, tentukan titik akhir yang tidak termasuk nama bucket. Anda dapat memperoleh titik akhir dari konsol OSS.

    • Jika parameter srcType diatur ke qiniu, tentukan nama domain bucket. Anda dapat memperoleh nama domain dari konsol KODO.

    • Jika parameter srcType diatur ke bos, tentukan nama domain BOS, seperti http://bj.bcebos.com atau http://gz.bcebos.com.

    • Jika parameter srcType diatur ke ks3, tentukan nama domain KS3, seperti http://kss.ksyun.com, http://ks3-cn-beijing.ksyun.com, atau http://ks3-us-west-1.ksyun.coms.

    • Jika parameter srcType diatur ke S3, tentukan titik akhir untuk wilayah Amazon S3 yang sesuai.

    • Jika parameter srcType diatur ke youpai, tentukan nama domain USS, seperti http://v0.api.upyun.com (garis optimal otomatis teridentifikasi), http://v1.api.upyun.com (garis China Telecom), http://v2.api.upyun.com (garis China Unicom), atau http://v3.api.upyun.com (garis China Mobile).

    • Jika parameter srcType diatur ke cos, tentukan wilayah tempat Bucket COS berada. Contoh: ap-guangzhou.

    • Jika parameter srcType diatur ke cos, tentukan akhiran titik akhir dalam string koneksi Azure Blob Storage. Contoh: core.chinacloudapi.cn.

    srcBucket

    Nama bucket atau kontainer sumber.

    • Jika parameter srcType diatur ke local atau http, abaikan parameter ini.

    • Jika parameter srcType diatur ke azure, tentukan nama kontainer sumber.

    • Jika parameter srcType diatur ke nilai selain local dan azure, tentukan nama bucket.

    srcPrefix

    Awalan sumber. Nilainya bertipe STRING. Parameter ini kosong secara default.

    • Jika parameter srcType diatur ke local, tentukan path lengkap yang diakhiri dengan garis miring (/). Jika path berisi dua atau lebih tingkat direktori, pisahkan dengan garis miring (/). Contoh: c:/example/ dan /data/example/ .

      Penting

      Path seperti c:/example//, /data//example/, dan /data/example// tidak valid.

    • Jika parameter srcType diatur ke oss, qiniu, bos, ks3, youpai, atau s3, tentukan awalan objek yang akan dimigrasikan, tidak termasuk nama bucket, seperti data/to/oss/.

    • Untuk memigrasikan semua objek, biarkan parameter srcPrefix kosong.

    destAccessKey

    ID AccessKey yang digunakan untuk mengakses Bucket OSS tujuan. Nilainya bertipe STRING.

    Anda dapat memperoleh ID AccessKey yang digunakan untuk mengakses Bucket OSS tujuan dari konsol OSS.

    destSecretKey

    Rahasia AccessKey yang digunakan untuk mengakses Bucket OSS tujuan. Nilainya bertipe STRING.

    Anda dapat memperoleh Rahasia AccessKey yang digunakan untuk mengakses Bucket OSS tujuan dari konsol OSS.

    destDomain

    Titik akhir tujuan. Nilainya bertipe STRING.

    Anda dapat memperoleh titik akhir tujuan yang tidak termasuk nama bucket dari konsol OSS. Untuk informasi lebih lanjut, lihat Wilayah dan titik akhir.

    destBucket

    Bucket tujuan. Nilainya bertipe STRING.

    Nama Bucket OSS tujuan. Nama tersebut tidak boleh diakhiri dengan garis miring (/).

    destPrefix

    Nama awalan objek yang dimigrasikan di Bucket OSS tujuan.

    • Parameter ini kosong secara default. Jika Anda mempertahankan nilai default, objek yang dimigrasikan disimpan di direktori root di bucket tujuan.

    • Untuk memigrasikan data ke direktori tertentu di OSS, akhiri awalan dengan garis miring (/). Contoh: data/in/oss/.

    • Nama objek OSS tidak boleh dimulai dengan garis miring (/). Jangan atur parameter destPrefix ke nilai yang dimulai dengan garis miring (/).

    • File lokal yang jalurnya dalam format srcPrefix+relativePath dimigrasikan ke jalur OSS dalam format destDomain/destBucket/destPrefix+relativePath.

    • Objek yang jalurnya dalam format srcDomain/srcBucket/srcPrefix+relativePath di cloud dimigrasikan ke jalur OSS dalam format destDomain/destBucket/destPrefix+relativePath.

    taskObjectCountLimit

    Jumlah maksimum file dalam setiap subtugas. Nilainya bertipe INTEGER. Nilai default adalah 10000.

    Parameter ini memengaruhi tingkat konkurensi subtugas yang ingin Anda jalankan. Dalam kebanyakan kasus, atur parameter ini ke nilai yang dihitung berdasarkan rumus berikut: Total jumlah file/Total jumlah worker/Jumlah utas migrasi (workerTaskThreadNum). Nilai maksimum adalah 50000. Jika total jumlah file tidak diketahui, pertahankan nilai default.

    taskObjectSizeLimit

    Ukuran data maksimum dalam byte untuk setiap subtugas. Nilainya bertipe INTEGER. Ukuran data maksimum default adalah 1 GB.

    Parameter ini memengaruhi tingkat konkurensi subtugas yang ingin Anda jalankan. Dalam kebanyakan kasus, atur parameter ini ke nilai yang dihitung berdasarkan rumus berikut: Total ukuran data/Total jumlah worker/Jumlah utas migrasi (workerTaskThreadNum). Jika total ukuran data tidak diketahui, pertahankan nilai default.

    isSkipExistFile

    Menentukan apakah akan melewati objek yang sudah ada selama migrasi data. Nilainya bertipe BOOLEAN.

    Nilai true menentukan bahwa objek dilewati berdasarkan ukuran dan waktu modifikasi terakhirnya. Nilai false menentukan bahwa objek yang sudah ada ditimpa. Nilai default adalah false.

    scanThreadCount

    Jumlah utas yang memindai file secara paralel. Nilainya bertipe INTEGER.

    • Nilai default: 1.

    • Nilai valid: 1 hingga 32.

    Parameter ini memengaruhi efisiensi pemindaian file. Jika Anda tidak memiliki persyaratan khusus, pertahankan nilai default.

    maxMultiThreadScanDepth

    Kedalaman maksimum direktori untuk pemindaian paralel. Nilainya bertipe INTEGER.

    • Nilai default: 1.

    • Nilai valid: 1 hingga 16.

    • Nilai 1 menentukan pemindaian paralel di direktori tingkat atas.

    • Jika Anda tidak memiliki persyaratan khusus, pertahankan nilai default. Nilai besar dapat menyebabkan kegagalan tugas.

    appId

    ID aplikasi COS. Nilainya bertipe INTEGER.

    Parameter ini valid jika parameter srcType diatur ke cos.

    httpListFilePath

    Path absolut file daftar URL HTTP. Nilainya bertipe STRING.

    • Parameter ini valid jika parameter srcType diatur ke http. Jika sumbernya adalah daftar URL HTTP, Anda harus menentukan parameter ini. Contoh: c:/example/http.list.

    • URL HTTP dalam file harus dibagi menjadi dua bagian yang dipisahkan dengan satu atau lebih spasi. Bagian pertama adalah awalan, dan bagian kedua adalah path relatif objek di OSS setelah objek yang di-hosting di URL dimigrasikan. Misalnya, file daftar URL HTTP di path c:/example/http.list berisi URL berikut:

      http://xxx.xxx.com/aa/  bb.jpg
      http://xxx.xxx.com/cc/  dd.jpg

      Jika Anda mengatur parameter destPrefix ke ee/, objek yang dimigrasikan ke OSS memiliki nama berikut:

      ee/bb.jpg
      ee/dd.jpg
  • workers: hanya tersedia dalam mode terdistribusi. Tentukan satu alamat IP dalam satu baris. Contoh:

    192.168.1.6
    192.168.1.7
    192.168.1.8
    • Dalam contoh sebelumnya, 192.168.1.6 di baris pertama adalah master. Dengan kata lain, 192.168.1.6 adalah alamat IP perangkat tempat master, worker, dan tracker dijalankan. Konsol juga berjalan di perangkat ini.

    • Pastikan nama pengguna, metode masuk, dan direktori kerja yang sama digunakan untuk semua worker.

Contoh File Konfigurasi

Tabel berikut memberikan tautan ke contoh file konfigurasi tugas migrasi data dalam mode terdistribusi. Nama file konfigurasi dalam mode mandiri adalah local_job.cfg, yang berisi item konfigurasi yang sama dengan file konfigurasi dalam mode terdistribusi.

Skenario Migrasi

File Konfigurasi

Deskripsi

Migrasikan data dari penyimpanan lokal ke OSS

job.cfg

Atur parameter srcPrefix ke path absolut yang diakhiri dengan garis miring (/). Contoh: D:/work/oss/data/ dan /home/user/work/oss/data/.

Migrasikan data dari KODO ke OSS

job.cfg

Anda dapat membiarkan parameter srcPrefix dan destPrefix kosong. Jika Anda ingin menentukan parameter, akhiri nilai dengan garis miring (/). Contoh: destPrefix=docs/.

Migrasikan data dari BOS ke OSS

job.cfg

Anda dapat membiarkan parameter srcPrefix dan destPrefix kosong. Jika Anda ingin menentukan parameter, akhiri nilai dengan garis miring (/). Contoh: destPrefix=docs/.

Migrasikan data dari Amazon S3 ke OSS

job.cfg

Untuk informasi lebih lanjut, lihat Titik akhir layanan AWS.

Migrasikan data dari USS ke OSS

job.cfg

Atur parameter srcAccessKey ke akun operator dan parameter srcSecretKey ke kata sandi yang sesuai.

Migrasikan data dari COS ke OSS

job.cfg

Tentukan parameter srcDomain berdasarkan persyaratan untuk COS V4. Contoh: srcDomain=sh. Anda dapat membiarkan parameter srcPrefix kosong. Jika Anda ingin menentukan parameter, mulai dan akhiri nilai dengan garis miring (/). Contoh: srcPrefix=/docs/.

Migrasikan data dari Azure Blob Storage ke OSS

job.cfg

Atur parameter srcAccessKey ke akun penyimpanan dan parameter srcSecretKey ke kunci akses. Atur parameter srcDomain ke akhiran titik akhir dalam string koneksi Azure Blob Storage. Contoh: core.chinacloudapi.cn.

Migrasikan data antara Bucket OSS

job.cfg

Metode ini cocok untuk memigrasikan objek dengan awalan berbeda dalam nama mereka, antar bucket di wilayah berbeda, atau antar bucket dalam kelas penyimpanan berbeda. Kami sarankan Anda menerapkan ossimport pada Instance ECS dan menggunakan titik akhir internal untuk meminimalkan biaya lalu lintas.

Pengaturan Lanjutan

  • Batasi lalu lintas

    Dalam file konfigurasi sys.properties, parameter workerMaxThroughput(KB/s) menentukan throughput maksimum untuk migrasi data worker. Dalam skenario pembatasan seperti pembatasan sisi sumber dan pembatasan jaringan, atur parameter ini ke nilai kurang dari bandwidth maksimum yang tersedia perangkat Anda berdasarkan kebutuhan bisnis Anda. Setelah modifikasi selesai, mulai ulang layanan agar modifikasi berlaku.

    Dalam mode terdistribusi, ubah file konfigurasi sys.properties di direktori $OSS_IMPORT_WORK_DIR/conf untuk setiap worker dan mulai ulang layanan.

    Untuk membatasi lalu lintas, ubah file konfigurasi sys.properties sesuai jadwal menggunakan crontab dan mulai ulang layanan agar modifikasi berlaku.

  • Ubah jumlah subtugas konkuren

    • Dalam file konfigurasi sys.properties, parameter workerTaskThreadNum menentukan jumlah subtugas konkuren yang dapat dijalankan oleh worker. Jika kondisi jaringan buruk dan worker harus memproses sejumlah besar subtugas, kesalahan timeout terjadi. Untuk menyelesaikan masalah ini, ubah konfigurasi dengan mengurangi jumlah subtugas konkuren dan kemudian mulai ulang layanan.

    • Dalam file konfigurasi sys.properties, parameter workerMaxThroughput(KB/s) menentukan throughput maksimum untuk migrasi data worker. Dalam skenario pembatasan, seperti pembatasan sisi sumber atau pembatasan jaringan, atur parameter ini ke nilai yang lebih kecil dari bandwidth maksimum perangkat Anda sesuai dengan kebutuhan bisnis.

    • Dalam file konfigurasi job.cfg, parameter taskObjectCountLimit menentukan jumlah maksimum file per subtugas. Nilai defaultnya adalah 10.000. Pengaturan parameter ini memengaruhi jumlah subtugas yang dihasilkan. Efisiensi eksekusi subtugas konkuren akan menurun jika jumlah subtugas terlalu kecil.

    • Dalam file konfigurasi job.cfg, parameter taskObjectSizeLimit menentukan ukuran data maksimum untuk setiap subtugas. Ukuran data maksimum default untuk setiap subtugas adalah 1 GB. Konfigurasi parameter ini memengaruhi jumlah subtugas, dan efisiensi menjalankan subtugas konkuren akan menurun jika jumlah subtugas terlalu kecil.

      Penting
      • Sebelum memulai migrasi data, pastikan untuk mengonfigurasi parameter dalam file konfigurasi.

      • Setelah memodifikasi parameter dalam file konfigurasi sys.properties, mulai ulang server lokal atau Instance ECS tempat ossimport diterapkan agar perubahan berlaku.

      • Setelah tugas migrasi yang dikonfigurasi dalam file job.cfg dikirimkan, parameter dalam file job.cfg tidak dapat diubah.

  • Verifikasi data tanpa migrasi

    Ossimport memungkinkan Anda memverifikasi data tanpa melakukan operasi migrasi. Untuk melewati migrasi dan hanya memverifikasi data, atur parameter jobType dalam file job.cfg atau local_job.cfg menjadi audit alih-alih import. Konfigurasikan parameter lainnya dengan cara yang sama seperti saat mengonfigurasikannya untuk migrasi data.

  • Tentukan mode migrasi data inkremental.

    Dalam mode migrasi data inkremental, ossimport memigrasikan data penuh yang ada setelah tugas migrasi dimulai dan secara berkala memigrasikan data inkremental. Migrasi data penuh dimulai saat Anda mengirimkan tugas, kemudian data inkremental dimigrasikan secara periodik. Mode ini cocok untuk pencadangan dan sinkronisasi data.

    Berikut adalah item konfigurasi yang tersedia untuk mode migrasi data inkremental:

    • Dalam file konfigurasi job.cfg, parameter isIncremental menentukan apakah mode migrasi data inkremental diaktifkan. Nilai valid: true dan false. Nilai default: false.

    • Dalam file konfigurasi job.cfg, parameter incrementalModeInterval menentukan interval dalam detik untuk melakukan migrasi data inkremental. Item konfigurasi ini hanya berlaku jika parameter isIncremental diatur ke true. Nilai minimum adalah 900. Kami sarankan agar parameter ini tidak diatur kurang dari 3600 untuk menghindari banyak permintaan terbuang yang dapat menyebabkan overhead tambahan.

  • Filter data yang akan dimigrasikan

    Anda dapat menetapkan kondisi filter untuk memigrasikan objek yang memenuhi kriteria tertentu. ossimport memungkinkan Anda menggunakan awalan dan waktu modifikasi terakhir untuk menentukan objek yang akan dimigrasikan.

    • Dalam file konfigurasi job.cfg, parameter srcPrefix menentukan awalan data sumber yang akan dimigrasikan. Secara default, parameter ini kosong.

      • Jika Anda mengatur parameter srcType ke local, atur parameter ini ke path direktori lokal. Path harus lengkap dan diakhiri dengan garis miring (/). Jika path mencakup dua atau lebih tingkat direktori, pisahkan dengan garis miring (/). Contoh: c:/example/ atau /data/example/.

      • Jika Anda mengatur parameter srcType ke oss, qiniu, bos, ks3, youpai, atau s3, atur parameter ini ke awalan nama objek sumber tanpa nama bucket. Contoh: data/to/oss/. Untuk memigrasikan semua data dari sumber, biarkan parameter srcPrefix kosong.

    • Dalam file konfigurasi job.cfg, parameter importSince menentukan waktu modifikasi terakhir dalam detik data sumber. Parameter importSince menentukan timestamp dalam format UNIX, yaitu jumlah detik sejak 00:00:00 Kamis, 1 Januari 1970. Anda dapat menjalankan perintah date +%s untuk mendapatkan timestamp UNIX. Nilai default adalah 0, yang berarti semua data akan dimigrasikan. Dalam mode migrasi data inkremental, parameter ini hanya berlaku untuk migrasi data penuh. Dalam mode lainnya, parameter ini berlaku untuk seluruh tugas migrasi.

      • Jika waktu modifikasi terakhir objek lebih awal dari nilai parameter importSince, objek tersebut tidak akan dimigrasikan.

      • Jika waktu modifikasi terakhir objek lebih baru dari nilai parameter importSince, objek tersebut akan dimigrasikan.