天天看點

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

1、 Fastdfs介紹

Fastdfs是用c語言編寫的一個開源的輕量級分布式檔案系統,它對檔案程序管理,功能包括: 檔案存儲,檔案同步,檔案通路(檔案上傳、檔案下載下傳)等,解決了大容量存儲和負載均衡的問題,特别适合以檔案為載體的線上服務,如相冊網站,視訊網站等等

Fastdfs為網際網路量身定制,充分考慮了備援備份,負載均衡,線性擴容等,并注重高可用,高性能等名額,使用fastdfs很容易搭建一套高性能的檔案伺服器叢集提供檔案上傳、下載下傳服務

2、Fastdfs架構

Fastdfs架構包括Tracker server和Storage server

用戶端請求Tracker server進行檔案上傳、下載下傳,通過Tracker server排程最終由 Storage server完成檔案上傳和下載下傳

Tracker server作用是負載均衡和排程,通過Tracker server在檔案上傳時可以根據一些政策找到Storage server 提供檔案上傳服務,可以講tracker成為追蹤伺服器或排程伺服器

Storage server作為是檔案存儲,用戶端上傳的檔案最終存儲在storage伺服器上,Storage server 沒有實作自己的檔案系統而是利用作業系統的檔案系統來管理檔案,可以講storage成為存儲伺服器

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

3、FastDFS 系統有三個角色:跟蹤伺服器(Tracker Server)、存儲伺服器(Storage Server)和用戶端(Client)。

• Tracker Server: 跟蹤伺服器,主要做排程工作,起到均衡的作用;負責管理所有的 storage server和 group,每個 storage 在啟動後會連接配接 Tracker,告知自己所屬 group 等資訊,并保持周期性心跳。

• Storage Server:存儲伺服器,主要提供容量和備份服務;以 group 為機關,每個 group 内可以有多台 storage server,資料互為備份。

• Client:用戶端,上傳下載下傳資料的伺服器,也就是我們自己的項目所部署在的伺服器。

4、Fastdfs原理

關于子產品:跟蹤伺服器和存儲節點都可以由一台或多台伺服器構成,跟蹤伺服器和存儲節點均可以随時增加或者下線不會影響線上服務,其中跟蹤伺服器中所有伺服器是對 等,可以根據伺服器壓力情況随時增加或減少

5、檔案上傳流程

Storage server會連接配接叢集中所有的Tracker server,定時向他們報告自己的狀态,包括磁盤剩餘空間、檔案同步狀況、檔案上傳下載下傳次數等統計資訊。

關于上傳

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

**

檔案索引資訊包括:組名,虛拟磁盤路徑,資料兩級目錄,檔案名。

n 組名:檔案上傳後所在的storage組名稱,在檔案上傳成功後有storage伺服器傳回,需要用戶端自行儲存。

n 虛拟磁盤路徑:*storage配置的虛拟路徑,與磁盤選項store_path對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

n 資料兩級目錄:storage伺服器在每個虛拟磁盤路徑下建立的兩級目錄,用于存儲資料檔案。

n 檔案名:與檔案上傳時不同。是由存儲伺服器根據特定資訊生成,檔案名包含:源存儲伺服器IP位址、檔案建立時間戳、檔案大小、随機數和檔案拓展名等資訊。

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

client發送download請求給某個tracker,必須帶上檔案名資訊,tracker從檔案名中解析出檔案的group、大小、建立時間等資訊,然後為該請求選擇一個storage用來服務讀請求,由于group内的檔案同步時在背景是異步的,是以有可能出現在讀的時候,檔案還沒有同步到某些storage server上,為了盡量避免通路到這樣的storage,tracker按照如下規則選擇group内可讀的storage

檔案建立時間戳-storage被同步到的時間戳 且(目前時間-檔案建立時間戳)>檔案同步最大時間(5分鐘),說明檔案建立後,認為經過最大同步時間後,肯定已經同步到其他storage了

6、安裝Fastdfs

192.168.1.10 nginx proxy

192.168.1.20 tracker server1

192.168.1.30 tracker server2

192.168.1.40 storage server group1

192.168.1.50 storage server group2

資料存儲位置/storage/fastdfs

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

1.安裝編譯環境,安裝libfastcommon和fastdfs(所有節點)

Libfastcommon 包含了fastdfs運作所需的要的一些基礎庫

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

2.第一台編寫一個腳本 (友善部署traker)

3.把腳本和軟體包複制到其他四台主機

<code>scp root fastdfs.tar.gz libfastcommon.tar.gz install-fastdfs.sh [email protected]:/root</code>

4.四台執行一下腳本,檢視一下腳本是否執行成功

<code>sh install-fastdfs.sh</code>

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

5.配置track(兩台都是)

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

6.安裝nginx(第一台)

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)
Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

1.安裝nginx (兩台都要)

2.配置storage

3.配置nginx拓展配置檔案

****4.拷貝nginx拓展軟體的配置檔案,storage的配置檔案,nginx安裝包和nginx拓展包到第二台storage主機(拷貝完之後,按照上面2,3步驟來一遍)

5.Nginx主配置檔案修改 (兩台都改)

6、啟動服務

啟動storaged server(兩台都要啟動)

<code>[root@localhost fdfs]# /etc/init.d/fdfs_storaged start</code>

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

啟動nginx(兩台都啟動)

<code>[root@localhost ~]# /usr/local/nginx/sbin/nginx</code>

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)
Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

測試一下

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

修改第一台的client.conf.sample配置檔案

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

在storage上檢視一下

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

浏覽器通路一下

http://192.168.1.50:8888/group2/M00/00/00/wKgBMl3cpCWAZGQIADuP0gQAyTs723.png

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

下載下傳并改名剛剛傳上去的圖檔

<code>[root@localhost ~]# fdfs_download_file /etc/fdfs/client.conf.sample group2/M00/00/00/wKgBMl3coGKACR1RADuP0gQAyTs874.png xgp.png</code>

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

删除剛剛上傳的圖檔

<code>[root@localhost ~]# fdfs_delete_file /etc/fdfs/client.conf.sample group2/M00/00/00/wKgBMl3coGKACR1RADuP0gQAyTs874.png</code>

三,配置nginx反向代理伺服器 (第一台)

啟動nginx

浏覽器檢視一下,還是用剛剛那個id(需要重新上傳一下)

浏覽器通路:http://192.168.1.10/group2/M00/00/00/wKgBMl3cpCWAZGQIADuP0gQAyTs723.png

Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)
Fastdfs架構一.部署安裝traker server二.配置storage server伺服器(兩台都是)

實驗完畢

繼續閱讀