2010年2月17日 星期三

[架站] 透過sftp/ ftp擴充主機空間

要擴充主機的空間,最基本的方式就是買硬碟裝上去。
這個方法雖然很直覺,但是卻有硬體上的限制: 當擴充槽不夠的時候,就無法繼續擴充。替換掉原本小空間硬碟成大空間硬碟,也是不切實際的,往往大空間硬碟價位高很多,這樣做並非一個省錢的方法。(另外...掛載usb硬碟其實不穩定,往往過幾天就會脫離主機,多玩幾次硬碟就準備躺了)



第二種方法,就是掛載網路硬碟。
透過samba的方式來掛載。使用這個方法,我順利的掛載2T的空間。
但是samba的方式,需要開啟多個port才能做資料傳輸,因此,後來尋找到另外一個方法:
 透過sftp的方式掛載。 (該文的描述中,也提到可以用ftp的方式掛載)(2010-02-18實測)

實際操作一次



[ 環境 ]
>  目標主機有獨立IP,linux系統 (ubuntu)
>  操作主機是在NAT底下,windows系統 (windows XP)


[ 軟體 ]
SFTP:
    sshfs
    core ftp mini sftp (sftp)
FTP:
   curlftpfs
   ftp Server軟體 (這次測試使用 zFtpServer)



[ 操作步驟 ]
Step1: 在windows上安裝sftp,並設置好相關設定


Step2: 對IP分享器做設定,開啟要分享的port

Step3: 測試sftp連線  (可略)

Step4:ubuntu上安裝sshfs
#  sudo apt-get install sshfs

Step5: 透過sftp,將空間掛載過來
# sudo sshfs knem@IP:/ /mnt -o port=5569,nonempty,default_permissions,allow_other,uid=1000,gid=1000,sshfs_sync,sync_read,kernel_cache
    (輸入ftp密碼)

Step6: 測試結果
# cd tmp
# ls




[ NOTE ]
> 測試過ftp掛載的方法,需要額外安裝curlftpfs的套件

> 掛載指令 curl sudo curlftpfs ftp://ID:PSW@IP:port /mnt -o nonempty,default_permissions,allow_other,uid=1000,gid=1000,sync_read,kernel_cache

> 今天測試...似乎會很不穩定,大量檔案傳輸 都會中斷掉

> 掛載權限設定 -o umask=0022

> 掛載時轉換編碼 -omodules=iconv,from_code=big5,to_code=utf8
(部份檔案還是無法正常顯示 (聯合國編碼大軍幾乎都失敗...))

>最後依然會出現Transport endpoint is not connected的訊息... 最後重新編譯套件解決...


1 則留言:

fukid 提到...

亂碼問題可參考
http://antontw.blogspot.com/2008/01/linux.html