下面我将为您详细梳理 GPFS/Spectrum Scale 的核心命令,分为几个部分:
- 基础概念与架构
- 核心管理命令
- 日常运维常用命令
- 监控与诊断命令
- 实用技巧与注意事项
基础概念与架构
在了解命令之前,先理解几个核心概念,这有助于你更好地理解命令的用途:
- MM (Management and Monitoring Server): 管理和监控服务器,通常在一个节点上运行,负责管理整个文件系统的配置、策略和状态,很多
mm* 命令默认通过这个服务器执行。
- NSD (Node Space Device): 节点空间设备,这是 Spectrum Scale 的基本存储单元,可以是物理磁盘、LUN 或文件,一个文件系统由一个或多个 NSD 组成。
- Fileset: 文件集,可以理解为文件系统内部的逻辑卷或目录,你可以为不同的文件集设置不同的配额、审计策略和访问权限,实现精细化管理。
- Mount Point: 挂载点,客户端将文件系统挂载到本地文件系统的目录。
- Cluster: 集群,由多个节点组成的 Spectrum Scale 环境。
核心管理命令
这些命令通常在 管理节点 上执行,用于配置和管理整个文件系统。
文件系统管理
| 命令 |
全称 |
主要用途 |
示例 |
mmcrfs |
create fileset |
创建一个新的文件系统 |
mmcrfs /gpfs/myfs -d /dev/sdb1 -F |
mmchfs |
change fileset |
修改文件系统属性(如块大小、复制因子等) |
mmchfs /gpfs/myfs - blockSize 4096 -R 3 |
mmdfs |
display fileset |
显示文件系统的详细信息 |
mmdfs /gpfs/myfs |
mmumount |
unmount fileset |
卸载文件系统 |
mmumount /gpfs/myfs |
mmmount |
mount fileset |
挂载文件系统 |
mmmount /gpfs/myfs |
mmrmfs |
remove fileset |
删除文件系统 |
mmrmfs /gpfs/myfs |
存储设备管理
| 命令 |
全称 |
主要用途 |
示例 |
mmcrnsd |
create node space device |
创建 NSD(将磁盘或 LUN 加入集群) |
mmcrnsd -d /dev/sdc -A yes |
mmchnsd |
change node space device |
修改 NSD 属性(如备用节点) |
mmchnsd /dev/sdc -b node02 |
mmddnsd |
define node space device |
定义一个已存在的设备为 NSD(常用于恢复) |
mmddnsd -d /dev/sdc -A yes |
mmrmsd |
remove node space device |
从文件系统中移除 NSD |
mmrmsd /dev/sdc -f |
mmgetnsd |
get node space device |
获取 NSD 的详细信息 |
mmgetnsd /dev/sdc |
文件集管理
| 命令 |
全称 |
主要用途 |
示例 |
mmcrfileset |
create fileset |
在文件系统内创建一个文件集 |
mmcrfileset /gpfs/myfs/data |
mmchfileset |
change fileset |
修改文件集属性(如配额、审计) |
mmchfileset /gpfs/myfs/data -k 1T -a all |
mmdf |
display fileset |
显示文件集的详细信息 |
mmdf /gpfs/myfs/data |
mmrmfileset |
remove fileset |
删除文件集 |
mmrmfileset /gpfs/myfs/data |
集群与节点管理
| 命令 |
全称 |
主要用途 |
示例 |
mmaddnode |
add node |
向集群中添加一个新节点 |
mmaddnode -n node03 |
mmdelnode |
delete node |
从集群中删除一个节点 |
mmdelnode -n node03 |
mmgetstate |
get state |
获取集群中所有节点的状态(是否在线) |
mmgetstate |
mmchconfig |
change config |
修改集群的全局配置(如 MM 服务器) |
mmchconfig -s mmcs=yes |
日常运维常用命令
这些命令在所有 客户端节点 和 管理节点 上都非常有用。
挂载与卸载
| 命令 |
主要用途 |
示例 |
mount |
挂载 Spectrum Scale 文件系统 |
mount -o mnt /gpfs/myfs /mnt/data |
umount |
卸载文件系统 |
umount /mnt/data |
mount |
查看当前挂载的文件系统 |
mount | grep gpfs |
文件系统信息查询
| 命令 |
主要用途 |
示例 |
df |
查看文件系统的磁盘使用情况 |
df -h /gpfs/myfs |
mmlsfs |
list fileset |
列出文件系统内的所有文件集及其属性 |
mmlsfileset |
list fileset (same as mmlsfs) |
同上,更明确的命令 |
mmdf |
display fileset usage |
显示文件集的使用情况(空间、Inode等) |
权限与用户管理
| 命令 |
主要用途 |
示例 |
mmgetauth |
get authorization |
查看当前节点的认证状态(如 NID、GID 映射) |
mmsetauth |
set authorization |
设置认证方式(如 NID 映射) |
mmcruser |
create user |
在文件系统中创建一个用户/组映射 |
监控与诊断命令
这些命令帮助你排查问题、监控系统健康状态。
系统状态
| 命令 |
主要用途 |
示例 |
mmgetstate |
get state |
最重要的命令之一,检查所有节点的状态是否为 active,NSD 是否为 in-policy。 |
mmgetstorage |
get storage |
检查存储设备的健康状态,查看是否有 stale 或 quorum 问题。 |
性能与日志
| 命令 |
主要用途 |
示例 |
mmfslog |
log utility |
查看和管理 GPFS/Spectrum Scale 的日志文件,用于诊断错误。 |
mmlsquery |
list query |
查询集群的各种信息,如节点、文件系统、NSD 等。 |
iostat |
I/O statistics |
结合 GPFS 使用,查看文件系统的 I/O 性能。 |
mmcounters |
display counters |
查看文件系统的详细性能计数器,如读写请求、缓存命中率等。 |
故障恢复
| 命令 |
主要用途 |
示例 |
mmrecover |
recover |
恢复失败的 NSD 或文件系统组件。 |
mmresyncfs |
resync fileset |
重新同步文件集的副本,用于修复数据不一致。 |
实用技巧与注意事项
- 命令帮助:几乎所有
mm* 命令都支持 -h 或 --help 参数,mmcrfs -h,可以查看该命令的详细用法和选项。
/usr/lpp/mmfs 目录:这是 Spectrum Scale 的安装目录,包含了所有命令、库文件和配置文件,了解这个目录结构很有帮助。
- 配置文件:
/etc/filesystems: 文件系统的核心配置文件,定义了文件系统的挂载点、设备、参数等。mmcrfs 等命令会修改这个文件。
/etc/clustermap: 定义了集群中所有节点的网络标识符。
- 权限:执行这些管理命令通常需要
root 权限。
- 操作前备份:在进行如
mmchfs, mmchnsd 等修改配置的操作前,建议备份相关配置文件或进行操作规划,以防误操作导致严重问题。
- 官方文档:IBM 官方文档是最权威的参考资料,特别是对于特定版本和高级功能,搜索 "IBM Spectrum Scale Documentation" 即可找到。
希望这份详细的命令梳理对您有所帮助!Spectrum Scale 是一个功能强大的系统,熟练掌握这些命令是管理和运维它的关键。