分佈式系統sheepdog之dog執行流程

dog部分主要是執行客戶端的命令行請求,然後對命令進行解析,通過指定socket發送請求到sheep端,將請求交sheep端處理。具體流程請參考下圖。
1、init_commands(&commands)函數將dog支持的命令都初始化在commands中進行調用,包括對vdi、cluster、node的命令操作,
2、setup_commands()函數先比較主命令,然後比較subvommmand,將對應的處理函數賦值給command_fn函數指針,最後調用此函數對命令進行處理


下面給出dog能執行的命令,及操作這些命令的函數

node命令      對應操作函數        功能簡介    
kill       node_kill         刪除節點
list       node_list          列舉節點
info       node_info          顯示每個節點的信息
recovery      node_recovery        顯示節點的恢復信息
md       node_md            看dog node md得更多信息
log       node_log           顯示節點的有關日誌信息


vdi命令       對應操作函數        功能簡介
check         vdi_check           檢查和修復image的一致性
create        vdi_create          創建一個image
snapshot      vdi_snapshot        創建一個快照
clone         vdi_clone           克隆一個image
delete        vdi_delete          刪除一個image
rollback      vdi_rollback        回滾到一個快照
list          vdi_list            列舉images
tree          vdi_tree            以樹的形式顯示images
graph         vdi_graph           以圖的形式顯示images
object        vdi_object          顯示image裏面對象的信息
track         vdi_track           顯示image裏面對象的版本蹤跡
setattr       vdi_setattr         設置一個vdi的屬性
getattr       vdi_getattr         獲得一個vdi的屬性
resize        vdi_resize          重新設置一個image的大小
read          vdi_read            從一個image裏面讀數據
write         vdi_write           寫數據到一個image裏面
backup        vdi_backup          在兩個快照之間創建一個增量備份
restore       vdi_restore         從備份裏面復原images快照
cache         vdi_cache           運行dog vdi cache得到更多信息


cluster命令   對應操作函數        功能簡介
info          cluster_info        顯示集羣信息
format        cluster_format      創建一個sheepdog存儲
shutdown      cluster_shutdown    關閉sheepdog
snapshot      cluster_snapshot    爲集羣建立快照或復原集羣
recover       cluster_recover     看dog cluster recover得更多信息
reweight      cluster_reweight    reweight集羣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章