Ini sekedar cerita dan catatan kenapa desktop saya sekarang punya 3 SSD dan 3 HDD, dan kenapa saya punya komputer lain yang jadi server dengan 1 SSD dan 3 HDD. Ceritanya ini juga sekaligus jadi catatan untuk diri sendiri.
Singkatnya kalau Anda rajin bereksperimen seperti saya, ruang harddisk sepertinya akan selalu tidak cukup. Misalnya ingin mengcompile ROM Android (bukan aplikasi Android, tapi source code kernel, OS dan berbagai aplikasi Android yang membentuk ROM Android), satu versi saja butuh disk space 100 GB untuk source codenya dan 150 GB lagi untuk membuild-nya. Sedangkan untuk development aplikasi Android juga butuh space cukup banyak: folder .android
saya (yang berisi SDK dan VM, tidak semua versi saya install) sudah 20GB.
Mengcompile Firefox? butuh 30 GB, Chromium butuh 100 GB. Belum lagi ketika eksperimen dengan Raspberry Pi atau yang lain: tiap backup 1 SD Card biasanya seukuran SD cardnya (umumnya saya memakai 8-32 GB, tergantung devicenya).
Bisa dibayangkan juga berapa lama perlu download source code semuanya. Setelah selesai bereksperimen tentu semuanya bisa dihapus, tapi berapa jam lagi harus download jika ingin mulai lagi? kadang masih lebih baik menyimpan versi lama dan ketika ingin bereksperimen dengan versi baru tinggal “git pull” (atau sejenisnya).
Selama lebih dari 5 tahun saya pernah eksklusif memakai Linux di Desktop, bahkan akan saya bela-belain memakai Wine untuk menjalankan aplikasi tertentu yang hanya jalan di Windows. Tapi sejak punya anak, saya ingin lebih banyak bekerja dibandingkan berantem dengan tool. Saat itu Windows sudah cukup bagus. Kebanyakan tools support Windows dan saya tidak perlu mengakali banyak hal, saya juga menyiapkan server Linux terpisah jika ada kebutuhan oprek di Linux. Sudah berkali-kali saya mencoba Linux di VM dan sering ada masalah kecil terutama jika sudah berusaha mengakses hardware, jadi komputer server terpisah lebih masuk akal.
Enam tahun yang lalu saya kembali memakai Windows di Desktop dengan SSD yang ukurannya cuma 60 GB. Tentunya ini nggak cukup untuk berbagai aplikasi dan virtual machine, jadi konfigurasi desktop saat itu:
- 1 SSD untuk Windows (60 GB)
- 1 HDD untuk data, program besar, dsb (1 TB)
Waktu itu server Linux dipakai untuk development Linux dan juga sekaligus server media yang berisi musik dan film (dulu Netflix belum masuk Thailand jadi kombinasi antara membajak dan rip dari DVD). Saya mulai dengan 1 HDD saja. Jadi konfigurasi server:
- 1 HDD (OS + Data, 1 TB)
Suatu saat harddisk yang berisi data di desktop saya rusak, seingat saya itu baru kali pertama saya mengalami harddisk yang tiba-tiba error tidak terbaca tanpa ada gejala apa-apa. Untungnya sebagian data sudah dibackup, tapi tetap butuh waktu restore dan ribet bekerja dengan 1 SSD 60 GB saja. Saya tidak ingin kejadian seperti ini lagi: saya beli 2 HDD yang saya set dengan konfigurasi RAID-1, sekarang konfigurasi desktop:
- 1 SSD untuk Windows (60 GB)
- 2 HDD (RAID) untuk data, program, dsb (1 TB)
Saya memakai RAID software Windows, karena jika memakai RAID dari hardware (motherboard/BIOS) jika ada masalah maka recoverynya sulit dan sulit berpindah ke merk lain. Tapi lama-lama harddisk RAID ini penuh karena saya banyak bereksperimen dengan virtual machine (VM). Satu VM bisa belasan hingga puluhan GB. Belum lagi installer masing-masing OS untuk berbagai sistem operasi.
Nah masalah dengan RAID ini: jika ingin mengupgrade ukuran disk ya harus beli sekaligus 2 disk. Padahal kedua disk ini masih baik-baik saja. Jadi akhirnya saya putuskan: 1 HDD lagi untuk hal-hal yang kurang penting seperti installer, VM, source code open source. Kalaupun rusak tidak apa-apa, datanya bisa dibuat ulang atau didownload ulang. Jadi sekarang konfigurasi desktop:
- 1 SSD untuk Windows (60 GB)
- 2 HDD (RAID) untuk foto, dokumen penting (1 TB)
- 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (2 TB)
Saya akhirnya mengupgrade SSD desktop dari 60 GB, jadi 180 GB, lalu kemudian jadi 480 GB karena makin banyak hal-hal yang perlu diakses dengan cepat. SSD lama saya pindahkan ke server dengan 2 tujuan: (1) Mudah upgrade kapasitas data karena Sistem operasi ada di SSD terpisah (tidak perlu reinstall/copy), dan (2) server akan lebih booting cepat dengan SSD. Jadi konfigurasi server:
- 1 SSD (Linux, 60 GB)
- 1 HDD (Film, musik, 1 TB)
Meskipun saya merasa desktop saya cukup powerful, tapi saya tidak bisa melakukan semua hal di desktop, contohnya: Development atau pentest aplikasi iOS. Saya punya Macbook dan hasil pekerjaannya perlu dibackup. Risna dan saya juga kadang bekerja memakai laptop, ini pun perlu dibackup. Saya memakai git untuk menyimpan source code, dan saya juga butuh backup database, dan berbagai file penting lain. Semua ini saya backup ke server.
Sebagai catatan: saya sudah memakai Dropbox, OneDrive dan Google Drive untuk backup data penting di cloud. Tapi saya juga tidak 100% percaya dengan cloud. Saya juga mengikuti berbagai berita cloud storage dengan seksama. Misalnya banyak yang tidak tahu kalo OneDrive dulunya tidak punya file history (dan kelabakan ketika kena malware) dan baru pada July 2017 mereka mengimplementasikan fitur tersebut. Bagi saya: lebih baik punya backup ekstra daripada ketika butuh file internet sedang mati atau lambat.
Akhirnya saya mulai khawatir karena mulai banyak data penting di server, jadi saya tambahkan 2 HDD (RAID) jadi sekarang konfigurasi server:
- 1 SSD (Linux, 60 GB)
- 1 HDD (Film, Musik, 1 TB)
- 2 HDD (RAID, backup data penting, 2 TB)
Selama beberapa tahun saya tidak butuh sama sekali akses ke desktop Linux. Biasanya hanya butuh akses console (di server) atau sesekali cukup menggunakan VM. Tapi karena ada proyek yang butuh akses desktop Linux untuk hardware tertentu dan tidak cukup memakai VM, maka saya tambahkan lagi 1 SSD lama dari laptop yang hanya 60 GB ke desktop dan saya isi Linux. Dengan ini saya bisa dual boot ke Linux.
- 1 SSD untuk OS Windows (480)
- 2 HDD (RAID) untuk foto, dokumen penting (2 TB)
- 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (3 TB)
- 1 SSD untuk OS Linux (60 GB)
Di sini ternyata harddisk Non-RAID (HDD oprekan) menjadi penting untuk bertukar data dengan Windows karena sangat sulit mengakses data di RAID Windows dari Linux dan rawan error.
Sebagai catatan, meskipun lebih dari 95% pekerjaan bisa dilakukan di dalam virtual machine, tapi beberapa hal tetap butuh OS dengan akses hardware langsung. Beberapa hardware dengan mudah saya hubungkan ke server dan diprogram secara remote, tapi tidak semua pemrograman sifatnya non visual.
Contoh: akses GPU langsung di dalam VM cuma bisa dengan konfigurasi hardware/software tertentu dan kadang tetap error. Saya juga cuma punya GPU bagus di desktop, jadi kalau butuh akses GPU di Linux ya harus dual boot.
Contoh lain: Emulator Android x86 sangat lambat di Windows jika memakai prosesor AMD karena sampai bulan lalu tidak mendukung virtualization, dan baru saja ditambahkan fitur supaya virtualization bisa dipakai di Windows dengan prosesor AMD. Untuk prosesor Intel dari dulu ada software Intel® Hardware Accelerated Execution Manager/HAXM di Windows/macOS. Untuk prosessor AMD di Linux bisa memakai KVM (Kernel Based Virtual Machine) tapi dulu tidak ada solusinya di Windows.
Belum lama ini ketika saya mengerjakan proyek Raspberry Pi, ternyata tetap harus di depan Pi-nya karena akses kamera dengan tunelling ke HDMI tidak bisa diemulasikan dengan Qemu. Berbahagialah Anda kalau pekerjaan programming Anda masih bisa ditangani dengan emulator/virtual machine.
Setelah proyek yang berhubungan dengan Linux selesai, saya sudah melupakan Linuxnya dan saya biarkan SSD-nya (siapa tahu butuh lagi). Sekarang saya kembali berurusan dengan proyek yang butuh akses Linux. Kali ini 60 GB untuk Linux tidak cukup, dan tadinya terpikir untuk membeli lagi SSD 240 GB atau yang lebih besar, tapi kemudian ingat masih punya SSD lama 60 GB.
Karena masih malas untuk membeli SSD baru (plus harus mengcopy OS), saya colok saja SSD ini. Untungnya casing saya punya slot SATA sehingga jika butuh disk sementara bisa dicolok.
- 1 SSD untuk Windows (480 GB)
- 2 HDD (RAID) untuk foto, dokumen penting (2 TB)
- 1 HDD (non- RAID) untuk berbagai file besar yang kurang penting (3 TB)
- 1 SSD untuk OS Linux (60 GB)
- 1 SSD untuk data di Linux (60 GB)
Bagian terakhir ini sifatnya sementara, dan nanti rencananya untuk kedua SSD untuk Linux ini akan saya ganti saja dengan SSD lebih besar.
Sejauh ini saya tidak menyesali konfigurasi saat ini. Setelah memakai RAID ternyata sudah kejadian 2 kali salah satu harddisknya rusak dan bisa segera direcover. Meskipun sepertinya merepotkan punya banyak disk, tapi lebih repot lagi kalau data kita hilang.
Memakai SSD terpisah untuk Windows dan Linux juga terkesan boros (kenapa nggak satu SSD aja dipartisi?). Tapi menurut saya ini lebih reliable, jika SSDnya error saya masih bisa mengakses data dari OS lain, jika ingin mengupgrade salah satunya juga lebih gampang.
Sebagai catatan, tulisan ini dibuat karena saya baru beli HDD 4 TB sebagai pengganti disk 3TB yang sudah mulai penuh. Semoga ini bisa bertahan cukup lama.