1.集羣的建立方式,有那些角色
master:可以有多個,會進行選舉,主要是記錄文件與fileid的關係,以爲各個valume備份的情況
valume:卷服務器,一個卷服務器可以包含多個邏輯卷,不同的卷服務器之間會互爲備份,且其內容是完全一致的。
filer:用於自定義路徑及文件名,filer與filer之間的數據不共享,要共享可用redis。進行存儲,說白了就是存儲fileid與路徑之間的映射關係
2.數據的一致性
seaweedfs。數據上採取強一致性,倘若要求備份數量爲2,則必須要求另外兩個副本必須同時上傳成功,否則不會返回成功。
若不滿足兩個備份的數量。則無法上傳。
當集羣需要2個副本的時候,刪除一個結點,還能正常訪問,但是無法上傳。
重新新增一個節點後,才能繼續上傳。若新增的節點不是原來停止的節點,則集羣會重新在該節點下創建邏輯券
3.容災備份
weed-fs提供了若干種replication策略(dc 數據中新,rack – 機架,一個邏輯上的概念)
002 表示同一個機架2個備份 010 標識不同機架1個備份 100 表示不同數據中心一個備份
4.擴容方式
可水平擴容,只需添加vaume服務器即可。
master也可直接加入集羣即可。
5.數據的遷移
只要把某一結點下的.dat 及.idx文件直接覆蓋即可,同時重啓
相關命令的記錄:
啓動master
nohup ./weed master -defaultReplication 002 -mdir /data4/master/m1 -ip=10.156.19.2 -ip.bind=10.156.19.2 -port 9333 -volumePreallocate=false >m1.log &
啓動valume
nohup ./weed volume -dataCenter=dc1 -rack=rc1 -dir=/data4/valumestorage/v1 -max=10 -index=memory -ip=10.156.19.2 -ip.bind=10.156.19.2 -port=8080 -mserver=10.156.19.2:9333 > v1.log &
關於fastdfs的一些記錄
集羣模式
trackServer 起到負載均衡及管理組的作用,可以有多個,無主次之分。
StorageServer 存儲服務。多個之間組成一個組(卷),組內互爲備份。
上傳到一個storegeServer 後,它會自動向組內其他服務器備份。新增的時候,會自動複製運來的文件。