Cara memperbaikin hardisk server EC2 bisa dibilang sama dengan memperbaiki hardisk yang memiliki fisik. Prosesnya juga sama, cabut hardisk, pasang di komputer baru, perbaiki, cabut, lalu pasang ulang ke server lama.
Proses ini memakan waktu sekitar 10 menit, sangat layak dicoba daripada me-restore data dari server backup anda. Itupun kalo servernya sempat dibackup.
Cek Log
Cek log sangat penting untuk melihat gambaran apa yang sedang terjadi
Buat Server Baru
Buat instance (vps) baru, tetapi dengan catatan harus di Availability Zone yang sama, Instance Type tidak berpengaruh, saya biasa menggunakan t3a.micro untuk proses reparasinya. Cara ini bisa dijadikan alternative untuk yang tidak memiliki akses ke Console, baik karena private IP ataupun hal lainnya.
Setelah server tersebut dibuat, stop servicenya agar kita bisa menambahkan hardisk dari server yang akan diperbaiki.
Proses Reparasi
1. Matikan EC2
Matikan server yang akan diperbaiki, agar hardisknya bisa dicabut.
2. Detach Volume
klik di nama instance yang akan di perbaiki, klik di Root Device, nanti muncul Block Device /dev/xvda, klik EBS ID.
ingat Root Device /dev/xvda
tersebut karena akan digunakan sewaktu mengembalikan hardisk untuk server ini.
Beri nama yang mewakili untuk hardisk tersebut, contoh saya menggunakan DB-REDIS-SG12. Ini perlu dilakukan agar tidak tertukar dengan yang lain.
klik kanan di baris Volume tersebut, pilih Detach Volume.
Setelah Volume tersebut, dikeluarkan sekarang tambahkan kedalam server yang dibuat tadi. Klik kanan, Attach Volume
akhiri dengan klik Attach
Bila anda melihat detail instance yang baru ditambahkan hardisk, sudah muncul /dev/sdf, ini adalah hardisk yang akan diperbaiki
3. Jalankan Server Reparasi
Tampilkan layout hardisk yang sedang digunakan df -h
root@reparasi:~# df -h Filesystem Size Used Avail Use% Mounted on udev 968M 0 968M 0% /dev tmpfs 197M 2.9M 194M 2% /run /dev/nvme1n1p1 7.7G 1.3G 6.1G 18% / tmpfs 982M 0 982M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 982M 0 982M 0% /sys/fs/cgroup /dev/nvme0n1p15 124M 262K 124M 1% /boot/efi tmpfs 197M 0 197M 0% /run/user/1000
hardisk yang di Mounted on /
adalah hardisk utama. Ini bukan hardisk yang akan diperbaikin. Bisa juga di cek dengan grep -w '/' /proc/self/mounts
root@reparasi:~# grep -w '/' /proc/self/mounts /dev/nvme1n1p1 / ext4 rw,relatime,discard,errors=remount-ro 0 0
lihat hardisk yang terdeteksi dengan fdisk -l
Disk /dev/nvme0n1: 40 GiB, 42949672960 bytes, 83886080 sectors Disk model: Amazon Elastic Block Store Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: EBF19161-3B64-024C-3B64-21F1860B75FA Device Start End Sectors Size Type /dev/nvme0n1p1 262144 83886046 83623903 39.9G Linux filesystem /dev/nvme0n1p14 2048 8191 6144 3M BIOS boot /dev/nvme0n1p15 8192 262143 253952 124M EFI System Partition table entries are not in disk order. Disk /dev/nvme1n1: 8 GiB, 8589934592 bytes, 16777216 sectors Disk model: Amazon Elastic Block Store Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: EBF19161-3B64-024C-3B61-21F1860B75FA Device Start End Sectors Size Type /dev/nvme1n1p1 262144 16777182 16515039 7.9G Linux filesystem /dev/nvme1n1p14 2048 8191 6144 3M BIOS boot /dev/nvme1n1p15 8192 262143 253952 124M EFI System Partition table entries are not in disk order.
disk yang akan diperbaiki terdeteksi sebagai /dev/nvme0n1p1
.
4.Mount Hardisk
Mount hardisk tersebut ke folder /mnt
mount /dev/nvme0n1p1 /mnt/
Chroot ke /mnt
Dengan chroot ini kita akan memiliki hak akses root.
mount -o bind /dev /mnt/dev mount -o bind /dev/shm /mnt/dev/shm mount -o bind /proc /mnt/proc mount -o bind /sys /mnt/sys chroot /mnt/
setelah menjalankan chroot /mnt
, coba cek hardisk yang sedang digunakan
root@reparasi / > df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 40G 1.5G 37G 4% / udev 968M 0 968M 0% /dev tmpfs 982M 0 982M 0% /dev/shm
sesuai dengan yang diharapkan.
Fix Masalah
Masalahnya dimana? Bila anda gagal booting karena beda kernal, atau anda mengkonfigurasi sesuatu yang mengakibatkan tidak bisa booting, bisa dibalikkan dari sini. Kalo anda mau mereset password root,admin juga bisa dengan
passwd
masukkan password root yang baru.
Contoh kasus di saya karena ada baris di /etc/fstab yang jadi biang keladi.
UUID="0cf51519-1b17-4761-8da7-abe119d6eac0" /data/backup ext4 defaults 0 0
setelah baris tersebut dihapus, keluar dari chroot dengan
exit
lalu shutdown server reparasi
shutdown -Ph now
Detach Volume
Detach volume dari Server Reparasi lalu Attach ke Server lama.
Jalankan server lama.