以下是针对 mkfs.lustre 的详细用法说明及配置示例,涵盖 MGS/MGTMDS/MDTOSS/OST 等核心组件的配置场景。


一、基本概念

  • MGS (Management Server): Lustre 系统的全局配置管理服务,存储文件系统元数据。
    • MGT (Management Target): MGS 使用的存储设备(如磁盘分区)。
  • MDS (Metadata Server): 管理文件系统的元数据(如目录结构、文件属性)。
    • MDT (Metadata Target): MDS 使用的存储设备。
  • OSS (Object Storage Server): 存储文件数据(对象)。
    • OST (Object Storage Target): OSS 使用的存储设备。

二、MGS/MGT 配置

1. 创建 MGS 和 MGT

# 格式化磁盘 /dev/sdb 为 MGT
mkfs.lustre --fsname=myfs --mgs --reformat /dev/sdb
  • --mgs: 指定目标类型为 MGS。
  • --fsname=myfs: 文件系统名称。
  • --reformat: 强制重新格式化设备(若已存在 Lustre 数据)。

2. 带冗余的 MGS 配置(双节点)

# 主节点
mkfs.lustre --fsname=myfs --mgs --servicenode=192.168.1.10@tcp --servicenode=192.168.1.11@tcp /dev/sdb

# 备用节点
mkfs.lustre --fsname=myfs --mgs --servicenode=192.168.1.11@tcp --servicenode=192.168.1.10@tcp /dev/sdb
  • --servicenode: 指定服务节点 IP 和协议(如 tcpo2ib),实现故障转移。

三、MDS/MDT 配置

1. 单 MDS 单 MDT

# 格式化 /dev/sdc1 为 MDT
mkfs.lustre --fsname=myfs --mdt --mgsnode=192.168.1.10@tcp --index=0 /dev/sdc1
  • --mdt: 指定目标类型为 MDT。
  • --mgsnode=192.168.1.10@tcp: 指向 MGS 的 IP 和协议。
  • --index=0: MDT 的索引号(从 0 开始)。

2. 多 MDS(DNE 分布式命名空间)

# 第二个 MDT(第二个 MDS 节点)
mkfs.lustre --fsname=myfs --mdt --mgsnode=192.168.1.10@tcp --index=1 /dev/sdd1
  • --index=1: 第二个 MDT 的索引号,用于扩展元数据存储。

四、OSS/OST 配置

1. 单 OSS 单 OST

# 格式化 /dev/sde1 为 OST
mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=0 /dev/sde1
  • --ost: 指定目标类型为 OST。
  • --index=0: OST 的索引号(每个 OST 唯一)。

2. 单 OSS 多 OST

# 第一个 OST
mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=0 /dev/sde1

# 第二个 OST(同一 OSS)
mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=1 /dev/sdf1

3. 带冗余的 OSS 配置

# 主 OSS 节点
mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=0 \
  --servicenode=192.168.1.20@tcp --servicenode=192.168.1.21@tcp /dev/sde1

# 备用 OSS 节点
mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=0 \
  --servicenode=192.168.1.21@tcp --servicenode=192.168.1.20@tcp /dev/sde1
  • --servicenode: 指定 OSS 的主备节点实现故障转移。

五、高级配置

1. 指定网络接口

mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp \
  --network=tcp --interface=eth1 /dev/sde1
  • --network=tcp: 指定使用 TCP 协议。
  • --interface=eth1: 绑定到指定网络接口。

2. 设置存储参数

mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp \
  --mkfsoptions="-O project_quota,big_journal" /dev/sde1
  • --mkfsoptions: 传递额外的 mkfs 参数(如启用配额)。

六、操作流程示例

  1. 初始化 MGS/MGT:

    mkfs.lustre --fsname=myfs --mgs --reformat /dev/sdb
    
  2. 创建 MDT:

    mkfs.lustre --fsname=myfs --mdt --mgsnode=192.168.1.10@tcp --index=0 /dev/sdc1
    
  3. 创建多个 OST:

    # OST 0
    mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=0 /dev/sde1
    
    # OST 1
    mkfs.lustre --fsname=myfs --ost --mgsnode=192.168.1.10@tcp --index=1 /dev/sdf1
    

七、注意事项

  1. 设备必须未挂载:格式化前确保设备未被使用。
  2. 索引唯一性:同一文件系统中 MDT/OST 的 --index 必须唯一。
  3. 网络配置:确保 MGS、MDS、OSS 节点之间网络互通。
  4. 备份数据--reformat 会清除设备原有数据。

通过上述示例,可灵活构建单节点或分布式高可用的 Lustre 文件系统。

posted on 2025-04-03 15:45  LeeHang  阅读(271)  评论(0)    收藏  举报