負載均衡----文件服務策略


客串:屌絲的坑人表單神器數據庫那點事兒

面向對象升華:面向對象的認識----新生的初識面向對象的番外----思想的夢游篇(1)面向對象的認識---如何找出類

PHP項目 起點:手把手教你做關鍵詞匹配項目(搜索引擎)---- 第一天  最新:手把手教你做關鍵詞匹配項目(搜索引擎)---- 第二十一天

 

負載均衡----文件服務策略

同類文章:負載均衡----概念認識篇負載均衡----實現配置篇(Nginx)

上回我提到的這么多服務器,他們共同需要的文件從哪里來?
那么我們就需要文件服務器,文件服務器從哪里來,我們先看圖了解下:

                                                  圖1

 

---------------------------------------------------------------------------------------------------------------

 

 

                                               圖2

不管是圖1還是圖2都能解決問題。

當你拿着這兩份圖給老板審批的時候,老板都會選擇圖2。

這個涉及高層的問題,先不用去理會,今天我們主要的內容是文件服務策略。

 

今天介紹的文件服務策略分為三種(Linux):
  1. 文件共享
  2. 文件同步
  3. 分布式文件系統
三種的優缺點,本篇不作聲明。

 

1. 文件共享篇

 

參照圖2,PA為文件服務器,文件主要存放服務器。
P1,P2,P3執行以下命令即可,你可以把該命令放入/etc/rc.local,開機自動啟動 :

mount -o rw 192.168.2.2:/storage  /storage

注:PA,P1,P2,P3   /storage為文件路徑

 

2. 文件同步

PA安裝rsync服務端,如何安裝請查看:http://rsync.samba.org/

2.1 軟件包安裝

sudo apt-get  install  rsync  #在debian、ubuntu 等在線安裝方法;
yum install rsync    #Fedora、Redhat 等在線安裝方法;
rpm -ivh rsync       #Fedora、Redhat 等rpm包安裝方法;

2.2 配置文件

rsync的主要有以下三個配置文件/etc/rsyncd.conf(主配置文件)、/etc/rsyncd.secrets(密碼文件)、/etc/rsyncd.motd(rysnc服務器信息)
注:rsyncd.secrets這個密碼文件的文件屬性設為root擁有, 且權限要設為600, 否則無法備份成功!

/etc/rsyncd.conf:

pid file = /var/run/rsyncd.pid   
port = 873
address = 192.168.1.171  
  
uid = root
gid = root

use chroot = yes  
read only = yes 

#limit access to private LANs
hosts allow=192.168.2.0/255.255.255.0  
hosts deny=*

max connections = 5 
#motd file = /etc/rsyncd.motd

#This will give you a separate log file
#log file = /var/log/rsync.log

#This will log every file transferred - up to 85,000+ per user, per sync
#transfer logging = yes

log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

[storage]   
path = /storage
list=yes 
ignore errors 
auth users = root
secrets file = /etc/rsyncd.secrets  

rsyncd.secrets:

root:storage@mydomain.com

2.3 啟動服務

/etc/init.d/xinetd reload

 

P1、P2、P3也一樣安裝rsync。

開個定時命令crontab,每幾分鍾同步一次,執行以下命令:

rsync -vzrtopg --delete root@192.168.2.2::storage --password-file=/etc/rsync.pass

為了不用輸入密碼,/etc/rsync.pass加入密碼

storage@mydomain.com

 

3. 分布式文件系統


開始之前先看圖.

首先了解下幾個概念:
  1. PA:Master文件服務器(主服務器)
  2. P1、P2、P3:chunk文件服務器(文件存放服務器)

文件介紹的也是使用moosefs,官方網站:http://www.moosefs.org/reference-guide.html#making-and-installing

里面有篇中文文檔,挺靠譜的。

 

3.1 PA安裝MooseFS Master

wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make
make install

把Master配置文件,拷貝過去:

cd /usr/local/mfs/etc/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg

啟動、暫停命令

/usr/local/mfs/sbin/mfsmaster start
/usr/local/mfs/sbin/mfsmaster –s

Master mfsexports.cfg配置

192.168.2.0/24 . rw
192.168.2.0/24 / rw

設置副本的份數,推薦 3 份

/usr/local/mfs/bin/mfssetgoal -r 3

 

3.2 P1、P2、P3安裝MooseFS Chunk Server

wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz 
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make
make install

把Chunk Server配置文件,拷貝過去:

cd /usr/local/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

啟動、暫停命令

/usr/local/mfs/sbin/mfschunkserver start
/usr/local/mfs/sbin/mfschunkserver stop

mfshdd.cfg配置

/data/mfs #文件存放路徑

 

3.3 MooseFS Client安裝

PA、P1、P2、P3都安裝,安裝如下:

wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.11/mfs-1.6.11.tar.gz
tar zxvf mfs-1.6.11.tar.gz 
cd mfs-1.6.11
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
--enable-mfsmount
make
make install

PA、P1、P2、P3掛載文件系統:

/usr/local/mfs/bin/mfsmount /storage -H 192.168.2.2

 

總結: 好了,三種解決方案都介紹完了,整體都很簡單,趕快來選擇適合自己的解決方案吧,動手試試吧!
當然三種方案都有自己的優缺點,我希望看了文章的不點推薦的人就回答下這些問題吧!

 

 


免責聲明!

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



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