面向對象升華:面向對象的認識----新生的初識、面向對象的番外----思想的夢游篇(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
總結: 好了,三種解決方案都介紹完了,整體都很簡單,趕快來選擇適合自己的解決方案吧,動手試試吧!
當然三種方案都有自己的優缺點,我希望看了文章的不點推薦的人就回答下這些問題吧!