Anda di sini

Instalasi dan Konfigurasi

[Tutorial] Cara Membuat SD Card Raspberry Pi Kebal Korup & Anti Rusak

Aditya Suranata - 29 Juni 2016 18:59:18 0

Setelah mengalami banyak musibah yang berkaitan dengan hilangnya data dan rusaknya sistem sehingga harus menginstal ulang dan menyetel ulang semuanya dari awal pada Raspberry Pi, maka saya membulatkan tekat untuk mencari tahu cara yang 100% ampuh untuk mengatasi masalah yang sangat membuat pusing ini.

Ya.. SD Card / Micro SD pada Raspberry Pi sangatlah rentan rusak/korup. Contohnya, gara-gara mati paksa/cabut colokan tanpa melalui proses shutdown, apalagi rumah sering mati listrik, hingga karena terlalu lama menyala, dan menjalankan aplikasi yang membuat banyak logging / proses menulis ke memory card dapat membuatnya korup dan tidak dapat digunakan lagi.

Jika kamu akan menggunakan Raspberry sebagai proyek yang melibatkan kondisi ekstrem seperti diatas, maka teknik ini wajib kamu perlukan. Tentunya kamu tidak ingin kejadian mengerikan seperti macetnya alat ketika kondisi urgent, hilangnya data dan rusaknya sistem operasi dan lainnya yang disebabkan karena memory korup.

Selain dalam kasus ekstrem, perlu diketahui kalau sistem operasi Raspbian secara bawaan juga melakukan penulisan ke memory card dalam jumlah dan interval yang besar. Contohnya adalah fungsi logging, hampir setiap detik sistem akan menulis catatan event/peristiwa yang terjadi pada sistem ke memory card, selain menyebabkan korup, proses penulisan yang terlalu sering juga akan memperpendek umur memory cardnya.

Ciri-Ciri Memory Card Raspberry Pi Sudah Korup / Rusak

Pada umumnya, ciri-ciri awal hilangnya integritas data dan rusaknya file system dari memory card tidak akan terlihat. Sistem mu mungkin berjalan seperti biasanya, namun seiring waktu, block pada memory yang korup akan menyebabkan efek domino, mempengaruhi blok lain yang masih sehat menjadi korup juga. Jika tingkat korupnya sudah masuk ke fase ini, maka akan mulai terlihat tanda-tandanya.

Ketika kita menjalankan aplikasi, akan mulai tampak error yang tidak lasim. Error dengan pesan yang mengatakan bahwa file tidak ditemukan, error yang tidak terduga, hingga error yang menyatakan dengan jelas bahwa terdapat masalah dengan integritas file.

Jika tidak cepat dilakukan tindakan untuk melakukan pengecekan dan perbaikan, umumnya menggunakan tool seperti fsck, maka kerusakannya akan menjadi parah dan tidak bisa diperbaiki yang artinya data sudah dipastikan hilang dan sistem sudah rusak. Tahap ini ditandai dengan Raspberry Pi tidak merespon ketika dinyalakan, layar menghitam dan lampu indikator aktifitas (warna kuning) tidak berkedip / hanya diam saja.

Meskipun masih dapat dilakukan recovery menggunakan tools recoveri seperti testdisk, kemungkinan untuk mendapatkan kembali file yang hilang secara utuh akan sangat kecil, ini karena penyebab hilangnya file adalah korup/rusaknya file system, bukan karena terhapus.

Bagaimana Cara Mencegah Agar Memory Card Raspberry Pi tidak Korup ?

Jadi, sesuai dengan penyebab dari rusaknya memory card, yaitu karena proses tulis yang berlebihan dan mati paksa atau listrik yang tidak stabil, maka langkah pertama untuk mencegahnya adalah dengan mengurangi dan mematikan program-program atau daemon yang terlalu sering melakukan penulisan ke memory card. Salah satunya adalah fungsi logging, maka dari itu, saya mencari solusi dari berbagai sumber dan mendapatkan cara untuk mengatasi masalah logging ini.

File log dari proses logging akan ditulis ke memory card di direktori /var/log/*. Oleh karena fungsi ini penting untuk mengetahui kondisi, status dan masalah yang terjadi pada sistem, seperti halnya kotak hitam pada pesawat terbang, maka seharusnya kita tidak mematikan atau menghapusnya, namun cukup memindahkan foldernya dari memory card ke memory RAM. Ya.. kita akan mengambil sedikit bagian dari memory RAM dan me-mount-nya menjadi sebuah folder yang tidak tetap / volatile. Kita akan menulis lognya disana, dan perlu diketahui kalau memory RAM memang didesain untuk baca/tulis yang ekstreme jadi menulis ke RAM sepenuhnya aman.

Semua proses penting yang memerlukan penulisan akan dialihkan ke folder maya tersebut, dan file system pada memory card (/boot & /root) akan diset ke mode read-only. Jadi memory cardnya diset ke hanya boleh dibaca saja. Ketika memory card sudah diset ke mode read-only, maka ia akan jadi kebal terhadap korupsi atau kerusakan, seperti halnya perangkat-perangkat embedded yang ada disekitar kita, modem, akses poin, router atau TV LCD kita adalah salah satu contoh perangkat yang menggunakan file system dalam mode read-only.

Sebelumnya.... Apakah Saya Benar-benar Perlu Melakukan Ini ? Apa Pro & Kontranya?

Perlu diketahui, teknik ini hanya cocok untuk Raspberry Pi yang akan menyala selama 24 Jam non-stop dan setiap hari. Raspberry Pi hanyakan menjalankan aplikasi berbasis konsole, atau tanpa GUI atai Desktop, jadi hanya teks saja. Jika kamu berencana menggunakan Desktop, maka teknik ini bisa dikatakan tidak akan bekerja, karena Desktop sendiri akan memerlukan fungsi penulisan yang tidak dapat diganggu gugat. Contoh aplikasi yang cocok misalnya untuk: menjalankan server seperti database dengan repository eksternal, web server, aplikasi berbasis jaringan, pembacaan sensor dan sebagainya yang menggunakan GPIO.

Jadi jika kamu akan menggunakan Raspberrynya untuk tujuan GUI/Desktop atau database built-in, maka teknik ini tidak akan bekerja, namun jika databasenya tidak disimpan lokal/built-in pada Raspberry, mungkin disimpan di USB atau jaringan, maka teknik ini masih bisa.

Ayo Mainkan....

Oke, sudah cukup ulasannya, kini kita langsung saja mulau melakukan operasi anti korup.

Buka SSH, dan remote ke Raspberry, ketik perintah berikut:

Update ke versi terbaru

sudo apt-get update
sudo apt-get dist-upgrade

Restart agar update selesai dengan baik

sudo reboot

Hapus paket dan file service yang tidak diperlukan

sudo apt-get remove --purge wolfram-engine triggerhappy anacron logrotate dbus dphys-swapfile xserver-common lightdm

sudo insserv -r x11-common
sudo apt-get autoremove --purge

Ganti program manajemen log dengan busybox

sudo apt-get install busybox-syslogd
sudo dpkg --purge rsyslog

Dengan ini, log akan disimpan ke memory buffer, tidak lagi di memory card, maka dari itu untuk melihatnya kita menggunakan perintah logread.

Matikan fungsi swap dan file system check, lalu set ke mode read-only

Sunting file berikut:

sudo nano /boot/cmdline.txt

tambahkan dibelakangnya dua kata ini:

fastboot noswap ro

Punya saya terlihat seperti berikut ketika sudah ditambahkan:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fastboot noswap ro

Pindahkan beberapa file dari sistem operasi ke file system temporary (temp)

sudo rm -rf /var/lib/dhcp/ /var/run /var/spool /var/lock
sudo ln -s /tmp /var/lib/dhcp
sudo ln -s /tmp /var/run
sudo ln -s /tmp /var/spool
sudo ln -s /tmp /var/lock

Jika menggunakan sistem operasi Raspbian Jessie, pindahkan beberapa lock file ke file system temp

sudo nano /etc/systemd/system/dhcpcd5

lalu cari baris yang seperti ini:

PIDFile=/run/dhcpcd.pid

dan ganti menjadi:

PIDFile=/var/run/dhcpcd.pid

Punya saya setelah diganti jadinya seperti ini:

[Unit]
Description=dhcpcd on all interfaces
Wants=network.target
Before=network.target

[Service]
Type=forking
PIDFile=/var/run/dhcpcd.pid
ExecStart=/sbin/dhcpcd -q -b
ExecStop=/sbin/dhcpcd -x

[Install]
WantedBy=multi-user.target
Alias=dhcpcd5

Hapus script startup

sudo insserv -r bootlogs
sudo insserv -r console-setup

lalu bagian yang paling penting, tambahkan flag "ro" pada kedua perangkat disk di /etc/fstab

sudo nano /etc/fstab

punya saya terlihat seperti ini:

proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime,ro 0 1

# Untuk Debian Jessie, tambahkan file system temporari
tmpfs /tmp tmpfs nosuid,nodev 0 0
tmpfs /var/log tmpfs nosuid,nodev 0 0
tmpfs /var/tmp tmpfs nosuid,nodev 0 0

Selesai, restart sekali lagi

sudo reboot

Jika semuanya dilakukan dengan benar, maka tidak akan ada masalah, dan Raspberry Pi sudah berjalan dalam mode read-only.

Jika terdapat masalah, coba lihat kotak hitamnya dengan perintah logread. Atau coba lihat dan perbaiki menggunakan komputer lain.

Merubah dari mode read-only ke read-write dan sebaliknya

Sekarang kamu sudah ada dalam mode read-only yang tentunya aman dan bekerja dengan baik, tapi bagaimana jika kamu berencana untuk mengupdate atau menginstal program baru? dan hal-hal lainnya yang memerlukan penulisan ke memory card?

Caranya adalah, jika ingin merubah modenya ke mode baca tulis, jalankan perintah ini:

sudo mount -o remount,rw /

jika ingin mengembalikan ke mode read-only:

sudo mount -o remount,ro /

itu untuk partisi root yang alamatnya di /, jika partisi boot maka ganti / menjadi /boot.

Selesai... kini Raspi mu sudah kebal dengan yang namanya korupsi... Indonesia kapan ya laugh

16.592
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.