FastDFS--動態擴容
當用戶量越來越大,則叢集中某個group總會到達其極限,這時就得擴充套件叢集的容量了。
FastDFS的擴容分為對group縱向擴容和橫向擴容
縱向擴容 指在同一個group組中增加伺服器,實現資料冗餘,資料備份。同一個group中最大容量取決於最小的storage的儲存容量。因此如果還想繼續使用此group,則需要對此group對應的所有伺服器掛載同樣容量的磁碟,指定store_path1……,但這樣做的話成本相當的高,不推薦。
橫向擴容是通過叢集實現,指新增一個group,增加整個FastDFS的儲存空間。fastDFS的儲存空間指的是所有group加起來的儲存容量。
下面就橫向擴容來做介紹
在 高可用高效能分散式檔案系統FastDFS進階keepalived+nginx對多tracker進行高可用熱備 中已經講了如何配置叢集的2個tracker和4個storage,分group1和group2,下面增加一組group3,也由2臺伺服器組成 group3:36、37。
安裝storage
安裝 nginx和fastdfs-nginx-module 到 storage儲存節36、37。
將/etc/fdfs/storage.conf裡面的 group_name=group3 其它內容與其它storage儲存節一樣。
然後開啟這兩個storage,並加入開機啟動:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf chkconfig fdfs_storaged on
檢視叢集狀態,會顯示整體內容:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
安裝配置nginx
/opt/nginx/conf/nginx.conf 檔案內容與其它結點一樣。
但修改/etc/fdfs/mod_fastdfs.conf
base_path=/data/fastdfs/storage tracker_server=192.168.80.30:22122 tracker_server=192.168.80.31:22122 storage_server_port=23000 group_name=group3 # 第一組storage的組名 url_have_group_name=true store_path0=/data/fastdfs/storage group_count=2 [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs/storage [group2] group_name=group2 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs/storage [group3] group_name=group3 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs/storage
注意:
將儲存結點32到37的/etc/fdfs/mod_fastdfs.conf裡面都加上
[group3] group_name=group3 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs/storage
啟動Nginx,並加和自啟動
shell> /opt/nginx/sbin/nginx
上傳測試檔案到group3上。
瀏覽器訪問測試時上傳的檔案,應該都能正常訪問。 http://192.168.80.36:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg http://192.168.80.37:8888/group3/M00/00/00/CgNXGVpddOKANpzbAABdrZgsqUU369_big.jpg
配置Nginx,設定tracker負載均衡以及快取
vi /opt/nginx/conf/nginx.conf
新增以下內容
#設定 group3 的伺服器 upstream fdfs_group3 { server 192.168.80.36:8888 weight=1 max_fails=2 fail_timeout=30s; server 192.168.80.37:8888 weight=1 max_fails=2 fail_timeout=30s; }
和
location /group3/M00 { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache http-cache; proxy_cache_valid 200 304 12h; proxy_cache_key $uri$is_args$args; proxy_pass http://fdfs_group3; expires 30d; }
再重啟nginx就行了。
從上面來看,給叢集增加group,storage的安裝配置很簡單,主要是 nginx和fastdfs-nginx-module的配置比較麻煩,需要手動新增組,因此要注意以上要注意的地方不要漏掉了。