Ringkasan pemulihan Cassandra

Halaman ini memberikan ringkasan terkait pemulihan Cassandra di sistem hybrid Apigee.

Mengapa menggunakan pemulihan?

Anda dapat menggunakan cadangan untuk memulihkan infrastruktur Apigee dari awal jika terjadi dan kegagalan yang sangat parah, seperti kehilangan data yang tidak dapat dipulihkan dalam instance hybrid Apigee Anda karena bencana. Pemulihan mengambil data Anda dari lokasi cadangan dan memulihkan data ke dalam Cassandra baru cluster dengan jumlah node yang sama. Tidak ada data cluster yang diambil dari gugus Cassandra lama. Tujuan dari proses pemulihan ini adalah untuk mengembalikan instalasi hybrid Apigee ke status operasional sebelumnya menggunakan data cadangan dari snapshot.

Penggunaan cadangan untuk memulihkan tidak direkomendasikan untuk skenario berikut:

  • Kegagalan node Cassandra.
  • Penghapusan data yang tidak disengaja seperti apps, developers, dan api_credentials.
  • Satu atau beberapa region mengalami gangguan dalam deployment hybrid multi-region.

Deployment dan arsitektur operasional Apigee Cassandra menangani redundansi dan fault tolerance untuk satu region. Dalam sebagian besar kasus, penerapan produksi multi-region yang direkomendasikan untuk hybrid berarti bahwa kegagalan region dapat dipulihkan dari region live lain menggunakan prosedur penghentian dan perluasan region alih-alih memulihkan dari cadangan.

Sebelum Anda mulai menerapkan pemulihan dari cadangan Cassandra, perhatikan hal-hal berikut:

  • Periode nonaktif: Akan ada periode nonaktif selama durasi pemulihan.
  • Kehilangan data: Data akan hilang antara cadangan valid terakhir dan waktu pemulihan selesai.
  • Waktu pemulihan: Waktu pemulihan bergantung pada ukuran data dan cluster.
  • Data acak: Anda tidak dapat hanya memilih data tertentu untuk dipulihkan. Pemulihan memulihkan seluruh cadangan yang Anda pilih.

Prasyarat

Pastikan bahwa semua prasyarat berikut berhasil. Menyelidiki kegagalan prasyarat sebelum melanjutkan pemulihan.

  1. Pastikan semua pod Cassandra aktif dan berjalan dengan perintah berikut.
    kubectl get pods -n apigee -l app=apigee-cassandra

    Output Anda akan terlihat seperti contoh berikut:

    NAME                         READY   STATUS    RESTARTS   AGE
    apigee-cassandra-default-0   1/1     Running   0          14m
    apigee-cassandra-default-1   1/1     Running   0          13m
    apigee-cassandra-default-2   1/1     Running   0          11m
    exampleuser@example hybrid-files %
          
  2. Pastikan statefulset Cassandra menunjukkan semua pod berjalan dengan perintah berikut.
    kubectl get sts -n apigee -l app=apigee-cassandra

    Output Anda akan terlihat seperti contoh berikut:

    NAME                       READY   AGE
    apigee-cassandra-default   3/3     15m
        
  3. Pastikan resource ApigeeDatastore dalam status running menggunakan perintah berikut.
    kubectl get apigeeds -n apigee

    Output Anda akan terlihat seperti contoh berikut:

    NAME      STATE     AGE
    default   running   16m
        
  4. Pastikan semua PVC Cassandra berada dalam status Bound dengan perintah berikut.
    kubectl get pvc -n apigee -l app=apigee-cassandra

    Output Anda akan terlihat seperti contoh berikut:

    NAME                                        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    cassandra-data-apigee-cassandra-default-0   Bound    pvc-a14184e7-8745-4b30-8069-9d50642efe04   10Gi       RWO            standard-rwo   17m
    cassandra-data-apigee-cassandra-default-1   Bound    pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d   10Gi       RWO            standard-rwo   15m
    cassandra-data-apigee-cassandra-default-2   Bound    pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279   10Gi       RWO            standard-rwo   13m
        
  5. Verifikasi semua PV Cassandra dalam status Terikat dengan perintah berikut.
    kubectl get pv -n apigee

    Output Anda akan terlihat seperti contoh berikut:

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                              STORAGECLASS   REASON   AGE
    pvc-a14184e7-8745-4b30-8069-9d50642efe04   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-0   standard-rwo            17m
    pvc-ed129dcb-4706-4bad-a692-ac7c78bad64d   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-1   standard-rwo            16m
    pvc-faed0ad1-9019-4def-adcd-05e7e8bb8279   10Gi       RWO            Delete           Bound    apigee/cassandra-data-apigee-cassandra-default-2   standard-rwo            14m
        
  6. Pastikan resource Pengontrol Apigee berada dalam status Running dengan perintah berikut.
    kubectl get pods -n apigee-system -l app=apigee-controller

    Output Anda akan terlihat seperti contoh berikut:

    NAME                                         READY   STATUS    RESTARTS   AGE
    apigee-controller-manager-856d9bb7cb-cfvd7   2/2     Running   0          20m
        

Bagaimana cara memulihkannya?

Langkah pemulihan Cassandra sedikit berbeda tergantung pada apakah hybrid Apigee Anda yang di-deploy di satu atau beberapa region. Untuk mengetahui langkah-langkah pemulihan yang terperinci, baca dokumentasi berikut: