{"id":1167,"date":"2018-06-30T16:20:40","date_gmt":"2018-06-30T08:20:40","guid":{"rendered":"https:\/\/www.xiaobo.li\/?p=1167"},"modified":"2018-06-30T16:20:40","modified_gmt":"2018-06-30T08:20:40","slug":"ceph-ceph-%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/1167","title":{"rendered":"ceph \u2013 Ceph \u7ba1\u7406\u5de5\u5177"},"content":{"rendered":"<h1>ceph \u2013 Ceph \u7ba1\u7406\u5de5\u5177<\/h1>\n<div id=\"id1\" class=\"section\">\n<h2>\u63d0\u7eb2<\/h2>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>auth<\/strong> [ <em>add<\/em> | <em>caps<\/em> | <em>del<\/em> | <em>export<\/em> | <em>get<\/em> | <em>get-key<\/em> | <em>get-or-create<\/em> | <em>get-or-create-key<\/em> | <em>import<\/em> | <em>list<\/em> | <em>print-key<\/em> | <em>print_key<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>compact<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>config-key<\/strong> [ <em>del<\/em> | <em>exists<\/em> | <em>get<\/em> | <em>list<\/em> | <em>put<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>daemon<\/strong> <em>&lt;name&gt;<\/em> | <em>&lt;path&gt;<\/em> <em>&lt;command&gt;<\/em> ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>daemonperf<\/strong> <em>&lt;name&gt;<\/em> | <em>&lt;path&gt;<\/em> [ <em>interval<\/em> [ <em>count<\/em> ] ]<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>df<\/strong> <em>{detail}<\/em><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>fs<\/strong> [ <em>ls<\/em> | <em>new<\/em> | <em>reset<\/em> | <em>rm<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>fsid<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>health<\/strong> <em>{detail}<\/em><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>heap<\/strong> [ <em>dump<\/em> | <em>start_profiler<\/em> | <em>stop_profiler<\/em> | <em>release<\/em> | <em>stats<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>injectargs<\/strong> <em>&lt;injectedargs&gt;<\/em> [ <em>&lt;injectedargs&gt;<\/em>... ]<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>log<\/strong> <em>&lt;logtext&gt;<\/em> [ <em>&lt;logtext&gt;<\/em>... ]<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>mds<\/strong> [ <em>add_data_pool<\/em> | <em>cluster_down<\/em> | <em>cluster_up<\/em> | <em>compat<\/em> | <em>deactivate<\/em> | <em>dump<\/em> | <em>fail<\/em> | <em>getmap<\/em> | <em>newfs<\/em> | <em>remove_data_pool<\/em> | <em>rm<\/em> | <em>rmfailed<\/em> | <em>set<\/em> | <em>set_max_mds<\/em> | <em>set_state<\/em> | <em>setmap<\/em> | <em>stat<\/em> | <em>stop<\/em> | <em>tell<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>mon<\/strong> [ <em>add<\/em> | <em>dump<\/em> | <em>getmap<\/em> | <em>remove<\/em> | <em>stat<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>mon_status<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>osd<\/strong> [ <em>blacklist<\/em> | <em>blocked-by<\/em> | <em>create<\/em> | <em>deep-scrub<\/em> | <em>df<\/em> | <em>down<\/em> | <em>dump<\/em> | <em>erasure-code-profile<\/em> | <em>find<\/em> | <em>getcrushmap<\/em> | <em>getmap<\/em> | <em>getmaxosd<\/em> | <em>in<\/em> | <em>lspools<\/em> | <em>map<\/em> | <em>metadata<\/em> | <em>out<\/em> | <em>pause<\/em> | <em>perf<\/em> | <em>pg-temp<\/em> | <em>primary-affinity<\/em> | <em>primary-temp<\/em> | <em>repair<\/em> | <em>reweight<\/em> | <em>reweight-by-pg<\/em> | <em>rm<\/em> | <em>scrub<\/em> | <em>set<\/em> | <em>setcrushmap<\/em> | <em>setmaxosd<\/em> | <em>stat<\/em> | <em>thrash<\/em> | <em>tree<\/em> | <em>unpause<\/em> | <em>unset<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>osd<\/strong> <strong>crush<\/strong> [ <em>add<\/em> | <em>add-bucket<\/em> | <em>create-or-move<\/em> | <em>dump<\/em> | <em>get-tunable<\/em> | <em>link<\/em> | <em>move<\/em> | <em>remove<\/em> | <em>rename-bucket<\/em> | <em>reweight<\/em> | <em>reweight-all<\/em> | <em>reweight-subtree<\/em> | <em>rm<\/em> | <em>rule<\/em> | <em>set<\/em> | <em>set-tunable<\/em> | <em>show-tunables<\/em> | <em>tunables<\/em> | <em>unlink<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>osd<\/strong> <strong>pool<\/strong> [ <em>create<\/em> | <em>delete<\/em> | <em>get<\/em> | <em>get-quota<\/em> | <em>ls<\/em> | <em>mksnap<\/em> | <em>rename<\/em> | <em>rmsnap<\/em> | <em>set<\/em> | <em>set-quota<\/em> | <em>stats<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>osd<\/strong> <strong>tier<\/strong> [ <em>add<\/em> | <em>add-cache<\/em> | <em>cache-mode<\/em> | <em>remove<\/em> | <em>remove-overlay<\/em> | <em>set-overlay<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>pg<\/strong> [ <em>debug<\/em> | <em>deep-scrub<\/em> | <em>dump<\/em> | <em>dump_json<\/em> | <em>dump_pools_json<\/em> | <em>dump_stuck<\/em> | <em>force_create_pg<\/em> | <em>getmap<\/em> | <em>ls<\/em> | <em>ls-by-osd<\/em> | <em>ls-by-pool<\/em> | <em>ls-by-primary<\/em> | <em>map<\/em> | <em>repair<\/em> | <em>scrub<\/em> | <em>set_full_ratio<\/em> | <em>set_nearfull_ratio<\/em> | <em>stat<\/em> ] ...<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>quorum<\/strong> [ <em>enter<\/em> | <em>exit<\/em> ]<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>quorum_status<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>report<\/strong> { <em>&lt;tags&gt;<\/em> [ <em>&lt;tags&gt;...<\/em> ] }<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>scrub<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>status<\/strong><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>sync<\/strong> <strong>force<\/strong> {\u2013yes-i-really-mean-it} {\u2013i-know-what-i-am-doing}<\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>tell<\/strong> <em>&lt;name (type.id)&gt; &lt;args&gt; [&lt;args&gt;...]<\/em><\/div>\n<\/div>\n<div class=\"line-block\">\n<div class=\"line\"><strong>ceph<\/strong> <strong>version<\/strong><\/div>\n<\/div>\n<\/div>\n<div id=\"id2\" class=\"section\">\n<h2>\u63cf\u8ff0<\/h2>\n<p><strong class=\"program\">ceph<\/strong> \u662f\u4e2a\u63a7\u5236\u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u624b\u52a8\u90e8\u7f72\u548c\u7ef4\u62a4 Ceph \u96c6\u7fa4\u3002\u5b83\u63d0\u4f9b\u7684\u591a\u79cd\u5de5\u5177\u53ef\u7528\u4e8e\u90e8\u7f72\u76d1\u89c6\u5668\u3001 OSD \u3001\u5f52\u7f6e\u7ec4\u3001 MDS \u548c\u7ef4\u62a4\u3001\u7ba1\u7406\u6574\u4e2a\u96c6\u7fa4\u3002<\/p>\n<\/div>\n<div id=\"id3\" class=\"section\">\n<h2>\u547d\u4ee4<\/h2>\n<div id=\"auth\" class=\"section\">\n<h3>auth<\/h3>\n<p>\u7ba1\u7406\u8ba4\u8bc1\u5bc6\u94a5\u3002\u7528\u4e8e\u7ed9\u67d0\u4e2a\u5177\u4f53\u5b9e\u4f53\uff08\u5982\u76d1\u89c6\u5668\u6216 OSD \uff09\u589e\u52a0\u3001\u5220\u9664\u3001\u5bfc\u51fa\u6216\u66f4\u65b0\u8ba4\u8bc1\u5bc6\u94a5\u3002\u8fd8\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add<\/span><\/tt> \u7528\u4e8e\u4e3a\u7279\u5b9a\u5b9e\u4f53\u589e\u52a0\u8ba4\u8bc1\u4fe1\u606f\uff0c\u8fd9\u4e9b\u4fe1\u606f\u53ef\u4ece\u6587\u4ef6\u8bfb\u5165\uff0c\u82e5\u672a\u5728\u547d\u4ee4\u884c\u6307\u5b9a\u5bc6\u94a5\uff08\u548c\u3001\u6216\u6b64\u5bc6\u94a5\u7684\u80fd\u529b\uff09\u5c06\u751f\u6210\u968f\u673a\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth add &lt;entity&gt; {&lt;caps&gt; [&lt;caps&gt;...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">caps<\/span><\/tt> \u628a <strong>name<\/strong> \u7684\u80fd\u529b\u66f4\u65b0\u4e3a\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u7684\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth caps &lt;entity&gt; &lt;caps&gt; [&lt;caps&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">del<\/span><\/tt> \u5220\u9664 <tt class=\"docutils literal\"><span class=\"pre\">name<\/span><\/tt> \u7684\u6240\u6709\u80fd\u529b\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth del &lt;entity&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">export<\/span><\/tt> \u628a\u6307\u5b9a\u5b9e\u4f53\u5199\u5165\u5bc6\u94a5\u73af\uff0c\u82e5\u672a\u6307\u5b9a\u5219\u5199\u5165\u4e3b\u5bc6\u94a5\u73af\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth export {&lt;entity&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get<\/span><\/tt> \u628a\u8bf7\u6c42\u5230\u7684\u5bc6\u94a5\u5199\u5165\u5bc6\u94a5\u73af\u6587\u4ef6\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth get &lt;entity&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get-key<\/span><\/tt> \u663e\u793a\u6240\u8bf7\u6c42\u7684\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth get-key &lt;entity&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get-or-create<\/span><\/tt> \u7528\u4e8e\u4e3a\u7279\u5b9a\u5b9e\u4f53\u589e\u52a0\u8ba4\u8bc1\u4fe1\u606f\uff0c\u8fd9\u4e9b\u4fe1\u606f\u53ef\u4ece\u6587\u4ef6\u8bfb\u5165\uff0c\u82e5\u672a\u5728\u547d\u4ee4\u884c\u6307\u5b9a\u5bc6\u94a5\uff08\u548c\u3001\u6216\u6b64\u5bc6\u94a5\u7684\u80fd\u529b\uff09\u5c06\u751f\u6210\u968f\u673a\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth get-or-create &lt;entity&gt; {&lt;caps&gt; [&lt;caps&gt;...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get-or-create-key<\/span><\/tt> \u6839\u636e\u547d\u4ee4\u884c\u6307\u5b9a\u7684\u7cfb\u7edf\u3001\u80fd\u529b\u5bf9\uff0c\u4e3a <tt class=\"docutils literal\"><span class=\"pre\">name<\/span><\/tt> \u83b7\u53d6\u6216\u521b\u5efa\u5bc6\u94a5\u3002\u82e5\u5bc6\u94a5\u5df2\u5b58\u5728\uff0c\u4efb\u4f55\u6307\u5b9a\u7684\u80fd\u529b\u5fc5\u987b\u4e0e\u5f53\u524d\u5df2\u6709\u80fd\u529b\u4e00\u81f4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth get-or-create-key &lt;entity&gt; {&lt;caps&gt; [&lt;caps&gt;...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">import<\/span><\/tt> \u4ece\u8f93\u5165\u6587\u4ef6\u8bfb\u5165\u5bc6\u94a5\u73af\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth import<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">list<\/span><\/tt> \u7f57\u5217\u8ba4\u8bc1\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth list<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">print-key<\/span><\/tt> \u663e\u793a\u8bf7\u6c42\u7684\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth print-key &lt;entity&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">print_key<\/span><\/tt> \u663e\u793a\u8bf7\u6c42\u7684\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph auth print_key &lt;entity&gt;<\/pre>\n<\/div>\n<\/div>\n<div id=\"compact\" class=\"section\">\n<h3>compact<\/h3>\n<p>\u8ba9\u76d1\u89c6\u5668\u538b\u7f29\u5176 leveldb \u5b58\u50a8\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph compact<\/pre>\n<\/div>\n<\/div>\n<div id=\"config-key\" class=\"section\">\n<h3>config-key<\/h3>\n<p>\u7ba1\u7406\u914d\u7f6e\u5bc6\u94a5\u3002\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">del<\/span><\/tt> \u7528\u4e8e\u5220\u9664\u914d\u7f6e\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph config-key del &lt;key&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">exists<\/span><\/tt> \u7528\u4e8e\u68c0\u67e5\u914d\u7f6e\u5bc6\u94a5\u662f\u5426\u5b58\u5728\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph config-key exists &lt;key&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get<\/span><\/tt> \u7528\u4e8e\u83b7\u53d6\u914d\u7f6e\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph config-key get &lt;key&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">list<\/span><\/tt> \u7f57\u5217\u914d\u7f6e\u5bc6\u94a5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph config-key list<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">put<\/span><\/tt> \u4e0a\u4f20\u914d\u7f6e\u5bc6\u94a5\u53ca\u5176\u5185\u5bb9\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph config-key put &lt;key&gt; {&lt;val&gt;}<\/pre>\n<\/div>\n<\/div>\n<div id=\"df\" class=\"section\">\n<h3>df<\/h3>\n<p>\u663e\u793a\u96c6\u7fa4\u7a7a\u95f2\u7a7a\u95f4\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph df {detail}<\/pre>\n<\/div>\n<\/div>\n<div id=\"fs\" class=\"section\">\n<h3>fs<\/h3>\n<p>\u7528\u4e8e\u7ba1\u7406 cephfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u7528\u4e8e\u7f57\u5217\u6587\u4ef6\u7cfb\u7edf\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph fs ls<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">new<\/span><\/tt> \u7528\u6307\u5b9a\u7684\u5b58\u50a8\u6c60 &lt;metadata&gt; \u548c &lt;data&gt; \u521b\u5efa\u65b0\u6587\u4ef6\u7cfb\u7edf\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph fs new &lt;fs_name&gt; &lt;metadata&gt; &lt;data&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reset<\/span><\/tt> \u4ec5\u9002\u7528\u4e8e\u707e\u96be\u6062\u590d\uff1a\u91cd\u7f6e\u6210\u5355 MDS \u8fd0\u884c\u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph fs reset &lt;fs_name&gt; {--yes-i-really-mean-it}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u7528\u4e8e\u7981\u7528\u6307\u5b9a\u6587\u4ef6\u7cfb\u7edf\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph fs rm &lt;fs_name&gt; {--yes-i-really-mean-it}<\/pre>\n<\/div>\n<\/div>\n<div id=\"fsid\" class=\"section\">\n<h3>fsid<\/h3>\n<p>\u663e\u793a\u96c6\u7fa4\u7684 FSID\/UUID \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph fsid<\/pre>\n<\/div>\n<\/div>\n<div id=\"health\" class=\"section\">\n<h3>health<\/h3>\n<p>\u663e\u793a\u96c6\u7fa4\u5065\u5eb7\u72b6\u51b5\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph health {detail}<\/pre>\n<\/div>\n<\/div>\n<div id=\"heap\" class=\"section\">\n<h3>heap<\/h3>\n<p>\u663e\u793a\u5806\u6808\u4f7f\u7528\u4fe1\u606f\uff08\u7f16\u8bd1\u65f6\u542f\u7528\u4e86 tcmalloc \u652f\u6301\u624d\u53ef\u7528\uff09<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph heap dump|start_profiler|stop_profiler|release|stats<\/pre>\n<\/div>\n<\/div>\n<div id=\"injectargs\" class=\"section\">\n<h3>injectargs<\/h3>\n<p>\u5411\u76d1\u89c6\u5668\u6ce8\u5165\u914d\u7f6e\u53c2\u6570\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph injectargs &lt;injected_args&gt; [&lt;injected_args&gt;...]<\/pre>\n<\/div>\n<\/div>\n<div id=\"log\" class=\"section\">\n<h3>log<\/h3>\n<p>\u628a\u6307\u5b9a\u6587\u672c\u8bb0\u5f55\u5230\u76d1\u89c6\u5668\u65e5\u5fd7\u4e2d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph log &lt;logtext&gt; [&lt;logtext&gt;...]<\/pre>\n<\/div>\n<\/div>\n<div id=\"mds\" class=\"section\">\n<h3>mds<\/h3>\n<p>\u7528\u4e8e\u5143\u6570\u636e\u670d\u52a1\u5668\u7684\u914d\u7f6e\u548c\u7ba1\u7406\uff0c\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add_data_pool<\/span><\/tt> \u7528\u4e8e\u589e\u52a0\u6570\u636e\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds add_data_pool &lt;pool&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">cluster_down<\/span><\/tt> \u5173\u95ed mds \u96c6\u7fa4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds cluster_down<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">cluster_up<\/span><\/tt> \u542f\u52a8 mds \u96c6\u7fa4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds cluster_up<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">compat<\/span><\/tt> \u7ba1\u7406\u517c\u5bb9\u529f\u80fd\uff0c\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm_compat<\/span><\/tt> \u53ef\u5220\u9664\u517c\u5bb9\u529f\u80fd\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds compat rm_compat &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm_incompat<\/span><\/tt> \u53ef\u5220\u9664\u4e0d\u517c\u5bb9\u7684\u529f\u80fd\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds compat rm_incompat &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">show<\/span><\/tt> \u53ef\u67e5\u770b mds \u7684\u517c\u5bb9\u6027\u9009\u9879\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds compat show<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">deactivate<\/span><\/tt> \u53ef\u505c\u6b62 mds \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds deactivate &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u7528\u4e8e\u8f6c\u50a8\u4fe1\u606f\uff0c epoch \u53f7\u4e3a\u53ef\u9009\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds dump {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">fail<\/span><\/tt> \u5f3a\u5236\u628a mds \u72b6\u6001\u8bbe\u7f6e\u4e3a\u5931\u6548\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds fail &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getmap<\/span><\/tt> \u83b7\u53d6 MDS \u56fe\uff0c epoch \u53f7\u53ef\u9009\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds getmap {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">newfs<\/span><\/tt> \u53ef\u7528 &lt;metadata&gt; \u548c &lt;data&gt; \u5b58\u50a8\u6c60\u65b0\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds newfs &lt;int[0-]&gt; &lt;int[0-]&gt; {--yes-i-really-mean-it}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">remove_data_pool<\/span><\/tt> \u7528\u4e8e\u5220\u9664\u6570\u636e\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds remove_data_pool &lt;pool&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u7528\u4e8e\u5220\u9664\u4e0d\u6d3b\u8dc3\u7684 mds \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds rm &lt;int[0-]&gt; &lt;name&gt; (type.id)&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rmfailed<\/span><\/tt> \u7528\u4e8e\u5220\u9664\u5931\u6548\u7684 mds \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds rmfailed &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u7528\u4e8e\u8bbe\u7f6e\u53c2\u6570\uff0c\u628a &lt;var&gt; \u7684\u503c\u8bbe\u7f6e\u4e3a &lt;val&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds set max_mds|max_file_size|allow_new_snaps|inline_data &lt;va&gt; {&lt;confirm&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set_max_mds<\/span><\/tt> \u7528\u4e8e\u8bbe\u7f6e MDS \u7684\u6700\u5927\u7d22\u5f15\u53f7\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds set_max_mds &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set_state<\/span><\/tt> \u628a mds \u72b6\u6001\u4ece &lt;gid&gt; \u6539\u4e3a &lt;numeric-state&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds set_state &lt;int[0-]&gt; &lt;int[0-20]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">setmap<\/span><\/tt> \u8bbe\u7f6e mds \u56fe\uff0c\u5fc5\u987b\u63d0\u4f9b\u6b63\u786e\u7684 epoch \u53f7\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds setmap &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stat<\/span><\/tt> \u663e\u793a MDS \u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds stat<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stop<\/span><\/tt> \u505c\u6b62\u6307\u5b9a mds \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds stop &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">tell<\/span><\/tt> \u7528\u4e8e\u5411\u67d0\u4e2a mds \u53d1\u9001\u547d\u4ee4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mds tell &lt;who&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<\/div>\n<div id=\"mon\" class=\"section\">\n<h3>mon<\/h3>\n<p>\u7528\u4e8e\u76d1\u89c6\u5668\u7684\u914d\u7f6e\u548c\u7ba1\u7406\uff0c\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add<\/span><\/tt> \u65b0\u589e\u540d\u4e3a &lt;name&gt; \u7684\u76d1\u89c6\u5668\uff0c\u5730\u5740\u4e3a &lt;addr&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon add &lt;name&gt; &lt;IPaddr[:port]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u8f6c\u50a8\u683c\u5f0f\u5316\u7684 monmap \uff0c epoch \u53f7\u53ef\u9009\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon dump {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getmap<\/span><\/tt> \u7528\u4e8e\u83b7\u53d6 monmap \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon getmap {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">remove<\/span><\/tt> \u7528\u4e8e\u5220\u9664\u540d\u4e3a &lt;name&gt; \u7684\u76d1\u89c6\u5668\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon remove &lt;name&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stat<\/span><\/tt> \u6c47\u603b\u76d1\u89c6\u5668\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon stat<\/pre>\n<\/div>\n<\/div>\n<div id=\"mon-status\" class=\"section\">\n<h3>mon_status<\/h3>\n<p>\u62a5\u544a\u76d1\u89c6\u5668\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph mon_status<\/pre>\n<\/div>\n<\/div>\n<div id=\"osd\" class=\"section\">\n<h3>osd<\/h3>\n<p>\u7528\u4e8e\u914d\u7f6e\u548c\u7ba1\u7406 OSD \uff0c\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">blacklist<\/span><\/tt> \u7528\u4e8e\u7ba1\u7406\u5ba2\u6237\u7aef\u9ed1\u540d\u5355\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add<\/span><\/tt> \u7528\u4e8e\u628a &lt;addr&gt; \u52a0\u5165\u9ed1\u540d\u5355\uff08\u53ef\u6307\u5b9a\u65f6\u95f4\uff0c\u4ece\u73b0\u5728\u8d77 &lt;expire&gt; \u79d2\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd blacklist add &lt;EntityAddr&gt; {&lt;float[0.0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u5217\u51fa\u8fdb\u9ed1\u540d\u5355\u7684\u5ba2\u6237\u7aef\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd blacklist ls<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u4ece\u9ed1\u540d\u5355\u91cc\u5220\u9664 &lt;addr&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd blacklist rm &lt;EntityAddr&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">blocked-by<\/span><\/tt> \u7528\u4e8e\u7f57\u5217\u54ea\u4e9b OSD \u5728\u963b\u585e\u4e92\u8054\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd blocked-by<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">create<\/span><\/tt> \u7528\u4e8e\u65b0\u5efa OSD \uff0c UUID \u548c ID \u662f\u53ef\u9009\u7684\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd create {&lt;uuid&gt;} {&lt;id&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">crush<\/span><\/tt> \u7528\u4e8e CRUSH \u7ba1\u7406\uff0c\u9700\u989d\u5916\u6307\u5b9a\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add<\/span><\/tt> \u53ef\u7528\u4e8e\u65b0\u589e\u6216\u66f4\u65b0 &lt;name&gt; \u7684 crushmap \u4f4d\u7f6e\u53ca\u6743\u91cd\uff0c\u6743\u91cd\u6539\u4e3a &lt;weight&gt; \u3001\u4f4d\u7f6e\u4e3a &lt;args&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush add &lt;osdname (id|osd.id)&gt; &lt;float[0.0-]&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add-bucket<\/span><\/tt> \u53ef\u65b0\u589e\u6ca1\u6709\u7236\u7ea7\uff08\u53ef\u80fd\u662f root \uff09\u3001\u7c7b\u578b\u4e3a &lt;type&gt; \u3001\u540d\u4e3a &lt;name&gt; \u7684 crush \u6876\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush add-bucket &lt;name&gt; &lt;type&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">create-or-move<\/span><\/tt> \u7528\u4e8e\u521b\u5efa\u540d\u4e3a &lt;name&gt; \u3001\u6743\u91cd\u4e3a &lt;weight&gt; \u7684\u6761\u76ee\u5e76\u653e\u7f6e\u5230 &lt;args&gt; \uff0c\u82e5\u5df2\u5b58\u5728\u5219\u79fb\u52a8\u5230\u6307\u5b9a\u4f4d\u7f6e &lt;args&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush create-or-move &lt;osdname (id|osd.id)&gt; &lt;float[0.0-]&gt;\r\n&lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u7528\u4e8e\u8f6c\u50a8 crush \u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush dump<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get-tunable<\/span><\/tt> \u7528\u4e8e\u83b7\u53d6 CRUSH \u53ef\u8c03\u503c straw_calc_version \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush get-tunable straw_calc_version<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">link<\/span><\/tt> \u7528\u4e8e\u628a\u5df2\u5b58\u5728\u6761\u76ee &lt;name&gt; \u94fe\u63a5\u5230 &lt;args&gt; \u4f4d\u7f6e\u4e0b\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush link &lt;name&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">move<\/span><\/tt> \u53ef\u628a\u5df2\u6709\u6761\u76ee &lt;name&gt; \u79fb\u52a8\u5230 &lt;args&gt; \u4f4d\u7f6e\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush move &lt;name&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">remove<\/span><\/tt> \u628a crush \u56fe\u4e2d\uff08\u4efb\u610f\u4f4d\u7f6e\uff0c\u6216 &lt;ancestor&gt; \u4e4b\u4e0b\u7684\uff09\u7684 &lt;name&gt; \u5220\u6389\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush remove &lt;name&gt; {&lt;ancestor&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rename-bucket<\/span><\/tt> \u53ef\u628a\u6876 &lt;srcname&gt; \u91cd\u547d\u540d\u4e3a &lt;dstname&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rename-bucket &lt;srcname&gt; &lt;dstname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight<\/span><\/tt> \u628a crush \u56fe\u4e2d &lt;name&gt; \u7684\u6743\u91cd\u6539\u4e3a &lt;weight&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush reweight &lt;name&gt; &lt;float[0.0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight-all<\/span><\/tt> \u91cd\u65b0\u8ba1\u7b97\u6811\u7684\u6743\u91cd\uff0c\u4ee5\u786e\u4fdd\u6743\u91cd\u4e4b\u548c\u6ca1\u7b97\u9519\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush reweight-all<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight-subtree<\/span><\/tt> \u7528\u4e8e\u628a CRUSH \u56fe\u5185 &lt;name&gt; \u4e4b\u4e0b\u7684\u6240\u6709\u53f6\u5b50\u6761\u76ee\u7684\u6743\u91cd\u6539\u4e3a &lt;weight&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush reweight-subtree &lt;name&gt; &lt;weight&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u628a crush \u56fe\u4e2d\uff08\u4efb\u610f\u4f4d\u7f6e\uff0c\u6216 &lt;ancestor&gt; \u4e4b\u4e0b\u7684\uff09\u7684 &lt;name&gt; \u5220\u6389\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rm &lt;name&gt; {&lt;ancestor&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rule<\/span><\/tt> \u7528\u4e8e\u521b\u5efa crush \u89c4\u5219\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">create-erasure<\/span><\/tt> \u53ef\u4e3a\u7ea0\u5220\u7801\u5b58\u50a8\u6c60\uff08\u7528 &lt;profile&gt; \u521b\u5efa\u7684\uff09\uff09\u521b\u5efa\u540d\u4e3a &lt;name&gt; \u7684 crush \u89c4\u5219\uff0c\u9ed8\u8ba4\u4e3a default \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule create-erasure &lt;name&gt; {&lt;profile&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">create-simple<\/span><\/tt> \u521b\u5efa\u4ece &lt;root&gt; \u5f00\u59cb\u3001\u540d\u4e3a &lt;name&gt; \u7684 crush \u89c4\u5219\uff0c\u526f\u672c\u5c06\u8de8 &lt;type&gt; \u7c7b\u578b\u8fdb\u884c\u6563\u5e03\uff0c\u9009\u62e9\u6a21\u5f0f\u4e3a &lt;firstn|indep&gt; \uff08\u9ed8\u8ba4 firstn \uff0cindep \u66f4\u9002\u5408\u7ea0\u5220\u7801\u5b58\u50a8\u6c60\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule create-simple &lt;name&gt; &lt;root&gt; &lt;type&gt; {firstn|indep}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u8f6c\u50a8\u540d\u4e3a &lt;name&gt; \u7684 crush \u89c4\u5219\uff0c\u9ed8\u8ba4\u5168\u90e8\u8f6c\u50a8\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule dump {&lt;name&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">list<\/span><\/tt> \u7f57\u5217 crush \u89c4\u5219\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule list<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u7f57\u5217 crush \u89c4\u5219\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule ls<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u5220\u9664 crush \u89c4\u5219 &lt;name&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush rule rm &lt;name&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u5355\u72ec\u4f7f\u7528\uff0c\u628a\u8f93\u5165\u6587\u4ef6\u8bbe\u7f6e\u4e3a crush \u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush set<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u4e3a osdname \u6216 osd.id \u66f4\u65b0 crush \u56fe\u7684\u4f4d\u7f6e\u548c\u6743\u91cd\u4fe1\u606f\uff0c\u628a\u540d\u4e3a &lt;name&gt; \u7684 OSD \u6743\u91cd\u8bbe\u7f6e\u4e3a &lt;weight&gt; \u3001\u4f4d\u7f6e\u8bbe\u7f6e\u4e3a &lt;args&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush set &lt;osdname (id|osd.id)&gt; &lt;float[0.0-]&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set-tunable<\/span><\/tt> \u628a\u53ef\u8c03\u503c &lt;tunable&gt; \u8bbe\u7f6e\u4e3a &lt;value&gt; \u3002\u552f\u4e00\u80fd\u8bbe\u7f6e\u7684\u53ef\u8c03\u503c\u662f straw_calc_version \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush set-tunable straw_calc_version &lt;value&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">show-tunables<\/span><\/tt> \u663e\u793a\u5f53\u524d\u7684 crush \u53ef\u8c03\u503c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush show-tunables<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">tree<\/span><\/tt> \u7528\u6811\u72b6\u89c6\u56fe\u663e\u793a\u5404 crush \u6876\u3001\u53ca\u5404\u6761\u76ee\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush tree<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">tunables<\/span><\/tt> \u8bbe\u7f6e &lt;profile&gt; \u4e2d\u7684 crush \u53ef\u8c03\u503c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush tunables legacy|argonaut|bobtail|firefly|hammer|optimal|default<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">unlink<\/span><\/tt> \u4ece crush \u56fe\u4e2d\u89e3\u94fe\u63a5\u51fa &lt;name&gt; \uff08\u4efb\u610f\u4f4d\u7f6e\uff0c\u6216 &lt;ancestor&gt; \u4e4b\u4e0b\u7684\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd crush unlink &lt;name&gt; {&lt;ancestor&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">df<\/span><\/tt> \u7528\u4e8e\u663e\u793a OSD \u5229\u7528\u7387\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd df {plain|tree}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">deep-scrub<\/span><\/tt> \u53ef\u542f\u52a8\u6307\u5b9a OSD \u7684\u6df1\u5ea6\u6d17\u5237\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd deep-scrub &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">down<\/span><\/tt> \u628a osd(s) &lt;id&gt; [&lt;id&gt;...] \u72b6\u6001\u8bbe\u7f6e\u4e3a down \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd down &lt;ids&gt; [&lt;ids&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u6253\u5370 OSD \u56fe\u6c47\u603b\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd dump {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">erasure-code-profile<\/span><\/tt> \u7528\u4e8e\u7ba1\u7406\u7ea0\u5220\u7801\u914d\u7f6e\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get<\/span><\/tt> \u8bfb\u53d6\u7ea0\u5220\u7801\u914d\u7f6e &lt;name&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd erasure-code-profile get &lt;name&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u7f57\u5217\u6240\u6709\u7ea0\u5220\u7801\u914d\u7f6e\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd erasure-code-profile ls<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u5220\u9664\u7ea0\u5220\u7801\u914d\u7f6e &lt;name&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd erasure-code-profile rm &lt;name&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u7528\u7ed9\u5b9a\u7684\u53c2\u6570 [&lt;key[=value]&gt; ...] \u521b\u5efa\u7ea0\u5220\u7801\u914d\u7f6e &lt;name&gt; \u3002\u672b\u5c3e\u52a0 \u2013force \u53ef\u8986\u76d6\u5df2\u6709\u914d\u7f6e\uff08\u614e\u7528\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd erasure-code-profile set &lt;name&gt; {&lt;profile&gt; [&lt;profile&gt;...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">find<\/span><\/tt> \u4ece CRUSH \u56fe\u4e2d\u627e\u5230 osd &lt;id&gt; \u5e76\u663e\u793a\u5176\u4f4d\u7f6e\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd find &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getcrushmap<\/span><\/tt> \u83b7\u53d6 CRUSH \u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd getcrushmap {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getmap<\/span><\/tt> \u83b7\u53d6 OSD \u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd getmap {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getmaxosd<\/span><\/tt> \u663e\u793a\u6700\u5927 OSD \u60df\u4e00\u6807\u8bc6\u7b26\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd getmaxosd<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">in<\/span><\/tt> \u628a\u7ed9\u51fa\u7684 OSD &lt;id&gt; [&lt;id&gt;...] \u6807\u8bc6\u4e3a in \u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd in &lt;ids&gt; [&lt;ids&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">lost<\/span><\/tt> \u628a OSD \u6807\u8bc6\u4e3a\u6c38\u4e45\u4e22\u5931\u3002\u5982\u679c\u6ca1\u6709\u591a\u4e2a\u526f\u672c\uff0c\u6b64\u547d\u4ee4\u4f1a\u5bfc\u81f4\u6570\u636e\u4e22\u5931\uff0c\u614e\u7528\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd lost &lt;int[0-]&gt; {--yes-i-really-mean-it}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u663e\u793a\u6240\u6709 OSD \u7684\u60df\u4e00\u6807\u8bc6\u7b26\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd ls {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">lspools<\/span><\/tt> \u7f57\u5217\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd lspools {&lt;int&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">map<\/span><\/tt> \u5728 &lt;pool&gt; \u5b58\u50a8\u6c60\u4e2d\u627e &lt;object&gt; \u5bf9\u8c61\u6240\u5728\u7684\u5f52\u7f6e\u7ec4\u53f7\u7801\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd map &lt;poolname&gt; &lt;objectname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">metadata<\/span><\/tt> \u4e3a osd &lt;id&gt; \u53d6\u51fa\u5143\u6570\u636e\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd metadata {int[0-]} (default all)<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">out<\/span><\/tt> \u628a\u6307\u5b9a OSD &lt;id&gt; [&lt;id&gt;...] \u7684\u72b6\u6001\u8bbe\u7f6e\u4e3a out \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd out &lt;ids&gt; [&lt;ids&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">pause<\/span><\/tt> \u6682\u505c osd \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pause<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">perf<\/span><\/tt> \u6253\u5370 OSD \u7684\u6027\u80fd\u7edf\u8ba1\u6458\u8981\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd perf<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">pg-temp<\/span><\/tt> \u8bbe\u7f6e pg_temp \u6620\u5c04 pgid:[&lt;id&gt; [&lt;id&gt;...]] \uff0c\u9002\u7528\u4e8e\u5f00\u53d1\u8005\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pg-temp &lt;pgid&gt; {&lt;id&gt; [&lt;id&gt;...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">pool<\/span><\/tt> \u7528\u4e8e\u7ba1\u7406\u6570\u636e\u5b58\u50a8\u6c60\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">create<\/span><\/tt> \u521b\u5efa\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool create &lt;poolname&gt; &lt;int[0-]&gt; {&lt;int[0-]&gt;} {replicated|erasure}\r\n{&lt;erasure_code_profile&gt;} {&lt;ruleset&gt;} {&lt;int&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">delete<\/span><\/tt> \u5220\u9664\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool delete &lt;poolname&gt; {&lt;poolname&gt;} {--yes-i-really-really-mean-it}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get<\/span><\/tt> \u83b7\u53d6\u5b58\u50a8\u6c60\u53c2\u6570 &lt;var&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool get &lt;poolname&gt; size|min_size|crash_replay_interval|pg_num|\r\npgp_num|crush_ruleset|auid|write_fadvise_dontneed<\/pre>\n<\/div>\n<p>\u4ee5\u4e0b\u547d\u4ee4\u53ea\u9002\u7528\u4e8e\u5206\u5c42\u5b58\u50a8\u6c60\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool get &lt;poolname&gt; hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|\r\ntarget_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_dirty_high_ratio|\r\ncache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|\r\nmin_read_recency_for_promote|hit_set_grade_decay_rate|hit_set_search_last_n<\/pre>\n<\/div>\n<p>\u4ee5\u4e0b\u547d\u4ee4\u53ea\u9002\u7528\u4e8e\u7ea0\u5220\u7801\u5b58\u50a8\u6c60\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool get &lt;poolname&gt; erasure_code_profile<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">get-quota<\/span><\/tt> \u83b7\u53d6\u5b58\u50a8\u6c60\u7684\u5bf9\u8c61\u6216\u5b57\u8282\u6570\u9650\u989d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool get-quota &lt;poolname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u7528\u4e8e\u7f57\u5217\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool ls {detail}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">mksnap<\/span><\/tt> \u62cd\u4e0b\u5b58\u50a8\u6c60 &lt;pool&gt; \u7684\u5feb\u7167 &lt;snap&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool mksnap &lt;poolname&gt; &lt;snap&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rename<\/span><\/tt> \u628a\u5b58\u50a8\u6c60 &lt;srcpool&gt; \u91cd\u547d\u540d\u4e3a &lt;destpool&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool rename &lt;poolname&gt; &lt;poolname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rmsnap<\/span><\/tt> \u5220\u9664\u5b58\u50a8\u6c60 &lt;pool&gt; \u7684\u5feb\u7167 &lt;snap&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool rmsnap &lt;poolname&gt; &lt;snap&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u628a\u5b58\u50a8\u6c60\u53c2\u6570 &lt;var&gt; \u7684\u503c\u8bbe\u7f6e\u4e3a &lt;val&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool set &lt;poolname&gt; size|min_size|crash_replay_interval|pg_num|\r\npgp_num|crush_ruleset|hashpspool|nodelete|nopgchange|nosizechange|\r\nhit_set_type|hit_set_period|hit_set_count|hit_set_fpp|debug_fake_ec_pool|\r\ntarget_max_bytes|target_max_objects|cache_target_dirty_ratio|\r\ncache_target_dirty_high_ratio|\r\ncache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|auid|\r\nmin_read_recency_for_promote|write_fadvise_dontneed|hit_set_grade_decay_rate|\r\nhit_set_search_last_n\r\n&lt;val&gt; {--yes-i-really-mean-it}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set-quota<\/span><\/tt> \u8bbe\u7f6e\u5b58\u50a8\u6c60\u7684\u5bf9\u8c61\u6216\u5b57\u8282\u6570\u9650\u989d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool set-quota &lt;poolname&gt; max_objects|max_bytes &lt;val&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stats<\/span><\/tt> \u83b7\u53d6\u6240\u6709\u6216\u6307\u5b9a\u5b58\u50a8\u6c60\u7684\u7edf\u8ba1\u4fe1\u606f\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd pool stats {&lt;name&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">primary-affinity<\/span><\/tt> \u8bbe\u7f6e\u4e3b OSD \u4eb2\u548c\u6027\uff0c\u6709\u6548\u503c\u8303\u56f4 0.0 &lt;= &lt;weight&gt; &lt;= 1.0<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd primary-affinity &lt;osdname (id|osd.id)&gt; &lt;float[0.0-1.0]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">primary-temp<\/span><\/tt> \u8bbe\u7f6e primary_temp \u6620\u5c04 pgid:&lt;id&gt;|-1 \uff0c\u9002\u7528\u4e8e\u5f00\u53d1\u8005\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd primary-temp &lt;pgid&gt; &lt;id&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">repair<\/span><\/tt> \u8ba9\u6307\u5b9a OSD \u5f00\u59cb\u4fee\u590d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd repair &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight<\/span><\/tt> \u628a OSD \u6743\u91cd\u6539\u4e3a 0.0 &lt; &lt;weight&gt; &lt; 1.0 \u4e4b\u95f4\u7684\u503c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>osd reweight &lt;int[0-]&gt; &lt;float[0.0-1.0]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight-by-pg<\/span><\/tt> \u6309\u5f52\u7f6e\u7ec4\u5206\u5e03\u60c5\u51b5\u8c03\u6574 OSD \u7684\u6743\u91cd\uff08\u8003\u8651\u7684\u8fc7\u8f7d\u767e\u5206\u6bd4\uff0c\u9ed8\u8ba4 120 \uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd reweight-by-pg {&lt;int[100-]&gt;} {&lt;poolname&gt; [&lt;poolname...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">reweight-by-utilization<\/span><\/tt> \u6309\u5229\u7528\u7387\u8c03\u6574 OSD \u7684\u6743\u91cd\uff0c\u8fd8\u9700\u8003\u8651\u8d1f\u8f7d\u6bd4\u7387\uff0c\u9ed8\u8ba4 120 \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd reweight-by-utilization {&lt;int[100-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">rm<\/span><\/tt> \u5220\u9664\u96c6\u7fa4\u4e2d\u7684 OSD \uff0c\u5176\u7f16\u53f7\u4e3a &lt;id&gt; [&lt;id&gt;...] \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd rm &lt;ids&gt; [&lt;ids&gt;...]<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">scrub<\/span><\/tt> \u8ba9\u6307\u5b9a OSD \u5f00\u59cb\u6d17\u5237\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd scrub &lt;who&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set<\/span><\/tt> \u8bbe\u7f6e\u5173\u952e\u5b57 &lt;key&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd set full|pause|noup|nodown|noout|noin|nobackfill|\r\nnorebalance|norecover|noscrub|nodeep-scrub|notieragent<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">setcrushmap<\/span><\/tt> \u628a\u8f93\u5165\u6587\u4ef6\u8bbe\u7f6e\u4e3a CRUSH \u56fe\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd setcrushmap<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">setmaxosd<\/span><\/tt> \u8bbe\u7f6e\u6700\u5927 OSD \u6570\u503c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd setmaxosd &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stat<\/span><\/tt> \u6253\u5370 OSD \u56fe\u6458\u8981\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd stat<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">thrash<\/span><\/tt> \u628a OSD \u5143\u7248\u672c\u56de\u6eda\u5230 &lt;num_epochs&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd thrash &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">tier<\/span><\/tt> \u7528\u4e8e\u7ba1\u7406\uff08\u5b58\u50a8\u6c60\uff09\u5206\u7ea7\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add<\/span><\/tt> \u628a &lt;tierpool&gt; \uff08\u7b2c\u4e8c\u4e2a\uff09\u52a0\u5230\u57fa\u7840\u5b58\u50a8\u6c60 &lt;pool&gt; \uff08\u7b2c\u4e00\u4e2a\uff09\u4e4b\u524d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier add &lt;poolname&gt; &lt;poolname&gt; {--force-nonempty}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">add-cache<\/span><\/tt> \u628a\u5c3a\u5bf8\u4e3a &lt;size&gt; \u7684\u7f13\u5b58\u5b58\u50a8\u6c60 &lt;tierpool&gt; \uff08\u7b2c\u4e8c\u4e2a\uff09\u52a0\u5230\u73b0\u6709\u5b58\u50a8\u6c60 &lt;pool&gt; \uff08\u7b2c\u4e00\u4e2a\uff09\u4e4b\u524d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier add-cache &lt;poolname&gt; &lt;poolname&gt; &lt;int[0-]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">cache-mode<\/span><\/tt> \u8bbe\u7f6e\u7f13\u5b58\u5b58\u50a8\u6c60 &lt;pool&gt; \u7684\u7f13\u5b58\u6a21\u5f0f\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier cache-mode &lt;poolname&gt; none|writeback|forward|readonly|\r\nreadforward|readproxy<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">remove<\/span><\/tt> \u5220\u6389\u57fa\u7840\u5b58\u50a8\u6c60 &lt;pool&gt; \uff08\u7b2c\u4e00\u4e2a\uff09\u7684\u9a6c\u7532\u5b58\u50a8\u6c60 &lt;tierpool&gt; \uff08\u7b2c\u4e8c\u4e2a\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier remove &lt;poolname&gt; &lt;poolname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">remove-overlay<\/span><\/tt> \u5220\u9664\u57fa\u7840\u5b58\u50a8\u6c60 &lt;pool&gt; \u7684\u9a6c\u7532\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier remove-overlay &lt;poolname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set-overlay<\/span><\/tt> \u628a &lt;overlaypool&gt; \u8bbe\u7f6e\u4e3a\u57fa\u7840\u5b58\u50a8\u6c60 &lt;pool&gt; \u7684\u9a6c\u7532\u5b58\u50a8\u6c60\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tier set-overlay &lt;poolname&gt; &lt;poolname&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">tree<\/span><\/tt> \u6253\u5370 OSD \u6811\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd tree {&lt;int[0-]&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">unpause<\/span><\/tt> \u53d6\u6d88 osd \u6682\u505c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd unpause<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">unset<\/span><\/tt> \u53d6\u6d88\u8bbe\u7f6e\u7684\u5173\u952e\u5b57 &lt;key&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph osd unset full|pause|noup|nodown|noout|noin|nobackfill|\r\nnorebalance|norecover|noscrub|nodeep-scrub|notieragent<\/pre>\n<\/div>\n<\/div>\n<div id=\"pg\" class=\"section\">\n<h3>pg<\/h3>\n<p>\u7528\u4e8e\u7ba1\u7406 OSD \u5185\u7684\u5f52\u7f6e\u7ec4\uff0c\u9700\u989d\u5916\u52a0\u5b50\u547d\u4ee4\u3002<\/p>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">debug<\/span><\/tt> \u53ef\u663e\u793a\u5f52\u7f6e\u7ec4\u7684\u8c03\u8bd5\u4fe1\u606f\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg debug unfound_objects_exist|degraded_pgs_exist<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">deep-scrub<\/span><\/tt> \u5f00\u59cb\u6df1\u5ea6\u6d17\u5237\u5f52\u7f6e\u7ec4 &lt;pgid&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg deep-scrub &lt;pgid&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump<\/span><\/tt> \u53ef\u663e\u793a\u5f52\u7f6e\u7ec4\u56fe\u7684\u4eba\u7c7b\u53ef\u8bfb\u7248\u672c\uff08\u663e\u793a\u4e3a\u7eaf\u6587\u672c\u65f6\u53ea\u6709 \u2018all\u2019 \u5408\u6cd5\uff09\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg dump {all|summary|sum|delta|pools|osds|pgs|pgs_brief} [{all|summary|sum|delta|pools|osds|pgs|pgs_brief...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump_json<\/span><\/tt> \u53ea\u4ee5 json \u683c\u5f0f\u663e\u793a\u5f52\u7f6e\u7ec4\u56fe\u7684\u4eba\u7c7b\u53ef\u8bfb\u7248\u672c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg dump_json {all|summary|sum|delta|pools|osds|pgs|pgs_brief} [{all|summary|sum|delta|pools|osds|pgs|pgs_brief...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump_pools_json<\/span><\/tt> \u53ea\u4ee5 json \u683c\u5f0f\u663e\u793a\u5f52\u7f6e\u7ec4\u5b58\u50a8\u6c60\u4fe1\u606f\uff3b\u8bd1\u8005\uff1a\u5b58\u7591\uff3d\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg dump_pools_json<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">dump_stuck<\/span><\/tt> \u663e\u793a\u5361\u987f\u5f52\u7f6e\u7ec4\u7684\u4fe1\u606f\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg dump_stuck {inactive|unclean|stale|undersized|degraded [inactive|unclean|stale|undersized|degraded...]}\r\n{&lt;int&gt;}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">force_create_pg<\/span><\/tt> \u5f3a\u5236\u521b\u5efa\u5f52\u7f6e\u7ec4 &lt;pgid&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg force_create_pg &lt;pgid&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">getmap<\/span><\/tt> \u83b7\u53d6\u4e8c\u8fdb\u5236\u5f52\u7f6e\u7ec4\u56fe\uff0c\u4fdd\u5b58\u5230 -o\/stdout \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg getmap<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls<\/span><\/tt> \u53ef\u6839\u636e\u6307\u5b9a\u5b58\u50a8\u6c60\u3001 OSD \u3001\u72b6\u6001\u7f57\u5217\u5bf9\u5e94\u7684\u5f52\u7f6e\u7ec4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg ls {&lt;int&gt;} {active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale| remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized [active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale|remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls-by-osd<\/span><\/tt> \u7528\u4e8e\u7f57\u5217\u6307\u5b9a OSD \u4e0a\u7684\u5f52\u7f6e\u7ec4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg ls-by-osd &lt;osdname (id|osd.id)&gt; {&lt;int&gt;}\r\n{active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale| remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized [active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale|remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls-by-pool<\/span><\/tt> \u7528\u4e8e\u7f57\u5217\u5b58\u50a8\u6c60 [poolname | poolid] \u5185\u7684\u5f52\u7f6e\u7ec4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg ls-by-pool &lt;poolstr&gt; {&lt;int&gt;} {active|\r\nclean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale| remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized [active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale|remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">ls-by-primary<\/span><\/tt> \u53ef\u7f57\u5217\u4e3b OSD \u4e3a [osd] \u7684\u5f52\u7f6e\u7ec4\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg ls-by-primary &lt;osdname (id|osd.id)&gt; {&lt;int&gt;}\r\n{active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale| remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized [active|clean|down|replay|splitting|\r\nscrubbing|scrubq|degraded|inconsistent|peering|repair|\r\nrecovery|backfill_wait|incomplete|stale|remapped|\r\ndeep_scrub|backfill|backfill_toofull|recovery_wait|\r\nundersized...]}<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">map<\/span><\/tt> \u663e\u793a\u5f52\u7f6e\u7ec4\u5230 OSD \u7684\u6620\u5c04\u5173\u7cfb\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg map &lt;pgid&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">repair<\/span><\/tt> \u5f00\u59cb\u4fee\u590d\u5f52\u7f6e\u7ec4 &lt;pgid&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg repair &lt;pgid&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">scrub<\/span><\/tt> \u5f00\u59cb\u6d17\u5237\u5f52\u7f6e\u7ec4 &lt;pgid&gt; \u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg scrub &lt;pgid&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set_full_ratio<\/span><\/tt> \u8bbe\u7f6e\u8ba4\u4e3a\u5f52\u7f6e\u7ec4\u5360\u6ee1\u7684\u6bd4\u7387\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg set_full_ratio &lt;float[0.0-1.0]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">set_nearfull_ratio<\/span><\/tt> \u8bbe\u7f6e\u8ba4\u4e3a\u5f52\u7f6e\u7ec4\u5c06\u8981\u5360\u6ee1\u7684\u6bd4\u7387\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg set_nearfull_ratio &lt;float[0.0-1.0]&gt;<\/pre>\n<\/div>\n<p>\u5b50\u547d\u4ee4 <tt class=\"docutils literal\"><span class=\"pre\">stat<\/span><\/tt> \u663e\u793a\u5f52\u7f6e\u7ec4\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph pg stat<\/pre>\n<\/div>\n<\/div>\n<div id=\"quorum\" class=\"section\">\n<h3>quorum<\/h3>\n<p>\u8fdb\u5165\u6216\u9000\u51fa\u6cd5\u5b9a\u4eba\u6570\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph quorum enter|exit<\/pre>\n<\/div>\n<\/div>\n<div id=\"quorum-status\" class=\"section\">\n<h3>quorum_status<\/h3>\n<p>\u62a5\u544a\u76d1\u89c6\u5668\u6cd5\u5b9a\u4eba\u6570\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph quorum_status<\/pre>\n<\/div>\n<\/div>\n<div id=\"report\" class=\"section\">\n<h3>report<\/h3>\n<p>\u62a5\u544a\u96c6\u7fa4\u7684\u5168\u90e8\u72b6\u6001\uff0c\u6807\u7b7e\u5b57\u7b26\u4e32\u53ef\u9009\u3002 Reports full status of cluster, optional title tag strings.<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph report {&lt;tags&gt; [&lt;tags&gt;...]}<\/pre>\n<\/div>\n<\/div>\n<div id=\"scrub\" class=\"section\">\n<h3>scrub<\/h3>\n<p>\u6d17\u5237\u76d1\u89c6\u5668\u7684\u5b58\u50a8\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph scrub<\/pre>\n<\/div>\n<\/div>\n<div id=\"status\" class=\"section\">\n<h3>status<\/h3>\n<p>\u663e\u793a\u96c6\u7fa4\u72b6\u6001\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph status<\/pre>\n<\/div>\n<\/div>\n<div id=\"sync-force\" class=\"section\">\n<h3>sync force<\/h3>\n<p>\u5f3a\u5236\u76d1\u89c6\u5668\u8fdb\u884c\u540c\u6b65\u3001\u5e76\u6e05\u9664\u5b58\u50a8\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph sync force {--yes-i-really-mean-it} {--i-know-what-i-am-doing}<\/pre>\n<\/div>\n<\/div>\n<div id=\"tell\" class=\"section\">\n<h3>tell<\/h3>\n<p>\u53d1\u547d\u4ee4\u7ed9\u6307\u5b9a\u5b88\u62a4\u8fdb\u7a0b\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph tell &lt;name (type.id)&gt; &lt;args&gt; [&lt;args&gt;...]<\/pre>\n<\/div>\n<\/div>\n<div id=\"version\" class=\"section\">\n<h3>version<\/h3>\n<p>\u663e\u793a\u76d1\u89c6\u5668\u5b88\u62a4\u8fdb\u7a0b\u7684\u7248\u672c\u3002<\/p>\n<p>\u7528\u6cd5\uff1a<\/p>\n<div class=\"highlight-python\">\n<pre>ceph version<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"id4\" class=\"section\">\n<h2>\u9009\u9879<\/h2>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-i\"><tt class=\"descname\">-i<\/tt><tt class=\"descclassname\"> infile<\/tt><\/dt>\n<dd>\u6307\u5b9a\u4e00\u4e2a\u8f93\u5165\u6587\u4ef6\uff0c\u5b83\u5c06\u4f5c\u4e3a\u8f7d\u8377\u4e0e\u547d\u4ee4\u4e00\u8d77\u4f20\u9012\u7ed9\u76d1\u89c6\u5668\u96c6\u7fa4\u3002\u4ec5\u7528\u4e8e\u67d0\u4e9b\u7279\u5b9a\u7684\u76d1\u89c6\u5668\u547d\u4ee4\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-o\"><tt class=\"descname\">-o<\/tt><tt class=\"descclassname\"> outfile<\/tt><\/dt>\n<dd>\u628a\u54cd\u5e94\u4e2d\u76d1\u89c6\u5668\u96c6\u7fa4\u8fd4\u56de\u7684\u8f7d\u8377\u5199\u5165 outfile \u6587\u4ef6\u3002\u53ea\u6709\u67d0\u4e9b\u7279\u5b9a\u7684\u76d1\u89c6\u5668\u547d\u4ee4\uff08\u5982 psd getmap \uff09\u4f1a\u8fd4\u56de\u8f7d\u8377\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-c\"><tt class=\"descname\">-c<\/tt><tt class=\"descclassname\"> ceph.conf<\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--conf<\/tt><tt class=\"descclassname\">=ceph.conf<\/tt><\/dt>\n<dd>\u7528 ceph.conf \u914d\u7f6e\u6587\u4ef6\u800c\u975e\u9ed8\u8ba4\u7684 <tt class=\"docutils literal\"><span class=\"pre\">\/etc\/ceph\/ceph.conf<\/span><\/tt> \u6765\u786e\u5b9a\u542f\u52a8\u65f6\u6240\u7528\u7684\u76d1\u89c6\u5668\u5730\u5740\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--id\"><tt class=\"descname\">--id<\/tt><tt class=\"descclassname\"> CLIENT_ID<\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--user<\/tt><tt class=\"descclassname\"> CLIENT_ID<\/tt><\/dt>\n<dd>\u7528\u4e8e\u8ba4\u8bc1\u7684\u5ba2\u6237\u7aef ID \u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--name\"><tt class=\"descname\">--name<\/tt><tt class=\"descclassname\"> CLIENT_NAME<\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">-n<\/tt><tt class=\"descclassname\"> CLIENT_NAME<\/tt><\/dt>\n<dd>\u7528\u4e8e\u8ba4\u8bc1\u7684\u5ba2\u6237\u7aef\u540d\u5b57\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--cluster\"><tt class=\"descname\">--cluster<\/tt><tt class=\"descclassname\"> CLUSTER<\/tt><\/dt>\n<dd>Ceph \u96c6\u7fa4\u540d\u5b57\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--admin-socket\"><tt class=\"descname\">--admin-socket<\/tt><tt class=\"descclassname\"> ADMIN_SOCKET<\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--admin-socket<\/tt><tt class=\"descclassname\"> DAEMON_NAME<\/tt><\/dt>\n<dd>\u63d0\u4ea4\u7ba1\u7406\u5957\u63a5\u5b57\u547d\u4ee4\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--admin-socket\"><tt class=\"descname\">--admin-socket<\/tt><tt class=\"descclassname\"> ADMIN_SOCKET_NOPE<\/tt><\/dt>\n<dd>\u4f60\u4e5f\u8bb8\u60f3\u8981\u7684\u662f \u2013admin-daemon \u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-s\"><tt class=\"descname\">-s<\/tt><tt class=\"descclassname\"><\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--status<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u663e\u793a\u96c6\u7fa4\u72b6\u6001\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-w\"><tt class=\"descname\">-w<\/tt><tt class=\"descclassname\"><\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--watch<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u96c6\u7fa4\u7684\u5b9e\u65f6\u72b6\u6001\u53d8\u66f4\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--watch-debug\"><tt class=\"descname\">--watch-debug<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u8c03\u8bd5\u4e8b\u4ef6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--watch-info\"><tt class=\"descname\">--watch-info<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u4e00\u822c\u4fe1\u606f\u4e8b\u4ef6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--watch-sec\"><tt class=\"descname\">--watch-sec<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u5b89\u5168\u4e8b\u4ef6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--watch-warn\"><tt class=\"descname\">--watch-warn<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u544a\u8b66\u4e8b\u4ef6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--watch-error\"><tt class=\"descname\">--watch-error<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u76ef\u7740\u9519\u8bef\u4e8b\u4ef6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--version\"><tt class=\"descname\">--version<\/tt><tt class=\"descclassname\"><\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">-v<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u663e\u793a\u7248\u672c\u53f7\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--verbose\"><tt class=\"descname\">--verbose<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u4f7f\u8f93\u51fa\u66f4\u8be6\u7ec6\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--concise\"><tt class=\"descname\">--concise<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u4f7f\u8f93\u51fa\u7b80\u6d01\u4e9b\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph-f\"><tt class=\"descname\">-f<\/tt><tt class=\"descclassname\"> {json,json-pretty,xml,xml-pretty,plain}<\/tt><tt class=\"descclassname\">, <\/tt><tt class=\"descname\">--format<\/tt><tt class=\"descclassname\"><\/tt><\/dt>\n<dd>\u8f93\u51fa\u683c\u5f0f\u3002<\/dd>\n<\/dl>\n<dl class=\"option\">\n<dt id=\"cmdoption-ceph--connect-timeout\"><tt class=\"descname\">--connect-timeout<\/tt><tt class=\"descclassname\"> CLUSTER_TIMEOUT<\/tt><\/dt>\n<dd>\u8bbe\u7f6e\u8fde\u63a5\u96c6\u7fa4\u7684\u8d85\u65f6\u503c\u3002<\/dd>\n<\/dl>\n<\/div>\n<div id=\"id5\" class=\"section\">\n<h2>\u4f7f\u7528\u8303\u56f4<\/h2>\n<p><strong class=\"program\">ceph<\/strong> \u662f Ceph \u7684\u4e00\u90e8\u5206\uff0c\u8fd9\u662f\u4e2a\u4f38\u7f29\u529b\u5f3a\u3001\u5f00\u6e90\u3001\u5206\u5e03\u5f0f\u7684\u5b58\u50a8\u7cfb\u7edf<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p>\u6587\u7ae0\u6765\u6e90\uff1a<\/p>\n<p><a href=\"http:\/\/docs.ceph.org.cn\/man\/8\/ceph\/\" target=\"_blank\" rel=\"noopener\">http:\/\/docs.ceph.org.cn\/man\/8\/ceph\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ceph \u2013 Ceph \u7ba1\u7406\u5de5\u5177 \u63d0\u7eb2 ceph auth [ add | ca &hellip; <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/1167\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[292],"tags":[],"class_list":["post-1167","post","type-post","status-publish","format-standard","hentry","category-storage"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/1167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=1167"}],"version-history":[{"count":0,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/1167\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=1167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=1167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=1167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}