爱吃芒果

MinIO大杂烩

xl.meta 数据结构

当对象大小超过 128KiB 后,比如a.txt,数据和元数据分开存储

MinIO 提供了命令行工具xl-meta用来查看xl.meta文件

{
  "Versions": [
    {
      "Header": {
        "EcM": 1,
        "EcN": 0,
        "Flags": 2,
        "ModTime": "2025-01-23T15:27:45.311572+08:00",
        "Signature": "d0c2b58b",
        "Type": 1,
        "VersionID": "00000000000000000000000000000000"
      },
      "Idx": 0,
      "Metadata": {
        "Type": 1,
        "V2Obj": {
          "CSumAlgo": 1,
          "DDir": "74hQxU7FTrq56ShK8pjqAA==",
          "EcAlgo": 1,
          "EcBSize": 1048576,
          "EcDist": [1],
          "EcIndex": 1,
          "EcM": 1,
          "EcN": 0,
          "ID": "AAAAAAAAAAAAAAAAAAAAAA==",
          "MTime": 1737617265311572000,
          "MetaSys": {},
          "MetaUsr": {
            "content-type": "text/plain",
            "etag": "90a1a2b65a4e40d55d758f2a59fe33b4"
          },
          "PartASizes": [2097152],
          "PartETags": null,
          "PartNums": [1],
          "PartSizes": [2097152],
          "Size": 2097152
        },
        "v": 1734527744
      }
    }
  ]
}
.
├── a.txt
│   ├── ef8850c5-4ec5-4eba-b9e9-284af298ea00
│   │   └── part.1
│   └── xl.meta
└── b.txt
    └── xl.meta

minio 的启动流程

minio 启动核心的核心命令为 minio server https://minio{1...4}.example.net:9000/mnt/disk{1...4}/minio,表示 minio 服务分布部署在 4 台服务器上总共 16 块磁盘上,...这种写法称之为拓展表达式,比如 http://minio{1…4}.example.net:9000实际上表示http://minio1.example.net:9000http://minio4.example.net:9000`的4台主机。