1. 程式人生 > >nginx 負載均衡個伺服器之間檔案共享

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:[email protected]

2.3 啟動服務

/etc/init.d/xinetd reload

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

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

rsync -vzrtopg --delete [email protected]192.168.2.2::storage --password-file=/etc/rsync.pass

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

[email protected]

3. 分散式檔案系統

開始之前先看圖.

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

裡面有篇中文文件,挺靠譜的。

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

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

相關推薦

nginx 負載均衡伺服器之間檔案共享

負載均衡----檔案服務策略 上回我提到的這麼多伺服器,他們共同需要的檔案從哪裡來? 那麼我們就需要檔案伺服器,檔案伺服器從哪裡來,我們先看圖瞭解下:                                                   圖1 ------------------

Nginx負載均衡-linux伺服器

    Nginx 是一款輕量級的 Web 伺服器是由 C 語言開發,所以在linux中先要安裝環境。 安裝環境 #####安裝 Nginx 的編譯環境 gcc yum install gcc-c++ #####安裝 pcre pcre-devel,

Nginx負載均衡-window伺服器

1.nginx官網 http://nginx.org/en/download.html 解壓雙擊nginx.exe檔案,服務開啟,nginx啟動 啟動後,檢視應用程序 2.開啟nginx-1.14.0/conf/nginx.conf,進行配置 ①上傳檔案限制

Nginx負載均衡,同時實現session共享

前言: 在專案實踐中,有時我們需要多臺伺服器進行負載,以擴充套件伺服器的寬頻、增加吞吐量和提高網路資料的處理能力,從而提高使用者的體驗感,保證專案的質量。當一個專案部署在多臺伺服器上,我們習慣於使用nginx做負載均衡,這樣同一個IP訪問專案的時候會被自動分配到不同的伺服器上; 但是,如

Nginx負載均衡-----------減輕伺服器壓力

配置環境,安裝包下載 系統:Linux CentOS 6.5 Tomcat:6.0,7.0(兩個不同版本的方便測試) Nginx安裝包及其依賴包:CSDN下載地址 1.安裝gcc 和 c++編譯包 檢測是否安裝編譯包命令:(安裝會列印版本資訊)

實現windows和linux伺服器之間檔案共享,工具就是Samba軟體中的一種,samba-client。

在嵌入式學習的過程中,避免不了操作linux。在windows下安裝虛擬機器執行linux作業系統,在windows下的開發工具編寫好的軟體放到linxu上進行編譯,然後又需要從linux'上取出來編

使用nginx載入多tomcat實現session共享(負載均衡

需要用到:   memcached 官網:http://memcached.org/ 用memcached實現session共享  tomcat叢集     以我的為例,我用的tomcat版本是 apache-tomcat-7.0.68 現將tomcat資料夾複

nginx配置,nginx 504Gateway Time-out 解決辦法,nginx實現兩伺服器負載均衡

使用nginx配置兩臺伺服器的均衡負載後,瀏覽器控制檯出現報錯: 504Gateway Time-out。 一般這個錯誤是nginx配置不合理造成的,可以在http中增加如下配置進行改善: fastcgi_connect_timeout 300; fastcg

EG:nginx反向代理兩臺web服務器,實現負載均衡 所有的web服務共享一臺nfs的存儲

分享 代理服 /dev/ 負載均衡 chmod 修改 修改配置 防火墻 usr step1: 三臺web服務器環境配置:iptables -F; setenforce 0 關閉防火墻;關閉setlinux step2:三臺web服務器 裝軟件 step3:主機修改配置文件

多tomcat服務和nginx負載均衡配置 linux 配置多tomcat

1、nginx服務安裝及配置,詳見:linux 配置之安裝nginx 2、多個tomcat服務安裝及配置,詳見:linux 配置多個tomcat 3、關鍵配置nginx.conf檔案 http { include /etc/nginx/mime.types;

Nginx—反向代理 —負載均衡 —HTTP伺服器(動靜分離) —正向代理

Nginx能做什麼 ——反向代理 ——負載均衡 ——HTTP伺服器(動靜分離) ——正向代理 以上就是我瞭解到的Nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做。 反向代理 反向代理應該是Nginx做的最多的一件事了,什麼是反向代理呢,以下是百度百科的

nginx:負載均衡的session共享問題

一、場景 當nginx做了負載均衡之後,同一個ip的url請求伺服器的時候,負載均衡會根據每臺伺服器的權重等一些設定將請求轉發到不同的伺服器上去進行處理,這樣的話針對一些帶有狀態請求的情況來說就是個很大的問題,因為是帶有狀態的請求就好比登陸狀態一樣,A使用者登陸

利用jqueryFrom傳檔案到servlet,以及兩伺服器之間檔案和其他資料

專案背景:有兩個伺服器,一個是使用者操作的手機端伺服器,一個是後臺(響應前一個伺服器,並能訪問資料庫) 專案需求:使用者從手機端上傳身份證以及個人資訊,我們需要將資料傳給後臺,並且在資訊認證通過後將身份證照片存在後臺伺服器的D盤資料夾下。 jqueryForm上

Nginx負載均衡的配置、Rewrite、伺服器配置指令

Nginx伺服器配置指令:  Rewrite功能,代理功能 Rewrite功能 後端伺服器組的配置指令 upstream指令 upstream指令是設定後端伺服器組的主要指令 upstream name {...} 請求按照輪叫排程(Round-Robin,

springboot專案Nginx+Tomcat實現負載均衡結合Redis實現session共享問題

對於分散式使用Nginx+Tomcat實現負載均衡,當同一個使用者登入後,再次訪問可能分發到不同的服務,這樣我們就取不到之前登入session,出現未登入現象。所以我們必須解決共享session問題。  方式一:儲存在資料庫中 , 使用者登入時,把session資訊儲存在資

Nginx(七):keepalived實現Nginx負載均衡伺服器的雙機高可用

前言 之前咱們通過 Nginx(六):Nginx HTTP負載均衡和反向代理的配置與優化 和 Nginx+tomcat組合實現高併發場景的動靜分離和負載均衡方案 這兩篇文章瞭解了Nginx對高併發應用伺服器tomcat的負載均衡優化,所有的請求都會先經過Nginx,N

如何在兩伺服器之間傳輸檔案或者資料夾?(埠相同與不同的情況)

1、從本機傳輸檔案到另外一個伺服器: scp  -P 8122 /home/helpteach/project/mallupload/1509681299449.png [email protected]:/home/test ps:-P 8122指的是接受檔案

linux 1.3 nginx 負載均衡和配置檔案

今日內容 nginx 1.編譯安裝配置完成 /opt/nginx11/html/index.html 這是網頁的首頁檔案 nginx.conf主配置檔案學習 如下 worker_processes 4; nginx工作程序數,根據cpu的核數定義 events { worker_connection

Nginx—反向代理 —負載均衡 —HTTP伺服器(動靜分離) —正向代理

Nginx能做什麼 ——反向代理 ——負載均衡 ——HTTP伺服器(動靜分離) ——正向代理 以上就是我瞭解到的Nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做。 反向代理 反向代理應該是Nginx做的最多的一件事了,什麼是反向代理呢,以下是

Linux下Nginx負載均衡tomcat配置

Linux下安裝nginx和安裝多個tomcat的方法這裡不過多介紹,不清楚的可參考:Linux安裝nginx:Linux安裝多個tomcat:當我們伺服器安裝好了nginx,並且安裝了多臺tomcat