關於WEB集群中文件服務器的討論


原文地址: http://blog.itpub.net/29806344/viewspace-1364778/

在WEB集群中一般都要上傳和刪除圖片。小規模的時候,圖片放在本地,再通過同步方式來保持一致。

常見的文件服務器:samba+web,ftp+web,nfs+web,rsync單向同步,分布式存儲

 samba+web,ftp+web這2種需要改程序代碼,用的不多;rsync單向同步在小環境中用;nfs+web在中型環境用的最多;大型環境,海量文件用的是分布式存儲,比如hadoop等。

一:samba+web文件服務器

   存儲:通過samba賬號和密碼來存儲圖片,需要修改程序代碼

   調取:通過文件服務器web的URL

 

 

二:ftp+web文件服務器

   存儲:通過ftp賬號和密碼來存儲圖片,需要修改程序代碼

   調取:通過文件服務器web的URL

 

 

三:rsync+inotify文件服務器

存儲:保存到WEB本地,通過rsync同步到文件服務器

   調取:通過文件服務器web的URL

   缺點:單向同步

 

四:rsync+sersync+web文件服務器
和rsync+inotify相同,但是比其更快更節約資源 

 

五:nfs+web文件服務器

存儲:遠程nfs文件夾掛載到本地,nfs同步

   調取:1,通過文件服務器web的URL;2,直接在掛載的文件夾下取圖片

 

 

實際操作如下:

NFS+WEB文件服務器:192.168.47.142

WEB1:192.168.47.143

WEB2:192.168.47.144

 

在NFS文件服務器上:

yum install nfs-utils -y

yum install httpd  -y

chmod 777 -R /var/www/html/upload

chkconfig nfs on

cat /etc/exports:

/var/www/html/upload   *(rw,sync,root_squash)   192.168.47.142

/var/www/html/upload    192.168.47.0/24(rw,sync,root_squash)

 

/etc/init.d/rpcbind restart

/etc/init.d/nfs restart

 

 

 

在兩台WEB上:

mkdir /var/www/html/upload

chmod 777 -R  /var/www/html/upload

cat /etc/fstab:

......

proc                    /proc                   proc    defaults        0 0 192.168.47.142:/var/www/html/upload  /var/www/html/upload  nfs defaults     0 0

#注意:寫入/etc/fstab中,會自動開機掛載的

mount –a

 

#WEB2的操作和WEB1一樣即可;

注意:

當圖片多了,可以把upload的功能從中分離出來,可以考慮利用URL進行hash分組,用一組機器來實現upload,另一組機器來實現瀏覽。進行不同的設置,可以充分利用到NFS的緩存,可以提高性能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM