Halaman ini menjelaskan apa itu cadangan, cara kerjanya, beberapa kasus penggunaan umum, dan praktik terbaik saat membuat dan menggunakan cadangan. Untuk mempelajari cara membuat dan mengelola cadangan, serta cara memulihkan instance Filestore dari cadangan, lihat Mencadangkan data untuk pemulihan dari bencana.
Apa yang dimaksud dengan pencadangan?
Cadangan Filestore adalah salinan berbagi file yang mencakup semua data dan metadata file dari berbagi file sejak waktu cadangan dibuat.
Setelah membuat cadangan berbagi file, Anda dapat mengubah atau menghapus berbagi file asli tanpa memengaruhi cadangan.
Anda dapat menggunakan cadangan untuk memulihkan berbagi file ke instance Filestore baru atau, untuk instance tingkat dasar, ke sumber berbagi file yang ada.
Pencadangan adalah resource regional yang tetap berada dalam region yang Anda tentukan pada saat pembuatan. Anda dapat membuat cadangan di region yang sama dengan instance Filestore atau ke region lain untuk membantu mengurangi risiko kehilangan data.
Cadangan dapat diakses secara global dan dapat digunakan untuk memulihkan berbagi file ke region mana pun, tetapi tidak dapat dibagikan di seluruh project.
Harga
Biaya transfer jaringan berlaku untuk traffic jaringan lintas region. Untuk mengetahui detail selengkapnya, lihat halaman Harga.
Pembuatan cadangan
Pencadangan pertama yang Anda buat adalah salinan lengkap semua data dan metadata file di file share. Setiap pencadangan berikutnya menyalin perubahan berturut-turut yang dilakukan pada data sejak pencadangan sebelumnya.
Rantai pencadangan
Grup cadangan yang terkait dengan instance, region, dan CMEK yang sama (jika digunakan) disebut rantai cadangan.
Rantai pencadangan berada di satu bucket dan region Cloud Storage dan dapat berada di luar region yang digunakan untuk menyimpan instance sumber.
Semua tingkat layanan mendukung beberapa rangkaian pencadangan sehingga Anda dapat menyimpan cadangan instance di beberapa region.
Setiap kali cadangan dibuat, cadangan sebelumnya dipindai untuk mengetahui perubahan diferensial dan inkremental:
Perubahan diferensial: mencakup perubahan yang dilakukan pada file di berbagi, seperti pengeditan, penambahan, atau penghapusan file.
Perubahan inkremental: mencakup perubahan pada penyimpanan di bucket tempat data cadangan berada. Hal ini dapat mencakup penghapusan duplikat data yang sebelumnya dirujuk dalam rantai.
Setiap kali Anda menyimpan cadangan ke rantai cadangan yang sama, cadangan sebelumnya dipindai untuk mengetahui perubahan diferensial dan inkremental. Dalam kasus tersebut, salinan lengkap tidak diperlukan.
Namun, menyimpan data instance ke beberapa rangkaian pencadangan berarti Anda menyimpan dan menyimpan cadangan ke lokasi alternatif.
Setiap kali Anda membuat cadangan baru ke lokasi alternatif, salinan lengkap
cadangan akan dibuat lagi. Anda mungkin mengalami latensi yang lebih tinggi pada operasi create
pencadangan saat berganti-ganti antara rantai pencadangan.
Data yang tidak berubah yang terdapat dalam pencadangan sebelumnya dirujuk, tetapi tidak disalin ke pencadangan yang lebih baru. Jika cadangan yang lebih lama dihapus, data uniknya akan disalin ke cadangan terbaru berikutnya dan semua referensi data internal akan otomatis diperbarui.
Secara internal, histori rantai pencadangan dilacak menggunakan snapshot, yang menggunakan kapasitas pada instance sumber.
Pembuatan cadangan dilakukan secara instan, tetapi memerlukan jangka waktu yang sebanding dengan jumlah data yang disalin sebelum cadangan tersedia untuk digunakan. Selama periode ini, pencadangan bertransisi melalui tiga status:
Negara bagian/Provinsi | Durasi | Deskripsi |
---|---|---|
Membuat | Beberapa detik | Mencatat status berbagi file saat ini. Setiap perubahan baru pada data berbagi file mungkin disertakan atau tidak disertakan dalam cadangan. Penulisan stabil yang dikonfirmasi oleh instance sebelum pencadangan dimulai disertakan. |
Memfinalisasi | Bergantung pada ukuran | Mengupload data ke cadangan. Setiap perubahan baru pada data berbagi file tidak disertakan dalam cadangan. |
Ready | Hingga cadangan dihapus | Cadangan siap digunakan. |
Setelah pembuatan, cadangan tingkat dasar akan otomatis dikompresi untuk mengurangi biaya. Performa instance dapat menurun saat membuat cadangan untuk instance di tingkat layanan zonal, regional, dan Enterprise. Membuat cadangan tidak memengaruhi ketersediaan atau performa instance tingkat dasar.
Menangani data yang berlebihan
Secara default, cadangan bersifat inkremental untuk menghindari penagihan data yang berlebihan dan untuk meminimalkan penggunaan ruang penyimpanan. Untuk memastikan keandalan histori perubahan yang mendasarinya, cadangan terkadang dapat mengambil salinan lengkap instance.
Untuk mengetahui informasi selengkapnya, lihat Membandingkan snapshot dan cadangan.
Penghapusan cadangan
Cadangan adalah resource tingkat project, bukan sub-resource instance sumber, dan memerlukan penyimpanan terpisah sendiri. Akibatnya, siklus proses cadangan tidak terikat dengan siklus proses instance sumber. Menghapus sumber tidak akan menghapus cadangan terkaitnya. Jika Anda ingin menghapus cadangan, Anda harus melakukan operasi penghapusan secara eksplisit pada cadangan, bukan instance.
Pastikan untuk menghapus cadangan yang tidak diinginkan. Jika instance sumber dihapus, semua cadangan yang tersisa akan terus dikenai biaya.
Penghapusan cadangan bersifat permanen dan tidak dapat diurungkan.
Jika penghapusan cadangan gagal, status akan ditandai sebagai invalid
. Dalam kasus tersebut, coba lagi operasi delete
.
Konsistensi pencadangan
Pencadangan Filestore memiliki semantik konsistensi NFSv3 dan NFSv4.1. Sebelum
pencadangan dimulai, setiap penulisan yang diakui oleh instance Filestore
sebagai ditulis ke penyimpanan yang stabil atau yang diikuti oleh COMMIT
yang diakui
akan disertakan dalam pencadangan. Untuk mengetahui detailnya, lihat
NFSv3 RFC-1813 bagian 3.3.7
atau Tentang protokol sistem file yang didukung.
Kasus penggunaan umum
Bagian berikut menjelaskan kasus penggunaan umum untuk pencadangan.
Mencadangkan data untuk pemulihan dari bencana (disaster recovery)
Bayangkan Anda memiliki instance Filestore di us-west1-c
, dan Anda ingin melindungi data Anda dari bencana yang memengaruhi wilayah ini. Anda
dapat menjadwalkan tugas
yang secara rutin membuat cadangan instance ini ke region jarak jauh, misalnya us-
east1
. Jika terjadi bencana yang melibatkan us-west1-c
, Anda dapat membuat instance baru di lokasi lain dari cadangan sebelumnya.
Mencadangkan data untuk melindungi dari perubahan yang tidak disengaja
Jika ingin melindungi data Filestore dari perubahan yang tidak diinginkan, Anda dapat menjadwalkan tugas yang secara rutin membuat cadangan instance. Jika kehilangan data, Anda dapat menjelajahi daftar cadangan untuk mengidentifikasi cadangan dengan versi file yang diperlukan. Kemudian, Anda dapat membuat instance Filestore baru dari cadangan, memasangnya ke klien yang sama dengan instance asli, dan menyalin file.
Sebelum menyalin file, Anda dapat menggunakan perintah
diff
Linux di dua titik pemasangan untuk memeriksa perbedaan antara data di instance
asli dan data yang dipulihkan dari cadangan. Setelah data dipulihkan, Anda dapat menghapus instance yang dipulihkan dan membuat cadangan baru untuk mempertahankan status data saat ini untuk digunakan pada masa mendatang.
Atau, Anda dapat melakukan pemulihan langsung di mana data cadangan dipulihkan langsung ke instance Filestore asli, menggantikan semua data di dalamnya dengan data dari cadangan. Sebaiknya buat cadangan data terbaru sebelum melakukan pemulihan langsung karena data yang tidak dicadangkan akan hilang.
Membuat clone untuk pengembangan dan pengujian
Bayangkan Anda telah menyiapkan database di instance Filestore yang melayani traffic produksi. Jika ingin menjalankan pengujian dengan database sebagai input, Anda dapat membuat instance Filestore baru dari cadangan instance produksi untuk pengujian. Dengan cara ini, penggunaan pengujian tidak mengganggu produksi.
Demikian pula, Anda dapat menggunakan cadangan untuk analisis dan penyelidikan offline tanpa memengaruhi produksi.
Migrasi data
Setelah membuat instance Filestore, Anda tidak dapat mengubah lokasi atau tingkat layanannya. Untuk memigrasikan data ke region lain, Anda dapat membuat cadangan data dan menggunakan cadangan tersebut untuk membuat instance Filestore baru atau memulihkannya ke instance yang ada.
Batasan fitur
Pencadangan Filestore tersedia secara umum (GA) untuk semua tingkat layanan.
Pencadangan Filestore tidak dapat digabungkan dengan fitur multishare Filestore.
Bagian berikut membahas batasan fitur lainnya terkait performa, penyimpanan, kapasitas, enkripsi, dan topik lainnya secara mendetail.
Performa
Untuk instance yang sangat banyak digunakan, performa dapat berkurang hingga 15% saat cadangan diupload. Performa instance tingkat Dasar tidak terpengaruh oleh operasi
create
pencadangan.Menyimpan data instance ke beberapa rangkaian pencadangan akan memengaruhi performa pencadangan. Anda akan mengalami latensi yang lebih tinggi pada operasi pencadangan
create
saat beralih di antara rantai pencadangan.Operasi instance seperti
restore
instance ataudelete
instance dapat ditunda hingga operasicreate
pencadangan selesai.Dalam beberapa kasus, operasi
delete
mungkin memerlukan waktu hingga 24 jam untuk diselesaikan.
Konkurensi operasi
Operasi pencadangan
delete
yang terkait dengan instance sumber yang sama harus dilakukan satu per satu.Operasi pencadangan massal
delete
dalam rantai pencadangan tidak didukung. Saat operasidelete
tertunda, setiap operasidelete
baru dalam rantai pencadangan yang sama akan menampilkan errorRESOURCE_EXHAUSTED
. Hal ini terlepas dari apakah instance sumber telah dihapus. Jika instance sumber telah dihapus, Anda akan menerima errorFAILED_PRECONDITION
.Filestore mendukung operasi pencadangan serentak
delete
saat pencadangan mereferensikan instance sumber terpisah.Misalnya, instance yang diberi label
Source1
memiliki data cadangan yang dirujuk diBackup1
danBackup2
.Source2
memiliki data cadangan yang dirujuk diBackup3
danBackup4
.Backup1
danBackup2
tidak dapat dihapus secara paralel, namun,Backup2
danBackup3
dapat dihapus.Operasi pencadangan
create
dan pencadangandelete
yang dimulai dalam rantai pencadangan yang sama dapat berjalan secara bersamaan. Jika sudah mulai membuat cadangan baru, Anda harus menunggu hingga operasi selesai untuk menghapus cadangan terbaru yang ada. Hal ini karena cadangan terbaru berisi data paling penting yang diperlukan untuk berhasil menyelesaikan operasicreate
pencadangan. Jika Anda mencoba menghapus cadangan terbaru, Anda akan menerima errorFAILED_PRECONDITION
.Misalnya,
Source1
memiliki rantai pencadangan yang terdiri dariBackup1
danBackup2
. Saat memulai operasicreate
untukBackup3
, Anda tidak dapat menghapusBackup2
hingga operasicreate
selesai.Untuk mengetahui informasi selengkapnya tentang batas kapasitas operasi, lihat Batas kapasitas operasi untuk pencadangan.
Penyimpanan
Anda dapat memulihkan cadangan instance dasar ke instance sumber dengan tingkat layanan yang sama, instance yang sudah ada, atau instance baru. Jika memilih instance baru, Anda dapat memilih antara instance HDD dasar dan SSD dasar, terlepas dari tingkat instance sumber.
Anda tidak dapat memulihkan instance zonal, regional, dan enterprise ke instance sumber atau yang sudah ada, hanya ke instance baru. Tingkatan instance baru tidak harus sama dengan tingkatan instance sumber. Misalnya, Anda dapat memulihkan cadangan instance regional ke instance zonal. Kapasitas yang disediakan untuk instance baru harus sama dengan atau melebihi kapasitas yang disediakan untuk instance sumber.
Kapasitas
Cadangan yang dibuat untuk instance zonal, regional, dan enterprise dapat menggunakan kapasitas instance. Kapasitas ini bervariasi relatif terhadap cakupan perubahan yang dilakukan pada data sejak cadangan dibuat. Lebih khusus lagi, saat cadangan dibuat, Filestore akan membuat snapshot internal sistem file yang juga menempati sebagian kapasitas instance yang tersedia.
Ukuran snapshot juga relatif terhadap cakupan perubahan yang dilakukan pada data dalam berbagi sejak cadangan terakhir dibuat. Snapshot ini akan terus ada hingga cadangan berikutnya dibuat dan diupload.
Semua data yang dirujuk oleh cadangan tetap ada dalam statusnya seperti saat diambil dan terus menggunakan kapasitas dari sistem file. Jadi, misalnya, jika Anda menghapus data dari sistem file yang terpasang, tindakan itu sendiri tidak akan membebaskan kapasitas. Sebagai gantinya, untuk melakukannya, Anda harus membuat cadangan baru setelah menghapus atau menimpa data dalam jumlah besar.
Untuk mengetahui deskripsi mendetail tentang perubahan diferensial dan inkremental serta cara penanganannya, lihat Pembuatan cadangan.
Untuk mengantisipasi kapasitas yang memadai bagi workload Anda, pertimbangkan untuk menerapkan salah satu hal berikut:
Tingkatkan kapasitas instance untuk workload dengan perubahan data yang signifikan dan sering atau tingkat perubahan yang tinggi.
Lakukan pencadangan secara rutin. Jika pencadangan terakhir sudah usang, snapshot internal mungkin mengakumulasi lebih banyak perubahan dan menggunakan lebih banyak kapasitas instance.
Enkripsi
Saat menggunakan CMEK untuk mengenkripsi rantai cadangan, batasan berikut berlaku:
Seluruh rantai cadangan dienkripsi menggunakan CMEK yang sama.
Saat membuat cadangan dengan CMEK, CMEK harus berada di region yang sama dengan cadangan target.
Jika menyimpan rantai cadangan di region yang terpisah dari instance sumber, Anda mungkin perlu menerapkan kunci terpisah, satu untuk sumber dan satu untuk rantai cadangan.
- Semua tingkat layanan mendukung beberapa rangkaian cadangan, atau kemampuan untuk menyimpan cadangan instance di beberapa region. Jika memilih untuk menggunakan CMEK untuk enkripsi, kunci CMEK harus berada di region yang sama dengan resource yang dienkripsinya. Jika Anda menyimpan cadangan di region yang terpisah dari sumber, dan CMEK bukan kunci multi-region, Anda harus menggunakan kunci CMEK terpisah. Untuk mengetahui informasi selengkapnya, lihat Pembatasan CMEK dan Memilih lokasi CMEK terbaik.
Satu CMEK diterapkan ke bucket Cloud Storage tempat rantai pencadangan disimpan dan tidak dapat digabungkan atau diganti.
Dukungan CMEK tidak tersedia untuk cadangan tingkat dasar.
Untuk mengetahui informasi selengkapnya, lihat Dukungan CMEK untuk rantai pencadangan.
Protokol
- Saat memulihkan cadangan, instance baru harus menggunakan protokol yang sama dengan instance sumber.
Praktik terbaik
Bagian berikut membahas praktik terbaik yang direkomendasikan.
Menyiapkan berbagi file untuk konsistensi pencadangan terbaik
Kualitas cadangan bergantung pada kemampuan aplikasi Anda untuk pulih dari cadangan yang dibuat selama beban kerja penulisan yang berat. Dalam sebagian besar situasi, Anda dapat membuat cadangan yang memiliki konsistensi yang baik meskipun aplikasi Anda menulis data ke berbagi file. Namun, jika aplikasi Anda memerlukan konsistensi yang ketat, sebaiknya lakukan satu atau beberapa hal berikut:
- Gunakan pemasangan sync. Untuk mengetahui informasi selengkapnya, lihat bagian "Opsi pemasangan sinkronisasi" di
nfs(5).
Atau, Anda dapat membuka file dengan tanda
O_DIRECT|O_SYNC
. Untuk mengetahui informasi selengkapnya, lihat open(2). - Jeda aplikasi atau proses sistem operasi yang menulis data ke berbagi file dan menyebabkan aplikasi atau proses tersebut menghapus perubahannya ke berbagi file sebelum memulai pencadangan. Untuk mengetahui informasi selengkapnya, lihat fsync(2).
- Jika aplikasi Anda memerlukan konsistensi di antara beberapa berbagi, jeda semua aplikasi di semua instance yang menulis ke semua berbagi file dan buat cadangan semua berbagi file sebelum melanjutkan aplikasi Anda.
- Jika Anda memerlukan konsistensi tingkat aplikasi, hentikan aplikasi dan lepaskan berbagi file sebelum membuat cadangan.
Menggunakan cadangan yang ada sebagai dasar untuk cadangan baru guna mengurangi waktu pembuatan cadangan
Cadangan berbagi file yang ada dalam suatu region digunakan sebagai dasar untuk membuat cadangan baru berbagi file, sehingga mengurangi waktu pembuatan cadangan. Oleh karena itu, sebaiknya Anda melakukan hal berikut:
Buat cadangan baru berbagi file sebelum Anda menghapus cadangan berbagi file sebelumnya.
Tunggu hingga cadangan baru berada dalam status
Ready
sebelum membuat cadangan berikutnya dari berbagi file yang sama.
Menjadwalkan pencadangan di luar jam sibuk untuk mengurangi waktu pembuatan cadangan
Membuat cadangan di luar jam sibuk akan mengurangi waktu yang diperlukan untuk membuat cadangan. Jika Anda menjadwalkan pencadangan reguler berbagi file, sebaiknya jadwalkan pencadangan tersebut di luar jam sibuk jika memungkinkan.
Waktu puncak pembuatan cadangan adalah akhir setiap hari kerja dan tengah malam di wilayah tempat instance Filestore berada. Sebaiknya buat cadangan Anda di pagi hari atau selama hari kerja.
Mengatur data Anda di instance Filestore terpisah untuk memaksimalkan efisiensi
Makin banyak data di berbagi file, makin besar cadangan dan makin besar biayanya. Untuk mencadangkan hanya data yang perlu dicadangkan, sebaiknya atur data Anda di berbagi file terpisah, yaitu:
- Menyimpan data penting dengan pola penulisan yang berbeda atau dengan persyaratan pencadangan yang berbeda di berbagai berbagi file.
- Mengurangi jumlah cadangan yang perlu Anda buat dengan menyimpan data serupa dalam satu berbagi file.
Kuota
Ada batas kuota terkait jumlah pencadangan per region untuk tingkat layanan SSD dasar dan HDD dasar.
Batas kuota pencadangan tidak berlaku untuk tingkat layanan zona, regional, dan perusahaan.
Untuk mengetahui informasi selengkapnya, lihat Tingkat layanan dan kuota.
Mulai menggunakan pencadangan Filestore
Untuk mulai menggunakan fitur ini, lihat Mencadangkan data untuk pemulihan dari bencana (disaster recovery).
Langkah berikutnya
- Pelajari cara mencadangkan dan memulihkan berbagi file.
- Pelajari cara menjadwalkan pencadangan menggunakan Cloud Scheduler.
- Pelajari Google Cloud wilayah dan zona.
- Pelajari harga pencadangan.