Jaringan Tanpa Disk ( Diskless ) Sebagai Sarana murah dalam pengembangan IT pada Sekolah Menengah

M. Umar S. Tjokroaminoto

Tulisan ini dibuat untuk mengenalkan teknik membangun jaringan komputer gaya lama dengan perangkat yang lebih baru dan memanfaatkan Operating System (O/S) Linux.

Sebetulnya, metode jaringan tanpa disk telah banyak dilakukan sejak era mikro komputer berkembang dengan pesat, antara lain untuk platform Novell (Netware), Unix dengan dumb terminal ataupun platform lainnya yang memungkinkan. 

Teknik demikian sebetulnya telah banyak digunakan di platform PC terutama rental komputer di daerah dekat kampus. Alasan utama menggunakan metode ini kebanyakan untuk mengurangi beban biaya media penyimpanan (harddisk) dan mempermudah perawatan (maintenance). Herannya sangat sedikit (bila tidak dapat dikatakan nihil) yang memanfaatkan teknik jaringan seperti ini untuk keperluan Internet.

Beberapa hal yang dapat penulis simpulkan mengapa metode diskless ini tidak diterapkan pada jaringan Internet di Indonesia walaupun banyak menawarkan kemudahan:

1.	Mahalnya perangkat keras untuk type jaringan ini, misalnya mesin-mesin yang berjalan di platform Unix, demikian juga dengan faktor maintenance yang tidak kalah mahalnya dari harga perangkat kerasnya. Selain itu harga perangkat lunaknya juga sangat mahal. Atau disimpulkan semua serba mahal. Mengapa Unix? karena pada platform Unix fasilitas Internet merupakan sesuatu yang default.

2.	Mudahnya mendapatkan perangkat lunak bajakan, membuat pemilik jaringan tidak mau bersusah payah untuk membangun suatu jaringan komputer yang tangguh dengan berbagai macam dalih dari mulai "Tidak ada waktu untuk belajar sampai dengan bajakan menolong ekonomi lemah" yang ujung-ujungnya adalah "pembenaran diri sendiri dengan mengabaikan kepentingan orang lain".

3.	Kalaupun ada perangkat keras/lunak untuk keperluan jaringan tanpa disk dengan penerapan yang cukup mudah, akan tetapi tidak cukup bagus untuk dihubungkan dengan Internet, juga merupakan suatu alasan untuk menolak konsep jaringan tanpa disk ini misalnya jaringan berbasiskan Netware yang cukup sulit bila dihadapkan kepada InternetProtocol (IP). Bukannya tidak bisa akan tetapi akan menghadapi banyak kendala bila dipaksakan. Ditambah lagi walaupun perangkatnya cukup PC akan tetapi Software (O/S) nya bukanlah murah.

4.	Langkanya aplikasi-aplikasi populer untuk Internet yang berbasiskan O/S tertentu, misalnya Netware dan OS2 juga salah satu faktor untuk menolak dalam penggunaan software-software tersebut.

5.	Jaringan yang terhubung ke Internet haruslah cukup tangguh untuk mengatasi permasalahan security dan yang paling banyak terjadi adalah kekhawatiran akan Virus.

Lalu bagaimana jalan keluarnya? jawabannya adalah gunakan Linux, O/S nya murah, bahkan gratis bila didownload langsung dari Internet; tidak ada pembatasan (quota) pemakaian; didampingi banyak software aplikasi yang populer serta dokumentasi yang tak terbatas jumlahnya dan pendukung yg berjumlah jutaan orang yang setiap saat mau membantu dengan sangat terbuka dan sukarela terutama jika kita bergabung di berbagai mailing list Linux di Internet.

Seperti kita ketahui bersama, bahwa komponen komputer khususnya PC berkembang dengan sangat cepat dan semakin murah dari hari kehari. Demikian juga dengan kecepatan komunikasi data di Internet, sebagai gambaran pada pertengahan tahun delapan puluhan, modem 9,6 kbps sudah membuat orang berdecak dibandingkan kecepatan sebelumnya yang 1,2 atau 2,4 kbps. Demikian juga dengan harddisk yang berkembang sangat cepat baik dari sisi kapasitas penyimpanan, kecepatan putarnya serta harganya yang semakin rendah. Network Card (janggal untuk menyebut dengan kartu jaringan) juga tidak bedanya, dimana tadinya 10 mbps merupakan standard telah berubah ke 100 mbps sebagai standard bahkan sedang menuju kearah 1 gbps (1 giga bit per second). Processor di PC yang sudah melewati batas 1 Ghz (Giga Hertz).

Maka sangat dimungkinkan untuk mengembangkan suatu jaringan dengan terminal-terminal tanpa media storage, berhubungan satu sama lain dan dengan kecepatan yang seolah-olah seragam. Cara ini juga memungkinkan penghematan biaya "software upgrade", juga biaya administrasi sistem seperti backup, recovery, yang terpusat di satu komputer utama (server) dengan demikian dapat mengoptimalkan kinerja prosesor, memory, harddisk, dsb. dikedua sisi, baik client ataupun server. Ini semua mengarah kepada suatu bentuk efisiensi besar-besaran, bukankah langkah efisiensi merupakan langkah paling tepat di jaman serba susah ini ? Bila anda seorang Administrator suatu network maka cara ini akan sangat membantu anda dalam mengatasi keruwetan bahkan untuk menaikan peringkat anda dalam penilaian kinerja.

Dengan diskless maka dimungkinkan membangun suatu jaringan dengan bermodalkan PC sebagai terminal yang hanya bermuatan 8 MB RAM, Motherboard sederhana, CPU murah (dibawah 100 Mhz), NetworkCard dan VGA Card tanpa perlu ada harddisk, Floppy disk, CDROM ataupun Tape. Benar-benar mengurangi ketergantungan terhadap storage lokal dan juga menekan biaya pengadaan suatu jaringan besar. Metode ini sangat baik untuk perusahaan-perusahaan menengah kebawah, sekolah-sekolah lanjutan ataupun kejuruan untuk fasilitas Laboratorium Komputer mereka dan juga tidak tertutup kemungkinan untuk dimanfaatkan perusahaan-perusahaan besar untuk mengembangkan jaringan dengan optimasi komputer lama mereka.

Cara Kerja PC Diskless 

Konsep ini sudah ada lama dan dasar pemikirannya adalah bagaimana suatu komputer dapat mengaktifkan proses boot tanpa mengandalkan suatu media disk (floppy ataupun harddisk) akan tetapi melalui suatu kode binary yang disimpan dalam memory yang non-volatile seperti ROM Chip dan sejenisnya. Dengan demikian suatu komputer akan dimungkinkan untuk menghubungi servernya dan mendapatkan systemnya melalui network yang ada.

Terdapat beberapa tujuan yang akan dicapai dengan memanfaatkan system diskless ini selain menghindari pemakaian disk, antara lain:

1.	Mengurangi beban biaya perawatan system pada jaringan dengan banyak terminal sebab cara ini memungkinkan seluruh file/berkas berada pada satu mesin yang bertindak sebagai server. Sehingga tindakan upgrade terhadap software cukup dilakukan sekali dan terpusat.

2.	Keamanan/Security dimana jaringan dikendalikan cukup dari servernya saja, demikian juga pengaturan user yang terlibat.

3.	Penggunaan komputer pada tempat-tempat dimana menggunakan harddisk merupakan suatu hal yang riskan, pada pabrik misalnya, dimana getaran yang tercipta pada mesin akan mengganggu kinerja harddisk.

Cara ini juga dimungkinkan untuk digabung dengan proses pada harddisk, misalnya boot melalui network akan tetapi file lainnya didapatkan secara lokal atau boot suatu sistem melalui network dan sistem lainnya melalui harddisk dimana sistem yang diboot melalui harddisk memerlukan file-file sangat besar dan kurang bijaksana bila didapatkan melalui jaringan MS-Win9X misalnya. Terdapat trik-trik yang bagus dalam memanfaatkan cara boot melalui network card ini, misalnya pada saat Windows yang terinstall mengalami corrupt seperti yang biasa terjadi, maka sistem yang baru dapat diperoleh dari server Linux dengan cara menginstallnya kembali melalui network.

Cara Kerja Diskless

Bila suatu PC akan dihubungkan ke suatu jaringan (network) maka terdapat beberapa syarat yang harus dipenuhi, antara lain:

1.	Memiliki Network Card
2.	Memiliki identitas (dalam hal ini nomor IP)
3.	Operating System Image
4.	Filesystem yang bekerja

Untuk mempermudah istilah maka beberapa singkatan akan dipergunakan:

	WS = Work Station
	SV = Server
	HWA = Hardware Address
	IPA = IP Address
	NA = Network Address
	BC = Broadcast Address
	SN = SubNet

Suatu komputer yang mempunyai network card pada saat terhubung kesuatu jaringan lokal akan melakukan suatu proses pertukaran data yang rumit dengan komputer lain, baik secara langsung ataupun melalui suatu server perantara, akan tetapi karena dilakukan dengan cepat maka pertukaran ini tidak terlihat kecuali pada saat suatu jaringan mengalami lalu lintas data yang sangat padat diluar batas kemampuan peralatan maka akan terdapat delay yang cukup tinggi untuk disadari. 

Lalu bagaimana masing-masing komputer mengenali identitas satu dengan yang lain dalam suatu network ? Jawabnya adalah setiap network card mempunyai identitas yang khas berupa bilangan 48 bit dengan penulisan berupa 6 blok bilangan hexa yang dipisahkan oleh colon atau tanda ":" dan masing-masing blok terdiri dari 2 digit, misalnya: 00:60:67:73:E7:82 dan ini bersifat unik serta berlaku secara global diseluruh dunia sebab masing-masing pembuat networkcard ataupun perangkat network lainnya telah menetapkan suatu blok address untuk produk-produk mereka. Address ini sangatlah penting karena merupakan identitas dasar suatu PC dalam suatu jaringan dikenal sebagai Hardware Address.

Protocol yang digunakan dalam menyediakan dan menterjemahkan HWA ke IPA disebut boot protocol (BOOTP) dan Dynamic Host Configuration Protocol (DHCP), biasanya apa yang berjalan di bootp juga berjalan di dhcp sebab dhcp merupakan pengembangan dari bootp. Secara umum DHCP dan BOOTP mengenal dan dapat bekerja dengan berbagai HWA akan tetapi hampir semua dan merata menggunakannya untuk penerjemahan HWA pada peralatan ethernet termasuk networkcard.

Dapat digambarkan bahwa komunikasi yang terjadi antara dua (2) PC yang terhubung melalui network card akan seperti ini:

WS: Halo saya adalah  00:60:67:73:E7:82 secara berkala dan demikian juga PC lain yang terhubung dan akan tetap begitu sampai ada suatu aturan yang membuat hubungan menjadi lebih spesifik. 

Karena metode yang akan dipakai adalah netboot untuk mencapai suatu bentuk diskless maka WS dianggap tidak mempunyai identitas lainnya kecuali HWA maka IPA didapat melalui server yang menjalankan BOOTP atau DHCP, berarti keduanya harus mempunyai suatu database yang berisi daftar nomor IP yang akan diberikan untuk masing-masing WS yang terhubung, dan meminta identitas IP, maka komunikasinya akan lebih lengkap lagi:

	WS: Halo server saya adalah  00:60:67:73:E7:82, tolong beri saya nomor IP. 

Maka DHCP akan mencari dalam database serta membuat daftar IP terpakai berikut jangka waktu pemakaiannya. Sehingga bila suatu nomor IP yang mempunyai pasangan HWA tertentu serta jangka waktu pemakaiannya belum habis atau sedang terpakai maka IP tersebut tidak dapat digunakan sampai jangka waktu pemakaiannya habis, maka IP yang baru akan dipasangkan kepada HWA yang meminta berikutnya. Demikianlah proses pada server dimana akan terbentuk dua buah database, satu adalah konfigurasi dan yang lain adalah daftar IP terpakai berikut kontraknya.

Setelah nomor IP didapat maka WS harus melakukan download Operating System agar dapat mengaktifkan seluruh perangkat keras yang dimiliki serta proses-proses lainnya. Untuk keperluan ini terdapat suatu protokol transfer yang disebut Trivial File Transfer Protocol (TFTP) sebagai bentuk yang lebih kecil dan simpel dari File Transfer Protocol (FTP) dimana perbedaan yang paling mendasar adalah TFTP menggunakan UDP (User Datagram Protocol) yang bekerja secara blok per blok dan tanpa autentikasi sedang FTP menggunakan TCP (Transmission Control Protocol) yang bekerja secara stream serta lebih rumit dibanding TFTP. Dengan lebih simpelnya TFTP maka ukuran nya cukup kecil untuk ikut masuk kedalam ROM. Mekanismenya akan bekerja seperti ini:

	WS: Berikan saya vmlinuz blok-1
	Server: Nih vmlinuz blok-1
	WS: Berikan saya vmlinuz blok-2
	Server: Nih vmlinuz blok-2
	Dan seterusnya sampai selesai.

Setelah selesai proses download diatas, akhirnya WS memerlukan root file system untuk menjalankan Operating System dan bagi platform Linux atau Unix lainnya maka protocol yang lazim dipakai adalah NFS (Network File System) dan tidak tertutup kemungkinan menggunakan protocol lain selain NFS. Dalam hal ini NFS tidak perlu disimpan dalam ROM, cukup berupa bagian Operating System yang telah didownload akan tetapi harus dapat bekerja terhadap file system yang ada. Dengan kata lain Operating System yang didownload, filesystem serta protocol yang bekerja haruslah dari sumber yang seragam versinya sehingga dapat bekerja sama satu dengan yang lainnya. Agar NFS dapat berlangsung dengan baik maka konfigurasi NFS pun harus dilakukan dengan baik agar segala sesuatu yang diperlukan WS dapat terpenuhi. 

Demikianlah gambaran cara kerja suatu sistem diskless, dimana proses boot dilakukan melalui network dengan bantuan ethernet card yang dilengkapi dengan ROM Chip.

Pembuatan Diskless PC

Untuk mencoba pembuatan sistem tanpa disk ini, diperlukan perangkat-perangkat sebagai berikut:

1.	Server dengan storage yang cukup besar. Saat ini harddisk yang beredar dipasaran berukuran lebih dari 1 GB dan itu sudah lebih dari cukup. Server tersebut telah terinstall Linux O/S, tidak terikat jenis distribusi yang dipergunakan. Kernel Release bisa 2.0.xx keatas.

2.	PC yang akan bertindak sebagai Work Station (WS). Pada tahap awal mencoba sebaiknya dilengkapi dengan floppy drive dan floppy disk akan bertindak sebagai emulator dari ROM Chip. PC bisa dilengkapi dengan Processor dari 486 keatas. Processor 386 dan 286 tetap dapat digunakan, akan tetapi sering kesulitan untuk mencari perlengkapan networknya yang berkarakteristik 16 bit. Oleh sebab itu pada tahap awal gunakan perlengkapan yang mudah didapat.

3.	Network Card pada masing-masing Server dan WS. Pilihlah yang banyak dijual dipasaran dan cukup terjangkau harganya, misalnya NE2000, Realtek. Ada juga yang berkelas lebih tinggi sejalan dengan harganya, seperti 3Com.

Dalam penerapan metode diskless ini, dianggap para pembaca telah memiliki sistem Linux yang telah terinstall dan "cukup komplit".

Selain versi komersil, terdapat dua paket sebagai sumber diskless yang free dan banyak dipergunakan termasuk tulisan ini, yaitu NetBoot dan EtherBoot, keduanya terdapat dalam paket etherboot. Dapat diperoleh pada http://www.linuxapps.com ataupun site-site Linux lainnya.

Untuk dapat membuat EPROM (Erasable Programmable ReadOnly Memory) maka anda harus minta orang yang mempunyai alat pemrogram EPROM sehingga image-image yang hendak digunalan dapat ditulis kedalam EPROM. Bila dirasa sulit maka pada tahap awal akan digunakan diskette sebagai sarana latihan dengan hasil yang sama dengan EPROM akan tetapi memakan waktu yang lebih lama pada saat boot, mengingat cara kerja pisik diskette berbeda dengan memory terutama dalam kecepatannya.

1.	Dapatkan paket program Diskless, dalam hal ini penulis menggunakan diskless-1.2.tar.gz berukuran 4,3 MB

2.	Walaupun diskless dapat bekerja pada semua system Linux, akan tetapi langkah termudah untuk melakukannya adalah dengan melakukannya pada distribusi RedHat, penulis menggunakan RedHat6.0 dan dari beberapa kali percobaan, hal ini dapat dilakukan dengan mulus pada distribusi Linux ini.

3.	Ekstrak paket diskless pada komputer yang telah disiapkan sebagai server dan berjalan under RedHat 6.0

4.	Ikuti petunjuk yang ada, atau singkatnya ketik make untuk melakukan kompilasi diskless.

5.	Lihat, seharusnya anda sudah mendapatkan binary (program) diskless yang dapat dieksekusi.

6.	Jalankan program tersebut dengan mengetikan diskless, maka anda akan disuguhkan menu yang harus diikuti secara ber-urut. Dari mulai menetapkan nama jaringan Diskless, menentukan nomor IP yang akan dipakai, sampai memilih image yang akan ditulis ke EPROM dan menyimpannya di diskette. Untuk pemula, ikuti secara cermat menu tersebut satu persatu.

7.	Proses-proses diatas memakan waktu yang cukup lama terutama pada saat membuat salinan directory /usr dan juga root file system untuk masing-masing client, oleh sebab itu pada tahap awal pilihlah subnet yang kecil untuk latihan saja, misalnya 255.255.255.252 yang berjumlah 1 server dan 1 client. Setelah berhasil, silahkan kembangkan untuk jumlah yang lebih besar.

8.	Directory yang tercipta adalah /tftpboot dan subdirectorynya ditunjukan dengan nomor IP masing-masing client misalnya /tftpboot/192.168.1.2 dst.

9.	Ada satu hal yang perlu menjadi catatan disini, bahwa kernel untuk diskless yang terpadat pada /tftpboot/kernel bukanlah salinan dari kernel vmlinuz dengan cara mengcopy dari boot directory, akan tetapi hasil kompilasi tool yang bernama mknbi (baca readme pada directory nbi pada paket diskless).

10.	Bila dilakukan sesuai dengan petunjuk dan benar, maka anda sudah memiliki server diskless untuk Linux.

Selanjutnya harus mempersiapkan sarana untuk client diskless, seperti yang disampaikan sebelumnya bahwa terdapat image yang harus disiapkan untuk ditulis baik ke diskette ataupun ke EPROM yang dihasilkan dari step 6 diatas dan harus sesuai dengan jenis network-card yang dipergunakan.

Untuk NE2000-PCI maka digunakan nepci.rom, untuk 3c905 digunakan 3c905-TA.rom dari 3Com dan banyak lagi yang lain, ambilah sesuai dengan networkcard yang kita miliki.

Untuk menuliskannya sebagai suatu image kedalam floppy disk, silahkan cari program floppy.load.bin di directory /diskless/src/bin dan lakukan hal berikut:

	cat floppy.load.bin nepci.rom > /dev/fd0

Maka akan didapat diskette image untuk networkcard ne2k-pci yang kalau diaktifkan dalam proses boot via diskette akan memberi pilihan boot melalui Network atau Local dan akan mencari server DHCP nya. Bila komputer client telah tersambung dengan servernya, seharusnya terjadi proses boot seperti lazimnya tampilan boot suatu server Linux, bila ini yang didapat, Selamat anda telah membuat jaringan canggih dengan biaya murah.

Bila belum maka silahkan periksa pada server langkah-langkah sebagai berikut:

1.	Periksa apakah pada /etc/inetd.conf baris yang menyatakan tftpd sudah aktif ? Bila belum, aktifkan dan ketik killall -HUP inetd

2.	Periksa apakah program dhcpd telah dijalankan ? Bila belum, aktifkan dengan mengetik dhcpd.

3.	Pemeriksaan juga dapat dilakukan melalui log message pada server dengan menjalankan tail -f /var/log/messages dan pada saat ada permintaan dari client akan terlihat apa yang belum terpenuhi.

4.	Selanjutnya README, HOW-TO dan man adalah kawan setia setiap pengguna Linux, dari tingkat pemula sampai dengan akhli selalu berteman baik dengan mereka.

Selamat mencoba, bekerja dengan hati-hati dan cermat adalah kunci keberhasilan. Jangan khawatir, trust your hope not your fear, bahkan penulis pernah mencoba instalasi secara asal, dimana server RedHat diinstall semuanya, kemudian install diskless-1.2.tar.gz dan dikompilasi, jalankan perintah-perintah sesuai menu, sampai dengan membuat dikette image, ternyata langsung berhasil.