Membuat disk RAM dalam memori


Instance Compute Engine memiliki memori kelas perusahaan berperforma tinggi yang dapat Anda gunakan untuk menjalankan aplikasi. Anda dapat mengalokasikan sebagian memori ini untuk membuat disk RAM dengan latensi yang sangat rendah dan throughput tinggi. Disk RAM berfungsi dengan baik jika aplikasi Anda mengharapkan struktur sistem file dan tidak dapat menyimpan datanya dalam memori. Disk RAM saja tidak memberikan redundansi atau fleksibilitas penyimpanan apa pun, jadi sebaiknya gunakan disk RAM bersama dengan opsi penyimpanan instance lainnya.

Disk RAM berbagi memori instance dengan aplikasi Anda. Jika instance Anda tidak memiliki cukup memori untuk memuat disk RAM dan aplikasi Anda, buat instance dengan jenis mesin highmem, seperti N2 atau upgrade instance yang ada untuk menambahkan lebih banyak memori.

Sebelum memulai

  • Baca perbedaan antara disk RAM dan opsi penyimpanan Compute Engine lainnya.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Membuat disk RAM

Anda dapat membuat disk RAM dengan sistem file tmpfs, yang disertakan secara default di sebagian besar distribusi Linux.

  1. Jika instance Anda tidak memiliki cukup memori yang tersedia, Anda dapat mengubah jenis mesin instance menjadi jenis mesin dengan lebih banyak memori.

  2. Hubungkan ke instance Anda melalui SSH. Untuk contoh ini, buka halaman instance VM, lalu klik tombol SSH di samping instance tempat Anda ingin menambahkan disk RAM.

  3. Membuat direktori pemasangan untuk disk RAM Anda.

    $ sudo mkdir /mnt/ram-disk
    
  4. Membuat dan memasang disk RAM tmpfs baru. Anda harus menentukan nilai untuk properti size yang memenuhi persyaratan penyimpanan tanpa bersaing dengan aplikasi Anda untuk mendapatkan memori atau menghabiskan semua memori yang tersedia. Untuk contoh ini, instance memiliki jenis mesin n1-highmem-32 dengan memori 208 GB, sehingga ukuran disk RAM 50g sudah sesuai.

    $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
    
  5. Tambahkan disk RAM ke file /etc/fstab agar perangkat otomatis dipasang lagi jika Anda memulai ulang instance:

    $ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
    

Menghapus disk RAM

Anda dapat melepas disk RAM tmpfs seperti volume lainnya. Tindakan ini akan menghapus disk RAM dan data apa pun yang tersimpan di dalamnya. Untuk contoh ini, lepaskan disk RAM yang dipasang di /mnt/ram-disk:

$ sudo umount /mnt/ram-disk

Mencadangkan data disk RAM secara otomatis setiap kali instance dimulai ulang

Anda dapat mencadangkan disk RAM sebelum instance dimulai ulang untuk mempertahankan data disk RAM hingga instance dimulai kembali. Cadangkan data Anda ke persistent disk untuk menyimpannya.

  1. Buat dan pasang persistent disk untuk digunakan sebagai disk cadangan bagi disk RAM Anda. Pastikan ukuran disk cukup besar untuk memuat informasi di dalam disk RAM.

  2. Buat skrip shutdown untuk instance Anda dengan perintah rsync yang menulis konten disk RAM ke volume cadangan. Untuk contoh ini, gunakan gcloud CLI untuk menambahkan metadata shutdown-script ke instance dengan disk RAM dipasang di /mnt/ram-disk dan persistent disk yang dipasang di /mnt/ram-disk-backup.

    gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash
    rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/
    EOF"
    
  3. Jika ingin, Anda juga dapat membuat skrip startup yang memulihkan file kembali ke disk RAM saat instance dimulai lagi. Gunakan gcloud CLI untuk menambahkan metadata startup-script ke instance.

    gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash
    rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/
    EOF"