Strategi recovery dan pemulihan bencana
Revision as of 10:11, 21 April 2025 by Onnowpurbo (talk | contribs)
Tujuan Pembelajaran
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:
- Memahami strategi pemulihan data dan layanan pasca-bencana.
- Menyusun prosedur recovery dari backup penuh, incremental, dan log.
- Mengimplementasikan rencana disaster recovery menggunakan MySQL di Ubuntu 24.04.
Apa Itu Pemulihan Bencana (Disaster Recovery)?
Disaster Recovery (DR) adalah prosedur untuk memulihkan database dan sistem operasional pasca insiden besar seperti:
- Kegagalan server atau disk
- Serangan siber (ransomware, DDoS)
- Kebakaran atau bencana alam
- Kerusakan sistem akibat kesalahan pengguna (drop table, delete massal)
Strategi Recovery
Jenis Recovery | Penjelasan |
---|---|
Cold Recovery | Recovery dari backup offline (misalnya `.sql` hasil `mysqldump`) |
Point-in-Time Recovery (PITR) | Mengembalikan data hingga waktu tertentu menggunakan binary log |
Hot Standby | Replikasi aktif yang bisa dialihkan (failover) secara langsung |
Contoh Prosedur Recovery di MySQL Ubuntu 24.04
Skenario 1: Full Restore dari Backup SQL
Langkah:
- Restore backup penuh yang disimpan sebelumnya.
- Jalankan file SQL dengan `mysql`.
mysql -u root -p < /backup/full_backup_2025-04-10.sql
Skenario 2: Point-in-Time Recovery (PITR)
Syarat:
- Backup penuh tersedia.
- Binary log diaktifkan (lihat Modul 10.3).
- Ingin memulihkan data hingga sebelum insiden (misalnya jam 14:00).
Langkah:
# Restore dari backup penuh mysql -u root -p < /backup/full_backup_2025-04-10.sql # Temukan posisi waktu dalam binary log mysqlbinlog --start-datetime="2025-04-10 00:00:00" \ --stop-datetime="2025-04-10 13:59:59" \ /var/log/mysql/mysql-bin.000001 > /tmp/pitr.sql # Jalankan hasil log untuk PITR mysql -u root -p < /tmp/pitr.sql
Skenario 3: Simulasi Kehilangan Server (Disaster Recovery)
Langkah Pemulihan:
1. Setup ulang MySQL di server baru:
sudo apt update sudo apt install mysql-server
2. Salin file backup dari remote server atau cloud:
scp user@backup-server:/backup/full_backup_2025-04-10.sql .
3. Restore database:
mysql -u root -p < full_backup_2025-04-10.sql
4. Tambahkan data incremental atau log (jika ada).
Rencana Recovery (Disaster Recovery Plan)
Komponen Utama DR Plan:
Komponen | Penjelasan |
---|---|
RTO (Recovery Time Objective) | Berapa cepat layanan harus pulih? (misalnya: 1 jam) |
RPO (Recovery Point Objective) | Seberapa banyak data bisa ditoleransi hilang? (misalnya: 10 menit) |
Lokasi Backup | Backup harus disimpan di lokasi terpisah (cloud atau data center lain) |
Checklist Recovery | Dokumen langkah-langkah pemulihan yang harus diuji secara berkala |
Tips Perlindungan Data Tambahan
- Gunakan cron job untuk backup otomatis setiap hari/minggu.
- Simpan backup di 3 lokasi berbeda (local, remote, cloud).
- Enkripsi file backup agar aman (misalnya: `gpg` atau `openssl`).
- Uji restore secara berkala agar siap saat dibutuhkan.
Kesimpulan
Strategi Recovery | Kapan Digunakan | Perintah Kunci |
---|---|---|
Full Restore | Jika semua data hilang | `mysql < full_backup.sql` |
PITR (binary log) | Jika ingin rollback sebagian data | `mysqlbinlog --stop-datetime ...` |
Disaster Recovery Server | Jika server utama rusak total | `scp` + `mysql` install & restore |