Friday, October 20, 2006

Secure remote filesystem mounting

Юуны өмнө ойрын үед хийж байгаа ажил үйлс маань маш урагштай байгаа болохоор сэтгэл санаа сайхан байна :)

Миний ажилладаг хэдэн сервер сүлжээгээр хоорондоо зарим файлуудаа share хийх шаардлага гарлаа.
- Эхлээд NFS (Network Filesystem) болгох санаатай нилээд үзлээ, бараг 2 өдөр суугаад нилээд их бэрхшээлтэй учирлаа. Миний ойлгосноор Sun-RPC буюу Remote Procedure Call ашиглаж ажиллаж байх шиг байна. Тиймээс энэ аргыг суулгахад хүндрэлтэй болоод аюул ихтэй гэж үзээд орхилоо.
-Дараа нь алдарт Samba-гаа ашиглахаар шийдлээ. Хоёр өдөр ашигласны эцэст permission problem-оос болоод бас л орхилоо.
-Нилээд олон distributed filesystem технологи, аргыг сонирхсоны эцэст sshfs буюу SecureShell FileSystem -ыг туршиж үзлээ. Эцэст ажиллагаа нь болон суурилуулахад маш энгийн зэрэг нь надад маш их таалагдав. (Сүүлийн үед зорилгодоо хүрч л байвал энгийн хялбар зүйл ашиглахаас ичихээ байсоон)

Товч танилцуулга

Будапештын нэг Linux hacker Miklos Szeredi анх FUSE (Filesystem in USErspace framework) гэж үүсгэсэн ба энэ нь sshfs үүсэх эх үндэс нь болжээ. Энэ FUSE Library нь Linux kernel 2.6.14-оос эхлэн албан ёсоор орсон юм байна. Үүнийг дижитал фотокамеруудын UBS холболт зэрэгт хамгийн их ашигладаг гэж ойлгов. ;)

1. Setup FUSE
Эхлээд FUSE -ээ кернелд модуль хэлбэрээр суулгах шаарлагатай.
2.6.14 кернелээс өмнөх кернелтэй Линус серверт үүнийг эх кодоос нь хөрвүүлж авахаас өөр аргагүй.

FUSE эх кодыг http://fuse.sourceforge.net/sshfs.html сайтаас татаж авах хэрэгтэй.

1.a Татаж авах
wget http://belnet.dl.sourceforge.net/sourceforge/fuse/fuse-2.5.3.tar.gz

1.b Задлая
tar xzf fuse-2.5.3.tar.gz

1.c Суулгах
cd fuse-2.5.3
./configure && make && make install && modprobe fuse

1.d Суусан эсэхийг шалгахдаа
lsmod | grep fuse

2. Setup SSHF

FUSE суусаны дараа SSHFS -ыг бас эх кодоос нь хөрвүүлж суулгах хэрэгтэй болно.

2.a Татаж авах

wget http://puzzle.dl.sourceforge.net/sourceforge/fuse/sshfs-fuse-1.7.tar.gz

2.b Задлах

tar xzf sshfs-fuse-1.7.tar.gz

2.c Суулгах

cd sshfs-fuse-1.7
./configure && make && make install

Санамж: RHEL4 дээр ингэж суулгахад /usr/local/lib дотор суулгаж байсан ба үүний дараа sshfs бүрэн ажиллуулахгүй байсан тул би дараах өөрчлөлтыг нэмэв:

ln -s /usr/local/lib/libfuse.so /usr/lib/libfuse.so
ln -s /usr/local/lib/libfuse.so.2 /usr/lib/libfuse.so.2

Магадгүй миний систем дээр PATH асуудал байсан байж магадгүй)

3. Mounting Remote FileSystem

Одоо ингээд таны системд sshfs суусан тул алсад орших өөр серверийн файл системыг өөрийн локаль систем руу залгая:

sshfs remote_userid@remote_host:/remote_directory local_directory

гэх мэт холбоход болчихно доо.

4. Unmounting Remote FileSystem

fusermount -u local_directory

Ингээд л болчихлоо. Хурдан байгаа биз!



Бичлэг таалагдсан бол сурталчилгаан дээр +1 дарж тус хүргээрэй ;)

0 Comments:

blogger templates | Make Money Online