Jaringan Tanpa Disk ( Diskless )
Sebagai Sarana murah dalam pengembangan IT pada Sekolah Menengah
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:
- 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.
- 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".
- 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.
- 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.
- 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:
- 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.
- Keamanan/Security dimana
jaringan dikendalikan cukup dari servernya saja, demikian juga pengaturan
user yang terlibat.
- 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:
- Memiliki Network Card
- Memiliki identitas (dalam hal
ini nomor IP)
- Operating System Image
- 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:
- 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.
- 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.
- 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.
- Dapatkan paket program
Diskless, dalam hal ini penulis menggunakan diskless-1.2.tar.gz berukuran
4,3 MB
- 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.
- Ekstrak paket diskless pada
komputer yang telah disiapkan sebagai server dan berjalan under RedHat 6.0
- Ikuti petunjuk yang ada, atau
singkatnya ketik make untuk melakukan kompilasi diskless.
- Lihat, seharusnya anda sudah
mendapatkan binary (program) diskless yang dapat dieksekusi.
- 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.
- 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.
- Directory yang tercipta
adalah /tftpboot dan subdirectorynya ditunjukan dengan nomor IP
masing-masing client misalnya /tftpboot/192.168.1.2 dst.
- 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).
- 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:
- Periksa apakah pada
/etc/inetd.conf baris yang menyatakan tftpd sudah aktif ? Bila belum,
aktifkan dan ketik killall -HUP inetd
- Periksa apakah program dhcpd
telah dijalankan ? Bila belum, aktifkan dengan mengetik dhcpd.
- 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.
- 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.