Halaman ini menunjukkan kepada Anda cara mentransfer data antara dua sistem file POSIX. Kasus penggunaan umum mencakup:
- Burst ke cloud dan HPC Hybrid: Transfer set data besar dengan cepat dari lokal ke cloud untuk diproses.
- Migrasi dan sinkronisasi ke Filestore: Migrasikan atau sinkronkan data dari sistem file lokal ke Filestore.
- Transfer file terkelola: Transfer 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 agen lainnya jika diperlukan. Setiap agen memerlukan 4 vCPU dan RAM 8 GiB.
Jika Anda bermigrasi ke instance Filestore, Filestore merekomendasikan penggunaan jenis instance n2-standard-8
untuk setiap agen. Tentukan nconnect=2
saat Anda memasang instance ke VM Compute Engine. Baca Panduan performa Filestore untuk informasi lebih lanjut tentang cara mengoptimalkan dan menguji performa instance.
Mentransfer sejumlah besar file kecil
Untuk performa yang lebih baik saat mentransfer file kecil dalam jumlah besar, sebaiknya bagi file menjadi beberapa direktori dan hindari satu direktori dengan jutaan file.
Sebelum memulai
Sebelum Anda dapat melakukan tugas-tugas yang dijelaskan di halaman ini, selesaikan langkah-langkah prasyarat.
Membuat kumpulan agen dan menginstal agen
Agar sistem file dapat mentransfer sistem file, Anda perlu membuat kumpulan agen dan agen untuk sistem file sumber dan tujuan. Agen untuk kumpulan agen sumber harus diinstal pada mesin atau VM yang memiliki akses ke sistem file sumber. Agen untuk kumpulan agen tujuan harus diinstal pada mesin 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 diterapkan 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 pool.
Halaman Kumpulan agen akan ditampilkan, yang mencantumkan kumpulan agen Anda yang sudah ada.
Klik Buat kumpulan lain.
Masukkan nama untuk kumpulan tersebut.
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 Persyaratan dan praktik terbaik agen.
- MOUNT_DIRECTORIES dengan daftar direktori yang dipisahkan koma di sistem file sumber yang menjadi tempat penyalinan. Jika flag ini tidak ada, seluruh sistem file akan dipasang, yang dapat menimbulkan risiko keamanan.
Konsol Google Cloud
Di konsol Google Cloud, buka halaman Agent pool.
Halaman Kumpulan agen akan ditampilkan, yang mencantumkan kumpulan agen Anda yang sudah ada.
Klik nama kumpulan agen sumber yang baru saja Anda buat.
Pada tab Agen, klik Instal agen.
Ikuti petunjuk di Konsol Google Cloud untuk menginstal Docker dan memulai agen.
Membuat kumpulan agen tujuan dan menginstal agen
Ulangi 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 transfer data.
Buat bucket class Standard Cloud Storage dengan setelan berikut:
- Enkripsi: Anda dapat menentukan kunci enkripsi yang dikelola pelanggan (CMEK). Jika tidak, kunci enkripsi yang dikelola Google akan digunakan.
- Object Versioning, Bucket Lock, dan default object dasar: Tetap nonaktifkan fitur ini.
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 bagi semua fitur Storage Transfer Service. Perintah ini memberikan izin Storage Admin seluruh project:gcloud transfer authorize --add-missing
- Berikan
peran Storage Admin
(
Membuat tugas transfer
gcloud CLI
Untuk melakukan 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 mentransfer data.
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 menyimpan listingan log transfer yang ditransfer dan gagal mentransfer data dalam bucket. Setelah transfer, tugas pembersihan dimulai secara otomatis untuk menghapus data perantara. Terkadang, tugas pembersihan gagal menghapus semua data di dalam bucket. Untuk menghapus data yang tidak dihapus selama pembersihan, gunakan petunjuk di bawah ini untuk menghapus data secara manual, atau untuk menetapkan aturan siklus proses guna menghapus data secara otomatis.
Pembersihan manual
Hapus data dari bucket perantara dengan menjalankan perintah gsutil
berikut berdasarkan jenis data yang ingin Anda hapus.
Untuk menghapus data di bucket perantara yang tidak dihapus selama pembersihan, jalankan perintah berikut:
gsutil -m rm gs://STORAGE_BUCKET/PREFIX**
Untuk menghapus semua data, termasuk log transfer, tentukan root bucket menggunakan karakter pengganti match-all (*).
gsutil -m rm gs://STORAGE_BUCKET/*
Untuk menghapus bucket, jalankan perintah berikut:
gsutil -m rm gs://STORAGE_BUCKET
Ganti variabel berikut:
STORAGE_BUCKET dengan nama bucket perantara.
PREFIX dengan nama folder tempat data ditransfer ke 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 dalam
bucket dengan menentukan periode yang lebih lama dari tugas transfer terpanjang yang
menggunakan bucket sebagai perantara. Jika kondisi usia yang ditentukan
lebih pendek dari waktu yang diperlukan untuk mendownload file dari
bucket perantara ke tujuan, transfer file akan gagal.
Atau, gunakan kondisi matchesPrefix
untuk menghapus data dalam 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 penyimpanan 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
pada VM1 ke /tmp/destination
pada 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"
Membuat bucket Cloud Storage perantara.
Buat bucket bernama
my-intermediary-bucket
:gsutil mb gs://my-intermediary-bucket
Izinkan 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.