Menskalakan deployment VM

Untuk menangani perubahan traffic database atau menyimpan lebih banyak partisi, Anda dapat menyesuaikan jumlah node server di lingkungan virtual machine. Gunakan prosedur ini untuk mengelola deployment VM.

Sebelum memulai

Untuk menskalakan deployment VM, ikuti langkah-langkah berikut:

Sebagai praktik terbaik, sebaiknya lakukan penskalaan vertikal hingga 32 GB memori per server sebelum menambahkan lebih banyak server untuk melakukan penskalaan horizontal.

Menambahkan server root

Tambahkan server root baru ke deployment VM dengan mengikuti langkah-langkah berikut:

  1. Mulai server baru di VM baru dalam zona yang ada. Lakukan inisialisasi server dengan menggunakan perintah spanner start. Contoh berikut memulai server root:

    spanner start \
      --root \
      --server-address=HOSTNAME \
      --zone=ZONE \
      --base-dir=BASE_DIR
    

    Ganti kode berikut:

    • HOSTNAME: Nama domain yang sepenuhnya memenuhi syarat (FQDN) atau nama host VM baru yang dapat di-resolve—misalnya, new-root-server.example.com.
    • ZONE: Zona target—misalnya, us-central1-a.
    • BASE_DIR: Jalur direktori tempat data disimpan—misalnya, /spanner.
  2. Tambahkan server ke deployment yang ada. Daftarkan server root baru dengan deployment utama. Pastikan argumen nama host dan port cocok dengan parameter yang digunakan dalam perintah spanner start, dan tentukan zona yang akan ditetapkan ke server root.

    spanner deployment servers create SERVER_ENDPOINT \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

    Ganti kode berikut:

    • SERVER_ENDPOINT: Alamat server root baru—misalnya, new-root-server.example.com:15000.
    • ZONE: Zona target—misalnya, us-central1-a.
    • ENDPOINT: Endpoint deployment utama Anda—misalnya, my-spanner-deployment:15000.

    Perintah spanner deployment servers create memulai operasi yang berjalan lama untuk menambahkan server ke deployment. Operasi yang berjalan lama mungkin memerlukan waktu lama untuk diselesaikan. Untuk mengetahui informasi selengkapnya, lihat Mengelola dan mengamati operasi yang berjalan lama dalam dokumentasi Spanner.

  3. Pastikan server bergabung dengan deployment. Buat daftar server untuk memverifikasi bahwa server telah terdaftar dan telah bertransisi ke status Ready:

    spanner deployment servers list \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

Menambahkan server non-root

Untuk menambahkan server non-root, mulai proses spanner di VM dan konfigurasikan agar terhubung ke satu atau beberapa server root di cluster untuk bergabung dengan deployment.

Contoh ini memulai server non-root dan menambahkannya ke deployment:

spanner start \
  --server-address=HOSTNAME \
  --join-servers=JOIN_SERVERS \
  --zone=ZONE \
  --base-dir=BASE_DIR

Ganti kode berikut:

  • HOSTNAME: Nama host VM baru—misalnya, new-non-root-server.example.com.
  • JOIN_SERVERS: Daftar endpoint server root yang ada yang dipisahkan koma—misalnya, root-server1.example.com:15000.
  • ZONE: Nama zona—misalnya, us-central1-a.
  • BASE_DIR: Jalur direktori tempat data disimpan—misalnya, /spanner.

Menghapus server

Ikuti langkah-langkah yang sama untuk menghapus server root atau server non-root. Jika Anda menghapus server root, pastikan Anda mempertahankan jumlah total server root yang ganjil dalam deployment (antara 1 dan 9).

Untuk menonaktifkan server VM, ikuti langkah-langkah berikut:

  1. Hapus server dari deployment:

    spanner deployment servers delete SERVER_ENDPOINT \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

    Ganti kode berikut:

    • SERVER_ENDPOINT: Alamat server yang akan dihapus—misalnya, server-to-remove:15000.
    • ZONE: Zona yang berisi server—misalnya, us-central1-a.
    • ENDPOINT: Endpoint deployment utama Anda—misalnya, my-spanner-deployment:15000.
  2. Tunggu hingga pemindahan data selesai. Pemindahan partisi memerlukan waktu bergantung pada ukuran datastore yang dihosting di server. Pantau status server hingga server tidak lagi tercantum dalam output:

    spanner deployment servers list \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    
  3. Hentikan proses server. Login ke VM, dan hentikan proses spanner.

    Untuk menghindari kerusakan data atau menyebabkan server yang terputus mencatat update yang bertentangan, jangan memulai ulang proses spanner di VM ini menggunakan base_dir yang sama tanpa menghapus folder data lama terlebih dahulu.

Langkah berikutnya