{"id":5247,"date":"2021-10-24T14:56:08","date_gmt":"2021-10-24T06:56:08","guid":{"rendered":"http:\/\/blog.ywdevops.cn\/?p=5247"},"modified":"2026-08-07T18:23:21","modified_gmt":"2026-08-07T10:23:21","slug":"fastdfs","status":"publish","type":"post","link":"https:\/\/blog.ywdevops.cn\/index.php\/2021\/10\/24\/fastdfs\/","title":{"rendered":"fastdfs\u670d\u52a1\u5668\u642d\u5efa\u4e0e\u7ef4\u62a4"},"content":{"rendered":"\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e00\u3001fastdfs\u4ecb\u7ecd<\/mark><\/strong><\/p>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">FastDFS\u662f\u4e00\u6b3e\u7c7bGoogle FS\u7684\u5f00\u6e90\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff0c\u5b83\u7528\u7eafC\u8bed\u8a00\u5b9e\u73b0\uff0c\u652f\u6301Linux\u3001FreeBSD\u3001AIX\u7b49UNIX\u7cfb\u7edf\u3002\u5b83\u53ea\u80fd\u901a\u8fc7 \u4e13\u6709API\u5bf9\u6587\u4ef6\u8fdb\u884c\u5b58\u53d6\u8bbf\u95ee\uff0c\u4e0d\u652f\u6301POSIX\u63a5\u53e3\u65b9\u5f0f\uff0c\u4e0d\u80fdmount\u4f7f\u7528\u3002\u51c6\u786e\u5730\u8bb2\uff0cGoogle FS\u4ee5\u53caFastDFS\u3001mogileFS\u3001 HDFS\u3001TFS\u7b49\u7c7bGoogle FS\u90fd\u4e0d\u662f\u7cfb\u7edf\u7ea7\u7684\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff0c\u800c\u662f\u5e94\u7528\u7ea7\u7684\u5206\u5e03\u5f0f\u6587\u4ef6\u5b58\u50a8\u670d\u52a1\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u9ad8\u6027\u80fd\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff08DFS\uff09\u3002 \u5b83\u7684\u4e3b\u8981\u529f\u80fd\u5305\u62ec\uff1a\u6587\u4ef6\u5b58\u50a8\uff0c\u6587\u4ef6\u540c\u6b65\u548c\u6587\u4ef6\u8bbf\u95ee\uff0c\u4ee5\u53ca\u9ad8\u5bb9\u91cf\u548c\u8d1f\u8f7d\u5e73\u8861\u3002\u4e3b\u8981\u89e3\u51b3\u4e86\u6d77\u91cf\u6570\u636e\u5b58\u50a8\u95ee\u9898\uff0c\u7279\u522b\u9002\u5408\u4ee5\u4e2d\u5c0f\u6587\u4ef6\uff08\u5efa\u8bae\u8303\u56f4\uff1a4KB &lt; file_size &lt;500MB\uff09\u4e3a\u8f7d\u4f53\u7684\u5728\u7ebf\u670d\u52a1\u3002 <\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e8c\u3001\u67b6\u6784<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS\u67b6\u6784\u5305\u62ec Tracker server\u548cStorage server\u3002\u5ba2\u6237\u7aef\u8bf7\u6c42Tracker server\u8fdb\u884c\u6587\u4ef6\u4e0a\u4f20\u3001\u4e0b\u8f7d\uff0c\u901a\u8fc7Trackerserver\u8c03\u5ea6\u6700\u7ec8\u7531Storage server\u5b8c\u6210\u6587\u4ef6\u4e0a\u4f20\u548c\u4e0b\u8f7d\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS \u7cfb\u7edf\u6709\u4e09\u4e2a\u89d2\u8272\uff1a\u8ddf\u8e2a\u670d\u52a1\u5668(Tracker Server)\u3001\u5b58\u50a8\u670d\u52a1\u5668(Storage Server)\u548c\u5ba2\u6237\u7aef(Client)\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tracker Server\uff1a\u8ddf\u8e2a\u670d\u52a1\u5668\uff0c\u4e3b\u8981\u505a\u8c03\u5ea6\u5de5\u4f5c\uff0c\u8d77\u5230\u5747\u8861\u7684\u4f5c\u7528\uff1b\u8d1f\u8d23\u7ba1\u7406\u6240\u6709\u7684 storage server\u548c group\uff0c\u6bcf\u4e2a storage \u5728\u542f\u52a8\u540e\u4f1a\u8fde\u63a5 Tracker\uff0c\u544a\u77e5\u81ea\u5df1\u6240\u5c5e group \u7b49\u4fe1\u606f\uff0c\u5e76\u4fdd\u6301\u5468\u671f\u6027\u5fc3\u8df3\u3002\u901a\u8fc7Trackerserver\u5728\u6587\u4ef6\u4e0a\u4f20\u65f6\u53ef\u4ee5\u6839\u636e\u4e00\u4e9b\u7b56\u7565\u627e\u5230Storageserver\u63d0\u4f9b\u6587\u4ef6\u4e0a\u4f20\u670d\u52a1\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Storage Server<\/strong>\uff1a\u5b58\u50a8\u670d\u52a1\u5668\uff0c\u4e3b\u8981\u63d0\u4f9b\u5bb9\u91cf\u548c\u5907\u4efd\u670d\u52a1\uff1b\u4ee5 group \u4e3a\u5355\u4f4d\uff0c\u6bcf\u4e2a group \u5185\u53ef\u4ee5\u6709\u591a\u53f0 storage server\uff0c\u6570\u636e\u4e92\u4e3a\u5907\u4efd\u3002Storage server\u6ca1\u6709\u5b9e\u73b0\u81ea\u5df1\u7684\u6587\u4ef6\u7cfb\u7edf\u800c\u662f\u5229\u7528\u64cd\u4f5c\u7cfb\u7edf \u7684\u6587\u4ef6\u7cfb\u7edf\u6765\u7ba1\u7406\u6587\u4ef6\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Client<\/strong>\uff1a\u5ba2\u6237\u7aef\uff0c\u4e0a\u4f20\u4e0b\u8f7d\u6570\u636e\u7684\u670d\u52a1\u5668\uff0c\u4e5f\u5c31\u662f\u6211\u4eec\u81ea\u5df1\u7684\u9879\u76ee\u6240\u90e8\u7f72\u5728\u7684\u670d\u52a1\u5668\u3002  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u67b6\u6784\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"691\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/1-3.png\" alt=\"\" class=\"wp-image-5248\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/1-3.png 972w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/1-3-300x213.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/1-3-768x546.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/1-3-600x427.png 600w\" sizes=\"auto, (max-width: 768px) calc(100vw - 40px), (max-width: 1200px) 550px, (max-width: 1400px) 730px, 880px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001Tracker \u96c6\u7fa4\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS\u96c6\u7fa4\u4e2d\u7684Tracker server\u53ef\u4ee5\u6709\u591a\u53f0\uff0cTrackerserver\u4e4b\u95f4\u662f\u76f8\u4e92\u5e73\u7b49\u5173\u7cfb\u540c\u65f6\u63d0\u4f9b\u670d\u52a1\uff0cTrackerserver\u4e0d\u5b58\u5728\u5355\u70b9\u6545\u969c\u3002\u5ba2\u6237\u7aef\u8bf7\u6c42Trackerserver\u91c7\u7528\u8f6e\u8be2\u65b9\u5f0f\uff0c\u5982\u679c\u8bf7\u6c42\u7684tracker\u65e0\u6cd5\u63d0\u4f9b\u670d\u52a1\u5219\u6362\u53e6\u4e00\u4e2atracker\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001Storage&nbsp;\u96c6\u7fa4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3a\u4e86\u652f\u6301\u5927\u5bb9\u91cf\uff0c\u5b58\u50a8\u8282\u70b9\uff08\u670d\u52a1\u5668\uff09\u91c7\u7528\u4e86\u5206\u5377\uff08\u6216\u5206\u7ec4\uff09\u7684\u7ec4\u7ec7\u65b9\u5f0f\u3002\u5b58\u50a8\u7cfb\u7edf\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u5377\u7ec4\u6210\uff0c\u5377\u4e0e\u5377\u4e4b\u95f4\u7684\u6587\u4ef6\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u6240\u6709\u5377\u7684\u6587\u4ef6\u5bb9\u91cf\u7d2f\u52a0\u5c31\u662f\u6574\u4e2a\u5b58\u50a8\u7cfb\u7edf\u4e2d\u7684\u6587\u4ef6\u5bb9\u91cf\u3002  \u4e00\u4e2a\u5377\u7531\u4e00\u53f0\u6216\u591a\u53f0\u5b58\u50a8\u670d\u52a1\u5668\u7ec4\u6210\uff0c\u5377\u5185\u7684Storage server\u4e4b\u95f4\u662f\u5e73\u7b49\u5173\u7cfb\uff0c\u4e0d\u540c\u5377\u7684Storageserver\u4e4b\u95f4\u4e0d\u4f1a\u76f8\u4e92\u901a\u4fe1\uff0c\u540c\u5377\u5185\u7684Storageserver\u4e4b\u95f4\u4f1a\u76f8\u4e92\u8fde\u63a5\u8fdb\u884c\u6587\u4ef6\u540c\u6b65\uff0c\u4ece\u800c\u4fdd\u8bc1\u540c\u7ec4\u5185\u6bcf\u4e2astorage\u4e0a\u7684\u6587\u4ef6\u5b8c\u5168\u4e00\u81f4\u7684\u3002  \u4e00\u4e2a\u5377\u7684\u5b58\u50a8\u5bb9\u91cf\u4e3a\u8be5\u7ec4\u5185\u5b58\u50a8\u670d\u52a1\u5668\u5bb9\u91cf\u6700\u5c0f\u7684\u90a3\u4e2a(\u56e0\u4e3a\u6bcf\u4e2astorageserver\u6587\u4ef6\u4e00\u81f4\uff0c\u6700\u5c0f\u5b58\u50a8\u7684\u670d\u52a1\u5668\u5df2\u8fbe\u4e0a\u9650)\uff0c\u7531\u6b64\u53ef\u89c1\u7ec4\u5185\u5b58\u50a8\u670d\u52a1\u5668\u7684\u8f6f\u786c\u4ef6\u914d\u7f6e\u6700\u597d\u662f\u4e00\u81f4\u7684\uff0c \u5377\u4e2d\u7684\u591a\u53f0\u5b58\u50a8\u670d\u52a1\u5668\u8d77\u5230\u4e86\u5197\u4f59\u5907\u4efd\u548c\u8d1f\u8f7d\u5747\u8861\u7684\u4f5c\u7528\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5377\u4e2d\u589e\u52a0\u670d\u52a1\u5668\u65f6\uff0c\u540c\u6b65\u5df2\u6709\u7684\u6587\u4ef6\u7531\u7cfb\u7edf\u81ea\u52a8\u5b8c\u6210\uff0c\u540c\u6b65\u5b8c\u6210\u540e\uff0c\u7cfb\u7edf\u81ea\u52a8\u5c06\u65b0\u589e\u670d\u52a1\u5668\u5207\u6362\u5230\u7ebf\u4e0a\u63d0\u4f9b\u670d\u52a1\u3002\u5f53\u5b58\u50a8\u7a7a\u95f4\u4e0d\u8db3\u6216\u5373\u5c06\u8017\u5c3d\u65f6\uff0c\u53ef\u4ee5\u52a8\u6001\u6dfb\u52a0\u5377\u3002\u53ea\u9700\u8981\u589e\u52a0\u4e00\u53f0\u6216\u591a\u53f0\u670d\u52a1\u5668\uff0c\u5e76\u5c06\u5b83\u4eec\u914d\u7f6e\u4e3a\u4e00\u4e2a\u65b0\u7684\u5377\uff0c\u8fd9\u6837\u5c31\u6269\u5927\u4e86\u5b58\u50a8\u7cfb\u7edf\u7684\u5bb9\u91cf\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u91c7\u7528\u5206\u7ec4\u5b58\u50a8\u65b9\u5f0f\u7684\u597d\u5904\u662f\u7075\u6d3b\u3001\u53ef\u63a7\u6027\u8f83\u5f3a\u3002\u6bd4\u5982\u4e0a\u4f20\u6587\u4ef6\u65f6\uff0c\u53ef\u4ee5\u7531\u5ba2\u6237\u7aef\u76f4\u63a5\u6307\u5b9a\u4e0a\u4f20\u5230\u7684\u7ec4\u4e5f\u53ef\u4ee5\u7531tracker\u8fdb\u884c\u8c03\u5ea6\u9009\u62e9\u3002\u4e00\u4e2a\u5206\u7ec4\u7684\u5b58\u50a8\u670d\u52a1\u5668\u8bbf\u95ee\u538b\u529b\u8f83\u5927\u65f6\uff0c\u53ef\u4ee5\u5728\u8be5\u7ec4\u589e\u52a0\u5b58\u50a8\u670d\u52a1\u5668\u6765\u6269\u5145\u670d\u52a1\u80fd\u529b\uff08\u7eb5\u5411\u6269\u5bb9\uff09\u3002\u5f53\u7cfb\u7edf\u5bb9\u91cf\u4e0d\u8db3\u65f6\uff0c\u53ef\u4ee5\u589e\u52a0\u7ec4\u6765\u6269\u5145\u5b58\u50a8\u5bb9\u91cf\uff08\u6a2a\u5411\u6269\u5bb9\uff09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Storage&nbsp;server\u4f1a\u8fde\u63a5\u96c6\u7fa4\u4e2d\u6240\u6709\u7684Tracker&nbsp;server\uff0c\u5b9a\u65f6\u5411\u4ed6\u4eec\u62a5\u544a\u81ea\u5df1\u7684\u72b6\u6001\uff0c\u5305\u62ec\u78c1\u76d8\u5269\u4f59\u7a7a\u95f4\u3001\u6587\u4ef6\u540c\u6b65\u72b6\u51b5\u3001\u6587\u4ef6\u4e0a\u4f20\u4e0b\u8f7d\u6b21\u6570\u7b49\u7edf\u8ba1\u4fe1\u606f\u3002  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001fastdfs\u7684\u4e0a\u4f20\u8fc7\u7a0b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS\u5411\u4f7f\u7528\u8005\u63d0\u4f9b\u57fa\u672c\u6587\u4ef6\u8bbf\u95ee\u63a5\u53e3\uff0c\u6bd4\u5982upload\u3001download\u3001append\u3001delete\u7b49\uff0c\u4ee5\u5ba2\u6237\u7aef\u5e93\u7684\u65b9\u5f0f\u63d0\u4f9b\u7ed9\u7528\u6237\u4f7f\u7528\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Storage Server\u4f1a\u5b9a\u671f\u7684\u5411Tracker Server\u53d1\u9001\u81ea\u5df1\u7684\u5b58\u50a8\u4fe1\u606f\u3002\u5f53Tracker Server Cluster\u4e2d\u7684Tracker Server\u4e0d\u6b62\u4e00\u4e2a\u65f6\uff0c\u5404\u4e2aTracker\u4e4b\u95f4\u7684\u5173\u7cfb\u662f\u5bf9\u7b49\u7684\uff0c\u6240\u4ee5\u5ba2\u6237\u7aef\u4e0a\u4f20\u65f6\u53ef\u4ee5\u9009\u62e9\u4efb\u610f\u4e00\u4e2aTracker\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53Tracker\u6536\u5230\u5ba2\u6237\u7aef\u4e0a\u4f20\u6587\u4ef6\u7684\u8bf7\u6c42\u65f6\uff0c\u4f1a\u4e3a\u8be5\u6587\u4ef6\u5206\u914d\u4e00\u4e2a\u53ef\u4ee5\u5b58\u50a8\u6587\u4ef6\u7684group\uff0c\u5f53\u9009\u5b9a\u4e86group\u540e\u5c31\u8981\u51b3\u5b9a\u7ed9\u5ba2\u6237\u7aef\u5206\u914dgroup\u4e2d\u7684\u54ea\u4e00\u4e2astorage server\u3002\u5f53\u5206\u914d\u597dstorage server\u540e\uff0c\u5ba2\u6237\u7aef\u5411storage\u53d1\u9001\u5199\u6587\u4ef6\u8bf7\u6c42\uff0cstorage\u5c06\u4f1a\u4e3a\u6587\u4ef6\u5206\u914d\u4e00\u4e2a\u6570\u636e\u5b58\u50a8\u76ee\u5f55\u3002\u7136\u540e\u4e3a\u6587\u4ef6\u5206\u914d\u4e00\u4e2afileid\uff0c\u6700\u540e\u6839\u636e\u4ee5\u4e0a\u7684\u4fe1\u606f\u751f\u6210\u6587\u4ef6\u540d\u5b58\u50a8\u6587\u4ef6\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2-1024x561.png\" alt=\"\" class=\"wp-image-5249\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2-1024x561.png 1024w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2-300x164.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2-768x421.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2-600x329.png 600w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/2-2.png 1042w\" sizes=\"auto, (max-width: 768px) calc(100vw - 40px), (max-width: 1200px) 550px, (max-width: 1400px) 730px, 880px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5ba2\u6237\u7aef\u4e0a\u4f20\u6587\u4ef6\u540e\u5b58\u50a8\u670d\u52a1\u5668\u5c06\u6587\u4ef6ID\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\uff0c\u6b64\u6587\u4ef6ID\u7528\u4e8e\u4ee5\u540e\u8bbf\u95ee\u8be5\u6587\u4ef6\u7684\u7d22\u5f15\u4fe1\u606f\u3002\u6587\u4ef6\u7d22\u5f15\u4fe1\u606f\u5305\u62ec\uff1a\u7ec4\u540d\uff0c\u865a\u62df\u78c1\u76d8\u8def\u5f84\uff0c\u6570\u636e\u4e24\u7ea7\u76ee\u5f55\uff0c\u6587\u4ef6\u540d\u3002 \u4f8b\u5982\uff1agroup1\/M00\/02\/44\/abcdefgh.sh<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li> \u7ec4\u540d\uff1a\u6587\u4ef6\u4e0a\u4f20\u540e\u6240\u5728\u7684storage\u7ec4\u540d\u79f0\uff0c\u5728\u6587\u4ef6\u4e0a\u4f20\u6210\u529f\u540e\u6709storage\u670d\u52a1\u5668\u8fd4\u56de\uff0c\u9700\u8981\u5ba2\u6237\u7aef\u81ea\u884c\u4fdd\u5b58\u3002 <\/li>\n\n\n\n<li> \u865a\u62df\u78c1\u76d8\u8def\u5f84\uff1astorage\u914d\u7f6e\u7684\u865a\u62df\u8def\u5f84\uff0c\u4e0e\u78c1\u76d8\u9009\u9879store_path*\u5bf9\u5e94\u3002\u5982\u679c\u914d\u7f6e\u4e86store_path0\u5219\u662fM00\uff0c\u5982\u679c\u914d\u7f6e\u4e86store_path1\u5219\u662fM01\uff0c\u4ee5\u6b64\u7c7b\u63a8\u3002 <\/li>\n\n\n\n<li> \u6570\u636e\u4e24\u7ea7\u76ee\u5f55\uff1astorage\u670d\u52a1\u5668\u5728\u6bcf\u4e2a\u865a\u62df\u78c1\u76d8\u8def\u5f84\u4e0b\u521b\u5efa\u7684\u4e24\u7ea7\u76ee\u5f55\uff0c\u7528\u4e8e\u5b58\u50a8\u6570\u636e\u6587\u4ef6\u3002 <\/li>\n\n\n\n<li> \u6587\u4ef6\u540d\uff1a\u4e0e\u6587\u4ef6\u4e0a\u4f20\u65f6\u4e0d\u540c\u3002\u662f\u7531\u5b58\u50a8\u670d\u52a1\u5668\u6839\u636e\u7279\u5b9a\u4fe1\u606f\u751f\u6210\uff0c\u6587\u4ef6\u540d\u5305\u542b\uff1a\u6e90\u5b58\u50a8\u670d\u52a1\u5668IP\u5730\u5740\u3001\u6587\u4ef6\u521b\u5efa\u65f6\u95f4\u6233\u3001\u6587\u4ef6\u5927\u5c0f\u3001\u968f\u673a\u6570\u548c\u6587\u4ef6\u62d3\u5c55\u540d\u7b49\u4fe1\u606f\u3002 <\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001<strong>FastDFS\u7684\u6587\u4ef6\u540c\u6b65<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5199\u6587\u4ef6\u65f6\uff0c\u5ba2\u6237\u7aef\u5c06\u6587\u4ef6\u5199\u81f3group\u5185\u4e00\u4e2astorage server\u5373\u8ba4\u4e3a\u5199\u6587\u4ef6\u6210\u529f\uff0cstorage server\u5199\u5b8c\u6587\u4ef6\u540e\uff0c\u4f1a\u7531\u540e\u53f0\u7ebf\u7a0b\u5c06\u6587\u4ef6\u540c\u6b65\u81f3\u540cgroup\u5185\u5176\u4ed6\u7684storage server\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6bcf\u4e2astorage\u5199\u6587\u4ef6\u540e\uff0c\u540c\u65f6\u4f1a\u5199\u4e00\u4efdbinlog\uff0cbinlog\u91cc\u4e0d\u5305\u542b\u6587\u4ef6\u6570\u636e\uff0c\u53ea\u5305\u542b\u6587\u4ef6\u540d\u7b49\u5143\u4fe1\u606f\uff0c\u8fd9\u4efdbinlog\u7528\u4e8e\u540e\u53f0\u540c\u6b65\uff0cstorage\u4f1a\u8bb0\u5f55\u5411group\u5185\u5176\u4ed6storage\u540c\u6b65\u7684\u8fdb\u5ea6\uff0c\u4ee5\u4fbf\u91cd\u542f\u540e\u80fd\u63a5\u4e0a\u6b21\u7684\u8fdb\u5ea6\u7ee7\u7eed\u540c\u6b65\uff1b\u8fdb\u5ea6\u4ee5\u65f6\u95f4\u6233\u7684\u65b9\u5f0f\u8fdb\u884c\u8bb0\u5f55\uff0c\u6240\u4ee5\u6700\u597d\u80fd\u4fdd\u8bc1\u96c6\u7fa4\u5185\u6240\u6709server\u7684\u65f6\u949f\u4fdd\u6301\u540c\u6b65\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">storage\u7684\u540c\u6b65\u8fdb\u5ea6\u4f1a\u4f5c\u4e3a\u5143\u6570\u636e\u7684\u4e00\u90e8\u5206\u6c47\u62a5\u5230tracker\u4e0a\uff0ctracke\u5728\u9009\u62e9\u8bfbstorage\u7684\u65f6\u5019\u4f1a\u4ee5\u540c\u6b65\u8fdb\u5ea6\u4f5c\u4e3a\u53c2\u8003\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5\u3001<strong>FastDFS\u7684\u6587\u4ef6\u4e0b\u8f7d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5ba2\u6237\u7aefuploadfile\u6210\u529f\u540e\uff0c\u4f1a\u62ff\u5230\u4e00\u4e2astorage\u751f\u6210\u7684\u6587\u4ef6\u540d\uff0c\u63a5\u4e0b\u6765\u5ba2\u6237\u7aef\u6839\u636e\u8fd9\u4e2a\u6587\u4ef6\u540d\u5373\u53ef\u8bbf\u95ee\u5230\u8be5\u6587\u4ef6\u3002 <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"470\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3-1024x470.png\" alt=\"\" class=\"wp-image-5251\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3-1024x470.png 1024w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3-300x138.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3-768x353.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3-600x275.png 600w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/3-3.png 1037w\" sizes=\"auto, (max-width: 768px) calc(100vw - 40px), (max-width: 1200px) 550px, (max-width: 1400px) 730px, 880px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8ddfupload file\u4e00\u6837\uff0c\u5728downloadfile\u65f6\u5ba2\u6237\u7aef\u53ef\u4ee5\u9009\u62e9\u4efb\u610ftracker server\uff0c client\u53d1\u9001download\u8bf7\u6c42\u7ed9\u67d0\u4e2atracker\uff0c\u5fc5\u987b\u5e26\u4e0a\u6587\u4ef6\u540d\u4fe1\u606f\uff0ctracke\u4ece\u6587\u4ef6\u540d\u4e2d\u89e3\u6790\u51fa\u6587\u4ef6\u7684group\u3001\u5927\u5c0f\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u7136\u540e\u4e3a\u8be5\u8bf7\u6c42\u9009\u62e9\u4e00\u4e2astorage\u7528\u6765\u670d\u52a1\u8bfb\u8bf7\u6c42<\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e09\u3001\u5b89\u88c5\u90e8\u7f72(\u5355\u673a\u7248)<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1\u3001\u73af\u5883\u51c6\u5907\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7cfb\u7edf\uff1a centos7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001<strong>\u5b89\u88c5GCC\u73af\u5883<\/strong>\u548cPerl\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001<strong>\u5b89\u88c5libevent<\/strong>\uff1a     <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FastDFS\u4f9d\u8d56libevent\u5e93\uff0c\u9700\u8981\u5b89\u88c5\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> yum -y install libevent <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4\u3001\u5b89\u88c5libfastcommon\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> libfastcommon\u662fFastDFS\u5b98\u65b9\u63d0\u4f9b\u7684\uff0clibfastcommon\u5305\u542b\u4e86FastDFS\u8fd0\u884c\u6240\u9700\u8981\u7684\u4e00\u4e9b\u57fa\u7840\u5e93\uff0c \u4e0b\u8f7d\u5730\u5740\uff1a&nbsp;<a href=\"https:\/\/github.com\/happyfish100\/libfastcommon\/releases\">https:\/\/github.com\/happyfish100\/libfastcommon\/releases<\/a>&nbsp;\u9009\u62e9\u5408\u9002\u7684\u7248\u672c \uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone https:\/\/github.com\/happyfish100\/libfastcommon.git --depth 1\u4e0b\u8f7d<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u521b\u5efa\u76ee\u5f55\uff0c\u5e76\u8fdb\u5165\u5230\u76ee\u5f55\u4e2d\nmkdir \/usr\/local\/fastdfs &amp;&amp;  cd \/usr\/local\/fastfds\n#\u8fdb\u5165\u5230\u81ea\u5b9a\u4e49\u76ee\u5f55\u4e2d\uff0c\u5c06\u5b89\u88c5\u5305\u4e0a\u4f20\u5230\u673a\u5668\u4e2d\nrz -y  libfastcommon-1.0.52.tar.gz\n#\u5c06\u5b89\u88c5\u5305\u8fdb\u884c\u89e3\u538b\u7f29\ntar xf libfastcommon-1.0.52.tar.gz\n#\u8fdb\u5165\u89e3\u538b\u540e\u7684\u76ee\u5f55\ncd  libfastcommon-1.0.52\n#\u6267\u884c\u547d\u4ee4\u8fdb\u884c\u7f16\u8bd1\u548c\u5b89\u88c5\n.\/make.sh\n.\/make.sh install<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5\u3001\u5b89\u88c5FastDFS\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> \u4e0b\u8f7d\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/happyfish100\/fastdfs\/releases\">https:\/\/github.com\/happyfish100\/fastdfs\/releases<\/a>&nbsp;\u9009\u62e9\u5408\u9002\u7684\u7248\u672c \uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone https:\/\/github.com\/happyfish100\/fastdfs.git --depth 1\u4e0b\u8f7d<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u8fdb\u5165\u76ee\u5f55\u4e2d\ncd \/usr\/local\/fastdfs\n#\u5c06\u5b89\u88c5\u5305\u4e0a\u4f20\u5230\u76ee\u5f55\u4e2d\u5e76\u89e3\u538b\nrz -y fastdfs-6.07.tar.gz\n#\u8fdb\u5165\u5230\u89e3\u538b\u540e\u7684\u76ee\u5f55\u4e2d\ncd fastdfs-6.07\n#\u6267\u884c\u547d\u4ee4\u8fdb\u884c\u7f16\u8bd1\u548c\u5b89\u88c5 \n.\/make.sh\n.make.sh install\n#\u6ce8\u610f\uff1a\u5982\u679c\u7f16\u8bd1\u51fa\u9519\u8bef\u53ef\u4ee5\u5148\u6267\u884c.\/make.sh clean \u6e05\u9664\uff0c\u7136\u540e\u91cd\u65b0\u6267\u884c.\/make.sh\u5373\u53ef<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5728\/etc\/init.d\/\u4e2d\u53ef\u4ee5\u770b\u5230\u8ddf\u8e2a\u5668\u548c\u5b58\u50a8\u5668\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"252\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/4-2.png\" alt=\"\" class=\"wp-image-5256\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/4-2.png 785w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/4-2-300x96.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/4-2-768x247.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/4-2-600x193.png 600w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6e\u6587\u4ef6\u51c6\u5907\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u914d\u7f6e\u6587\u4ef6\u51c6\u5907\ncp \/etc\/fdfs\/tracker.conf.sample \/etc\/fdfs\/tracker.conf\ncp \/etc\/fdfs\/storage.conf.sample \/etc\/fdfs\/storage.conf\ncp \/etc\/fdfs\/client.conf.sample \/etc\/fdfs\/client.conf #\u5ba2\u6237\u7aef\u6587\u4ef6\uff0c\u6d4b\u8bd5\u7528\ncp \/usr\/local\/fastdfs\/fastdfs-6.07\/conf\/http.conf \/etc\/fdfs\/ #\u4f9bnginx\u8bbf\u95ee\u4f7f\u7528\ncp \/usr\/local\/fastdfs\/fastdfs-6.07\/conf\/mime.types \/etc\/fdfs\/ #\u4f9bnginx\u8bbf\u95ee\u4f7f\u7528<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6e\u6587\u4ef6\u5728\u8def\u5f84\/etc\/fdfs\u76ee\u5f55\u4e0b\uff0cmod_fastdfs.conf\u662f\u540e\u7eed\u6a21\u5757\u4f1a\u7528\u7684\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"774\" height=\"235\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/9-2.png\" alt=\"\" class=\"wp-image-5271\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/9-2.png 774w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/9-2-300x91.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/9-2-768x233.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/9-2-600x182.png 600w\" sizes=\"auto, (max-width: 774px) 100vw, 774px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> \u547d\u4ee4\u5de5\u5177\u5728 \/usr\/bin\/ \u76ee\u5f55\u4e0b\uff1a <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fdfs_appender_test\nfdfs_appender_test1\nfdfs_append_file\nfdfs_crc32\nfdfs_delete_file\nfdfs_download_file\nfdfs_file_info\nfdfs_monitor\nfdfs_storaged\nfdfs_test\nfdfs_test1\nfdfs_trackerd\nfdfs_upload_appender\nfdfs_upload_file\nstop.sh\nrestart.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6\u3001\u914d\u7f6eFastDFS\u8ddf\u8e2a\u5668(Tracker)<\/strong>\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165 \/etc\/fdfs\uff0c\u590d\u5236 FastDFS \u8ddf\u8e2a\u5668\u6837\u4f8b\u914d\u7f6e\u6587\u4ef6 tracker.conf.sample\uff0c\u5e76\u91cd\u547d\u540d\u4e3a tracker.conf\uff0c\u7f16\u8f91tracker.conf\uff0c\u4fee\u6539\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u914d\u7f6e\u6587\u4ef6\u662f\u5426\u4e0d\u751f\u6548\uff0cfalse \u4e3a\u751f\u6548\ndisabled=false\n# \u63d0\u4f9b\u670d\u52a1\u7684\u7aef\u53e3\nport=22122\n# Tracker \u6570\u636e\u548c\u65e5\u5fd7\u76ee\u5f55\u5730\u5740(\u6839\u76ee\u5f55\u5fc5\u987b\u5b58\u5728,\u5b50\u76ee\u5f55\u4f1a\u81ea\u52a8\u521b\u5efa)\nbase_path=\/data\/fastdfs\/tracker\n# HTTP \u670d\u52a1\u7aef\u53e3 \u9ed8\u8ba48080 \uff0c\u5efa\u8bae\u4fee\u6539 \u9632\u6b62\u51b2\u7a81\nhttp.server_port=9080<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efatracker\u57fa\u7840\u6570\u636e\u76ee\u5f55\uff0c\u5373base_path\u5bf9\u5e94\u7684\u76ee\u5f55:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/data\/fastdfs\/tracker<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u542f\u52a8tracker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/init.d\/fdfs_trackerd start\n\u6216\u8005\n\/usr\/bin\/fdfs_trackerd   \/etc\/fdfs\/tracker.conf\n#\u6dfb\u52a0\u5230\u5f00\u673a\u81ea\u542f\u52a8\u6587\u4ef6\u4e2d\necho \"\/etc\/init.d\/fdfs_trackerd start\" &gt;&gt; \/etc\/rc.d\/rc.local\n#\u7ed9rc.local\u8d4b\u4e88\u53ef\u6267\u884c\u6743\u9650\nchmod +x  \/etc\/rc.d\/rc.local\n\n#\u5173\u95ed\u547d\u4ee4\n\/etc\/init.d\/fdfs_tracked stop<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4\/etc\/init.d\/fdfs_tracked status\u67e5\u770b\u72b6\u6001\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost fdfs]# \/etc\/init.d\/fdfs_trackerd status\n\u25cf fdfs_trackerd.service - LSB: FastDFS tracker server\n   Loaded: loaded (\/etc\/rc.d\/init.d\/fdfs_trackerd; bad; vendor preset: disabled)\n   Active: active (running) since Sat 2021-10-23 03:56:51 EDT; 2min 40s ago\n     Docs: man:systemd-sysv-generator(8)\n  Process: 13348 ExecStart=\/etc\/rc.d\/init.d\/fdfs_trackerd start (code=exited, status=0\/SUCCESS)\n   CGroup: \/system.slice\/fdfs_trackerd.service\n           \u2514\u250013353 \/usr\/bin\/fdfs_trackerd \/etc\/fdfs\/tracker.conf\n\nOct 23 03:56:51 localhost.localdomain systemd&#91;1]: Starting LSB: FastDFS tracker server...\nOct 23 03:56:51 localhost.localdomain fdfs_trackerd&#91;13348]: Starting FastDFS tracker server:\nOct 23 03:56:51 localhost.localdomain systemd&#91;1]: Started LSB: FastDFS tracker server.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tracker\u670d\u52a1\u542f\u52a8\u6210\u529f\u540e\uff0c\u4f1a\u5728base_path\u4e0b\u521b\u5efadata\u3001logs\u4e24\u4e2a\u76ee\u5f55<\/p>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1atracker&nbsp;\u4e0d\u53bb\u4e3b\u52a8\u8bfb\u53d6storage\u7684\u76f8\u5173\u4fe1\u606f\uff0c\u800c\u662f\u7531storage\u4e3b\u52a8\u63a8\u9001\u7ed9tracker\uff0c\u56e0\u6b64<strong>\u5fc5\u987b\u5148\u542f\u52a8tracker<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7\u3001\u914d\u7f6e FastDFS \u5b58\u50a8 (Storage)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165 \/etc\/fdfs \u76ee\u5f55\uff0c\u590d\u5236 FastDFS \u5b58\u50a8\u5668\u6837\u4f8b\u914d\u7f6e\u6587\u4ef6 storage.conf.sample\uff0c\u5e76\u91cd\u547d\u540d\u4e3a storage.conf\uff0c\u7f16\u8f91storage.conf\u6587\u4ef6\uff0c\u4e3b\u8981\u4fee\u6539\u4f4d\u7f6e\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Storage \u6570\u636e\u548c\u65e5\u5fd7\u76ee\u5f55\u5730\u5740(\u6839\u76ee\u5f55\u5fc5\u987b\u5b58\u5728\uff0c\u5b50\u76ee\u5f55\u4f1a\u81ea\u52a8\u751f\u6210)  (\u6ce8 :\u8fd9\u91cc\u4e0d\u662f\u4e0a\u4f20\u7684\u6587\u4ef6\u5b58\u653e\u7684\u5730\u5740,\u4e4b\u524d\u7248\u672c\u662f\u7684,\u5728\u67d0\u4e2a\u7248\u672c\u540e\u66f4\u6539\u4e86)\nbase_path=\/data\/fastdfs\/datalog\n# \u5982\u679c\u4e0d\u914d\u7f6e store_path0\uff0c\u90a3\u5b83\u5c31\u548c base_path \u5bf9\u5e94\u7684\u8def\u5f84\u4e00\u6837\uff0c\u8fd9\u4e2a\u8def\u5f84\u624d\u662f\u771f\u6b63\u50a8\u5b58\u6587\u4ef6\u7684\u5730\u65b9\nstore_path0=\/data\/fastdfs\/storage0\n# tracker_server \u7684\u5217\u8868 \uff0c\u4f1a\u4e3b\u52a8\u8fde\u63a5 tracker_server\n# \u6709\u591a\u4e2a tracker server \u65f6\uff0c\u6bcf\u4e2a tracker server \u5199\u4e00\u884c\ntracker_server=192.168.0.200:22122\ntracker_server=192.168.0.201:22122\n#http_server_port\uff0c\u9ed8\u8ba4\u4e3a8888,\u540e\u7eed\u9700\u8981\u548cnginx\u7aef\u53e3\u4fdd\u6301\u4e00\u81f4\nhttp.server_port = 8888<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"> \u521b\u5efaStorage\u6570\u636e\u76ee\u5f55\uff0c\u5bf9\u5e94\u76f8\u5e94\u76ee\u5f55\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5bf9\u5e94base_path\n&#91;root@localhost ~]# mkdir -p \/data\/fastdfs\/datalog\n#\u5bf9\u5e94store_path0\u7684\u8def\u5f84\n&#91;root@localhost ~]# mkdir -p \/data\/fastdfs\/storage0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u542f\u52a8storage\uff0c\u6267\u884c\u547d\u4ee4\/etc\/init.d\/fdfs_storage start ,\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u542f\u52a8\uff1a\n&#91;root@localhost ~]# \/etc\/init.d\/fdfs_storaged start\nStarting fdfs_storaged (via systemctl):                    &#91;  OK  ]\n\u6216\u8005\n\/usr\/bin\/fdfs_storaged \/etc\/fdfs\/storage.conf\n#\u6dfb\u52a0\u5230\u5f00\u673a\u81ea\u542f\u52a8\u6587\u4ef6\u4e2d\necho \"\/etc\/init.d\/fdfs_storaged start\"  &gt;&gt; \/etc\/rc.d\/rc.local<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\u8fd0\u884c\u72b6\u6001\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost init.d]# \/etc\/init.d\/fdfs_storaged status\n\u25cf fdfs_storaged.service - LSB: FastDFS storage server\n   Loaded: loaded (\/etc\/rc.d\/init.d\/fdfs_storaged; bad; vendor preset: disabled)\n   Active: active (running) since Sat 2021-10-23 04:46:43 EDT; 47s ago\n     Docs: man:systemd-sysv-generator(8)\n  Process: 13899 ExecStart=\/etc\/rc.d\/init.d\/fdfs_storaged start (code=exited, status=0\/SUCCESS)\n   CGroup: \/system.slice\/fdfs_storaged.service\n           \u2514\u250013904 \/usr\/bin\/fdfs_storaged \/etc\/fdfs\/storage.conf\n\nOct 23 04:46:43 localhost.localdomain systemd&#91;1]: Starting LSB: FastDFS storage server...\nOct 23 04:46:43 localhost.localdomain fdfs_storaged&#91;13899]: Starting FastDFS storage server:\nOct 23 04:46:43 localhost.localdomain systemd&#91;1]: Started LSB: FastDFS storage server.\n\n\n#\u76d1\u542c23000\u7aef\u53e3\n\u6ce8\u610f\uff1a\u542f\u52a8Storage\u524d\u786e\u4fddTracker\u662f\u542f\u52a8\u7684\u3002\u521d\u6b21\u542f\u52a8\u6210\u529f\uff0c\u4f1a\u5728 \/data\/fastdfs\/storage(base_path) \u76ee\u5f55\u4e0b\u521b\u5efa data\u3001 logs \u4e24\u4e2a\u76ee\u5f55\uff0c\u8bb0\u5f55\u7740 Storage Server \u7684\u4fe1\u606f\u3002\u5728 store_path0\/data \u76ee\u5f55\u4e0b\uff0c\u521b\u5efa\u4e86N*N\u4e2a\u5b50\u76ee\u5f55\uff1a<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770bStorage\u548cTracker\u662f\u5426\u5728\u901a\u4fe1\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost data]# \/usr\/bin\/fdfs_monitor \/etc\/fdfs\/storage.conf\n&#91;2021-10-23 04:52:15] DEBUG - base_path=\/data\/fastdfs\/storage, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=1, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0\n\nserver_count=1, server_index=0\n\ntracker server is 192.168.203.128:22122\n\ngroup count: 1\n\nGroup 1:\ngroup name = group1\ndisk total space = 17,394 MB\ndisk free space = 15,663 MB\ntrunk free space = 0 MB\nstorage server count = 1\nactive server count = 1\nstorage server port = 23000\nstorage HTTP port = 8888\nstore path count = 1\nsubdir count per path = 256\ncurrent write server index = 0\ncurrent trunk file id = 0\n\n\tStorage 1:\n\t\tid = 192.168.203.128\n\t\tip_addr = 192.168.203.128  ACTIVE\n\t\thttp domain = \n\t\tversion = 6.07\n\t\tjoin time = 2021-10-23 04:40:30\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>8\u3001\u914d\u7f6e\u5ba2\u6237\u7aef\u6587\u4ef6(client.conf)\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06client.conf.sample\u4fee\u6539\u4e3aclient.conf\uff0c\u7f16\u8f91client.conf\uff0c\u4fee\u6539\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#client\u7684\u6570\u636e\u548c\u65e5\u5fd7\u76ee\u5f55\nbase_path = \/data\/fastdfs\/client\n#tracker\u7684\u670d\u52a1\u548c\u7aef\u53e3\ntracker_server = 192.168.203.128:22122<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\u6570\u636e\u548c\u65e5\u5fd7\u76ee\u5f55\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/data\/fastdfs\/client<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>9\u3001\u6d4b\u8bd5\u4e0a\u4f20<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\u6587\u4ef6\u5e76\u4e0a\u4f20\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"hello world fastdfs\" &gt; fdfs.txt    #\u5b9a\u4e49\u6587\u4ef6\n&#91;root@centos-minimal ~]# \/usr\/bin\/fdfs_upload_file \/etc\/fdfs\/client.conf fdfs.txt\ngroup1\/M00\/00\/00\/wKjugmTdbm6AO3ssAAAAFAK2GLE468.txt\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u4f20\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u627e\u5230\u6587\u4ef6\u4f4d\u7f6e\u5728\/data\/fastdfs\/storage0\/data\/00\/00\u8def\u5f84\u4e0b\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"126\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/08\/7-7.png\" alt=\"\" class=\"wp-image-14514\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/08\/7-7.png 704w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/08\/7-7-300x54.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/08\/7-7-600x107.png 600w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u4e0d\u5b89\u88c5fastdfs-nginx-module\uff0c\u76f4\u63a5\u901a\u8fc7ip:8888\/group1\/&#8230;&#8230;\u4e5f\u53ef\u4ee5\u8bbf\u95ee\u6587\u4ef6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10\u3001 <strong>\u5b89\u88c5\u914d\u7f6efastdfs-nginx-module\u6a21\u5757(<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u591a\u8282\u70b9\u7684fdfs\u4e00\u5b9a\u8981\u7528\u6b64\u6a21\u5757<\/mark>)\uff1a<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> FastDFS \u901a\u8fc7 Tracker \u670d\u52a1\u5668\uff0c\u5c06\u6587\u4ef6\u653e\u5728 Storage \u670d\u52a1\u5668\u5b58\u50a8\uff0c \u4f46\u662f\u540c\u7ec4\u5b58\u50a8\u670d\u52a1\u5668\u4e4b\u95f4\u9700\u8981\u8fdb\u884c\u6587\u4ef6\u590d\u5236\uff0c \u6709\u540c\u6b65\u5ef6\u8fdf\u7684\u95ee\u9898\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> \u5047\u8bbe Tracker \u670d\u52a1\u5668\u5c06\u6587\u4ef6\u4e0a\u4f20\u5230\u4e86 192.168.51.128\uff0c\u4e0a\u4f20\u6210\u529f\u540e\u6587\u4ef6 ID\u5df2\u7ecf\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\uff0c \u6b64\u65f6 FastDFS \u5b58\u50a8\u96c6\u7fa4\u673a\u5236\u4f1a\u5c06\u8fd9\u4e2a\u6587\u4ef6\u540c\u6b65\u5230\u540c\u7ec4\u5b58\u50a8 192.168.51.129\uff0c\u5728\u6587\u4ef6\u8fd8\u6ca1\u6709\u590d\u5236\u5b8c\u6210\u7684\u60c5\u51b5\u4e0b\uff0c\u5ba2\u6237\u7aef\u5982\u679c\u7528\u8fd9\u4e2a\u6587\u4ef6 ID \u5728 192.168.51.129 \u4e0a\u53d6\u6587\u4ef6,\u5c31\u4f1a\u51fa\u73b0\u6587\u4ef6\u65e0\u6cd5\u8bbf\u95ee\u7684\u9519\u8bef\uff0c \u800c fastdfs-nginx-module \u53ef\u4ee5\u91cd\u5b9a\u5411\u6587\u4ef6\u94fe\u63a5\u5230\u6e90\u670d\u52a1\u5668\u53d6\u6587\u4ef6\uff0c\u907f\u514d\u5ba2\u6237\u7aef\u7531\u4e8e\u590d\u5236\u5ef6\u8fdf\u5bfc\u81f4\u7684\u6587\u4ef6\u65e0\u6cd5\u8bbf\u95ee\u9519\u8bef\u3002 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u9996\u5148\u5c06fastdfs-nginx-module-1.22.tar.gz\u4e0a\u4f20\u5230\u673a\u5668\u4e0a\ncd \/usr\/local\/fastdfs\nrz -y fastdfs-nginx-module-1.22.tar.gz\ntar xf fastdfs-nginx-module-1.22.tar.gz\ncd fastdfs-nginx-module-1.22\/src\n#\u590d\u5236\u5176\u4e2d\u7684mod_fastdfs.conf\u6587\u4ef6\u5230\/etc\/fdfs\u4e0b\ncp mod_fastdfs.conf  \/etc\/fdfs\n#\u7f16\u8f91mod_fastdfs.conf\uff0c\u4fee\u6539\u5185\u5bb9\u5982\u4e0b\uff1a\ntracker_server=192.168.203.128:22122  #tracker\u670d\u52a1\u5668IP\u548c\u7aef\u53e3\nurl_have_group_name=true              #\u542f\u7528url\u8def\u5f84\u4f7f\u7528\u7ec4\u540d\nstore_path0=\/data\/fastdfs\/file        #\u4fee\u6539\u6587\u4ef6\u4fdd\u5b58\u7684\u8def\u5f84\uff0c\u8def\u5f84\u5fc5\u987b\u548cstorage.conf\u4e2d\u914d\u7f6e\u7684\u76f8\u540c<\/code><\/pre>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\uff1a\u8981\u5148\u5b89\u88c5\u5b8c<strong>libfastcommon<\/strong>\u548cfastdfs\u540e\u518d\u5b89\u88c5fastdfs-nginx-module\u624d\u884c\uff0c\u5426\u5219\u62a5\u9519<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10\u3001\u5b89\u88c5Nginx\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5b89\u88c5nginx\uff0c\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9yum\u6216\u8005\u4e8c\u8fdb\u5236\u5b89\u88c5\nyum -y install pcre* zlib*   #\u5b89\u88c5\u4f9d\u8d56\u5305\nwget http:\/\/nginx.org\/download\/nginx-1.20.0.tar.gz\ntar xf nginx-1.20.0.tar.gz\ncd nginx-1.20.0  \n#\u6dfb\u52a0fastdfs-nginx-module\u6a21\u5757\n.\/configure --prefix=\/usr\/local\/nginx --add-module=\/usr\/local\/fastdfs\/fastdfs-nginx-module-1.22\/src\/\n#\u7f16\u8bd1\u5b89\u88c5\nmake &amp;&amp; make install \n\n#\u5173\u95edselinux\nsed -i \"s\/SELINUX=enforcing\/SELINUX=disabled\/g\" \/etc\/selinux\/config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\uff0c\u6dfb\u52a0\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"813\" height=\"505\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/11-2.png\" alt=\"\" class=\"wp-image-5278\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/11-2.png 813w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/11-2-300x186.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/11-2-768x477.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/11-2-600x373.png 600w\" sizes=\"auto, (max-width: 813px) 100vw, 813px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u4e0d\u901a\u8fc7fastdfs_module_nginx\u6a21\u5757\uff0c\u4e5f\u53ef\u4ee5 \u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u914d\u7f6e<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"731\" height=\"312\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/7-3.png\" alt=\"\" class=\"wp-image-5264\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/7-3.png 731w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/7-3-300x128.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/7-3-600x256.png 600w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1aalias\u540e\u9762\u7684\u5730\u5740\u5c31\u662f\u5b9e\u9645\u6587\u4ef6\u5b58\u50a8\u7684\u5730\u5740\uff0c\u4e5f\u5c31\u662fstorage.conf\u4e2d\u914d\u5408\u7684store_path0\u7684\u5730\u5740<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cd\u65b0\u52a0\u8f7dNginx\u914d\u7f6e\u6216\u8005\u91cd\u542f\uff0c\u7136\u540e\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95ee\u8bd5\u8bd5\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6d4f\u89c8\u5668\u8bbf\u95ee\u5730\u5740\u5982\u4e0b\uff1a\nhttp:&#47;&#47;192.168.203.128\/group1\/M00\/00\/00\/wKjLgGFzz9eAJ3MFAAZbu1dcGUk255.png<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"352\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/8-3.png\" alt=\"\" class=\"wp-image-5266\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/8-3.png 919w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/8-3-300x115.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/8-3-768x294.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/8-3-600x230.png 600w\" sizes=\"auto, (max-width: 768px) calc(100vw - 40px), (max-width: 1200px) 550px, (max-width: 1400px) 730px, 880px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u8bbf\u95ee\u65e5\u5fd7\u63d0\u793a\u6743\u9650\u95ee\u9898\uff0c\u65e0\u6cd5\u8bbf\u95ee\uff0c\u6b64\u65f6\u53ef\u4ee5\u67e5\u770bselinux\u662f\u5426\u5173\u95ed<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u901a\u8fc7\u547d\u4ee4\u884c\u8bbf\u95ee\u6216\u8005\u4e0b\u8f7d(tcp\u65b9\u5f0f)\uff0c\u9700\u8981\u6267\u884c\u547d\u4ee4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/bin\/fdfs_test \/etc\/fdfs\/client.conf download group1 M00\/00\/00\/CgkCHWF484GAQtHLAADvBAE2ew0883.png  \u6ce8\u610f\uff1agroup1\u548c\u540e\u9762\u4e4b\u95f4\u6709\u7a7a\u683c<\/code><\/pre>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background wp-block-paragraph\">\u6ce8\uff1afdfs_tracckerd\u548cfdfs_storaged\u4e0d\u662f\u4e00\u5b9a\u90e8\u7f72\u5728\u540c\u4e00\u53f0\u673a\u5668\u4e0a\uff0c\u53ef\u6839\u636e\u9700\u8981\u90e8\u7f72\u5728\u4e0d\u540c\u673a\u5668<\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u56db\u3001\u5b89\u88c5\u90e8\u7f72(\u96c6\u7fa4\u7248)<\/mark><\/strong><\/p>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679cfdfs\u662f\u96c6\u7fa4\u6a21\u5f0f\uff0c\u90a3\u4e48\u5fc5\u987b\u4f7f\u7528 <strong>fastdfs-nginx-module\u6a21\u5757<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u4f8b\u5b50\u4e2d\u7684\u673a\u5668\u6570\u91cf\u4e3a3\u53f0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1\u3001\u5b89\u88c5libfastcommon(\u4e09\u53f0\u673a\u5668\u90fd\u9700\u8981\u5b89\u88c5)\n2\u3001\u5b89\u88c5FastDFS(\u4e09\u53f0\u673a\u5668\u90fd\u9700\u8981\u5b89\u88c5)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">t<strong>racker.conf\uff1a<\/strong><\/mark> \u53c2\u8003\u4e0a\u9762\u7684\u914d\u7f6e\u4fee\u6539\u5373\u53ef\uff0c\u4e09\u53f0\u673a\u5668\u90fd\u8981\u4fee\u6539<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">storage.conf\uff1a<\/mark><\/strong> \u53c2\u8003\u4e0a\u9762\u7684\u914d\u7f6e\u4fee\u6539\u5373\u53ef\uff0ctracker_server\u7684\u5730\u5740\u9700\u8981\u5199\u4e09\u53f0\u673a\u5668\u7684\u5730\u5740\uff0c\u4e09\u53f0\u673a\u5668\u90fd\u8981\u4fee\u6539<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">client.conf\uff1a<\/mark><\/strong>\u53c2\u8003\u4e0a\u9762\u914d\u7f6e\u4fee\u6539\u5373\u53ef\uff0ctracker_server \u5199\u4e09\u53f0\u673a\u5668\u5730\u5740<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">mod_fastdfs.conf\uff1a<\/mark><\/strong>tracker_server\u5730\u5740\u4fee\u6539\u4e3a\u4e09\u53f0\u673a\u5668\u5730\u5740\uff0c\u5176\u4f59\u53c2\u7167\u4e0a\u9762\u4fee\u6539<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">nginx\u7684\u914d\u7f6e\u4e5f\u53c2\u8003\u4e0a\u9762\u5373\u53ef<\/mark><\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u68c0\u6d4b\u96c6\u7fa4\uff1a<\/mark><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/bin\/fdfs_monitor \/etc\/fdfs\/storage.conf\n# \u4f1a\u663e\u793a\u4f1a\u6709\u51e0\u53f0\u670d\u52a1\u5668 \u67093\u53f0\u5c31\u4f1a \u663e\u793a Storage 1-Storage 3\u7684\u8be6\u7ec6\u4fe1\u606f<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u56fe\u8868\u793a\u67e5\u770b\u7684\u96c6\u7fa4\u4e09\u53f0\u673a\u5668\u90fd\u662f\u6b63\u5e38\u72b6\u6001\uff0c\u663e\u793a\u4e3aACTIVE\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"196\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-3.jpg\" alt=\"\" class=\"wp-image-17251\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-3.jpg 692w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-3-300x85.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-3-600x170.jpg 600w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\uff1a\u914d\u7f6e\u4e3a\u96c6\u7fa4\u540e\uff0c\u5728\u5176\u4e2d\u4e00\u4e2a\u8282\u70b9\u4e0a\u4f20\u6587\u4ef6\u5c06\u4f1a\u81ea\u52a8\u540c\u6b65\u5230\u5176\u4ed6\u8282\u70b9<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e94\u3001\u76ee\u5f55\u7ed3\u6784<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u9996\u5148\u67e5\u770b\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\u4e0bconf\u4e0b\u6587\u4ef6\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"233\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/1-1.png\" alt=\"\" class=\"wp-image-15395\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/1-1.png 694w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/1-1-300x101.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/1-1-600x201.png 600w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>client.conf\uff1a\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6\uff0c\u8fd9\u91cc\u4e5f\u8981\u4fee\u6539<\/li>\n\n\n\n<li>mime.types\uff1a\u5b9a\u4e49\u6587\u4ef6\u6269\u5c55\u540d\u548c\u5bf9\u5e94\u7684MIME\u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6<\/li>\n\n\n\n<li>mod_fastdfs.conf\uff1angx_fastdfs_module\u6a21\u5757\u4f7f\u7528<\/li>\n\n\n\n<li>storage.conf\uff1a\u5b58\u50a8\u914d\u7f6e<\/li>\n\n\n\n<li>storage_ids.conf\uff1a\u4fee\u6539storage\u6807\u8bc6\u4eceIP\u6539\u4e3aid<\/li>\n\n\n\n<li>tracker.conf\uff1a\u8ddf\u8e2a\u914d\u7f6e<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001storage0\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>.data_init_flag\uff1a<em>\u5f53\u524dstorage server\u521d\u59cb\u5316\u4fe1\u606f<\/em>\uff0c\u6b64\u6587\u4ef6\u4e3a\u9690\u85cf\u6587\u4ef6<\/li>\n\n\n\n<li><em>storage_stat.dat\uff1a\u5f53\u524dstorage server\u7edf\u8ba1\u4fe1\u606f<\/em><\/li>\n\n\n\n<li>sync\uff1a\u5b58\u653e\u6570\u636e\u540c\u6b65\u7684\u76f8\u5173\u6587\u4ef6\uff0c\u5176\u4e2d<em>binlog.index\uff1a\u5f53\u524d\u7684binlog\uff08\u66f4\u65b0\u64cd\u4f5c\u65e5\u5fd7\uff09\u6587\u4ef6\u7d22\u5f15\u53f7<\/em>\uff0c<em>binlog.###\uff1a\u5b58\u653e\u66f4\u65b0\u64cd\u4f5c\u8bb0\u5f55\uff08\u65e5\u5fd7\uff09<\/em>\uff0c<em>${ip_addr}_${port}.mark\uff1a\u5b58\u653e\u5411\u76ee\u6807\u670d\u52a1\u5668\u540c\u6b65\u7684\u5b8c\u6210\u60c5\u51b5<\/em><\/li>\n\n\n\n<li>\u4e00\u7ea7\u76ee\u5f55\uff1a256\u4e2a\u5b58\u653e\u6570\u636e\u7684\u76ee\u5f55\uff0c\u76ee\u5f55\u540d\u4e3a\u5341\u516d\u8fdb\u5236\u5b57\u7b26\uff0c\u5982\uff1a00,1F\u7b49\uff0c\u5728\u4e00\u7ea7\u76ee\u5f55\u4e0b\u8fd8\u6709\u4e8c\u7ea7\u76ee\u5f55\uff0c\u4e5f\u662f\u5341\u516d\u8fdb\u5236\u5b57\u7b26<\/li>\n\n\n\n<li>storaged.log\uff1astorage\u7684\u8fd0\u884c\u65e5\u5fd7<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">.data_init_flag\u6587\u4ef6\u4e3aini\u914d\u7f6e\u6587\u4ef6\u65b9\u5f0f\uff0c\u4e3b\u8981\u53c2\u6570\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"230\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/2-1.png\" alt=\"\" class=\"wp-image-15398\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/2-1.png 687w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/2-1-300x100.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/2-1-600x201.png 600w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>storage_join_time\uff1a\u672c\u673astorage server\u521b\u5efa\u65f6\u95f4<\/em><\/li>\n\n\n\n<li><em>sync_old_done\uff1a\u672c\u673astorage\u662f\u5426\u5df2\u5b8c\u6210\u540c\u6b65\u7684\u6807\u5fd7\uff08\u6e90\u670d\u52a1\u5668\u5411\u672c\u670d\u52a1\u5668\u540c\u6b65\u5df2\u6709\u6570\u636e\uff09<\/em><\/li>\n\n\n\n<li><em>sync_src_server\uff1a\u5411\u672c\u670d\u52a1\u5668\u540c\u6b65\u5df2\u6709\u6570\u636e\u7684\u6e90\u670d\u52a1\u5668IP\u5730\u5740\uff0c\u6ca1\u6709\u5219\u4e3a\u7a7a<\/em><\/li>\n\n\n\n<li><em>sync_until_timestamp\uff1a\u540c\u6b65\u5df2\u6709\u6570\u636e\u6587\u4ef6\u622a\u81f3\u65f6\u95f4\uff08UNIX\u65f6\u95f4\u6233\uff09<\/em><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">storage_stat.dat\u6587\u4ef6\u4e5f\u662f\u683c\u5f0f\u4e3aini\u7684\u65b9\u5f0f\uff0c\u4e3b\u8981\u53c2\u6570\u5982\u4e0b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>total_upload_count\uff1a           \u4e0a\u4f20\u6587\u4ef6\u6b21\u6570<\/li>\n\n\n\n<li>success_upload_count\uff1a       \u6210\u529f\u4e0a\u4f20\u6587\u4ef6\u6b21\u6570<\/li>\n\n\n\n<li><em>success_delete_count<\/em>\uff1a         \u6210\u529f\u5220\u9664\u6587\u4ef6\u6b21\u6570<\/li>\n\n\n\n<li><em>total_download_count<\/em>\uff1a      \u4e0b\u8f7d\u6587\u4ef6\u6b21\u6570<\/li>\n\n\n\n<li><em>success_download_count<\/em>\uff1a  \u6210\u529f\u4e0b\u8f7d\u6587\u4ef6\u6b21\u6570<\/li>\n\n\n\n<li><em>total_delete_count<\/em>\uff1a            \u5220\u9664\u6587\u4ef6\u6b21\u6570<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001tracker\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"281\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/3.png\" alt=\"\" class=\"wp-image-15403\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/3.png 694w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/3-300x121.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/3-600x243.png 600w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>storage_groups_new.dat\uff1a      \u5b58\u50a8\u7684\u5206\u7ec4\u4fe1\u606f<\/li>\n\n\n\n<li>storage_servers_new.dat\uff1a      \u5b58\u50a8\u670d\u52a1\u5668\u5217\u8868<\/li>\n\n\n\n<li>storage_sync_timestamp.dat\uff1a\u540c\u6b65\u65f6\u95f4\u6233<\/li>\n\n\n\n<li>storage_changelog.dat\uff1a         \u4fee\u6539\u8bb0\u5f55<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u9644\u52a0\uff1a\u4e0a\u8ff0\u5b89\u88c5\u65b9\u5f0f\u4e3a\u9ed8\u8ba4\u4ee5ip\u4f5c\u4e3a\u6807\u8bc6storage\u7684\u65b9\u5f0f\u5b89\u88c5\uff0c\u53ef\u4ee5\u67e5\u770btracker.conf\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"326\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/6-1.png\" alt=\"\" class=\"wp-image-15412\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/6-1.png 692w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/6-1-300x141.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/6-1-600x283.png 600w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u9ed8\u8ba4\u60c5\u51b5\u4e0buser_storage_id\u4e3afalse\uff0cid_type_in_filename\u4e3aip\uff0c\u4e5f\u5c31\u662f\u901a\u8fc7IP\u6765\u6807\u8bc6storage\uff0c\u4f46\u662f\u8fd9\u79cd\u60c5\u51b5\u4e0b2\u4e2a\u95ee\u9898\uff0c\u7b2c\u4e00\u4e2a\u95ee\u9898\u662f\u8fc1\u79fb\u540e\u9700\u8981\u4fee\u6539\u7684\u914d\u7f6e\u8f83\u591a\uff0c\u7b2c\u4e8c\u4e2a\u95ee\u9898\u662f\u5982\u679c\u60f3\u5c06IP\u6807\u8bc6\u4fee\u6539\u4e3aid\u6807\u8bc6\uff0c\u53ef\u80fd\u542f\u52a8\u540e\u4f1a\u62a5\u9519\u91cd\u590dIP\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ERROR - file: tracker_mem.c, line: 1196, in the file \"\/data\/fdfs\/tracker\/data\/storage_servers_new.dat\", storage \"192.168.130.128\" is duplicate<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u62a5\u6b64\u9519\u8bef\uff0c\u53ef\u5c06storage0\/data\u548ctracker\/data\u76ee\u5f55\u4e0b\u6587\u4ef6\u5168\u90e8\u6e05\u7a7a\u5e76\u91cd\u542ffdfs\u5373\u53ef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u6b64\uff0c\u5982\u679c\u4e3a\u4e86\u4ee5\u540e\u8fc1\u79fb\u65b9\u4fbf\uff0c\u5efa\u8bae\u5b89\u88c5\u7684\u65f6\u5019\u9009\u62e9\u81ea\u5b9a\u4e49server id \u7684\u65b9\u5f0f\u6765\u8bc6\u522bstorage\uff0c\u53ea\u9700\u8981\u4fee\u6539\u4e24\u4e2a\u5730\u65b9\uff0c\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u4fee\u6539tracker.conf \u6587\u4ef6\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"319\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/7.png\" alt=\"\" class=\"wp-image-15413\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/7.png 692w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/7-300x138.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/7-600x277.png 600w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06user_storage_id\u8bbe\u7f6e\u4e3atrue\u540e\uff0cstorage_ids.conf\u624d\u4f1a\u751f\u6548<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u4fee\u6539storage_ids.conf\u6587\u4ef6\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"95\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/8-1.png\" alt=\"\" class=\"wp-image-15414\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/8-1.png 692w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/8-1-300x41.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/8-1-600x82.png 600w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>id\uff1a\u53ef\u81ea\u5b9a\u4e49<\/li>\n\n\n\n<li>group1\uff1a\u8981\u4e0estroage.conf\u4e2d\u4fdd\u6301\u4e00\u81f4<\/li>\n\n\n\n<li>IP\uff1a\u672c\u673aIP<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u673a\u5982\u679c\u8fd8\u6709group2,\u5c31\u9700\u8981\u5728\u6dfb\u52a0\u4e00\u884c\uff0c\u6bd4\u5982\uff1a1000002 group ip ,\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"651\" height=\"111\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2025\/10\/5.png\" alt=\"\" class=\"wp-image-19156\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2025\/10\/5.png 651w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2025\/10\/5-300x51.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2025\/10\/5-600x102.png 600w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679cgroup1\u80fd\u542f\u52a8\uff0c\u4f46\u662fgroup2\u65e0\u6cd5\u542f\u52a8\u5c31\u9700\u8981\u68c0\u67e5\u662f\u4e0d\u662fstorage_ids.conf\u4e2d\u914d\u7f6e\u6709\u95ee\u9898\u4e86<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u542f\u52a8fastdfs\u540e\uff0c\u8fdb\u5165tracker\/data\u8def\u5f84\u53ef\u4ee5\u770b\u5230storage_servers_new.data\u548cstorage_sync_timestamp.dat\u4e2d\u6709id\u4fe1\u606f\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"693\" height=\"151\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/9.png\" alt=\"\" class=\"wp-image-15416\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/9.png 693w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/9-300x65.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/9-600x131.png 600w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"74\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/10.png\" alt=\"\" class=\"wp-image-15418\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/10.png 690w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/10-300x32.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2023\/11\/10-600x64.png 600w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\uff1a\u5982\u679c\u662fIP\u65b9\u5f0f\u6807\u8bc6stroage\uff0c\u7b2c\u4e00\u4e2a\u56fe\u4e2d\u6ca1\u6709id\uff0c\u7b2c\u4e8c\u4e2a\u56fe\u4e2d\u6807\u8bb0\u7684\u4f4d\u7f6e\u4e3aIP<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u516d\u3001\u96c6\u7fa4\u8282\u70b9\u589e\u52a0\u4e0e\u5220\u9664<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\uff1a\u672c\u4f8b\u5b50\u6f14\u793a\u7684\u4e3astoraged\u548ctrackerd\u90fd\u8fd0\u884c\u5728\u540c\u4e00\u53f0\u673a\u5668\u4e0a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>\u589e\u52a0<\/strong><\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u589e\u52a0\u8282\u70b9\u5f88\u7b80\u5355\uff0c\u65b0\u90e8\u7f72\u4e00\u4e2a\u8282\u70b9\uff0c\u7136\u540e\u4fee\u6539\u65b0\u8282\u70b9\u4e0e\u8001\u8282\u70b9\u4e2d\u914d\u7f6e\u6587\u4ef6\u7684tracker_server\u3001group\u540d\uff0c\u5b58\u50a8\u4f4d\u7f6e\uff0c\u5c3d\u91cf\u4e0e\u8001\u8282\u70b9\u4fdd\u6301\u4e00\u81f4\uff0c\u7136\u540e\u542f\u52a8\u5373\u53ef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\u5220\u9664<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0a\u9762\u7684\u96c6\u7fa4\u4e3a\u4f8b\uff0c\u73b0\u5728\u8981\u5220\u9664\u96c6\u7fa4\u4e2d\u768449.186\u8282\u70b9\uff0c\u4e3b\u8981\u90e8\u7f72\u5982\u4e0b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u9996\u5148\u505c\u6b62\u638949.186\u673a\u5668\u7684storaged\uff0ctrackerd\u4e0d\u80fd\u505c\u6b62\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"691\" height=\"249\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/9-3.jpg\" alt=\"\" class=\"wp-image-17258\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/9-3.jpg 691w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/9-3-300x108.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/9-3-600x216.jpg 600w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u5728\u5176\u4ed6\u4efb\u610f\u5176\u4e2d\u4e00\u4e2a\u8282\u70b9\u4e0a\u6267\u884c\u547d\u4ee4\u5220\u966449.186\u4e0a\u7684storaged\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"657\" height=\"233\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-4.jpg\" alt=\"\" class=\"wp-image-17268\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-4.jpg 657w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-4-300x106.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/7-4-600x213.jpg 600w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u518d\u6b21\u67e5\u770b\uff0c\u5df2\u7ecf\u5220\u9664\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"181\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/8-3.jpg\" alt=\"\" class=\"wp-image-17269\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/8-3.jpg 650w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/8-3-300x84.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/8-3-600x167.jpg 600w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u8981\u91cd\u65b0\u52a0\u5165\uff0c\u53ea\u9700\u8981\u5c0649.186\u4e0a\u7684stroaged\u542f\u52a8\u5373\u53ef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u5220\u9664\u96c6\u7fa4\u4e2d49.186\u4e0a\u7684tracker\uff0c\u9996\u5148\u5c0649.186\u4e0a\u7684tracker\u505c\u6b62\uff0c\u7136\u540e\u5728\u5176\u4ed6\u8282\u70b9\u914d\u7f6e\u6587\u4ef6\u4e2d\u5c06tracker_server\u6ce8\u91ca\u6389\u5373\u53ef\uff0c\u5220\u9664\u540e\u91cd\u542f\u5176\u4f59\u4e24\u4e2a\u8282\u70b9\u7684fastdfs\uff0c\u6b64\u65f6\u53d1\u73b0tracker\u542f\u52a8\u62a5\u9519\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ERROR - file: tracker_mem.c, line: 1535, the format of the file \"\/data\/fdfs\/tracker\/data\/storage_sync_timestamp.dat\" is invalid, group_name: group1, colums: 5 &gt; 4<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"103\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/12.jpg\" alt=\"\" class=\"wp-image-17266\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/12.jpg 650w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/12-300x48.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/12-600x95.jpg 600w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u4e3a49.186\u5df2\u7ecf\u4e0d\u7528\u4e86\uff0c\u56e0\u6b64\u53ef\u5c06\u5176\u5220\u9664\uff0c\u4f46\u662f\u5220\u9664\u540e\u8fd8\u662f\u8d77\u4e0d\u6765\uff0c\u6b64\u65f6\u5c06\u6bcf\u4e2aIP\u540e\u4e00\u4e2a,0\u5220\u9664\uff0c\u4fdd\u75592\u4e2a\u5373\u53ef\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"651\" height=\"90\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/11-2.jpg\" alt=\"\" class=\"wp-image-17270\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/11-2.jpg 651w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/11-2-300x41.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/11-2-600x83.jpg 600w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u540e\u91cd\u542f\u5373\u53ef\uff0c\u67e5\u770b\u6b64\u65f6\u96c6\u7fa4\u72b6\u6001\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"167\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/13.jpg\" alt=\"\" class=\"wp-image-17267\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/13.jpg 647w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/13-300x77.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/06\/13-600x155.jpg 600w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3a\u4ec0\u4e48\u5c06storage_sync_timestamp.dat\u4e2d49.186\u884c\u5220\u9664\u6389\uff0c\u5e76\u5c06\u5176\u4ed6\u4e24\u884c\u7684\u6700\u540e\u4e00\u4e2a,0\u5220\u9664\uff0c\u5c31\u53ef\u4ee5\u542f\u52a8\u4e86\uff1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e2a\u4eba\u7406\u89e3\uff1a\u7b2c\u4e00\u4e2a0\u8868\u793a\u540c\u6b65\u504f\u79fb\u91cf\uff0c\u7b2c\u4e8c\u4e2a0\u8868\u793a\u540c\u6b65\u65f6\u95f4\u6233\uff0c\u56e0\u4e3a\u6709\u4e09\u4e2a\u8282\u70b9\uff0c\u6bcf\u4e2a\u8282\u70b9\u90fd\u9700\u8981\u4e0e\u5176\u4f59\u4e24\u4e2a\u8282\u70b9\u540c\u6b65\uff0c\u56e0\u6b64\u6bcf\u4e2a\u8282\u70b9\u5c31\u4f1a\u5b58\u5728\u4e24\u4e2a\u540c\u6b65\u65f6\u95f4\u6233\uff0c\u5982\u679c\u53ea\u6709\u4e24\u4e2a\u8282\u70b9\uff0c\u90a3\u4e48\u6bcf\u4e2a\u8282\u70b9\u53ea\u9700\u8981\u4e0e\u53e6\u4e00\u4e2a\u8282\u70b9\u540c\u6b65\u5373\u53ef\uff0c\u6b64\u65f6\u5c31\u9700\u8981\u4e00\u4e2a\u540c\u6b65\u65f6\u95f4\u6233<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u5176\u4ed6\u5e38\u89c1\u95ee\u9898<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001storage\u7684\u65e5\u5fd7\u63d0\u793a\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ERROR - file: storage_sync.c, line: 254, fdfs_recv_response fail, result: 17<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u72b6\u6001\u780117\u7684\u610f\u601d\u662f\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\uff0c\u5982\u679c\u96c6\u7fa4\u4e4b\u95f4\u4e92\u76f8\u540c\u6b65\u5c31\u4f1a\u8fd4\u56de\u72b6\u6001\u780117\uff0c\u53ef\u4ee5\u5ffd\u7565\u6b64\u9519\u8bef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001storage\u5982\u4f55\u91cd\u65b0\u5411\u5176\u4ed6\u8282\u70b9\u540c\u6b65\u6570\u636e\uff1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">storage\u8def\u5f84data\/sync\u8def\u5f84\u4e0b\u7684*.mark\u6587\u4ef6\uff0c\u5176\u4e2d\u7684<code>binlog_offset<\/code> \u8868\u793a\u5f53\u524d binlog \u6587\u4ef6\u7684\u504f\u79fb\u91cf\uff0c\u7528\u4e8e\u8bb0\u5f55\u540c\u6b65\u64cd\u4f5c\u7684\u8fdb\u5ea6\u3002\u5f53 FastDFS \u7684 Storage \u8282\u70b9\u8fdb\u884c\u6587\u4ef6\u540c\u6b65\u65f6\uff0c\u4f1a\u6839\u636e <code>binlog_offset<\/code> \u4ece binlog \u6587\u4ef6\u4e2d\u8bfb\u53d6\u672a\u540c\u6b65\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\u5176\u540c\u6b65\u5230\u76ee\u6807\u8282\u70b9\uff0c\u901a\u8fc7\u4fee\u6539 <code>binlog_offset<\/code>\uff0c\u53ef\u4ee5\u8df3\u8fc7\u5df2\u7ecf\u540c\u6b65\u7684\u90e8\u5206\uff0c\u76f4\u63a5\u4ece\u4e0a\u6b21\u540c\u6b65\u7684\u4e2d\u65ad\u70b9\u5f00\u59cb\u7ee7\u7eed\u540c\u6b65\u3002\u8fd9\u53ef\u4ee5\u907f\u514d\u91cd\u590d\u540c\u6b65\u5df2\u7ecf\u5904\u7406\u8fc7\u7684\u8bb0\u5f55\uff0c\u4ece\u800c\u63d0\u9ad8\u540c\u6b65\u6548\u7387\uff0c\u5982\u679c\u51fa\u73b0\u540c\u6b65\u4e2d\u65ad\u6216\u5f02\u5e38\uff0c\u624b\u52a8\u8c03\u6574 <code>binlog_offset<\/code> \u53ef\u4ee5\u5e2e\u52a9\u6062\u590d\u540c\u6b65\u3002\u4f8b\u5982\uff0c\u5f53\u540c\u6b65\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u9519\u8bef\u6216\u4e2d\u65ad\u65f6\uff0c\u5c06 <code><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">binlog_offset<\/mark><\/strong><\/code> \u8bbe\u7f6e\u4e3a 0\uff0c\u53ef\u4ee5\u8ba9 FastDFS \u4ece\u5934\u5f00\u59cb\u91cd\u65b0\u540c\u6b65\u6587\u4ef6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u5982\u4f55\u89c2\u5bdf\u5f53\u524d\u96c6\u7fa4\u662f\u5426\u8fd8\u5728\u6b63\u5e38\u4e92\u76f8\u540c\u6b65\u6570\u636e\uff1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770bstorage\/data\/sync\/binlog.index\u6587\u4ef6\uff0c\u770b\u4e0b\u5f53\u524d\u7684\u7d22\u5f15\u6587\u4ef6\u662f\u54ea\u4e2a\uff0c\u6bd4\u5982\u662fbinlog.013\uff0c\u7136\u540e\u67e5\u770b\u8fd9\u4e2a\u6587\u4ef6\u4e2d\u6b63\u5728\u540c\u6b65\u7684\u6587\u4ef6\u540d\uff0c\u5728\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u67e5\u770b\u662f\u5426\u5b58\u5728\u8fd9\u4e2a\u6587\u4ef6\uff0c\u5982\u679c\u90fd\u5b58\u5728\uff0c\u5e76\u4e14binlog.013\u4e2d\u8fd8\u5728\u4e0d\u65ad\u66f4\u65b0\u540c\u6b65\u7684\u6587\u4ef6\uff0c\u8bf4\u660e\u6b64\u65f6\u96c6\u7fa4\u72b6\u6001\u662f\u6b63\u5e38\u7684<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u6587\u4ef6\u4e0a\u4f20\u62a5\u9519\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6211\u5728\u53e6\u4e00\u4e2a\u8282\u70b9\u6267\u884c\u4e0a\u4f20\u547d\u4ee4\uff0c\u4e5f\u62a5\u9519&#91;root@fdfs1 ~]# \/bin\/fdfs_upload_file \/etc\/fdfs\/client.conf a.txt \r\n&#91;2026-08-07 17:18:08] ERROR - file: tracker_proto.c, line: 48, server: 172.36.27.230:23000, response status 2 != 0\r\n&#91;2026-08-07 17:18:08] ERROR - file: ..\/client\/storage_client.c, line: 996, fdfs_recv_response fail, result: 2\r\nupload file fail, error no: 2, error info: No such file or directory<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">storage\u7684\u65e5\u5fd7\u663e\u793a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;2026-08-07 17:22:47] WARNING - file: storage_service.c, line: 506, rename \/data\/fastdfs\/storage\/data\/.cp6.tmp to \/data\/fastdfs\/storage\/data\/02\/2B\/rCQbQWlAxWmAdWLDAADwQisTTao561.jpg fail, errno: 2, error info: No such file or directory<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e2a\u95ee\u9898\u5927\u6982\u7387\u5c31\u662ffastdfs\u7684\u4e8c\u7ea7\u76ee\u5f55\u4e0d\u5b58\u5728\uff0c\u6bd4\u598202\/2B,\u8fd9\u4e2a2B\u4e0d\u5b58\u5728\uff0c\u5bfc\u81f4\u4e0a\u4f20\u5931\u8d25\uff0c\u89e3\u51b3\u65b9\u6848\uff0c\u91cd\u65b0\u521b\u5efa\u4e8c\u7ea7\u76ee\u5f55\uff0c\u811a\u672c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\nSTORE=\/data\/fastdfs\/storage\/data\r\n\r\nif &#91; ! -d \"$STORE\" ]; then\r\n  echo \"\u76ee\u5f55\u4e0d\u5b58\u5728\uff1a$STORE\"\r\n  exit 1\r\nfi\r\n\r\ncreated=0\r\n\r\nfor i in $(seq 0 255); do\r\n  d1=$(printf \"%02X\" $i)\r\n\r\n  if &#91; ! -d \"$STORE\/$d1\" ]; then\r\n    mkdir -p \"$STORE\/$d1\"\r\n    echo \"\u521b\u5efa\u4e00\u7ea7\u76ee\u5f55\uff1a$STORE\/$d1\"\r\n    created=$((created + 1))\r\n  fi\r\n\r\n  for j in $(seq 0 255); do\r\n    d2=$(printf \"%02X\" $j)\r\n\r\n    if &#91; ! -d \"$STORE\/$d1\/$d2\" ]; then\r\n      mkdir -p \"$STORE\/$d1\/$d2\"\r\n      echo \"\u521b\u5efa\u4e8c\u7ea7\u76ee\u5f55\uff1a$STORE\/$d1\/$d2\"\r\n      created=$((created + 1))\r\n    fi\r\n  done\r\ndone\r\necho \"\u5b8c\u6210\uff0c\u672c\u6b21\u65b0\u521b\u5efa\u76ee\u5f55\u6570\u91cf\uff1a$created\"<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001fastdfs\u4ecb\u7ecd FastDFS\u662f\u4e00\u6b3e\u7c7bGoogle FS\u7684\u5f00\u6e90\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\uff0c\u5b83\u7528\u7eafC\u8bed\u8a00\u5b9e\u73b0\uff0c\u652f\u6301L&#8230;<\/p>\n","protected":false},"author":3,"featured_media":5276,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-5247","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/5247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/comments?post=5247"}],"version-history":[{"count":78,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/5247\/revisions"}],"predecessor-version":[{"id":20775,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/5247\/revisions\/20775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media\/5276"}],"wp:attachment":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media?parent=5247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/categories?post=5247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/tags?post=5247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}