1.簡介
- 擴充group的存儲空間,配置多個存儲文件目錄地址。
- 擴充存儲節點,新加服務器配置多個storage。
2.storage文件存儲原理介紹
在處理文件服務器擴充容量的時候,首先需要了解文件服務器存儲的關鍵機制和一些重要參數。
- 一般設置一個storage屬於一個分組group,一個分組group對應的數據存儲目錄地址可一個或多個。(這一點保證了group的文件地址容量擴展)
- 一個group的一個目錄存儲地址最多可存儲的文件個數為:256*256*1000=65536000。storage文件存儲機制中,有小文件合並存儲到一個大文件的機制。
- 一個storage可以配置多個tracker地址,同理一個tracker可以分配文件存儲到多個storage上面。(這一點保證了服務器storage容量擴展)
- 當一個storage中有多個文件目錄地址時,通過tracker.conf中的關鍵參數store_path,可以配置一個文件在存儲時,多個對應存儲目錄地址的存儲機制,如輪詢或選擇剩余空間大的文件目錄。
- 當一個tracker對應的存儲storage具有多個時,通過tracker.conf中的store_lookup,store_server,可以配置當文件上傳時,對應多個storage服務器的存儲機制,如輪詢或選擇空間大的服務器。
- storage文件服務器默認存儲空間配置時,當達到文件目錄空間的10%時,便不可以在存儲文件,可通過tracker.conf中的reserved_storage_space參數,修改默認值。
- 多個storage可以屬於一個組或多個組,當兩個或多個storage屬於一個組時,各個storage中的文件相互備份。這種機制的優點是保證了文件服務器的備份和負載均衡,缺點是兩個storage的存儲容量是兩個中較小storage的存儲容量。
2.基於group模式的文件存儲擴容
group模式擴容是通過給group的機器添加硬盤的方式,實現某個group的擴容。fastdfs在一台服務器支持多個store_path,每個store_path指向一個存儲路徑。如:url “M00/3F/E1/oYYBAFXfyuOABOf5AAAHoDwhqE0491.txt”中M00表示使用store_path0,如果沒有配置store_path,就使用base_path的路徑。添加了硬盤后,通過把新的store_path指向新硬盤的掛載點,再修改配置文件,就能實現group的擴容。擴容后的地址如:url “M01/3F/E3/oYYBAFXfyuOABOf5AAAHoDwhqE0591.txt”中M01表示使用store_path1。group模式擴容主要步驟如下:
- 1.停止現有的tracker服務,storage服務,操作指令如:/etc/init.d/fdfs_trackerd stop ,/etc/init.d/fdfs_storaged stop ;
- 2.修改/etc/fdfs/storage.conf配置文件,修改字段store_path_count,新增store_path1文件存儲路徑,新建store_path1的文件目錄;
- 3.修改/etc/fdfs/storage.conf/mod_fastdfs.conf配置文件,修改字段store_path_count,新增store_path1文件存儲路徑,設置group1的配置信息;
- 4.修改/application/nginx/conf/nginx.conf配置文件,增加store_path1的訪問代理;
- 5.重新啟動tracker,storage,nginx服務,通過命令 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf( /usr/bin/fdfs_monitor為f調用astdfs的命令,根據安裝目錄而定)可查看文件服務器的運行狀態和配置信息。
結果展示:調用文件clent.conf配置文件,通過文件上傳命令上傳文件,查看文件的存儲地址信息如下:
3.基於storage模式的文件存儲擴容
storage擴容主要是通過新增服務器的模式,在一台電腦上安裝多個storage的模式不推薦。新增一台服務器的目的是為了擴容,便不能讓新加的storage與原來存在的storage屬於同一個組,設置為同一個組並不能擴容,只是備份的效果。已有文件系統信息為:
單節點文件服務器:ip:10.63.0.155 部署tracer,storage,nginx服務;
擴容信息為:在服務器10.63.0.154上面新建storage存儲文件。具體操作步驟如下:
- 1.在新的服務器上,安裝單節點文件服務器,具體安裝教程參考:FastDFS教程Ⅰ-文件服務器安裝與Nginx配置
- 2.安裝好文件服務器,nginx等相關軟件后,設置配置文件storage.conf的tracker地址為10.63.0.155上面的tracker地址;
- 3.配置storage.conf,mod_fastdfs.conf文件中的group名字,如已經存在的storage屬於group2,新加的設置為group1;
- 4.修改已經存在的tracker服務器配置信息,修改文件有mod_fastdfs.conf,nginx.conf,storage_ids.conf文件;
- 5.在做擴容時,新的storage配置的存儲路徑,若在老的tracker服務器上面,沒有對應的文件路徑地址,在啟動tracer服務時,會有啟動報文件找不到路徑的錯誤情況,針對這樣的問題,在tracker所在服務器上面,配置建立一套這樣的文件路徑就可以了。這個文件實際並沒有存儲信息。如:新路徑為/data/storage/testtwo,啟動tracker報/data/storage/testtwo找不到文件路徑,在tracker服務器上面配置這個地址就可以了。
-
- 5.重新啟動tracker,storage,nginx服務,通過命令 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf( /usr/bin/fdfs_monitor為f調用astdfs的命令,根據安裝目錄而定)可查看文件服務器的運行狀態和配置信息。
結果展示:調用文件clent.conf配置文件,通過文件上傳命令上傳文件,查看文件的存儲地址信息如下:
4.fastDFS文件系統擴容方案總結
通過上述兩種方式均可以達到文件擴容的目的,對於在服務器上面添加硬盤的模式,建議采用方案1,直接在group新加文件存儲地址;在具有新的服務器時,可采用方案2處理。在服務器和硬盤信息都有的情況下,可同時采用這兩種模式擴充容量。