第 27 章 外部阵列管理(libStorageMgmt)
Red Hat Enterprise Linux 7 附带一个新的外部阵列管理库,名为
libStorageMgmt
。
27.1. libStorageMgmt 简介
libStorageMgmt
库是一个独立于应用程序编程接口(API)的存储阵列。作为开发者,您可以使用此 API 管理不同的存储阵列,并利用硬件加速功能。
这个库被用作其他更高级别的管理工具和应用程序的一个构建块。最终系统管理员还可以将它用作工具,通过利用脚本手动管理存储并自动执行存储管理任务。
使用
libStorageMgmt
库,您可以执行以下操作:
- 列出存储池、卷、访问组或文件系统。
- 创建和删除卷、访问组、文件系统或 NFS 导出。
- 授予和移除对卷、访问组或启动器的访问权限。
- 使用快照、克隆和副本复制卷。
- 创建和删除访问组,并编辑组成员。
未使用服务器资源,如 CPU 和互连带宽,因为操作都在数组上完成。
libstoragemgmt 软件包提供:
- 用于客户端应用程序和插件开发人员的稳定 C 和 Python API。
- 使用库的命令行界面(
lsmcli
)。 - 执行插件(
lsmd
)的守护进程。 - 允许测试客户端应用程序(
sim
)的模拟插件。 - 用于与数组交互的插件架构。
警告
这个库及其关联的工具能够销毁它所管理的数组上的任何及所有数据。强烈建议您针对存储模拟器插件开发和测试应用程序和脚本,以便在使用生产系统前删除任何逻辑错误。在部署到生产环境前,强烈建议在实际非生产硬件上测试应用程序和脚本(如果可能)。
Red Hat Enterprise Linux 7 中的
libStorageMgmt
库添加了默认的 udev 规则,以处理 REPORTED LUNS DATA HAS CHANGED 单元注意。
当存储配置更改发生时,其中一个单元 Attention ASC/ASCQ 代码会报告更改。然后会生成 uevent,并使用
sysfs
自动扫描。
文件
/lib/udev/rules.d/90-scsi-ua.rules
包含示例规则,用于枚举内核可生成的其他事件。