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:
Download dan instal Spanner Omni CLI.
Pahami konsep yang dijelaskan dalam Membuat deployment untuk Spanner Omni di VM karena operasi penskalaan menggunakan pola CLI Spanner Omni yang serupa.
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:
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_DIRGanti 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.
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=ENDPOINTGanti 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 creatememulai 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.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:
Hapus server dari deployment:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTGanti 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.
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=ENDPOINTHentikan 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
spannerdi VM ini menggunakanbase_diryang sama tanpa menghapus folder data lama terlebih dahulu.
Langkah berikutnya
- Pelajari cara memelihara deployment.