Jika kita menggunakan Windows Server (200,2003 atau 2008) kita pasti akan berurusan dengan CLient Access License (CAL). Biasanya pembelian Windows Server disertai paket CAL. Untuk Windows 2003 CAL bisa diatur berdasarkan perangkat keras (device) atau pengguna (user). CAL ini mengatur berapa jumlah user yang masih bisa mengakses server dalam waktu bersamaan, misal menggunakannya sebagai fileserver. Jadi pada dasarnya jumlah user sebanding dengan jumlah CAL yang dilisensikan. Jika di sebuah organisasi membutuhkankan fileserver atau sekedar filesharing masih menggunakan Windows pasti saya sarankan pindah saja ke Samba, apalagi jika user-nya terus bertambah besar. Samba adalah fileserver opensource yang bisa dijalankan dari Linux/BSD/OpenSolaris, Samba membebaskan kita dari pembatasan dengan CAL. Tapi sering masalahnya tak semudah itu. Umumnya hal yang membuat kita tak bisa beranjak dari Windows, adalah legacy application yang sangat terikat ke sistem operasi Windows. Beberapa aplikasi tertentu yang sudah dibangun di platform dotnet dan umumnya lebih ke server-side, mengakses physical path fileserver. Ada gangguan jika kita paksakan.Pada dasarnya jika jumlah CAL melebihi jumlah user yang mengakses, gangguan dari Windows bisa mulai dai pop-up (di server) notifikasi kekurangan CAL tersebut hingga user benar-benar tidak bisa mengakses fileserver. Tapi ada beberapa cara mengatasinya, secara legal. Beberapa? Ya memang ada lebih dari satu cara.
Sunday, December 20. 2009
Windows CAL Habis? Masih Ada Ubuntu (Linux)
SSHFS
Sebelum menggunakan cara-cara alternatif, sebaiknya kita periksa dulu, apakah benar tidak ada aplikasi besar yang bisa dimigrasikan dalam waktu cepat ke platform lingkungan pengembangan non-windows. Tapi jika memang demikian situasinya, kita bisa mulai dari SSH. Windows pada dasarnya tidak menyediakan SSH service, setidaknya yang tersedia bebas dan bisa benar-benar diandalkan menangani user dan akses ke fileserver sebagaimana di Linux/Unix. Kita akan menggunakan SSH service di Windows.

Ada beberapa SSH server yang bisa digunakan di Windows: OpenSSH, WinSSHD atau FreeSSHD. Sebenarnya yang benar-benar bebas digunakan untuk enterprise sekalipun hanya OpenSSH dan saat ini paket OpenSSH untuk Windows yang masih aktif dikembangkan adalah CopSSH. CopSSH menggunakan pustaka Cygwin, yaitu implementasi POSIX diatas Windows, tiruan lingkungan UNIX di Windows. Berikut ini adalah langkah-langkah dengan menggunakan CopSSH di Windows XP.

Pada kasus ini, saya mencobanya dengan tetap menyediakan Samba menggunakan mesin lain yaitu Ubuntu Linux dengan Samba di dalamnya. Dari mesin Ubuntu Linux ini akan dihubungkan dengan SSHFS mengakses directory Windows dan akan mendistribusikannya ke user dengan Samba. SSHFS adalah pemetaan akses ke filesystem melalui SSH (mount by SSH). SSHFS dapt menggunakan FUSE (Filesystem in User Space), jadi koneksi ke SSH Server (tujuan) tidak menggunakan root (sumber). Ada 2 macam cara koneksi SSHFS, manual menggunakan user/password atau menggunakan SSH Key. Menggunakan SSHFS dengan user/password sama saja dengan koneksi biasa dengan ssh ditambah mount folder tujuan ke folder lokal:
Langkah ini berarti folder /home/meta di mesin 192.168.1.111 akan kita mount ke folder /home/meta/remote di mesin lokal kita dengan menggunakan user meta.
Koneksi dari Ubuntu Linux ke Windows lewat SSHFS hanya memerlukan satu user saja. Jadi dalam pembelian paket dasar Windows 2003 SBS, misalnya sudah termasuk 20 CAL, maka masih akan tersisa 19 CAL lagi. CAL yang tersisa dapat dipergunakan jika benar-benar diperlukan saja. Pada koneksi user ke Samba di Ubuntu Linux, tidak diperlukan lisensi user seperti CAL. Pengaturan hak akses user terhadap directory diatur oleh Samba.
Virtualisasi
Cara berikutnya sebenarnya hampir sama, tetapi yang digunakan adalah Virtualisasi. Dalam kasus ini akan digunakan VirtualBox (alternatif lain yang tidak murah adalah VMWare). Menggunakan virtualisasi, posisi host-guest bisa dibolak-balik. Bisa menggunakan Windows sebagai host OS dan Linux sebagai guest OS, atau sebaliknya Linux sebagai host OS dan Window sebagai guest OS. Pada kasus saya, legacy application membuat saya memutuskan lebih baik Windows sebagai host dan Linux sebagai guest.
VirtualBox sangat mudah diinstalasikan. Yang kita perlukan hanya download VirtualBox 3.1 dari sini. Setelah instalasi VirtualBox, maka siapkan iso dari Ubuntu. VirtualBox memungkinkan instalasi sitem operasi guest dari CD/DVD atau dari file iso-nya. Saya sendiri pilih menggunakan iso file Ubuntu Server 9.10, karena sudah punya iso-nya dan tidak perlu membakarnya dulu ke CD.
Pada setting Network, pilih bridge: yang berarti host dan guest berada sejajar dalam satu network. Misal host ber-ip: 192.168.1.23 maka guest dapat kita berikan ip:192.168.1.24. Di Ubuntu (sebagai guest OS), setup ip address interface tersebut pada /etc/network/interfaces.
Pada model ini, Ubuntu akan membaca physical path folder dari induknya (host OS). Pada setting VirtualBox kita perlu menambahkan share folder host yang dapat dibaca guest nantinya.

Apapun sistem operasi guest, jika akan membaca share folder fisik dari induk, kita akan memerlukan VirtualBox Guest Addition. Instalasikan Virtualbox guest addition lebih dulu. Di Ubuntu untuk instalasi Virtualbox guest addition, kita memerlukan paket untuk kompilasi (compiler).
Hasil instalasi Virtualbox guest addition ini adalah filesystem vboxsf. Jadi kita bisa mount share folder induk (host) di Ubuntu dari root.
Ter-mount sudah filesystem induk (apapun filesystem-nya akan dikenali sebagai vboxsf). Jika kita masukkan ke dalam /etc/fstab, maka:
Masih ada satu soal lagi yang tersisa jika kita menjalankan Virtualbox dari Windows adalah bagaimana Virtualbox dapat dijalankan sebagai service di Windows, sehingga tiap kalai Windows reboot juga akan langsung menjalankan Virtualbox sebagai service di Windows. Dari googling, setidaknya saya temukan 3 cara. Dan saya memilih yang paling aman dan bersih untuk menjalankannya. Kita dapat mengikuti prosedur instalasinya disini.
Model yang akan digunakan adalah berbagi file di Windows tanpa perlu Windows user.

Selanjutnya physical path folder yang berasal dari share di Windows, dapat kita bagi ke semua user Samba. Saya tak akan membahas konfigurasi Samba (dengan LDAP atau tidak), Samba sebagai fileserver tetap dapat berfungsi dan melayani dengan baik: tanpa CAL.
Kesimpulan
Dua cara diatas cukup mengatasi masalah saya menghemat Windows CAL, rasanya secara legal. Jika untuk kebutuhan ini spesifikasi perangkat keras atau komputer yang akan kita gunakan masih agak terbatas, misal RAM 1GB dan PC Pentium biasa, maka saya pilih cara pertama, dengan SSHFS saja. Tapi pada kasus saya, kebetulan ada Dual Core dengan RAM 4 GB, virtualisasi adalah cara yang saya pilih, karena performa lebih stabil dan meyakinkan. Ketika saya uji, perhitungan saya tidak terlalu meleset, ada peningkatan sekian puluh persen efisiensi dengan virtualisasi dibanding dengan SSHFS saja.
Sebelum menggunakan cara-cara alternatif, sebaiknya kita periksa dulu, apakah benar tidak ada aplikasi besar yang bisa dimigrasikan dalam waktu cepat ke platform lingkungan pengembangan non-windows. Tapi jika memang demikian situasinya, kita bisa mulai dari SSH. Windows pada dasarnya tidak menyediakan SSH service, setidaknya yang tersedia bebas dan bisa benar-benar diandalkan menangani user dan akses ke fileserver sebagaimana di Linux/Unix. Kita akan menggunakan SSH service di Windows.

Ada beberapa SSH server yang bisa digunakan di Windows: OpenSSH, WinSSHD atau FreeSSHD. Sebenarnya yang benar-benar bebas digunakan untuk enterprise sekalipun hanya OpenSSH dan saat ini paket OpenSSH untuk Windows yang masih aktif dikembangkan adalah CopSSH. CopSSH menggunakan pustaka Cygwin, yaitu implementasi POSIX diatas Windows, tiruan lingkungan UNIX di Windows. Berikut ini adalah langkah-langkah dengan menggunakan CopSSH di Windows XP.
- instalasikan CopSSH
- aktivasi user (windows) di CopSSH
- mencoba koneksi ke CopSSH dari mesin lain

Pada kasus ini, saya mencobanya dengan tetap menyediakan Samba menggunakan mesin lain yaitu Ubuntu Linux dengan Samba di dalamnya. Dari mesin Ubuntu Linux ini akan dihubungkan dengan SSHFS mengakses directory Windows dan akan mendistribusikannya ke user dengan Samba. SSHFS adalah pemetaan akses ke filesystem melalui SSH (mount by SSH). SSHFS dapt menggunakan FUSE (Filesystem in User Space), jadi koneksi ke SSH Server (tujuan) tidak menggunakan root (sumber). Ada 2 macam cara koneksi SSHFS, manual menggunakan user/password atau menggunakan SSH Key. Menggunakan SSHFS dengan user/password sama saja dengan koneksi biasa dengan ssh ditambah mount folder tujuan ke folder lokal:
$mkdir /home/meta/remote
$sshfs meta@192.168.1.111:/home/meta/ /home/meta/remote
Langkah ini berarti folder /home/meta di mesin 192.168.1.111 akan kita mount ke folder /home/meta/remote di mesin lokal kita dengan menggunakan user meta.
Koneksi dari Ubuntu Linux ke Windows lewat SSHFS hanya memerlukan satu user saja. Jadi dalam pembelian paket dasar Windows 2003 SBS, misalnya sudah termasuk 20 CAL, maka masih akan tersisa 19 CAL lagi. CAL yang tersisa dapat dipergunakan jika benar-benar diperlukan saja. Pada koneksi user ke Samba di Ubuntu Linux, tidak diperlukan lisensi user seperti CAL. Pengaturan hak akses user terhadap directory diatur oleh Samba.
Virtualisasi
Cara berikutnya sebenarnya hampir sama, tetapi yang digunakan adalah Virtualisasi. Dalam kasus ini akan digunakan VirtualBox (alternatif lain yang tidak murah adalah VMWare). Menggunakan virtualisasi, posisi host-guest bisa dibolak-balik. Bisa menggunakan Windows sebagai host OS dan Linux sebagai guest OS, atau sebaliknya Linux sebagai host OS dan Window sebagai guest OS. Pada kasus saya, legacy application membuat saya memutuskan lebih baik Windows sebagai host dan Linux sebagai guest.
VirtualBox sangat mudah diinstalasikan. Yang kita perlukan hanya download VirtualBox 3.1 dari sini. Setelah instalasi VirtualBox, maka siapkan iso dari Ubuntu. VirtualBox memungkinkan instalasi sitem operasi guest dari CD/DVD atau dari file iso-nya. Saya sendiri pilih menggunakan iso file Ubuntu Server 9.10, karena sudah punya iso-nya dan tidak perlu membakarnya dulu ke CD.
Pada setting Network, pilih bridge: yang berarti host dan guest berada sejajar dalam satu network. Misal host ber-ip: 192.168.1.23 maka guest dapat kita berikan ip:192.168.1.24. Di Ubuntu (sebagai guest OS), setup ip address interface tersebut pada /etc/network/interfaces.
Pada model ini, Ubuntu akan membaca physical path folder dari induknya (host OS). Pada setting VirtualBox kita perlu menambahkan share folder host yang dapat dibaca guest nantinya.

Apapun sistem operasi guest, jika akan membaca share folder fisik dari induk, kita akan memerlukan VirtualBox Guest Addition. Instalasikan Virtualbox guest addition lebih dulu. Di Ubuntu untuk instalasi Virtualbox guest addition, kita memerlukan paket untuk kompilasi (compiler).
#apt-get install build-essential
Hasil instalasi Virtualbox guest addition ini adalah filesystem vboxsf. Jadi kita bisa mount share folder induk (host) di Ubuntu dari root.
#mkdir /mnt/drive_d
#mount -t vboxsf DRIVE_D /mnt/drive_d
Ter-mount sudah filesystem induk (apapun filesystem-nya akan dikenali sebagai vboxsf). Jika kita masukkan ke dalam /etc/fstab, maka:
#echo 'DRIVE_D /mnt/drive_d vboxsf auto,rw 0 1' >> /etc/fstab
Masih ada satu soal lagi yang tersisa jika kita menjalankan Virtualbox dari Windows adalah bagaimana Virtualbox dapat dijalankan sebagai service di Windows, sehingga tiap kalai Windows reboot juga akan langsung menjalankan Virtualbox sebagai service di Windows. Dari googling, setidaknya saya temukan 3 cara. Dan saya memilih yang paling aman dan bersih untuk menjalankannya. Kita dapat mengikuti prosedur instalasinya disini.
Model yang akan digunakan adalah berbagi file di Windows tanpa perlu Windows user.

Selanjutnya physical path folder yang berasal dari share di Windows, dapat kita bagi ke semua user Samba. Saya tak akan membahas konfigurasi Samba (dengan LDAP atau tidak), Samba sebagai fileserver tetap dapat berfungsi dan melayani dengan baik: tanpa CAL.
Kesimpulan
Dua cara diatas cukup mengatasi masalah saya menghemat Windows CAL, rasanya secara legal. Jika untuk kebutuhan ini spesifikasi perangkat keras atau komputer yang akan kita gunakan masih agak terbatas, misal RAM 1GB dan PC Pentium biasa, maka saya pilih cara pertama, dengan SSHFS saja. Tapi pada kasus saya, kebetulan ada Dual Core dengan RAM 4 GB, virtualisasi adalah cara yang saya pilih, karena performa lebih stabil dan meyakinkan. Ketika saya uji, perhitungan saya tidak terlalu meleset, ada peningkatan sekian puluh persen efisiensi dengan virtualisasi dibanding dengan SSHFS saja.
Posted by Meta Nurwidyanto
in Virtualization
at
07:52
| Comments (0)
| Trackbacks (0)
View as PDF: This entry | This month | Full blog
View as PDF: This entry | This month | Full blog
Trackbacks
Trackback specific URI for this entry
No Trackbacks

