TFS的安裝,部署請參考TFS文檔-安裝篇、TFS文檔-部署篇,本文主要介紹如何使用TFS提供的工具來管理、運維、診斷集群,主要包括tfstool、ssm、ds_client、admintool等,安裝tfs后,所有的工具都在tfs-home/bin目錄下,每個命令都包含help命令,用于打印幫助信息。
tfstool
提供寫文件、讀文件、刪除文件的命令支持,使用方式如下:
tfstool -s ns-ip:port 進入TFS命令行 或 tfstool -s ns-ip:port -i "command"執行某個命令put
用法:put local_file [tfs_name] [suffix] 描述:上傳文件到TFS, TFS會返回為上傳文件生成的文件名;如果是新建文件tfs_name可省略,如果是更新文件則需帶上待更新文件的tfs_name。get
用法:get tfs_name local_file 描述:從TFS下載tfs_name對應的文件到本地local_filerm
用法:rm tfs_name 描述:從TFS刪除文件stat
用法:stat tfs_name 描述:獲取tfs文件的狀態信息,包括大小、創建時間、修改時間等statblk
用法:statblk block_id 描述:獲取block的元信息,如block里的文件數,刪除文件數等listblock
用法:listblock block_id 描述:列出該block所在DataServer列表lsf
用法:lsf block_id [detail] 描述:列出指定block上的所有文件名,detail代表列出文件的詳細元信息batch
用法:batch file_name 描述:將所有需要執行的命令放到一個文件,使用batch命令可以批量執行文件里的所有命令ssm
提供獲取集群所有block、server、machine的工具,使用方式如下:
ssm -s ns-ip:port 進入TFS命令行 或 ssm -s ns-ip:port -i "command"直接執行某條命令。block
用法:block [-d block_id] [-s] [-c] [-i]描述:獲取集群上所有block的信息 -d block_id 指定獲取某個block的狀態 -s 獲取block副本對應的server信息 -c 指定獲取block信息的總次數 -i 指定多次獲取的時間間隔server/machine server以DS為單位展示信息,machine以物理機器為單位展示
用法:server [-n num] [-r server_ip] [-b] [-w] [-m] [-c] [-i]描述:獲取集群內DS的信息 -b 列出每個DS所有的block -w 列出每個DS上可寫的block -m 列出每個DS上自身為master副本的blockbatch
使用方式與tfstool相同admintool
提供針對TFS集群的管理工具,使用方式如下:
admintool -s ns-ip:port 進入TFS命令行 或 admintool -s ns-ip:port -i "command"直接執行某條命令param
用法:param [param_name] [set value]描述:在線獲取、修改nameserver的配置項。直接param會列出所有可修改的參數;param param_name會列出對應配置項的值;param param_name set value會將param_name項的值設置為value。其中有個特殊的項是plan_run_flag,是用于控制NS后臺開啟哪些任務,通過位圖來控制。1代表復制任務、2代表遷移任務、4代表壓縮任務、8代表刪除任務,默認為15,也就是開啟所有的任務。除了復制任務必須開啟保證數據安全,遷移和壓縮都可以在必要時臨時關掉。enum PlanRunFlag { PLAN_RUN_FLAG_NONE = 0, PLAN_RUN_FLAG_REPLICATE = 1, PLAN_RUN_FLAG_MOVE = 1 << 1, PLAN_RUN_FLAG_COMPACT = 1 << 2, PLAN_RUN_FLAG_DELETE = 1 << 3};clearsystemtable
用法:clearsystemtable type [1, 2, 4, 8] 描述:1: 清空NS任務列表; 2:清空正在寫的block列表【很少用】 3:清空匯報隊列; 4. 清空待刪除block列表getbPR/setbpr
獲取和設置NS上的blance percent,假設為0.050000,代表DS的容量偏離平均值的5%就認為需要均衡了;該值越小,負載均衡越敏感。用法:getbpr | setbpr value1 value2 【bpr是blance pecent的縮寫,value1為整數部分,value2為小數部分(6位)】描述:要將blance percent設置為0.010000,使用setbpr 0 010000removeblk
用法:removeblk block_id 描述:從集群中刪除block_id對應的blockreplblk、compactblk
這兩個命令主要用于開發過程中手動發起復制、遷移、壓縮任務,運維過程中很少用到。batch
使用方式與tfstool相同convert_name/reverse_name
TFS的文件名是由cluster_id、block_id、file_id編碼而成,從文件名里是可以解析出block_id、file_id。
convert_name將(block_id, file_id)轉化為TFS文件名; reverse_name從TFS文件名解析出(block_id,file_id)。
convert_name block_id file_idreverse_name tfs_nameds_client
提供直接從指定dataserver獲取block,文件信息的接口,使用方式如下:
ds_client -s ds-ip:port 進入TFS命令行 或 ds_client -s ds-ip:port -i "command"直接執行某條命令list_block
用法:list_block type [1, 2, 4] 描述:1 - 獲取DS上所有的blockid列表; 2 - 獲取DS上邏輯塊==>物理塊的映射關系表; 4 - 獲取DS上所有block的詳細元信息get_block_info
用法:get_block_info block_id 描述:獲取block的元信息remove_block
用法:remove_block block_id
描述:刪除指定的block
list_file
用法:list_file block_id 描述:獲取block上所有的文件列表read_file_info
用法:read_file_info block_id file_id 描述:讀取有(block_id, file_id)表示的文件元信息read_file_data
用法:read_file_data block_id file_id local_file 描述:讀取(block_id, file_id)表示的文件數據,存儲到本地local_file文件unlink_file
用法:unlink_file block_id file_id 描述:刪除(block_id, file_id)表示的文件batch
使用方式與tfstool相同format_file_system/clear_file_system/read_super_block
format_file_system/clear_file_system/read_super_block格式化TFS、清除TFS格式化的數據、讀取格式化后的超級塊信息
format_file_system -f ds_conf_path -i indexclear_file_system -f ds_conf_path -i indexread_super_block -f ds_conf_path -i index
新聞熱點
疑難解答