一聚教程网:一个值得你收藏的教程网站

热门教程

别再无脑用三副本了!RustFS 纠删码实战:6节点集群全解析

时间:2026-07-06 11:00:47 编辑:袖梨 来源:一聚教程网

{"type":"doc","content":[{"type":"paragraph","attrs":{"id":"ac59e74e-d556-490c-84eb-362c77d79a1c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"现在的对象存储,还在无脑用三副本?那你的存储利用率只有可怜的 33%。今天咱们来点硬核的,直接上手"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"RustFS"},{"type":"text","text":",用"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"EC(纠删码)"},{"type":"text","text":"模式部署一个 6 节点的高可用集群。同样的可靠性,存储成本直接砍半,这才是生产环境的正确打开方式。"}]},{"type":"paragraph","attrs":{"id":"f060d324-8394-4030-b0d6-5b65d06144aa","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在动手敲命令之前,我们先花 1 分钟理清一个核心问题:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"市面上对象存储那么多,为什么这次我们要选 RustFS?"}]},{"type":"heading","attrs":{"id":"a020fc8d-277d-4c5f-805b-def370db4c45","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"一、 选型对比:RustFS 凭什么脱颖而出?"}]},{"type":"paragraph","attrs":{"id":"7b0cb04b-82e1-4f03-81a4-97f030d91742","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"如果你正在为 MinIO 的 AGPLv3 协议发愁,或者受够了 Go 语言 GC 带来的性能抖动,不妨看看 RustFS 和 MinIO 的核心差异:"}]},{"type":"table","attrs":{"id":"a697d937-10cd-458c-af31-e3041bfdd5e8","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-top-style: none; border-left-style: none; border-width: medium 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"e3a920fd-e845-4f98-bf83-07540a4c0920","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"对比维度"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"43cc5dd2-d44d-4ac8-a56b-e82b7d83835b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"MinIO"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-right-style: none; border-width: medium medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"e20cfdd2-f905-4fd7-a157-8f34f2921817","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"RustFS"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"72b5256e-c486-4ce3-89e5-08601b8fc521","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"开源协议"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"98eb1d09-c453-479b-a1d8-b9ef908828d6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"AGPLv3(有代码传染风险,商用需谨慎)"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"02f83f5e-e1da-4a60-a052-2bc505858768","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"Apache 2.0"},{"type":"text","text":"(完全免费开源,商用友好)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"9bd4b3f0-0d60-4057-9d55-7c96c0a52a52","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"核心架构"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"afe9a13b-e580-43f9-89b8-e15e90892ea7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Go 语言开发,存在 GC 停顿与内存开销"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"00ab581c-a1aa-4063-b01e-742ccf4a238d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"Rust 语言开发"},{"type":"text","text":",内存安全,无 GC 抖动"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"996cce9c-c1c7-488c-b743-4b94458c8271","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"资源占用"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"face6f9d-cf3d-4022-9dbb-7f9656e2a191","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"内存开销较高,硬件门槛高"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"63e637bb-3cea-4d68-8226-8f1139a832d2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"极致轻量"},{"type":"text","text":",内存占用大幅降低"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"4ac59771-d1f8-42a0-923b-58b58e1beaa3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"小文件性能"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"deae4b05-f0c0-4064-a32d-1784558c15dc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"良好,但在海量小文件高并发下偶有延迟"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"e73ffe05-8e29-4262-8ee7-8449dc5e9186","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"针对 AI/IoT 深度优化"},{"type":"text","text":",4K 随机读写性能更强"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor; border-bottom-style: none; border-left-style: none; border-width: 0.939629px 0.939629px medium medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"6ab5c6b9-0148-45d5-9b5b-b9eff9034165","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"国产化适配"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"d5321149-ea98-42d7-a5f7-dd125f2d5e8d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"对国内部分私有协议支持可能滞后"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-bottom-style: none; border-width: 0.939629px medium medium 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"f2df2ac7-c3f7-4a41-a541-79d3bf7ff3d7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"全栈自主可控"},{"type":"text","text":",深度适配国产信创与国密算法"}]}]}]}]},{"type":"paragraph","attrs":{"id":"69a37c9c-c869-42de-8adf-0781661edcb8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"简单来说,RustFS 不仅在底层架构上解决了传统方案的痛点,还彻底规避了商业合规风险。"}]},{"type":"heading","attrs":{"id":"e11c924b-3e7e-4a90-8843-a8f9218001e7","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"二、 为什么是 RustFS?"}]},{"type":"paragraph","attrs":{"id":"bd4b41b6-4eab-4ce2-ac8b-62523ef4c3fb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这次咱们的主角是 RustFS,一个对标 MinIO 的去中心化对象存储。除了上面提到的协议和架构优势,它还有几个让运维狂喜的特性:"}]},{"type":"bulletList","attrs":{"id":"684f067e-d681-4da8-a628-16098cf39dc9","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"09ca4b0c-1a39-465c-bb26-d5307dd8d13f"},"content":[{"type":"paragraph","attrs":{"id":"a0ae870a-1beb-4ab2-bffe-50a7972741cd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"去中心化(无主节点)"},{"type":"text","text":":所有节点地位对等,没有单点故障。挂掉一个节点?完全不影响集群运行。"}]}]},{"type":"listItem","attrs":{"id":"feaa4a65-5d4a-4262-9e69-8dd89e429eb4"},"content":[{"type":"paragraph","attrs":{"id":"03d63a43-11cf-4d46-a399-076ed9e8196d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"纠删码(EC)优先"},{"type":"text","text":":这是今天的重点。不同于传统的“三副本”(存1份数据占3份空间),EC 模式通过计算校验位,实现更高的存储利用率。"}]}]}]},{"type":"paragraph","attrs":{"id":"515a8024-dfb3-4f0a-a11e-8c97a040025e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"划重点:EC 到底有多能扛?"},{"type":"hardBreak","attrs":{"id":"fde8cd6f-b4d7-43b2-8e0d-528d803e51e8"}},{"type":"text","text":"以 4 2 配置(4个数据分片 2个校验分片)为例:"}]},{"type":"bulletList","attrs":{"id":"59324bd7-b564-4529-9f18-1a2ef46a8a1b","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"9a860f64-d888-4f66-ae03-5b832bb93edd"},"content":[{"type":"paragraph","attrs":{"id":"2367d0e2-b9ee-44eb-99fb-4697c5e27330","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"容错"},{"type":"text","text":":最多允许"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"2个分片/节点"},{"type":"text","text":"同时故障,数据依然可读写。"}]}]},{"type":"listItem","attrs":{"id":"05c8e779-a012-448f-aa15-d899825580b6"},"content":[{"type":"paragraph","attrs":{"id":"492e0f52-31e3-40e4-9f62-cf510379fdbf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"对比"},{"type":"text","text":":传统三副本挂 2 台就歇菜,RustFS 这种 EC 模式能抗住。"}]}]}]},{"type":"heading","attrs":{"id":"8d9d1700-91fc-4b3f-8e3c-609ac9f07e8e","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"三、 架构与原理:数据是怎么存进去的?"}]},{"type":"paragraph","attrs":{"id":"11f2392e-8814-4a47-8bba-337479eb3f76","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在动手之前,先搞懂它的数据流向,不然出问题你都不知道日志该去哪查。"}]},{"type":"orderedList","attrs":{"id":"1b6db677-bd58-46e2-9659-f9f698a4561a","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"04eb28eb-860a-4e63-b905-c06f2871e372"},"content":[{"type":"paragraph","attrs":{"id":"1c59faba-a7d7-48ca-b209-a7bc394cdaca","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"写入流程"},{"type":"text","text":":客户端 → 负载均衡 → 元数据校验 →"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"EC编码(切片 算校验)"},{"type":"text","text":"→ 并行写入 6 个节点。"}]}]},{"type":"listItem","attrs":{"id":"de7eb6d3-2c9a-4bfd-86c8-a64a333e7450"},"content":[{"type":"paragraph","attrs":{"id":"1de16172-38e1-4347-98d1-0bd4a0344e7b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"读取流程"},{"type":"text","text":":客户端 → 元数据定位 → 只需读取"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"任意 4 个"},{"type":"text","text":"分片(数据或校验均可) → 还原原始文件。"}]}]}]},{"type":"paragraph","attrs":{"id":"baead581-91ed-4270-9cdc-f64f478ba77a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"特别注意一个坑"},{"type":"text","text":":"},{"type":"hardBreak","attrs":{"id":"a21dba93-f30d-4234-92ec-1c4d0d514423"}},{"type":"text","text":"纠删码的核心优势就在于容错,"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"删除操作同样遵循容错机制"},{"type":"text","text":"。只要在线的分片数量满足数据恢复的最低阈值(例如 4 2 配置中任意 4 个分片),集群就能完整还原数据,元数据层面的删除操作自然也可以正常执行。所以,别担心缺了分片就删不掉文件。"}]},{"type":"heading","attrs":{"id":"49842f1d-860b-4bbb-8216-3ba616dd935c","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"四、 实战部署:6节点集群搞起"}]},{"type":"paragraph","attrs":{"id":"aaa73d2d-c356-4db0-9cc3-af8cd46a446b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这次我们用 Docker Compose 的方式部署,比纯命令行更清晰,适合复用。"}]},{"type":"heading","attrs":{"id":"6a2070cd-bb24-4684-98af-67471d9b4065","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 环境规划"}]},{"type":"paragraph","attrs":{"id":"c6853e71-e2d6-4c21-9865-0258020c11cf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"我们有 6 台机器,IP 分别是"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"192.168.26.6"},{"type":"text","text":"​ 到"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"11"},{"type":"text","text":"​。"}]},{"type":"table","attrs":{"id":"d6e19e20-5b45-4ae8-8f7d-a600c146ea76","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-top-style: none; border-left-style: none; border-width: medium 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"513741bb-2fc3-48c3-b597-42a3ac0cf1d1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"角色"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"3ca8abcf-6c48-48b3-807f-8290af6db0aa","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"IP 地址"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"0561b76a-0050-419e-b0d7-7daae8ade2bc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"端口映射"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-right-style: none; border-width: medium medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"452381bd-d126-4939-a4d7-7beed1729ff7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"数据目录"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"9c6673e4-6717-4855-a6c5-f1c1ef63785d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"RustFS Node 1"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"c39c3fca-966d-4a66-a700-1634814d22c2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"192.168.26.6"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"32f8ea14-1829-4eeb-a7f8-9ef177eafa7c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"9000/9001"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"f6f9371d-c3c8-4033-a511-7cfbf5c79de7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"/data/rustfs"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"ebcd8e2b-a997-4193-984c-f383302e0ddb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"RustFS Node 2"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"b776e0e4-7797-4fe4-8201-d910523297b1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"192.168.26.7"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"3ccfbf40-26d7-4247-925b-c3d4009dfbc6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"9000/9001"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"4e118f10-c3cc-4f7b-a42f-0b8824851d10","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"/data/rustfs"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"e38cd56c-28c8-4cd4-9b89-3ff7372a5f57","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"..."}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"86b4d86d-ba50-4df5-b0f3-28659b1a5e24","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"..."}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"a2f47c0e-4ae3-47b4-b708-8f88172208f9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"..."}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"9683bd44-d623-4778-8381-9a15293777f9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"..."}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor; border-bottom-style: none; border-left-style: none; border-width: 0.939629px 0.939629px medium medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"04365f29-89f7-45c2-94e4-73bf8592fd5e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Nginx LB"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"a0f59534-a112-480d-851f-09cdfa9ffd0b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"192.168.26.6 (复用)"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"6e8f2990-cc83-4c3d-899b-6563a6553357","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"8080/8081"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-bottom-style: none; border-width: 0.939629px medium medium 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"74378b3e-1392-4868-ab25-dd0cbaa09083","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"/root/nginx-workspace"}]}]}]}]},{"type":"heading","attrs":{"id":"a3c98013-c9c5-4d66-bef7-7e5d1fa59622","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 所有节点:基础环境准备"}]},{"type":"codeBlock","attrs":{"id":"94300c7e-44eb-40c7-976b-a84af14e6cfa","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"# 关闭防火墙和SELinux(生产环境请按需配置策略)nsystemctl stop firewalld && systemctl disable firewalldnsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/confignsetenforce 0nn# 配置时间同步nyum install -y chrony && systemctl enable --now chronydnn# 创建数据目录并赋予权限nmkdir -p /data/rustfsn# 注意:RustFS 容器默认以非 root 用户 (UID 1000) 运行n# 务必修改目录所有者,否则会报 permission deniednchown -R 1000:1000 /data/rustfsnn# 配置hosts解析ncat >> /etc/hosts << EOFn192.168.26.6 rustfs-node-1n192.168.26.7 rustfs-node-2n192.168.26.8 rustfs-node-3n192.168.26.9 rustfs-node-4n192.168.26.10 rustfs-node-5n192.168.26.11 rustfs-node-6nEOFn"}]},{"type":"heading","attrs":{"id":"9b452b2c-c3d1-4ca4-a249-a509c49ca75c","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 所有节点:Docker Compose 部署 RustFS"}]},{"type":"paragraph","attrs":{"id":"4ff8fbf9-b8fa-44ac-aa69-3d4ad8f35fbf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在每个节点上创建"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"docker-compose.yml"},{"type":"text","text":"​。"}]},{"type":"codeBlock","attrs":{"id":"acb516e0-9054-47ed-a26a-1db707e7654d","language":"yaml","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"yaml"},"content":[{"type":"text","text":"version: '3.8'nservices:nrustfs:nimage: rustfs/rustfs:latestncontainer_name: rustfsnrestart: unless-stoppedn# 强烈建议以非 root 用户运行nuser: "1000:1000" nnetwork_mode: hostnenvironment:n- RUSTFS_ACCESS_KEY=adminn- RUSTFS_SECRET_KEY=Admin@123456n- RUSTFS_ADDRESS=:9000n- RUSTFS_CONSOLE_ENABLE=truen- RUSTFS_CONSOLE_ADDRESS=:9001nvolumes:n- /data/rustfs:/datan# 启动命令:指定集群拓扑和纠删码参数ncommand: >nhttp://192.168.26.{6...11}:9000/datan--erasure-set-drive-count 6n"}]},{"type":"paragraph","attrs":{"id":"f78e7e51-c335-44e5-ab17-d5c2ec9b40fb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"启动命令"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"7803c8f1-06c3-4527-9771-62f885cb6e60","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"docker-compose up -dn"}]},{"type":"heading","attrs":{"id":"f1392d7e-7d72-4098-b065-b3da6b189458","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"五、 搞个负载均衡:Nginx 上场"}]},{"type":"paragraph","attrs":{"id":"005b305d-bbc9-43cd-b436-94aaeaa3db10","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"单点访问太脆弱,咱们用 Nginx 做一层 TCP/HTTP 袋里,实现高可用接入。"}]},{"type":"heading","attrs":{"id":"c8fa56c8-a899-43a4-970c-89ede7d55928","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"Nginx 核心配置 ("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"nginx.conf"},{"type":"text","text":"​ 片段)"}]},{"type":"codeBlock","attrs":{"id":"2622a629-5d22-485e-9407-8c4cb0b0ac19","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# S3 API 负载均衡组nupstream rustfs_s3_backend {nip_hash; # 保持会话一致性nkeepalive 64;nserver 192.168.26.6:9000 max_fails=1 fail_timeout=1h;nserver 192.168.26.7:9000 max_fails=1 fail_timeout=1h;n# ... 其他节点n}nn# Web控制台负载均衡组nupstream rustfs_console_backend {nip_hash;nkeepalive 64;nserver 192.168.26.6:9001;n# ... 其他节点n}nn# S3 API 监听 (端口8081)nserver {nlisten 8081;nlocation / {nproxy_pass http://rustfs_s3_backend;nproxy_next_upstream error timeout http_500 http_502 http_503 http_504;n}n}nn# 控制台监听 (端口8080)nserver {nlisten 8080;nlocation / {nproxy_pass http://rustfs_console_backend;n}n}n"}]},{"type":"paragraph","attrs":{"id":"97cae9df-828c-422e-bde4-d5b56e0e71a6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"启动 Nginx 容器"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"8689e037-5cb5-4d48-8efd-8b981b0cbd73","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"shell"},"content":[{"type":"text","text":"docker run -d --name rustfs-nginx n-p 8080:8080 -p 8081:8081 n-v /root/nginx-workspace/conf/nginx.conf:/etc/nginx/nginx.conf n-v /root/nginx-workspace/logs/:/var/log/nginx/ nnginx:latestn"}]},{"type":"heading","attrs":{"id":"4b07baf5-f221-40b8-9f5b-1c335df4797d","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"六、 暴力测试:挂掉节点会怎样?"}]},{"type":"paragraph","attrs":{"id":"f0622d55-e732-4136-a83a-d48f48987296","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"理论说千遍,不如动手试一次。我们来验证一下 EC 模式的容错能力。"}]},{"type":"heading","attrs":{"id":"8a158007-950e-4546-914a-cbd1c4a81503","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"场景1:挂掉 1 个节点"}]},{"type":"bulletList","attrs":{"id":"e7ea5f49-294e-4db5-bbce-fbfd6ee1a455","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"96b17950-b390-4291-95b6-c004bdb9c42b"},"content":[{"type":"paragraph","attrs":{"id":"5768ffdc-d051-4465-87fb-baf7db6fda91","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"操作"},{"type":"text","text":":"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"docker stop rustfs"},{"type":"text","text":"​ (在 node-2 上)"}]}]},{"type":"listItem","attrs":{"id":"b82e1fb8-96f0-44aa-95ca-a3afd2c09f5a"},"content":[{"type":"paragraph","attrs":{"id":"bf15cdfa-e060-4632-b6d6-cbfe369309de","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"结果"},{"type":"text","text":":"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc admin info"},{"type":"text","text":"​ 显示 1 node offline。"}]}]},{"type":"listItem","attrs":{"id":"5f1ac7ab-4b58-4607-a69f-d32f572db9b7"},"content":[{"type":"paragraph","attrs":{"id":"4171dbb4-a191-48ee-b62c-78c011a01075","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"验证"},{"type":"text","text":":上传、下载 50MB 文件,秒传秒下,无任何报错。稳如老狗。"}]}]}]},{"type":"heading","attrs":{"id":"890e7d00-1980-4dc6-b1f9-d9553a41fd4f","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"场景2:挂掉 2 个节点(达到容错极限)"}]},{"type":"bulletList","attrs":{"id":"4c976743-ae1a-4ba6-afb6-d0e3f016fe1c","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"35b67fc2-530e-45be-a03d-8862298f5316"},"content":[{"type":"paragraph","attrs":{"id":"a913b1a5-0a90-4691-bdbc-6e58e36a7eea","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"操作"},{"type":"text","text":":再停掉 node-3。"}]}]},{"type":"listItem","attrs":{"id":"e589f88a-595c-415a-8473-ee91c1dec466"},"content":[{"type":"paragraph","attrs":{"id":"b445b780-9b00-4f43-85d1-a6f7399958f4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"结果"},{"type":"text","text":":集群状态显示 2 nodes offline。"}]}]},{"type":"listItem","attrs":{"id":"d879e2c7-4ea6-429a-bf27-04655df7cb02"},"content":[{"type":"paragraph","attrs":{"id":"5a562acd-7202-492e-9c8e-ba917ee45602","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"验证"},{"type":"text","text":":继续读写测试,依然完全正常。这可是相当于坏了一小半的机器了!"}]}]}]},{"type":"heading","attrs":{"id":"be4898fe-c12a-4dc3-9784-2556fd6b55d9","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"场景3:挂掉 3 个节点(作死测试)"}]},{"type":"bulletList","attrs":{"id":"90c53c21-bd29-457a-b6c2-3a3ede7daa62","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"1f5fbcd5-b6af-40c0-917a-920f6a685557"},"content":[{"type":"paragraph","attrs":{"id":"2fa8db39-a4bb-4123-bc9c-e27f31edc281","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"操作"},{"type":"text","text":":再停掉 node-4。"}]}]},{"type":"listItem","attrs":{"id":"ced686d4-d386-4314-a28d-a374132c46cc"},"content":[{"type":"paragraph","attrs":{"id":"54cac803-afbb-4d42-ae0e-ac09006046d6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"结果"},{"type":"text","text":":Nginx 直接报错"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"502 Bad Gateway"},{"type":"text","text":"​,集群拒绝服务。"}]}]},{"type":"listItem","attrs":{"id":"2bd8ebed-dd1f-4812-946e-11a24a0247d2"},"content":[{"type":"paragraph","attrs":{"id":"82f8e640-1583-48f9-9fef-7a3c52153612","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"原因"},{"type":"text","text":":在 4 2 模式下,挂掉 3 个节点后,剩余节点数已经无法满足写入和元数据更新的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"多数派共识"},{"type":"text","text":"。为了保护数据不被破坏,集群会主动进入拒绝服务状态。"}]}]}]},{"type":"heading","attrs":{"id":"42acd44a-32d8-42ea-9e27-0699bbdfc905","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"七、 客户端接入:用 mc 玩转你的新集群"}]},{"type":"paragraph","attrs":{"id":"94a12ca8-8680-4e84-a123-e3fa574a5dc4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"集群搭好了,接下来咱们得用起来。RustFS 完全兼容 S3 协议,所以我们直接用官方的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc"},{"type":"text","text":"​ (MinIO Client) 客户端就能无缝对接。"}]},{"type":"heading","attrs":{"id":"6b6f0f20-cc11-48b6-9a94-c00a9654040e","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 安装与配置别名"}]},{"type":"paragraph","attrs":{"id":"5fdefd05-d6e2-41cd-b708-67d0037f87e1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"首先,确保你的本地电脑或测试机上安装了"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc"},{"type":"text","text":"​ 工具。然后配置一个指向 RustFS 负载均衡器的别名:"}]},{"type":"codeBlock","attrs":{"id":"f7b362c1-2df1-480b-b6b2-1e34312ee035","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"# 将 rustfs 替换为你的 Nginx 袋里 IP,这里用 192.168.26.6 举例nmc alias set myrustfs http://192.168.26.6:8081 admin Admin@123456n"}]},{"type":"paragraph","attrs":{"id":"d7da2816-caf6-48f1-95be-254bb8125652","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"提示:如果提示"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"*Added 'myrustfs' successfully.*"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":",说明你的 Nginx 负载均衡和 RustFS 集群通信完全正常!"}]},{"type":"heading","attrs":{"id":"21cec6b4-afde-42fa-8d80-1aeaf0ea06e6","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 创建存储桶(Bucket)"}]},{"type":"paragraph","attrs":{"id":"d7bc6bb0-4add-41df-beb2-685b61c12e83","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"咱们来建个测试桶。这里有个小技巧,你可以直接在创建时指定纠删码策略,比如我们最常用的 4 2 模式:"}]},{"type":"codeBlock","attrs":{"id":"77b8581d-2e78-4fac-a002-3999a609eb5c","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"mc mb myrustfs/ai-training-data --with-erasure-code=RS-4-2n"}]},{"type":"paragraph","attrs":{"id":"72288118-e7dc-47b5-a798-2e653887550d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"执行后返回"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"*Bucket created successfully 'myrustfs/ai-training-data'.*"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"即可。"}]},{"type":"heading","attrs":{"id":"91eca84e-7cd7-4473-a872-e7a8d8a0bf4d","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 上传与下载测试"}]},{"type":"paragraph","attrs":{"id":"875cf1e2-75a1-40bd-a9b5-bb4b59d45251","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"随便找个文件试试水:"}]},{"type":"codeBlock","attrs":{"id":"cffbf216-a304-4268-b26f-4dd3b0b03759","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"txt"},"content":[{"type":"text","text":"# 上传文件nmc cp /path/to/local/test-model.bin myrustfs/ai-training-data/nn# 查看桶内文件列表nmc ls myrustfs/ai-training-data/nn# 下载文件nmc cp myrustfs/ai-training-data/test-model.bin /tmp/downloaded-model.binn"}]},{"type":"heading","attrs":{"id":"712cabcd-0a0c-43f4-86b6-8294ece92bdf","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"4. 进阶:查看集群健康状态"}]},{"type":"paragraph","attrs":{"id":"8713a01b-1f4e-44f8-8425-1d1545d76c01","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"作为运维,你肯定得随时掌握集群的“体温”。用"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc admin info"},{"type":"text","text":"​ 可以一眼看穿底层状态:"}]},{"type":"codeBlock","attrs":{"id":"e485fa3c-3a55-47fc-9442-ac31c3e60372","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"mc admin info myrustfsn"}]},{"type":"paragraph","attrs":{"id":"36fb37b3-ba2d-45fb-be92-611979b83490","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这条命令会返回详细的仪表盘信息,包括:在线节点数、磁盘总容量、已用空间、以及当前配置的纠删码参数。当你前面做“暴力拔线测试”时,盯着这个命令的输出,看着节点状态从"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"online"},{"type":"text","text":"​ 变成"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"offline"},{"type":"text","text":"​,体验感拉满。"}]},{"type":"heading","attrs":{"id":"4ea4214e-3e15-4dc5-a828-fa336b088818","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"八、 踩坑实录(Q&A)"}]},{"type":"paragraph","attrs":{"id":"b939f430-6855-44af-b1ba-b3962e41b9cb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在部署过程中,我也被几个坑绊了一下,大家直接抄作业避雷:"}]},{"type":"paragraph","attrs":{"id":"36b9b563-5c8f-41be-a407-b6079a50ad48","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"Q1:6节点环境下,到底选 4 2 还是 6 3?"}]},{"type":"paragraph","attrs":{"id":"3a5ae366-a039-4218-8cba-3ad82d9db83b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"A"},{"type":"text","text":":RustFS 的纠删码配置是显式指定的,并非系统强制平分。你可以根据业务需求自由选择:"}]},{"type":"paragraph","attrs":{"id":"4d179c23-0428-4a46-ab8e-620a08fe841c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"Q2:启动报错"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"**permission denied**"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"?"}]},{"type":"paragraph","attrs":{"id":"bdddfaf7-4070-4772-a1b9-645c8b53336a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"A"},{"type":"text","text":":这是从旧版本升级时最容易踩的坑。RustFS 容器默认以非 root 用户(UID 1000)运行。如果你挂载的宿主机目录还是 root 权限,容器内就会报权限错误。"},{"type":"hardBreak","attrs":{"id":"543973aa-99c3-4c3a-a229-3202baf7a991"}},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"解决"},{"type":"text","text":":在宿主机上执行"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"chown -R 1000:1000 /data/rustfs"},{"type":"text","text":"​ 即可。"}]},{"type":"paragraph","attrs":{"id":"0ed951f0-66c2-4dcf-a757-fbf901617c8e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"Q3:启动报错"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"**No valid auth token**"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"或"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"**store init failed**"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"?"}]},{"type":"paragraph","attrs":{"id":"ea5636db-deb4-46a6-ad98-7712a3731327","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"A"},{"type":"text","text":":这是最气人的。原因是各节点的 AK/SK 不一致,或者环境变量没生效。"},{"type":"hardBreak","attrs":{"id":"ee0cb3e7-0f4b-46a1-9581-e0bce865631e"}},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"解决"},{"type":"text","text":":清理所有节点的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"/data/rustfs"},{"type":"text","text":"​ 目录(会清空数据),统一使用环境变量传入 AK/SK,不要混用。"}]},{"type":"heading","attrs":{"id":"ab3f5556-f9d4-45fe-adaf-9bf0e70a9e80","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"九、 算笔经济账:为什么纠删码是降本利器?"}]},{"type":"paragraph","attrs":{"id":"53506020-5490-4ad1-99af-8c3338694b5a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"理论说再多,不如直接看账本。对于非结构化数据量巨大的场景(比如 AI 训练数据、监控视频),用 EC 模式替代多副本,能省下一大笔买硬盘的钱。"}]},{"type":"paragraph","attrs":{"id":"e49c6bda-9bdd-4c08-ac75-865989f8b860","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"我们以"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"200TB 原始数据量"},{"type":"text","text":"为例,算一笔 3 年的总拥有成本(TCO):"}]},{"type":"table","attrs":{"id":"07339ea9-b8e3-4a05-8221-88327d579396","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-top-style: none; border-left-style: none; border-width: medium 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"1c4577f0-7c1c-422b-84fa-cdfe2ac77ad5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"存储方案"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"cb2d53f3-db76-4b85-b35b-c21a63c03414","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"实际存储量"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"b4530225-7773-4f07-80d5-d2a83db7bd23","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"硬件成本"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-width: medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"45d92af8-cd0f-453e-84b7-e770082bff1d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"年电费成本"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-top-style: none; border-right-style: none; border-width: medium medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8); font-weight: 600;"},"content":[{"type":"paragraph","attrs":{"id":"d1612c87-c6dc-41a9-9c5f-187819d2508b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"3年 TCO 预估"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-left-style: none; border-width: 0.939629px 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"2201bf82-347e-4c3a-bf18-40799040417f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"传统 3 副本"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"827f3067-6dce-4995-8454-82f476376d7d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"600TB"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"be9505be-3f24-447d-bcd4-15917ef0d100","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"36万元"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15); border-width: 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"2163f29f-b8e9-455f-9a31-d294d467751b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"7.2万元"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-width: 0.939629px medium 0.939629px 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: rgba(0, 0, 0, 0);"},"content":[{"type":"paragraph","attrs":{"id":"f4b5e16b-e9e0-476c-adf6-0ca377a2f5d0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"57.6万元"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor; border-bottom-style: none; border-left-style: none; border-width: 0.939629px 0.939629px medium medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"f7cf18d8-b206-49ef-b3b7-36e796c85611","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"RustFS EC(4 2)"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"001f12f4-f582-4c62-ac8f-1b06ef81ee4f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"300TB"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"1d0ccc4e-8e57-473f-aec3-487a37d128a8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"18万元"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) oklch(0.35 0.03 261.373 / 0.15) currentcolor; border-bottom-style: none; border-width: 0.939629px 0.939629px medium; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"cdc539f7-e356-4095-bc49-6df2d384e4b3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3.6万元"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"--un-rotate: 0; --un-rotate-x: 0; --un-rotate-y: 0; --un-rotate-z: 0; --un-scale-x: 1; --un-scale-y: 1; --un-scale-z: 1; --un-skew-x: 0; --un-skew-y: 0; --un-translate-x: 0; --un-translate-y: 0; --un-translate-z: 0; --un-pan-x: ; --un-pan-y: ; --un-pinch-zoom: ; --un-scroll-snap-strictness: proximity; --un-ordinal: ; --un-slashed-zero: ; --un-numeric-figure: ; --un-numeric-spacing: ; --un-numeric-fraction: ; --un-border-spacing-x: 0; --un-border-spacing-y: 0; --un-ring-offset-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-shadow: 0 0 rgb(0 0 0 / 0); --un-shadow-inset: ; --un-shadow: 0 0 rgb(0 0 0 / 0); --un-ring-inset: ; --un-ring-offset-width: 0px; --un-ring-offset-color: #fff; --un-ring-width: 0px; --un-ring-color: rgb(147 197 253 / .5); --un-blur: ; --un-brightness: ; --un-contrast: ; --un-drop-shadow: ; --un-grayscale: ; --un-hue-rotate: ; --un-invert: ; --un-saturate: ; --un-sepia: ; --un-backdrop-blur: ; --un-backdrop-brightness: ; --un-backdrop-contrast: ; --un-backdrop-grayscale: ; --un-backdrop-hue-rotate: ; --un-backdrop-invert: ; --un-backdrop-opacity: ; --un-backdrop-saturate: ; --un-backdrop-sepia: ; padding: 4px 8px; border-color: oklch(0.35 0.03 261.373 / 0.15) currentcolor currentcolor oklch(0.35 0.03 261.373 / 0.15); border-right-style: none; border-bottom-style: none; border-width: 0.939629px medium medium 0.939629px; border-image: none 100% / 1 / 0 stretch; max-width: 620px; background-color: oklch(0.95 0.012 261.373 / 0.8);"},"content":[{"type":"paragraph","attrs":{"id":"a646a4e0-da1f-47f1-a5d2-7881203474c2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"28.8万元"}]}]}]}]},{"type":"paragraph","attrs":{"id":"a36d3969-8f0a-46fe-b287-eb53ee303c92","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"核心结论:"},{"type":"hardBreak","attrs":{"id":"886b4e7c-e1d0-44d3-adce-754f519ea980"}},{"type":"text","text":"通过引入 RustFS 的纠删码机制,在同等数据量下,"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"3年总体拥有成本直接降低 50%"},{"type":"text","text":"。不仅如此,由于存储效率的提升,EC(4 2) 方案的性能成本比更是达到了传统 3 副本方案的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"1.8 倍"},{"type":"text","text":"。"}]},{"type":"heading","attrs":{"id":"9d357048-1fc3-4486-b6cc-fc2ec2aeaa29","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"十、 从 MinIO 平滑迁移到 RustFS(附避坑指南)"}]},{"type":"paragraph","attrs":{"id":"9aba197c-975d-45d4-869c-6266a20fb3e8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"看到这里的同学,可能已经迫不及待想把现有的 MinIO 替换成 RustFS 了。这里我必须得泼盆冷水:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"千万别直接去服务器底层用"},{"type":"text","text":""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"**rsync**"},{"type":"text","text":"​"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"拷贝 MinIO 的数据目录!"}]},{"type":"paragraph","attrs":{"id":"6539e6e1-e446-4ad3-92d2-b37890608643","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"MinIO 单机无法直接升级为集群,直接拷贝目录会导致底层元数据错乱。最稳妥、最平滑的做法是:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"新建集群 数据镜像同步 业务无感切换"},{"type":"text","text":"。"}]},{"type":"heading","attrs":{"id":"52e21221-aeab-4f69-a8d9-c91abd8e36dc","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 迁移前准备:冻结配置与检查健康"}]},{"type":"paragraph","attrs":{"id":"428792d6-f28e-4e65-8b43-c6b40fb61a21","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在动手前,先确保老集群是健康的,并把关键配置导出来备用:"}]},{"type":"codeBlock","attrs":{"id":"a658ce29-e741-4c6d-bdda-c9d20f78607f","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"# 检查并修复老集群状态nmc admin heal oldminionn# 导出 Bucket 策略、生命周期、用户等配置nmc admin config export oldminio > minio-config.jsonn"}]},{"type":"heading","attrs":{"id":"139fb8c7-987b-4819-9113-153570ea8074","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 全量同步:利用"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc mirror"},{"type":"text","text":"​ 搬砖"}]},{"type":"paragraph","attrs":{"id":"4aef1bcb-ac59-4708-a8b3-b02bc94ccc6c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"RustFS 100% 兼容 S3 协议,所以 MinIO 官方的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc"},{"type":"text","text":"​ 工具可以直接当搬运工。"}]},{"type":"codeBlock","attrs":{"id":"aec24ae2-05ce-495b-9974-8a926b20567f","language":"bash","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"bash"},"content":[{"type":"text","text":"# 配置新旧集群别名nmc alias set oldminio http://老集群IP:9000 AK SKnmc alias set newrustfs http://新RustFS集群:8081 AK SKnn# 执行全量镜像(支持断点续传,业务可正常读写)nmc mirror oldminio/ newrustfs/n"}]},{"type":"paragraph","attrs":{"id":"fd20f671-baf2-479c-9b35-f60bd4709714","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"italic"}],"text":"提示:如果数据量很大(比如几个TB),建议临时把老集群切到 HTTP 协议进行内网传输,能大幅提升同步速度。"}]},{"type":"heading","attrs":{"id":"60b7a01b-c831-4916-8d1f-354c3d2f32b3","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 增量追平与短暂停写(核心步骤)"}]},{"type":"paragraph","attrs":{"id":"49ff0c0f-3d12-42e9-9338-2a1ebbd1656d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"全量同步完后,老集群肯定还在不断产生新数据。这时候我们需要多跑几次"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc mirror"},{"type":"text","text":"​,直到执行时间缩短到 1 分钟以内,说明数据基本“追平”了。"}]},{"type":"paragraph","attrs":{"id":"5108621f-80a6-428e-bc51-366eba7fa482","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"接下来,就是最关键的"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"停写窗口"},{"type":"text","text":"(通常只需几分钟):"}]},{"type":"orderedList","attrs":{"id":"8d90f50c-c080-40d4-8eaf-d461ce30c545","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"62fd5be2-2edc-45c8-8e28-2f860b5af188"},"content":[{"type":"paragraph","attrs":{"id":"dca596b2-7199-4fa8-9889-fa0dcabab85a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"将老 MinIO 临时设为只读:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc admin policy set oldminio read-only"},{"type":"text","text":"​"}]}]},{"type":"listItem","attrs":{"id":"5b8ec81a-1a81-43b5-a7b7-8d911cce063c"},"content":[{"type":"paragraph","attrs":{"id":"40bb7bfc-94a3-4123-937e-6cf6ffbd70a7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"执行最后一次增量同步:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}}],"text":"mc mirror oldminio/ newrustfs/"},{"type":"text","text":"​(秒级完成)"}]}]},{"type":"listItem","attrs":{"id":"8be87874-2c15-46d2-9e75-571a5ea460ca"},"content":[{"type":"paragraph","attrs":{"id":"6015341a-22f7-4eea-8b85-5964e8f8b0bf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"无感切换"},{"type":"text","text":":通过修改 Nginx 反向袋里的 upstream,或者更改 DNS CNAME,将业务流量指向 RustFS。"}]}]}]},{"type":"heading","attrs":{"id":"f2d6910c-e1df-4e19-bc3b-292c91afcdac","textAlign":"inherit","indent":0,"level":4,"isHoverDragHandle":false},"content":[{"type":"text","text":"4. 留个后手:回滚保障"}]},{"type":"paragraph","attrs":{"id":"05a25803-ef60-4125-8485-b737f2a6d9c1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"切换完成后,"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"千万不要立刻下线老 MinIO"},{"type":"text","text":"。"},{"type":"hardBreak","attrs":{"id":"99811349-b4cb-449b-992a-71d8ccc3b8ec"}},{"type":"text","text":"建议让老集群保持只读状态运行 7~14 天。万一 RustFS 这边出现水土不服,业务只需把 Endpoint 切回去,无需重新搬运数据,实现真正的安全兜底。"}]},{"type":"heading","attrs":{"id":"0e72dd5a-f27c-4a54-9e5d-4bd8dea4f5a1","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","text":"写在最后"}]},{"type":"paragraph","attrs":{"id":"24ce1057-68e8-42d7-800d-c7f427f34ee5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这次折腾下来,RustFS 给我的感觉就是:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"“皮实、省空间”"},{"type":"text","text":"。对于非结构化数据量巨大的场景(比如 AI 训练数据、监控视频),用 EC 模式替代多副本,能省下一大笔买硬盘的钱。"}]},{"type":"horizontalRule","attrs":{"id":"60e53e38-9f66-4c89-b69f-036f2835c103","isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"9ad034b3-e95e-449e-83e9-bc111e068a67","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"觉得有用?点个赞和在看,转发给需要的同事!"},{"type":"hardBreak","attrs":{"id":"cee611d6-98c3-4450-b090-c0b2d9df1a4c"}},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"inherit","background":""}},{"type":"bold"}],"text":"留言区开放:"},{"type":"text","text":"你是用 MinIO 还是 Ceph?觉得 RustFS 有戏吗?"}]}]}","createTime":1782950974,"ext":{"closeTextLink":0,"comment_ban":0,"description":"","focusRead":0},"favNum":0,"html":"","isOriginal":0,"likeNum":0,

热门栏目