All Products
Search
Document Center

Data Online Migration:Ikhtisar ossimport

Last Updated:Aug 29, 2026

ossimport adalah alat untuk memigrasikan data ke Object Storage Service (OSS). Anda dapat menerapkan ossimport pada server lokal atau instance Elastic Compute Service (ECS) untuk memigrasikan data dari penyimpanan lokal atau layanan penyimpanan cloud lainnya ke OSS. Alibaba Cloud juga menyediakan layanan Data Online Migration dan cross-region replication yang telah distandardisasi. Layanan-layanan ini menawarkan antarmuka pengguna grafis (GUI) untuk membantu Anda memigrasikan data ke cloud dan mereplikasi data antar bucket OSS.

Penting
  • ossimport tidak memverifikasi file setelah migrasi. Alat ini tidak dapat menjamin kebenaran atau konsistensi hasil migrasi. Setelah tugas migrasi selesai, Anda harus memverifikasi konsistensi data antara sumber dan tujuan.

    Jika Anda menghapus data sumber sebelum memverifikasi konsistensi data, Anda bertanggung jawab atas segala kehilangan data yang terjadi.

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

  • Untuk melakukan replikasi data OSS hampir real-time antara dua bucket berbeda, kami menyarankan Anda menggunakan fitur cross-region replication OSS.

Fitur

  • Mendukung berbagai sumber data, seperti file lokal, Qiniu Kodo, Baidu BOS, Amazon S3, Azure Blob, UPYUN USS, Tencent Cloud COS, Kingsoft KS3, daftar URL HTTP atau HTTPS, dan Alibaba Cloud OSS. Alat ini juga dapat diperluas untuk mendukung sumber lain sesuai kebutuhan.

  • Mendukung mode standalone dan terdistribusi. Mode standalone mudah diterapkan dan digunakan. Mode terdistribusi cocok untuk migrasi data skala besar.

    Catatan

    Dalam mode standalone, Anda hanya dapat memigrasikan satu bucket dalam satu waktu.

  • Mendukung unggah yang dapat dilanjutkan.

  • Mendukung traffic shaping.

  • Mendukung migrasi file yang dimodifikasi setelah waktu tertentu atau file dengan awalan tertentu.

  • Mendukung unduh dan unggah data secara konkuren.

Penagihan

Alat ossimport gratis. Di lingkungan cloud publik, sumber data mungkin dikenai biaya seperti biaya lalu lintas outbound dan biaya permintaan. Bucket OSS tujuan akan dikenai biaya permintaan. Jika Anda mengaktifkan dan menggunakan transfer acceleration untuk OSS, biaya transfer acceleration juga akan dikenakan.

Catatan penggunaan

  • Kecepatan migrasi

    Kecepatan migrasi ossimport bergantung pada faktor-faktor seperti bandwidth baca sumber, bandwidth jaringan lokal, dan ukuran file. Migrasi file yang lebih kecil dari 200 KB mungkin lambat karena penggunaan operasi input/output per detik (IOPS) yang tinggi.

  • Data sumber berada dalam kelas penyimpanan Archive

    Saat memigrasikan data menggunakan ossimport, jika data sumber berada dalam kelas penyimpanan Archive, Anda harus memulihkan data tersebut sebelum memulai migrasi.

  • Staging Lokal

    Saat memigrasikan data menggunakan ossimport, aliran data disimpan sementara di memori lokal sebelum diunggah ke tujuan.

  • Retensi data sumber

    Saat memigrasikan data menggunakan ossimport, alat ini hanya melakukan operasi baca pada data sumber. Alat ini tidak memodifikasi atau menghapus data sumber.

  • Alat migrasi lain (ossutil)

    Untuk memigrasikan data kurang dari 30 TB, kami menyarankan menggunakan ossutil. Alat ini sederhana dan praktis. Anda dapat menggunakan opsi -u, --update dan --snapshot-path untuk melakukan migrasi file inkremental. Untuk informasi lebih lanjut, lihat cp.

Lingkungan waktu proses

Anda dapat menerapkan ossimport pada sistem Linux atau Windows yang memenuhi persyaratan berikut:

  • Windows 7 atau versi lebih baru

  • CentOS 6 atau CentOS 7

  • Java 7 atau Java 8

Penting

Penerapan terdistribusi tidak didukung pada sistem Windows.

Pilih mode penyebaran

ossimport mendukung dua mode penyebaran: standalone dan terdistribusi.

  • Mode standalone: Untuk memigrasikan data kurang dari 30 TB, kami menyarankan Anda menerapkan dalam mode standalone. Anda dapat menerapkan ossimport pada mesin apa pun yang dapat mengakses data yang ingin Anda migrasikan dan dapat mengakses OSS.

  • Mode terdistribusi: Untuk memigrasikan data lebih dari 30 TB, kami menyarankan Anda menerapkan dalam mode terdistribusi. Anda dapat menerapkan ossimport pada beberapa mesin yang dapat mengakses data yang ingin Anda migrasikan dan dapat mengakses OSS.

    Catatan

    Jika jumlah data yang akan dimigrasikan sangat besar, Anda dapat menghemat waktu dengan menerapkan ossimport pada instance ECS di wilayah yang sama dengan bucket OSS Anda. Kemudian, hubungkan server yang menyimpan data sumber ke jaringan VPC Alibaba Cloud menggunakan jalur sewa. Memigrasikan data dari beberapa instance ECS ke OSS melalui jaringan internal secara signifikan meningkatkan efisiensi migrasi.

    Anda juga dapat menggunakan ossimport untuk mentransfer data melalui Internet. Kecepatan transfer dipengaruhi oleh bandwidth server lokal Anda.

Mode standalone

Modul Master, Worker, Tracker, dan Console berjalan pada satu mesin dan dikemas menjadi ossimport2.jar. Sistem hanya memiliki satu Worker.

Berikut struktur file dalam mode standalone:

ossimport
├── bin
│ └── ossimport2.jar  # Paket JAR yang berisi modul Master, Worker, Tracker, dan Console.
├── conf
│ ├── local_job.cfg   # File konfigurasi tugas untuk mode standalone.
│ └── sys.properties  # File konfigurasi untuk parameter sistem.
├── console.bat         # Tool baris perintah untuk Windows. Anda dapat menggunakannya untuk menjalankan tugas impor langkah demi langkah.
├── console.sh          # Tool baris perintah untuk Linux. Anda dapat menggunakannya untuk menjalankan tugas impor langkah demi langkah.
├── import.bat          # Skrip impor sekali klik untuk Windows. Menjalankan tugas migrasi data yang dikonfigurasi dalam conf/local_job.cfg, termasuk memulai, memigrasikan, memverifikasi, dan mencoba ulang tugas.
├── import.sh           # Skrip impor sekali klik untuk Linux. Menjalankan tugas migrasi data yang dikonfigurasi dalam conf/local_job.cfg, termasuk memulai, memigrasikan, memverifikasi, dan mencoba ulang tugas.
├── logs                # Direktori log.
└── README.md           # File README. Kami sangat menyarankan Anda membaca file ini sebelum digunakan.
  • File import.bat dan import.sh adalah skrip impor sekali klik. Anda dapat menjalankannya langsung setelah memodifikasi file local_job.cfg.

  • File console.bat dan console.sh adalah alat baris perintah yang dapat Anda gunakan untuk menjalankan perintah langkah demi langkah.

  • Jalankan skrip atau perintah di direktori ossimport, yaitu direktori yang sama dengan file *.bat/*.sh.

Mode terdistribusi

ossimport menggunakan arsitektur terdistribusi berbasis model master-worker. Berikut strukturnya:

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

Parameter

Deskripsi

Master

Pekerjaan dipecah menjadi beberapa tugas berdasarkan ukuran data dan jumlah file. Anda dapat mengonfigurasi ukuran data serta jumlah file tersebut dalam file sys.properties. Langkah-langkah berikut menjelaskan cara membagi pekerjaan menjadi beberapa tugas:

  1. Master melakukan traversal pada penyimpanan lokal atau penyimpanan cloud lainnya untuk mendapatkan daftar lengkap file yang akan dimigrasikan.

  2. Master membagi daftar file lengkap menjadi task berdasarkan ukuran data dan jumlah file. Setiap task bertanggung jawab untuk memigrasikan atau memverifikasi sebagian file.

Worker

  • Memigrasikan file dan memverifikasi data untuk task. Worker mengambil file tertentu dari sumber data dan mengunggahnya ke direktori yang ditentukan di OSS. Sumber data dan tujuan OSS ditentukan dalam file job.cfg atau local_job.cfg.

  • Migrasi data Worker mendukung traffic shaping dan jumlah task konkuren tertentu. Konfigurasikan pengaturan ini dalam file sys.properties.

TaskTracker

Disingkat Tracker. Mendistribusikan task dan melacak status task.

Console

Berinteraksi dengan pengguna, menerima perintah, dan menampilkan hasil. Mendukung perintah administrasi sistem seperti deploy, start, dan stop, serta perintah manajemen tugas seperti submit, retry, dan clean.

Job

Tugas migrasi data yang diajukan oleh pengguna. Bagi pengguna, satu tugas berkorespondensi dengan satu file konfigurasi job.cfg.

Task

Satu job dapat dibagi menjadi beberapa task berdasarkan ukuran data dan jumlah file. Setiap task memigrasikan sebagian file. Unit terkecil untuk membagi job adalah satu file. Satu file tidak dibagi ke beberapa task.

Dalam mode terdistribusi, Anda dapat memulai beberapa mesin untuk migrasi data. Anda hanya dapat memulai satu Worker pada setiap mesin. Task didistribusikan secara merata di antara Worker. Setiap Worker dapat menjalankan beberapa task.

Berikut 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         # Templat file konfigurasi tugas.
│ ├── sys.properties  # File konfigurasi untuk parameter sistem.
│ └── workers         # Daftar worker.
├── console.sh          # Tool baris perintah. Saat ini hanya mendukung Linux.
├── logs                # Direktori log.
└── README.md           # File README. Kami sangat menyarankan Anda membaca file ini sebelum digunakan.

File konfigurasi

Dalam mode standalone, terdapat dua file konfigurasi: sys.properties dan local_job.cfg. Dalam mode terdistribusi, terdapat tiga file konfigurasi: sys.properties, job.cfg, dan workers. Item konfigurasi dalam local_job.cfg dan job.cfg identik. Perbedaannya hanya pada nama. File workers khusus untuk lingkungan terdistribusi.

  • sys.properties: Parameter waktu proses sistem

    Parameter

    Deskripsi

    Detail

    workingDir

    Direktori kerja

    Direktori tempat paket tool diekstrak. Jangan ubah parameter ini dalam mode standalone. Dalam mode terdistribusi, direktori kerja harus sama di setiap mesin.

    workerUser

    Username SSH untuk mesin worker

    • Jika `privateKeyFile` dikonfigurasi, maka akan digunakan terlebih dahulu.

    • Jika `privateKeyFile` tidak dikonfigurasi, maka `workerUser` dan `workerPassword` digunakan.

    • Jangan ubah parameter ini dalam mode standalone.

    workerPassword

    Password SSH untuk mesin worker

    Jangan ubah parameter ini dalam mode standalone.

    privateKeyFile

    Jalur file kunci privat

    • Jika saluran SSH sudah dibuat, Anda dapat menentukan parameter ini. Jika tidak, biarkan kosong.

    • Jika `privateKeyFile` dikonfigurasi, maka akan digunakan terlebih dahulu.

    • Jika `privateKeyFile` tidak dikonfigurasi, maka `workerUser` dan `workerPassword` digunakan.

    • Jangan ubah parameter ini dalam mode standalone.

    sshPort

    Port SSH

    Nilai default adalah 22. Jangan ubah nilai ini kecuali diperlukan. Jangan ubah parameter ini dalam mode standalone.

    workerTaskThreadNum

    Jumlah maksimum thread untuk worker menjalankan task

    • Parameter ini bergantung pada memori dan jaringan mesin. Nilai yang direkomendasikan adalah 60.

    • Anda dapat menaikkan nilai ini untuk mesin fisik, misalnya menjadi 150. Jika bandwidth jaringan sudah dimanfaatkan sepenuhnya, jangan naikkan nilai lebih lanjut.

    • Jika koneksi jaringan buruk, turunkan nilai ini menjadi angka seperti 30. Hal ini membantu mencegah timeout permintaan akibat kontensi jaringan.

    workerMaxThroughput(KB/s)

    Throughput lalu lintas maksimum untuk migrasi data pada worker

    Nilai ini dapat digunakan untuk traffic shaping. Nilai default adalah 0, yang berarti tanpa traffic shaping.

    dispatcherThreadNum

    Jumlah thread untuk tracker mendistribusikan task dan memeriksa status

    Nilai default biasanya sudah cukup. Jangan ubah nilai default kecuali diperlukan.

    workerAbortWhenUncatchedException

    Menentukan apakah akan melewati atau menghentikan task saat terjadi error yang tidak dikenal

    Secara default, task dilewati.

    workerRecordMd5

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

    Ini digunakan untuk Validasi MD5 file.

  • job.cfg: Konfigurasi tugas migrasi data. Item konfigurasi dalam local_job.cfg dan job.cfg identik. Perbedaannya hanya pada nama.

    Parameter

    Deskripsi

    Detail

    jobName

    Nama tugas. String.

    • Identifier unik tugas. Nama harus mengikuti Konvensi penamaan `[a-zA-Z0-9_-]{4,128}`. Anda dapat mengirimkan beberapa tugas dengan nama berbeda.

    • Jika Anda mengirimkan tugas dengan nama yang sama dengan tugas yang sudah ada, akan muncul pesan bahwa tugas tersebut sudah ada. Anda tidak dapat mengirimkan tugas dengan nama yang sama sampai tugas yang ada dibersihkan.

    jobType

    Jenis tugas. String.

    • Nilai default adalah import.

    isIncremental

    Menentukan apakah akan mengaktifkan mode migrasi inkremental. Boolean.

    • Nilai default adalah false.

    • Jika diatur ke true, sistem akan memindai ulang data inkremental pada interval yang ditentukan oleh `incrementalModeInterval` (dalam detik) dan memigrasikan data inkremental ke OSS.

    incrementalModeInterval

    Interval sinkronisasi dalam mode inkremental. Integer. Satuan: detik.

    Parameter ini hanya berlaku saat `isIncremental` diatur ke true. Interval minimum yang dapat dikonfigurasi adalah 900 detik. Kami menyarankan agar Anda tidak mengatur nilai ini kurang dari 3600 detik. Hal ini mencegah permintaan berlebihan dan overhead sistem tambahan.

    importSince

    Memigrasikan data yang dimodifikasi setelah waktu ini. Integer. Satuan: detik.

    • Waktu ini adalah Stempel waktu UNIX, yaitu jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970. Dapatkan stempel waktu dengan menjalankan perintah `date +%s`.

    • Nilai default adalah 0, yang berarti semua data dimigrasikan.

    srcType

    Jenis sumber data. String. Parameter ini case-sensitive.

    Jenis yang didukung:

    • local: Memigrasikan data dari file lokal ke OSS. Untuk opsi ini, Anda hanya perlu menentukan `srcPrefix`. Anda tidak perlu menentukan `srcAccessKey`, `srcSecretKey`, `srcDomain`, atau `srcBucket`.

    • oss: Memigrasikan data dari satu bucket OSS ke bucket lainnya.

    • qiniu: Memigrasikan data dari Qiniu Kodo ke OSS.

    • bos: Memigrasikan data dari Baidu BOS ke OSS.

    • ks3: Memigrasikan data dari Kingsoft KS3 ke OSS.

    • s3: Memigrasikan data dari Amazon S3 ke OSS.

    • youpai: Memigrasikan data dari UPYUN USS ke OSS.

    • http: Memigrasikan data ke OSS dari daftar tautan HTTP atau HTTPS yang disediakan.

    • cos: Memigrasikan data dari Tencent Cloud COS ke OSS.

    • azure: Memigrasikan data dari Azure BLOB ke OSS.

    srcAccessKey

    ID AccessKey sumber. String.

    • Jika `srcType` diatur ke oss, qiniu, baidu, ks3, atau s3, masukkan ID AccessKey sumber data.

    • Jika `srcType` diatur ke local atau http, Anda tidak perlu menentukan parameter ini.

    • Jika `srcType` diatur ke youpai atau azure, masukkan username (AccountName).

    srcSecretKey

    Rahasia AccessKey sumber. String.

    • Jika `srcType` diatur ke oss, qiniu, baidu, ks3, atau s3, masukkan Rahasia AccessKey sumber data.

    • Jika `srcType` diatur ke local atau http, Anda tidak perlu menentukan parameter ini.

    • Jika `srcType` diatur ke youpai, masukkan password operator.

    • Jika `srcType` diatur ke azure, masukkan AccountKey.

    srcDomain

    Titik akhir sumber

    • Jika `srcType` diatur ke local atau http, Anda tidak perlu menentukan parameter ini.

    • Jika `srcType` diatur ke oss, masukkan titik akhir yang diperoleh dari Konsol. Ini bukan domain tingkat kedua yang mencakup awalan bucket.

    • Jika `srcType` diatur ke qiniu, masukkan titik akhir bucket yang sesuai yang diperoleh dari konsol Qiniu.

    • Jika `srcType` diatur ke `bos`, masukkan titik akhir Baidu BOS, seperti http://bj.bcebos.com atau http://gz.bcebos.com.

    • Jika `srcType` diatur ke `ks3`, masukkan titik akhir Kingsoft KS3, seperti http://kss.ksyun.com, http://ks3-cn-beijing.ksyun.com, atau http://ks3-us-west-1.ksyun.coms.

    • Jika `srcType` diatur ke S3, masukkan titik akhir untuk wilayah Amazon S3.

    • Jika `srcType` diatur ke youpai, masukkan titik akhir UPYUN. Misalnya, gunakan http://v0.api.upyun.com untuk menentukan jalur optimal secara otomatis, http://v1.api.upyun.com untuk jalur China Telecom atau China Netcom, http://v2.api.upyun.com untuk jalur China Unicom atau China Netcom, atau http://v3.api.upyun.com untuk jalur China Mobile atau China Tietong.

    • Jika `srcType` diatur ke cos, masukkan wilayah tempat bucket Tencent Cloud berada. Misalnya, wilayah Tiongkok Selatan adalah `ap-guangzhou`.

    • Jika `srcType` diatur ke azure, masukkan nilai `EndpointSuffix` dari string koneksi Azure Blob, seperti core.chinacloudapi.cn.

    srcBucket

    Nama bucket atau kontainer sumber

    • Jika `srcType` diatur ke local atau http, Anda tidak perlu menentukan parameter ini.

    • Jika `srcType` diatur ke azure, masukkan nama kontainer.

    • Untuk jenis sumber lainnya, masukkan nama bucket.

    srcPrefix

    Awalan objek sumber. String. Default: kosong.

    • Jika `srcType` diatur ke `local`, masukkan direktori lokal. Anda harus memberikan jalur mutlak, menggunakan garis miring maju tunggal (/) sebagai pemisah, dan mengakhiri jalur dengan garis miring maju tunggal (/). Hanya format seperti c:/example/ atau /data/example/ yang didukung.

      Penting

      Jalur seperti `c:/example//`, `/data//example/`, atau `/data/example//` tidak valid.

    • Jika `srcType` diatur ke oss, qiniu, bos, ks3, youpai, atau s3, masukkan awalan objek yang akan disinkronkan, tidak termasuk nama bucket. Misalnya, data/to/oss/.

    • Untuk menyinkronkan semua file, biarkan `srcPrefix` kosong.

    destAccessKey

    ID AccessKey tujuan. String.

    ID AccessKey yang digunakan untuk mengakses layanan OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.

    ID AccessKey yang digunakan untuk mengakses layanan OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.

    destSecretKey

    Rahasia AccessKey tujuan. String.

    Rahasia AccessKey yang digunakan untuk mengakses OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.

    Rahasia AccessKey yang digunakan untuk mengakses OSS. Untuk melihatnya, buka Konsol Manajemen Alibaba Cloud.

    destDomain

    Titik akhir tujuan. String.

    Dapatkan dari Konsol Manajemen Alibaba Cloud. Ini bukan domain tingkat kedua yang mencakup awalan bucket. Untuk daftar titik akhir, lihat Nama Domain.

    Dapatkan dari Konsol Manajemen Alibaba Cloud. Ini bukan domain tingkat kedua yang mencakup awalan bucket. Untuk daftar titik akhir, lihat Nama Domain.

    destBucket

    Bucket tujuan. String.

    Nama bucket OSS. Tidak perlu diakhiri dengan garis miring (/).

    destPrefix

    Awalan untuk objek tujuan. String. Default: kosong.

    • Awalan untuk objek tujuan. Secara default, parameter ini kosong, dan objek ditempatkan langsung di bucket tujuan.

    • Jika Anda ingin menyinkronkan data ke direktori tertentu di OSS, akhiri awalan dengan garis miring (/), seperti data/in/oss/.

    • Perhatikan bahwa OSS tidak mendukung nama objek yang diawali dengan garis miring (/). Oleh karena itu, jangan mengonfigurasi `destPrefix` agar diawali dengan garis miring (/).

    • File lokal dengan jalur srcPrefix+relativePath dimigrasikan ke OSS dengan jalur destDomain/destBucket/destPrefix +relativePath.

    • File cloud dengan jalur srcDomain/srcBucket/srcPrefix+relativePath dimigrasikan ke OSS dengan jalur destDomain/destBucket/destPrefix+relativePath.

    taskObjectCountLimit

    Jumlah maksimum file untuk setiap task. Integer. Default: 10000.

    Parameter ini memengaruhi tingkat paralelisme eksekusi task. Rumus umum untuk nilai ini adalah: (Jumlah total file) / (Jumlah total Worker) / (`workerTaskThreadNum`). Nilai maksimum adalah 50000. Jika Anda tidak mengetahui jumlah total file, gunakan nilai default.

    taskObjectSizeLimit

    Ukuran data maksimum untuk setiap task. Integer. Satuan: byte. Default: 1 GB.

    Parameter ini memengaruhi tingkat paralelisme eksekusi task. Rumus umum untuk nilai ini adalah: (Ukuran data total) / (Jumlah total Worker) / (`workerTaskThreadNum`). Jika Anda tidak mengetahui ukuran data total, gunakan nilai default.

    isSkipExistFile

    Menentukan apakah akan melewati file yang sudah ada selama migrasi data. Boolean.

    Jika diatur ke `true`, sistem menentukan apakah akan melewati file berdasarkan ukuran dan `LastModifiedTime`. Jika diatur ke `false`, sistem selalu menimpa file yang sudah ada di OSS. Nilai default adalah `false`.

    scanThreadCount

    Jumlah thread untuk pemindaian file konkuren. Integer.

    • Nilai default: 1

    • Nilai valid: 1 hingga 32

    Parameter ini memengaruhi efisiensi pemindaian file. Jangan ubah kecuali Anda memiliki kebutuhan khusus.

    maxMultiThreadScanDepth

    Kedalaman maksimum direktori untuk pemindaian konkuren. Integer.

    • Nilai default: 1

    • Nilai valid: 1 hingga 16

    • Nilai default 1 berarti pemindaian konkuren antar direktori tingkat atas.

    • Jangan ubah nilai ini kecuali Anda memiliki kebutuhan khusus. Nilai yang terlalu besar dapat menyebabkan task gagal.

    appId

    ID aplikasi untuk Tencent Cloud COS. Integer.

    Parameter ini hanya berlaku saat `srcType` diatur ke `cos`.

    httpListFilePath

    Jalur absolut file yang berisi daftar URL HTTP. String.

    • Parameter ini hanya berlaku saat `srcType` diatur ke `http`. Saat sumber adalah daftar URL HTTP, Anda harus memberikan jalur absolut ke file yang berisi URL HTTP, seperti `c:/example/http.list`.

    • Tautan HTTP dalam file ini harus dalam dua kolom, dipisahkan oleh satu atau beberapa spasi. Kolom-kolom tersebut merepresentasikan awalan URL sumber dan jalur relatif tujuan di OSS. Misalnya, jika file `c:/example/http.list` berisi:

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

      Jika Anda menentukan `destPrefix` sebagai `ee/`, file yang dimigrasikan ke OSS akan diberi nama sebagai berikut:

      ee/bb.jpg
      ee/dd.jpg
  • workers: Khusus untuk mode terdistribusi. Masukkan satu alamat IP per baris. Contoh:

    192.168.1.6
    192.168.1.7
    192.168.1.8
    • Dalam konfigurasi di atas, baris pertama, 192.168.1.6, harus merupakan master. Artinya, Master, Worker, dan TaskTracker semuanya akan dimulai pada 192.168.1.6. Console juga harus dijalankan pada mesin ini.

    • Pastikan beberapa mesin Worker memiliki username, metode login, dan direktori kerja yang sama.

Contoh file konfigurasi

Tabel berikut menyediakan file konfigurasi untuk tugas migrasi data dalam mode terdistribusi. File konfigurasi untuk mode standalone bernama local_job.cfg, dan item konfigurasinya sama dengan mode terdistribusi.

Jenis migrasi

File konfigurasi

Deskripsi

Memigrasikan data dari server lokal ke OSS

job.cfg

`srcPrefix` harus berupa jalur absolut yang diakhiri dengan garis miring (/), seperti D:/work/oss/data/ atau /home/user/work/oss/data/.

Memigrasikan data dari Qiniu Kodo ke OSS

job.cfg

`srcPrefix` dan `destPrefix` dapat kosong. Jika tidak kosong, harus diakhiri dengan garis miring (/), seperti destPrefix=docs/.

Memigrasikan data dari Baidu BOS ke OSS

job.cfg

`srcPrefix` dan `destPrefix` dapat kosong. Jika tidak kosong, harus diakhiri dengan garis miring (/), seperti destPrefix=docs/.

Memigrasikan data dari Amazon S3 ke OSS

job.cfg

Untuk informasi lebih lanjut, lihat titik akhir S3.

Memigrasikan data dari UPYUN USS ke OSS

job.cfg

Atur `srcAccessKey` dan `srcSecretKey` ke akun dan password operator.

Memigrasikan data dari Tencent Cloud COS ke OSS

job.cfg

Atur `srcDomain` berdasarkan persyaratan versi V4, misalnya, srcDomain=sh. `srcPrefix` dapat kosong. Jika tidak kosong, harus diawali dan diakhiri dengan garis miring (/), seperti srcPrefix=/docs/.

Memigrasikan dari Azure Blob ke OSS

job.cfg

Atur `srcAccessKey` dan `srcSecretKey` ke akun penyimpanan dan kunci. Atur `srcDomain` ke `EndpointSuffix` dalam string koneksi, seperti core.chinacloudapi.cn.

Memigrasikan data dari OSS ke OSS

job.cfg

Ini cocok untuk migrasi data antar wilayah berbeda, antar kelas penyimpanan berbeda, atau antar awalan berbeda. Kami menyarankan menerapkan pada instance ECS dan menggunakan Titik akhir internal untuk mengurangi biaya lalu lintas.

Pengaturan lanjutan

  • Pembatasan kecepatan berbasis waktu

    Dalam sys.properties, workerMaxThroughput(KB/s) merepresentasikan batas atas lalu lintas Worker. Jika bisnis Anda memerlukan traffic shaping, seperti pembatasan kecepatan sisi sumber atau keterbatasan jaringan, atur parameter ini. Nilai parameter ini harus lebih kecil dari lalu lintas jaringan maksimum mesin dan harus dievaluasi berdasarkan kebutuhan bisnis. Setelah mengubah nilai, Anda harus restart layanan agar perubahan berlaku.

    Dalam penerapan terdistribusi, Anda perlu memodifikasi file sys.properties di direktori $OSS_IMPORT_WORK_DIR/conf setiap Worker, lalu restart layanan.

    Untuk menerapkan pembatasan kecepatan berbasis waktu, Anda dapat menggunakan crontab untuk menjadwalkan modifikasi sys.properties lalu restart layanan agar perubahan berlaku.

  • Ubah konkurensi Tugas

    • Dalam sys.properties, workerTaskThreadNum merepresentasikan jumlah task yang dapat dijalankan Worker secara konkuren. Jika koneksi jaringan buruk dan konkurensi tinggi, banyak error timeout dapat terjadi. Dalam kasus ini, Anda dapat mengubah parameter ini untuk mengurangi tingkat konkurensi lalu restart layanan.

    • Dalam sys.properties, workerMaxThroughput(KB/s) merepresentasikan batas atas lalu lintas Worker. Jika bisnis Anda memerlukan traffic shaping, seperti pembatasan kecepatan sisi sumber atau keterbatasan jaringan, atur parameter ini. Nilai parameter ini harus lebih kecil dari lalu lintas jaringan maksimum mesin dan harus dievaluasi berdasarkan kebutuhan bisnis.

    • Dalam job.cfg, taskObjectCountLimit adalah jumlah maksimum file per task, dengan default 10000. Parameter ini memengaruhi jumlah task. Angka yang terlalu kecil tidak dapat mencapai konkurensi efektif.

    • Dalam job.cfg, taskObjectSizeLimit adalah ukuran data maksimum per task, dengan default 1 GB. Parameter ini memengaruhi jumlah task. Angka yang terlalu kecil tidak dapat mencapai konkurensi efektif.

      Penting
      • Konfigurasikan semua parameter sebelum memulai tugas migrasi.

      • Setelah Anda mengubah parameter dalam `sys.properties`, Anda harus restart server migrasi agar perubahan berlaku.

      • Setelah tugas `job.cfg` diajukan, parameter konfigurasinya tidak dapat diubah.

  • Memverifikasi data tanpa migrasi

    ossimport mendukung verifikasi data tanpa memigrasikannya. Untuk melakukan ini, atur item konfigurasi jobType dalam file job.cfg atau local_job.cfg ke audit alih-alih import. Konfigurasi lainnya sama seperti migrasi data.

  • Mode migrasi data inkremental

    Dalam mode migrasi data inkremental, tugas pertama kali melakukan migrasi penuh. Kemudian, secara otomatis melakukan migrasi data inkremental pada interval yang ditentukan. Migrasi penuh awal dimulai segera setelah tugas diajukan. Migrasi inkremental berikutnya dijalankan sekali per siklus. Mode ini cocok untuk cadangan data dan sinkronisasi data.

    Ada dua item konfigurasi untuk mode inkremental:

    • Dalam job.cfg, isIncremental menentukan apakah akan mengaktifkan mode migrasi inkremental. true mengaktifkan mode inkremental, dan false menonaktifkannya. Default-nya dinonaktifkan.

    • Dalam job.cfg, incrementalModeInterval menentukan interval sinkronisasi dalam mode inkremental, yaitu periode antara migrasi data inkremental, dalam detik. Ini hanya berlaku saat isIncremental=true. Nilai minimum yang dapat dikonfigurasi adalah 900 detik. Kami menyarankan agar Anda tidak mengatur nilai ini kurang dari 3600 detik. Hal ini mencegah permintaan berlebihan dan overhead sistem tambahan.

  • Menentukan kondisi filter untuk migrasi

    Kondisi filter memungkinkan Anda hanya memigrasikan file yang memenuhi kriteria tertentu. ossimport mendukung pemfilteran berdasarkan awalan dan waktu modifikasi terakhir:

    • Dalam job.cfg, srcPrefix digunakan untuk menentukan awalan file yang akan dimigrasikan. Secara default kosong.

      • Jika srcType=local, masukkan direktori lokal. Anda harus memberikan jalur mutlak, menggunakan garis miring maju tunggal (/) sebagai pemisah, dan mengakhiri jalur dengan garis miring maju tunggal (/), seperti c:/example/ atau /data/example/.

      • Jika srcType adalah oss, qiniu, bos, ks3, youpai, atau s3, ini adalah awalan objek yang akan disinkronkan, tidak termasuk nama bucket. Misalnya, data/to/oss/. Untuk memigrasikan semua file, atur srcPrefix ke kosong.

    • Dalam job.cfg, importSince digunakan untuk menentukan waktu modifikasi terakhir file yang akan dimigrasikan, dalam detik. importSince adalah Stempel waktu UNIX, yaitu jumlah detik yang telah berlalu sejak 00:00:00 UTC pada 1 Januari 1970. Dapatkan stempel waktu dengan menjalankan perintah date +%s. Nilai default adalah 0, yang berarti semua data dimigrasikan. Dalam mode inkremental, parameter ini hanya berlaku untuk migrasi penuh pertama. Dalam mode non-inkremental, berlaku untuk seluruh tugas migrasi.

      • Jika LastModified Time file sebelum importSince, file tersebut tidak dimigrasikan.

      • Jika LastModified Time file setelah importSince, file tersebut akan dimigrasikan.