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集羣
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集羣