Beberapa tahun yang lalu, diperkenalkan CIFS (Common Internet File System) di Linux sebagai pengganti SMBFS (Samba File System). Awalnya saya tidak tahu apa perbedaan antara keduanya, tapi yang pasti berdasarkan beberapa sumber yang dapat dipercaya, CIFS lebih baik dari SMBFS. Nah, di mana lebih baiknya saya juga kurang mengerti.
Jadi untuk solusi Linux+Dosemu+FoxPro+SMBFS, saya rubah menjadi Linux+Dosemu+FoxPro+CIFS. Perubahan ini tidak saya lakukan menyeluruh untuk melihat di mana letak perbedaannya, dan sejauh mana peningkatan kedua File System ini. Kondisi yang ada saat ini, beberapa komputer menggunakan CIFS, dan yang lain menggunakan SMBFS. Perlu diketahui juga bahwa salah satu alasan yang memperkuat saya untuk migrasi ke CIFS di beberapa komputer adalah kenyataan bahwa di Ubuntu versi terbaru (Gutsy ke atas) solusi Linux+Dosemu+FoxPro+SMBFS tidak bekerja. Files yang di-mount dengan SMBFS tidak dapat di-write di Dosemu.
Lalu worst case pun terjadi, anehnya, kasus-kasus bermunculan tidak langsung muncul pada saat saya merubah dari SMBFS ke CIFS. Kasus-kasus pun munculnya secara acak baik waktu, program, dan database. Saya sempat frustasi beberapa bulan karena masalah ini.
Akhirnya saya melakukan test, yang saya coba se-sistematik mungkin. Saya melakukan test perbandingan terhadap files yang di-mount dengan SMBFS dan CIFS. Hasilnya pun kemudian memberikan pencerahan yang luar biasa (untuk saya).
Hasil dari test menunjukkan bahwa CIFS memang lebih baik dari SMBFS dalam hal Locking. Artinya, mekanisme Locking di FoxPro dapat berjalan dengan baik. Tapi, kelemahannya adalah isi record / file tidak langsung ter-update saat ada perubahan oleh user lain. Ini fatal sekali. Meskipun sudah dilakukan prosedur locking sesuai standar, file tidak ter-update. Apabila file di buka ulang, barulah update dari user lain terlihat.
Berbeda dengan SMBFS, mekanisme Locking di FoxPro tidak dapat dilakukan. Meskipun file / record di-lock, user lain tetap dapat melakukan lock di file / record yang sama. Namun, update file dapat terlihat secara instant oleh user lain. Ini tentunya setelah saya modifikasi smb.conf untuk mematikan Op-Lock terhadap files database.
Langkah selanjutnya adalah merubah semua komputer untuk menggunakan SMBFS. Tapi masalahnya untuk komputer dengan sistem operasi Ubuntu Gutsy, Hardy, Intrepid tidak dapat menggunakan SMBFS. Maka solusinya adalah dengan mengganti sistem operasi dengan Ubuntu versi sebelumnya (downgrade) atau menggunakan Distro lain.
maaf mas.. la terus untuk solusi agar foxpro itu bisa jalan dengan menggunkana dosemu pada cifs–samba bawaan distro ubuntu hardy– ini apa mas…?, terimakasih utk feedback nya.
Solusinya untuk hardy, ya, akhirnya saya tidak menggunakan SMB maupun CIFS, tetapi saya menggunakan SSH untuk login ke server dan menjalankan foxpro+dosemu di servernya itu. Jadi tidak perlu sharing file.
Saya sudah coba konsultasi di forum Ubuntu, tapi tampaknya tidak ada tanggapan dari developer atau solusi dari user yang sama-sama menghadapi masalah ini.
Untuk menjalankan dosemu di Hardy saja kita perlu hack mmap_min_addr dulu. Mungkin ini juga mempengaruhi CIFS/SMB-nya. Mungkin?
MAs .bisa kasih step by step untuk login ke server 2003 dngn ssh, misal foxpro ada di 2003, aku mau jalanin dari ubuntu. aku udah coba pakai mount tapi ga bisa.
Maaf mas, baru saya reply hari ini. Untuk instalasi SSH server di Win2003 $erver, mas bisa memilih produk proprietary WinSSHD dari bitvise atau kalau mau yang free, mas bisa install OpenSSH dengan bantuan Cygwin, panduannya lihat di sini. Saya sendiri belum pernah mencobanya, tapi di link yang saya beri tadi seharusnya bisa memberikan penjelasan yang mencukupi. Atau dengan memakai OpenSSH windows yang versinya agak lama, panduannya di sini.
Kalau sudah ter-install SSH server-nya, barulah mas bisa login ke $erver 2003. FoxPro nya tentu saja harus diinstall di $erver 2003-nya. Nah, soal menjalankan FoxPro-nya saya sendiri belum pernah mencoba menjalankan di Win$erver 2003. Yang perlu diingat adalah bahwa OpenSSH untuk Window$ merupakan emulasi lingkungan Unix/Linux di dalam sistem operasi Window$. Apabila mas mencoba menjalankan FoxPro, berarti mas harus install dosemu lagi. Dan saya rasa solusi itu kurang baik.
Solusi yang saya sarankan begini mas:
1. Jika datanya memang harus disimpan di Window$ 2003 $erver, simpan saja di situ. Kita akan mount dari komputer Linux.
2. Nah, kita setup satu komputer dengan sistem operasi Linux. Komputer ini akan jadi server SSH untuk clients.
Komputer ini selanjutnya kita sebut komputer “server SSH”.
3. Di komputer server SSH ini kita lakukan:
a. mount data dari Window$ 2003 $erver. Mount dengan CIFS, bukan SMBFS.
b. install Dosemu.
c. buat user untuk tiap client yang akan menggunakan program FoxPro.
d. install foxpro di dosemu tiap user.
e. buat direktori mount data tadi dapat diakses secara read-write oleh tiap user.
f. buat direktori mount data tadi dapat diakses oleh dosemu dengan lredir.
4. Kemudian dari client, kita connect SSH ke server SSH kita tadi dan jalankan FoxPro dari situ.
mas saya mau tanya,
saya melakukan mounting sharean windows dengan cifs ke server linux ( ubuntu 9.04 ) dan menjalankan aplikasi clipper dengan dosemu… tapi ada satu kendala dimana ketika saya ingin menjalankan aplikasi clipper itu saya ga bisa mengakses aplikasi clipper saya ketika sedang dijalankan oleh mesin linux yang lain.
saya sudah mencoba di windows dan berjalan dengan baik, tapi kalau di linux keknya ada locking gitu ya di cifs nya ?
Sebelumnya terima kasih sudah mengunjungi halaman ini mas.
CIFS memang fitur lockingnya lebih stabil daripada SMBFS. Tetapi saya belum mengerti, apakah aplikasi clipper yang tidak bisa diakses itu tidak bisa dieksekusi sama sekali atau bisa dieksekusi tetapi muncul run-time error.
Saya menduga yang terjadi adalah run-time error. Aplikasi bisa dieksekusi tetapi muncul error. Itu berarti aplikasi clipper anda mencoba mengakses file yang di-share dengan CIFS secara bersamaan, tetapi skema lockingnya tidak berjalan. Jika anda memiliki akses ke source-code dari aplikasi itu, anda bisa cek apakah sudah menggunakan flock() atau hanya sekedar set exclusive saja. Mungkin anda bisa menjelaskan lebih detail pesan error yang muncul apa.
yah mungkin saya lupa menjelaskan topologi jaringan saya. Jadi saya menggunakan server yaitu windows server 2003 ( dimana dalam server itu saya meletakkan aplikasi clipper saya )
sementara client2 menggunakan ubuntu 9.04 yang mounting sharean aplikasi di server ( windows 2003 ) ini.
permasalahan muncul ketika client berusaha mengakses aplikasi clipper saya ( .exe ). Jadi jumlah client yang dapat menjalankan aplikasi saya cuma satu saja ( jadi misalkan client A sedang buka aplikasi clipper saya, ada client B pengen akses aplikasi clipper saya lagi maka aplikasi clipper saya tidak akan jalandi client B, seakan-akan aplikasi clipper saya dilock hanya untuk 1 user aja persession )
jadi kira-kira itu permasalahannya di CIFS atau di dosemunya, saya sempat coba aplikasi clipper saya di ubuntu nya ( jadi saya copy ke drive di ubuntunya, mounting drive lewat lredir di dosemu dan saya jalanin ) kemudian saya jalankan 2 sekaligus, ternyata jalan seperti biasa. Saya menduga ini permasalahan di CIFS nya.
sementara untuk flock malah saya mau disable soalnya saya pengennya banyak user bisa view dan edit bersamaan di program clipper saya, saya juga dapat kendala di situ. Jadi kalau saya mau disable flock dan set exclusive dimana ya kira2 mas ? Terima kasih