Halaman ini menunjukkan cara mentransfer data antar-sistem file POSIX. Kasus penggunaan umum mencakup:
- Burst to cloud dan Hybrid HPC: Mentransfer set data besar dari infrastruktur lokal ke cloud dengan cepat untuk diproses.
- Migrasi dan sinkronisasi ke Filestore: Migrasikan atau sinkronkan data dari sistem file lokal ke Filestore.
- Transfer file terkelola: Mentransfer data dengan aman dan andal antara pusat data atau antara dua sistem file dalam cloud.
Panduan performa transfer
Panduan berikut dapat membantu memaksimalkan performa selama transfer sistem file ke sistem file.
Deployment agen
Secara umum, sebaiknya gunakan tiga agen di setiap kumpulan agen sumber dan tujuan. Pantau transfer dan tambahkan lebih banyak agen jika diperlukan. Setiap agen memerlukan 4 vCPU dan RAM 8 GiB.
Jika Anda bermigrasi ke instance Filestore, Filestore
menyarankan untuk menggunakan jenis instance n2-standard-8
untuk setiap agen. Tentukan nconnect=2
saat Anda memasang instance ke VM Compute Engine. Lihat
Panduan performa Filestore untuk
mengetahui informasi selengkapnya tentang cara mengoptimalkan dan menguji performa instance.
Mentransfer banyak file kecil
Untuk performa yang lebih baik saat mentransfer sejumlah besar file kecil, sebaiknya bagi file menjadi beberapa direktori dan hindari satu direktori dengan jutaan file.
Sebelum memulai
Sebelum dapat melakukan tugas yang dijelaskan di halaman ini, selesaikan langkah-langkah prasyarat.
Membuat kumpulan agen dan menginstal agen
Untuk transfer sistem file ke sistem file, Anda perlu membuat kumpulan agen dan agen untuk sistem file sumber dan tujuan. Agen untuk kumpulan agen sumber harus diinstal di komputer atau VM yang memiliki akses ke sistem file sumber. Agen untuk kumpulan agen tujuan harus diinstal di komputer atau VM yang memiliki akses ke sistem file tujuan.
Jangan sertakan informasi sensitif seperti informasi identitas pribadi (PII) atau data keamanan di awalan ID agen atau nama kumpulan agen Anda. Nama resource dapat di-propagasi ke nama resource Google Cloud lainnya dan dapat diekspos ke sistem internal Google di luar project Anda.
Membuat kumpulan agen sumber
Buat kumpulan agen sumber menggunakan salah satu metode berikut:
gcloud CLI
Buat kumpulan agen sumber dengan menjalankan:
gcloud transfer agent-pools create SOURCE_AGENT_POOL
Ganti SOURCE_AGENT_POOL dengan nama yang ingin Anda berikan ke kumpulan agen sumber.
Konsol Google Cloud
Di konsol Google Cloud, buka halaman Agent pools.
Halaman Kumpulan agen akan ditampilkan, yang mencantumkan kumpulan agen yang ada.
Klik Buat kumpulan lain.
Masukkan nama untuk kumpulan.
Klik Create.
Menginstal agen untuk kumpulan agen sumber
Instal agen untuk kumpulan agen sumber di mesin atau VM yang memiliki akses ke sistem file sumber:
gcloud CLI
Instal agen untuk kumpulan agen sumber dengan menjalankan:
gcloud transfer agents install --pool=SOURCE_AGENT_POOL --count=NUMBER_OF_AGENTS \
--mount-directories=MOUNT_DIRECTORIES
Ganti kode berikut:
- SOURCE_AGENT_POOL dengan nama kumpulan agen sumber.
- NUMBER_OF_AGENTS dengan jumlah agen yang ingin Anda instal untuk kumpulan agen sumber. Untuk menentukan jumlah agen yang optimal untuk lingkungan Anda, lihat Praktik terbaik dan persyaratan agen.
- MOUNT_DIRECTORIES dengan daftar direktori yang dipisahkan koma di sistem file sumber tempat salinan akan dibuat. Menghapus tanda ini akan memasang seluruh sistem file, yang dapat menimbulkan risiko keamanan.
Konsol Google Cloud
Di konsol Google Cloud, buka halaman Agent pools.
Halaman Kumpulan agen akan ditampilkan, yang mencantumkan kumpulan agen yang ada.
Klik nama kumpulan agen sumber yang baru saja Anda buat.
Di tab Agents, klik Install agent.
Ikuti petunjuk di konsol Google Cloud untuk menginstal Docker dan memulai agen.
Membuat kumpulan agen tujuan dan menginstal agen
Ulangi langkah-langkah sebelumnya untuk membuat kumpulan agen tujuan dan menginstal agen.
Membuat bucket Cloud Storage sebagai perantara
Transfer sistem file ke sistem file memerlukan bucket Cloud Storage sebagai perantara untuk transfer data.
Buat bucket class Cloud Storage Standar dengan setelan berikut:
- Enkripsi: Anda dapat menentukan kunci enkripsi yang dikelola pelanggan (CMEK). Jika tidak, kunci milik dan dikelola Google akan digunakan.
- Pembuatan Versi Objek, Penguncian Bucket, dan penangguhan objek default: Tetapkan fitur ini ke nonaktif.
Berikan izin dan peran menggunakan salah satu metode berikut:
- Berikan
peran Storage Admin (
roles/storage.admin
) ke akun layanan Storage Transfer Service untuk bucket. Gunakan
gcloud transfer authorize
untuk memberikan otorisasi ke akun Anda untuk semua fitur Storage Transfer Service. Perintah ini memberikan izin Admin Storage di seluruh project:gcloud transfer authorize --add-missing
- Berikan
peran Storage Admin (
Membuat tugas transfer
gcloud CLI
Untuk membuat transfer dari sistem file sumber ke sistem file tujuan, jalankan
gcloud transfer jobs create SOURCE_DIRECTORY DESTINATION_DIRECTORY \
--source-agent-pool=SOURCE_AGENT_POOL \
--destination-agent-pool=DESTINATION_AGENT_POOL \
--intermediate-storage-path= gs://STORAGE_BUCKET/FOLDER/
Ganti variabel berikut:
- SOURCE_DIRECTORY dengan jalur direktori sumber.
- DESTINATION_DIRECTORY dengan jalur direktori tujuan.
- SOURCE_AGENT_POOL dengan nama kumpulan agen sumber.
- DESTINATION_AGENT_POOL dengan nama kumpulan agen tujuan.
- STORAGE_BUCKET dengan nama bucket Cloud Storage.
- FOLDER dengan nama folder tempat Anda ingin data ditransfer.
Saat Anda memulai tugas transfer, sistem akan terlebih dahulu menghitung data di sumber dan tujuan untuk menentukan data sumber yang baru atau diperbarui sejak transfer sebelumnya. Hanya data baru yang ditransfer.
Library Klien
Go
Java
Node.js
Python
Mengelola bucket perantara
Setelah tugas transfer selesai, Storage Transfer Service akan menyimpan log transfer yang mencantumkan data yang berhasil ditransfer dan gagal ditransfer di bucket. Setelah transfer, tugas pembersihan akan dimulai secara otomatis untuk menghapus data perantara. Dalam beberapa kasus, tugas pembersihan gagal menghapus semua data di bucket. Untuk menghapus data yang tidak dihapus selama pembersihan, gunakan petunjuk di bawah untuk menghapus data secara manual, atau menetapkan aturan siklus proses untuk menghapus data secara otomatis.
Pembersihan manual
Hapus data dari bucket perantara dengan menjalankan perintah berikut berdasarkan jenis data yang ingin Anda hapus.
Untuk menghapus data di bucket perantara yang tidak dihapus selama pembersihan, jalankan perintah berikut:
gcloud storage rm gs://STORAGE_BUCKET/PREFIX**
Untuk menghapus semua data, termasuk log transfer, tentukan root bucket menggunakan karakter pengganti cocok-semua (*).
gcloud storage rm gs://STORAGE_BUCKET/*
Untuk menghapus bucket, jalankan perintah berikut:
gcloud storage rm gs://STORAGE_BUCKET
Ganti variabel berikut:
STORAGE_BUCKET dengan nama bucket perantara.
PREFIX dengan nama folder tempat data ditransfer dalam bucket perantara.
Menetapkan aturan siklus proses
Untuk menghapus data yang tidak dihapus oleh siklus pembersihan otomatis, tetapkan
aturan siklus proses untuk bucket Cloud Storage. Gunakan
kondisi age
untuk menghapus data perantara di
bucket dengan menentukan periode yang lebih lama dari tugas transfer terpanjang yang
menggunakan bucket sebagai perantara. Jika kondisi usia yang ditentukan lebih singkat dari waktu yang diperlukan untuk mendownload file dari bucket perantara ke tujuan, transfer file akan gagal.
Secara opsional, gunakan kondisi matchesPrefix
untuk menghapus data di folder yang Anda tentukan untuk bucket perantara. Untuk menghapus log transfer beserta data di bucket, kondisi matchesPrefix
tidak diperlukan.
Mempertahankan metadata file
Untuk mempertahankan metadata file, termasuk UID numerik, GID, MODE, dan link simbolis:
gcloud CLI
Gunakan kolom --preserve-metadata
untuk menentukan perilaku pelestarian untuk
transfer ini. Opsi yang berlaku untuk transfer sistem file adalah: gid
,
mode
, symlink
, uid
.
REST API
Tentukan opsi yang sesuai dalam objek
metadataOptions
.
Lihat Mempertahankan atribut POSIX opsional untuk mengetahui informasi selengkapnya.
Contoh transfer menggunakan gcloud CLI
Dalam contoh ini, kita mentransfer data dari direktori /tmp/datasource
di VM1 ke
/tmp/destination
di VM2.
Siapkan sumber transfer.
Buat kumpulan agen sumber:
gcloud transfer agent-pools create source_agent_pool
Di VM1, instal agen untuk
source_agent_pool
dengan menjalankan:gcloud transfer agents install --pool=source_agent_pool \ --count=1 \ --mount-directories="/tmp/datasource"
Siapkan tujuan transfer.
Buat kumpulan agen tujuan:
gcloud transfer agent-pools create destination_agent_pool
Di VM2, instal agen untuk
destination_agent_pool
dengan menjalankan:gcloud transfer agents install --pool=destination_agent_pool \ --count=3 \ --mount-directories="/tmp/destination"
Buat bucket Cloud Storage perantara.
Buat bucket bernama
my-intermediary-bucket
:gcloud storage buckets create gs://my-intermediary-bucket
Beri otorisasi akun Anda untuk semua fitur Storage Transfer Service dengan menjalankan:
gcloud transfer authorize --add-missing
Buat tugas transfer dengan menjalankan:
gcloud transfer jobs create posix:///tmp/datasource posix:///tmp/destination \ --source-agent-pool=source_agent_pool \ --destination-agent-pool=destination_agent_pool \ --intermediate-storage-path=gs://my-intermediary-bucket
Langkah selanjutnya
- Pelajari lebih lanjut cara mengelola tugas.