Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 27 章 外部阵列管理(libStorageMgmt)

红帽企业 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 库添加了处理 REPORTED LUNS DATA HAS CHANGED 单元关注的默认 udev 规则。
当发生存储配置更改时,多个单元的 ASC/ASCQ 代码之一会报告更改。然后会生成 uevent,并使用 sysfs 自动重新扫描。
文件 /lib/udev/rules.d/90-scsi-ua.rules 包含用于枚举内核可生成其他事件的示例规则。
libStorageMgmt 库使用插件架构来容纳存储阵列的差异。有关 libStorageMgmt 插件以及如何编写它们的更多信息,请参阅红帽 开发人员指南