引言

在 UNIX? 存储管理市场上,有两家主要的领先厂商:IBM 和 Veritas(现在的 Symantec)。两家公司都提供帮助 UNIX 系统管理员以非常灵活的方法管理存储设备的产品。Veritas 提供了 Veritas Volume Manager (VxVM),其产品打包为独立外接程序,或者作为更大软件包的组成部分,如 Veritas On-Line Storage Manager。VxVM 是一个存储管理子系统,使用该系统可将物理磁盘作为逻辑设备进行管理。(逻辑设备不存在物理磁盘的特定限制。)

Veritas Volume Manager

VxVM 是一个存储管理子系统,使用该系统可将物理磁盘作为一种称为 的逻辑设备进行管理。VxVM 卷在应用程序与操作系统看来,就是可以在上面配置文件系统、数据库以及其他托管数据对象的物理磁盘。VxVM 为计算环境和存储区域网络 (SAN) 环境提供简单易用的联机磁盘存储管理功能。VxVM 支持独立磁盘冗余阵列 (RAID) 模型,因此可以实施配置,预防磁盘与硬件故障并提升 I/O 吞吐量。

另外,VxVM 还提供可以提升容错和磁盘故障快速修复能力的功能。VxVM 通过提供逻辑卷管理层来允许卷跨越多个磁盘,从而克服了硬盘设备的物理局限性。VxVM 还提供可以提升性能并确保数据可用性与完整性的工具。您可以使用 VxVM 在系统处于活动状态时动态地配置磁盘存储。

VxVM 和操作系统

VxVM 充当操作系统与数据管理系统(如文件系统与数据库管理系统)之间的子系统。VxVM 与操作系统紧密结合在一起。要将磁盘置于 VxVM 控制之下,必须事先通过操作系统设备接口访问该磁盘。VxVM 位于操作系统接口服务的上层,与操作系统访问物理磁盘的方式密切相关。

VxVM 与操作系统有关的方面包括:

  • 操作系统(磁盘)设备
  • 设备句柄
  • VxVM 动态多路径 (DMP) 元设备

VxVM 和数据存储

VxVM 使用以下两种对象进行存储管理:

物理对象物理磁盘,或其他具有用于存储数据的块和原始操作系统设备接口的硬件。 虚拟对象当有一个或多个物理磁盘被置于 VxVM 控制之下时,VxVM 将在这些物理磁盘上创建称为卷的虚拟对象。每个卷在一个或多个物理磁盘上记录和检索数据。文件系统、数据库或其他应用程序使用与访问物理磁盘相同的方法来访问卷。

卷也由其他在更改卷配置中使用的虚拟对象(丛和子磁盘)组成。卷及其虚拟组件称为虚拟对象 或 VxVM 对象。

物理磁盘

物理磁盘是基本的存储设备(介质),即数据最终存储到的地方。可以使用设备名来定位物理磁盘,进而访问该磁盘上的数据。物理磁盘的设备名因所使用的计算机系统而异。并非所有系统都使用所有参数。典型设备名的形式为 hdisk(number),其中 (number) 指定唯一的磁盘编号(从 0 开始)。

图 1. 显示物理磁盘
在 AIX 5.3 和 6.1 中使用 Veritas Volume Manager (VxVM) V5 管理逻辑卷_第1张图片

磁盘阵列

在磁盘上执行 I/O 是一个速度相对较慢的过程,这是因为磁盘是一种物理设备,在读写之前需要时间来将磁头移到磁盘上正确的位置。如果对单个磁盘执行所有读写操作(一次执行一个操作),则读写时间会变得失控。而对多个磁盘执行这些操作则有助于减少这种问题的发生。

磁盘阵列 是物理磁盘的集合,VxVM 可将其作为一个或多个虚拟磁盘或卷提供给操作系统。对于操作系统而言,VxVM 所创建的卷在外观和行为上均与物理磁盘类似。应用程序与卷交互的方式应和与物理磁盘交互的方式相同。图 2 显示了 VxVM 如何将磁盘阵列中的磁盘以多个卷的形式提供给操作系统。

图 2. 显示磁盘阵列中的磁盘
在 AIX 5.3 和 6.1 中使用 Veritas Volume Manager (VxVM) V5 管理逻辑卷_第2张图片

可以将数据分布在磁盘阵列中的多个磁盘上,以便在这些磁盘之间分配或平衡 I/O 操作。在多个磁盘上使用并行 I/O 可提高阵列的数据传输速度和总吞吐量,从而提高 I/O 性能。

多路径磁盘阵列

有些磁盘阵列提供用于访问其磁盘设备的多个端口。这些端口与主机总线适配器 (HBA) 控制器以及阵列的任何本地数据总线或 I/O 处理器相结合,组成了多个用于访问磁盘设备的硬件路径。这种磁盘阵列称为多路径 磁盘阵列,此类型的磁盘阵列可以通过许多不同的配置(如连接到单个主机上不同控制器的多个端口、通过主机上的单个控制器形成的端口链,或同时连接到不同主机的端口)连接到主机系统上。

设备发现

设备发现是发现挂接到主机上的磁盘的过程。此功能对于动态多路径 (DMP) 很重要,因为它需要支持越来越多的来自很多供应商的磁盘阵列。设备发现服务与发现主机挂接的设备的能力相结合,使您能够动态地向新磁盘阵列添加支持。此操作使用一种称为设备发现层 (DDL) 的功能,无需重新启动即可完成。

虚拟对象

VxVM 中的虚拟对象包括:

  • 磁盘组
  • 卷管理器 (VM) 磁盘
  • 子磁盘
  • 丛 (plex)

将物理磁盘置于 VxVM 控制之下时,即在物理对象和 VxVM 对象之间建立了关系。在主机系统上安装 VxVM 之后,必须将物理磁盘的内容置于 VxVM 控制之下,方法是将 VM 磁盘组成磁盘组并分配磁盘组空间以创建逻辑卷。

若要将物理磁盘置于 VxVM 控制之下,磁盘一定不能受 LVM 控制。VxVM 必须控制物理磁盘,并且磁盘不能受其他存储管理器(如 LVM)的控制。清单 1 显示了使用 vxdisk 命令列出磁盘状态的示例。

清单 1. 使用 vxdisk 列出磁盘状态        
# vxdisk -e list
DEVICE       TYPE      DISK         GROUP        STATUS       OS_NATIVE_NAME
Disk_0       auto      -             -            online       hdisk51
Disk_1       auto      -             -            online       hdisk48
Disk_2       auto      -             -            online       hdisk47
Disk_3       auto      -             -            online       hdisk50
Disk_4       auto      -             -            online       hdisk49
Disk_5       auto      -             -            online       hdisk46
Disk_6       auto      -             -            online       hdisk44
Disk_7       auto      -             -            online       hdisk42
Disk_8       auto      -             -            online       hdisk45
Disk_9       auto      -             -            offline      hdisk43
Disk_10      auto      -             -            online       hdisk41
Disk_11      auto      -             -            online       hdisk40
Disk_12      auto      -             -            online       hdisk38
Disk_13      auto      -             -            online       hdisk37
Disk_14      auto      -             -            online       hdisk39
Disk_15      auto      -             -            online       hdisk36
Disk_16      auto      -             -            online       hdisk33
Disk_17      auto      -             -            online       hdisk34
Disk_18      auto      -             -            online       hdisk31
Disk_19      auto      -             -            online       hdisk35
Disk_20      auto      -            -   online      hdisk32
Disk_21   auto      -          -            LVM        hdisk27
           

VxVM 创建虚拟对象并在这些对象之间建立逻辑关系。然后,VxVM 将使用虚拟对象来执行存储管理任务。

磁盘组

磁盘组 是共享公共配置并由 VxVM 管理的一些磁盘的集合。磁盘组配置是包含相关 VxVM 对象及其属性和联系的详细信息的记录集。磁盘组名称最长为 31 个字符。

可以在需要时创建附加磁盘组。磁盘组允许将磁盘按逻辑集合分组。磁盘组及其组件可以作为一个单元从一台主机移到另一台主机。

VM 磁盘

将物理磁盘置于 VxVM 控制之下时,系统会为该物理磁盘分配一个 VM 磁盘。VM 磁盘受 VxVM 控制,通常位于某个磁盘组中。每个 VM 磁盘与一个物理磁盘对应。VxVM 从 VxVM 磁盘空间的连续区域分配存储空间。VM 磁盘通常包括一个公共区域(已分配存储区)和一个小的存储 VxVM 内部配置信息的专用区域。每个 VM 磁盘都有一个唯一的磁盘介质名,称为虚拟磁盘名。您可以定义最多包含 31 个字符的磁盘名,也可以让 VxVM 分配 diskgroup(number) 形式的缺省名称,其中 diskgroup 是磁盘所属的磁盘组的名称。图 3 显示了一个示例。

图 3. VM 磁盘
在 AIX 5.3 和 6.1 中使用 Veritas Volume Manager (VxVM) V5 管理逻辑卷_第3张图片

子磁盘

子磁盘是一组连续的磁盘块。块是磁盘上的空间单元。VxVM 使用子磁盘分配磁盘空间。一个 VM 磁盘可以分成一个或多个子磁盘。每个子磁盘代表一个 VM 磁盘的特定部分,而 VM 磁盘映射到物理磁盘的特定区域。VM 磁盘的缺省名称是 diskgroup(number)。子磁盘的缺省名称是 diskgroup(number-number),如图 4 所示,其中 diskgroup 是磁盘所属的磁盘组的名称。

图 4. 子磁盘
在 AIX 5.3 和 6.1 中使用 Veritas Volume Manager (VxVM) V5 管理逻辑卷_第4张图片

一个 VM 磁盘可以包含多个子磁盘,但子磁盘不能互相重叠或共享 VM 磁盘的同一部分。图 5 显示了包含三个子磁盘的 VM 磁盘。VM 磁盘被分配到一个物理磁盘上。

图 5. 将三个子磁盘分配给一个 VM 磁盘
在 AIX 5.3 和 6.1 中使用 Veritas Volume Manager (VxVM) V5 管理逻辑卷_第5张图片

丛(plexes)

VxVM 使用子磁盘构建称为丛(plexes) 的虚拟对象。丛由位于一个或多个物理磁盘上的一个或多个子磁盘组成。例如,图 6 显示了丛 vol01-01。

图 6. 包含两个子磁盘的丛
6

卷(volume )

卷(volume) 是一种虚拟的磁盘设备,就应用程序、数据库和文件系统而言,它与物理磁盘设备很相似,但没有物理磁盘设备的物理局限性。卷由一个或多个丛组成,每个丛都包含卷中所选数据的一个副本。由于卷的虚拟特性,卷并不局限在某个磁盘或磁盘中的特定区域之中。

使用 VxVM 用户界面可以更改卷的配置。而且不必中断正在使用卷的应用程序或文件系统即可完成配置更改。例如,可以在不同的磁盘上镜像卷,也可通过移动卷来使用不同的磁盘存储区。

VxVM 对卷使用缺省的命名约定 vol(number),对卷中的丛使用缺省的命名约定 vol(number-number)。为便于管理,您可以为所创建的卷选择更有意义的名称。

VxVM 5.0 安装

本部分介绍 VxVM 安装和配置命令,您可以使用这些命令在 AIX 5.3 和 6.10 版本上执行与 VxVM 对象相关的任务。VxVM 的运行依赖于下列持续运行的守护进程和内核线程: vxconfigd

        VxVM 配置守护进程维护磁盘和磁盘组配置,将配置更改传递给内核,并修改磁盘上存储的配置信息。

vxiodVxVM I/O 内核线程提供扩展 I/O 操作,而不会阻止调用进程。缺省情况下,引导时会启动 16 个 I/O 线程,且至少有一个 I/O 线程将一直处于运行状态。 vxrelocd热重定位守护进程监视 VxVM 是否有影响冗余的事件,并执行热重定位以恢复冗余。

在开始安装之前,请确保已正确设置了 PATH 变量,因为安装过程中使用的大多数命令都位于 /sbin 或 /usr/sbin 目录。将这些目录添加到您的 PATH 环境变量中,如清单 2 所示。

清单 2. PATH 信息            
For a KSH Shell (or sh), use the command:

# PATH=/sbin:/usr/sbin:/etc/vx/bin:/opt/VRTS/bin:$PATH# export PATH

For a C Shell (csh or tcsh), use the command:

% setenv PATH /sbin:/usr/sbin:/etc/vx/bin:/opt/VRTS/bin:${PATH}

验证操作系统环境

Symantec 的 Veritas Storage Foundation 5.0 只能安装在运行 AIX 5.3 或 AIX 6 的系统中。在安装 Veritas Storage Foundation 之前,这些系统必须处于适当的维护级别上,并安装了附加 AIX 修补程序。在 AIX 计算机上使用 oslevel 命令来检查操作系统的维护级别,如清单 3 所示。

清单 3. 检查操作系统级别           
# oslevel
6.1.0.0
# oslevel -rq
Known Recommended Maintenance Levels
------------------------------------
6110-00
# oslevel
5.3.0.0
# oslevel -rq
Known Recommended Maintenance Levels
------------------------------------
5300-07
5300-06
5300-05
5300-04
5300-03
5300-02
5300-01
5380-00

先决条件

下列 Veritas Storage Foundation 软件包是执行安装的必需或可选(已标注)组件。

VRTSperl PERL 语言                                                                          必需

VRTSspt VERITAS 支持工具                                                               必需

VRTSvlic VERITAS 许可实用程序                                                          必需

VRTSvmdoc VERITAS Volume Manager 联机指南                                   可选

VRTSvmman VERITAS Volume Manager 手册页                                     可选

VRTSvmpro VERITAS Volume Manager 提供程序                                   对于 VEA 和 ISP 是必需的

VRTSvxvm VERITAS Volume Manager                                                必需

VRTSveki VERITAS 内核接口组件                                                         必需

VRTSvxfs VERITAS 文件系统                                                              必需

VRTSddlpr VERITAS 设备发现层提供程序                                              必需

VRTSfspro VERITAS 文件系统提供程序                                                 对于 VEA 是必需的,即使不安装 VERITAS 文件系统软件也是如此

VRTSob VERITAS 企业管理员服务                                                       对于 VEA 和 ISP 是必需的

VRTSobgui VERITAS 企业管理员                                                         对于 VEA 客户端是必需的

VRTSFman VERITAS 文件系统手册页                                                   可选

VRTSFsdoc VERITAS 文件系统联机手册                                               可选

安装 Veritas Storage Foundation

在安装 Storage Foundation 之前,需要从 Symantec 网站下载文件集。最佳做法是通过运行 cksum 命令并与原位置的文件集进行比较来检查所下载文件集的数据完整性。

  1. superuser 身份登录。使用 installp 命令安装所需的软件包,如清单 4 所示。
    清单 4. installp               
    Note:- Check the size of the file by using cksum command as below,
    # cksum VRTSvxvm.bff
    1823433071 126310400 VRTSvxvm.bff
    installp command is used as below,
          installp -acXd VRTSvmdoc.bff VRTSvmdoc
          installp -acXd VRTSvmman.bff VRTSvmman
          installp -acXd VRTSveki.bff VRTSveki
          installp -acXd VRTSspt.bff VRTSspt
          installp -acXd VRTSvxvm.bff VRTSvxvm
          installp -acXd VRTSvlic.bff VRTSvlic
          installp -acXd VRTSvxfs.bff VRTSvxfs
          installp -acXd VRTSperl.bff VRTSperl
    Note:- All these commands can be put inside a ksh script and
    installed by invoking that script.

    使用 lslpp 命令验证 Veritas VxVM 是否已完成安装,如清单 5 所示。

    清单 5. 验证安装                     
    # lslpp -l |grep -i vrts

      VRTSspt                    5.0.1.0  COMMITTED  Veritas Support Tools
      VRTSveki                   5.0.1.0  COMMITTED  Veritas Kernel Interface
      VRTSvlic                   5.0.1.0  COMMITTED  VRTSvlic Symantec License
      VRTSvxfs                   5.0.1.0  COMMITTED  Veritas File System
      VRTSvxvm                   5.0.1.0  COMMITTED  Veritas Volume Manager
      VRTSveki                   5.0.1.0  COMMITTED  Veritas Kernel Interface
      VRTSvmman                  5.0.1.0  COMMITTED  Veritas Manual Pages
      VRTSvdoc                   5.0.1.0  COMMITTED  Veritas Documentation

  2. 若要从 CD-ROM 安装,请装入 CD-ROM 并按照以下步骤进行安装。
    1. superuser 身份登录。
    2. 将 Veritas 软件光盘插入连接到系统的 CD-ROM 驱动器中。
    3. 手动装入 CD: # mkdir -p /mnt/cdrom # mount -V cdrfs -o ro /dev/cdN /mnt/cdrom

      其中,/dev/cdN 中的 N 是目标系统上配置的 CD 设备的编号。N 的值通常为 0。

      在系统的 /dev 目录下检查 CD 设备节点,或使用下面的方法并继续执行第 4 步。若要调用通用安装程序,请按如下方式运行 CD 上的安装命令。

      # /mnt/cdrom/CD_NAME/installer
    4. 如果未安装 VRTSvlic 许可软件包,则会有消息提示您是否要安装 VRTSvlic。按照说明安装该软件包。
    5. 如果已安装 VRTSvlic 许可软件包,则会显示“Product Status”页面:
      • 可用于安装的产品。
      • 当前已安装的产品。
      • 获得许可证的产品。
      • 可以启用的操作的选项。

      使用 /opt/VRTS/bin/vxlicrep 命令查看各种产品许可证类型的报告。

    6. 在“Product Status”页面的提示符处,输入 L 以添加许可证密钥,然后按 Return 开始。
    7. 在下一个提示符处,输入许可证密钥并按 Return
    8. 在“Product Status”页面中,为产品安装程序输入 I 并按 Return。即会显示产品安装程序。
    9. 在 Veritas 产品安装程序中,输入要安装的产品的编号并按 Return。产品将自动开始安装。

      在安装结束时,将再次显示 Veritas 产品安装程序。

    10. 程序将提示您输入要安装软件的系统的名称。收到提示后,按 Enter 继续。

Veritas 许可

使用 vxlicinst 命令安装许可证密钥,如清单 6 所示。(下面的许可证密钥仅用于举例说明。实际安装时,请从 Symantec 获取密钥。)

清单 6. vxlicinst 命令输出              
Install License:-

# /sbin/vxlicinst

Symantec License Manager vxlicinst utility version 3.02.16.0
Copyright (C) 1996-2006 Symantec Corporation. All rights reserved.

Enter your license key : RGCU-CB9F-YCBX-BFYX-OTGH-GN4O-7KYP-PPC

Number of days left for Demo = 150

License key successfully installed for VERITAS Storage Foundation for DB2
License key successfully installed for VERITAS File System
License key successfully installed for VERITAS Volume Manager
License key successfully installed for VERITAS Mapping Services

其他许可命令

Veritas 许可命令位于 VRTSvlic 软件包中。必须安装 VRTSvlic 才能使许可过程正常进行。 有两个命令:

  • vxlicrep 可用于查看当前安装的许可证。
  • vxlictest 获取许可证密钥中涵盖的功能并对其进行描述。

启用 vxconfigd 守护进程

执行清单 7 中的命令以启用 vxconfigd 守护进程。

清单 7. 启用守护进程            
# vxconfigd -km disable 
# vxdctl init
# vxdctl enable

本部分稍后提供有关 vxconfigd 守护进程和 vxdctl 的更多信息。

若要检查 Storage Foundation 进程并确认 Veritas 文件系统是否已成功安装,请使用以下命令:

# lsvfs vxfs vxfs 32 /sbin/helpers/vxfs /sbin/helpers/vxfs

若要确认 Volume Manager 进程(vxconfigd、vxnotify 和 vxrelocd)是否正在运行,请使用:

# ps -e |grep vx

创建 VxVM 磁盘组

清单 8 显示了 lspv 命令的输出,其中不含 VxVM 配置。

清单 8. lspv 输出            
# lspv
hdisk0          00b28305ad573b54                    rootvg          active
hdisk1          none                       None
hdisk2          none                             None
hdisk3          00b28305eea1b645                   None
hdisk4          00b28305eb18f002                   None
hdisk5          none                                         None
hdisk6          none                                         None
hdisk7          none                              None
hdisk8          none                              None
hdisk9          none                               None
hdisk10         none                                        None
hdisk11         none                                        None
hdisk12         none                                None
hdisk13         none                                None
hdisk14         00b2830584f972f3                    None
hdisk15         00b2830584f9751a                    None

现在必须通过初始化和添加磁盘将这些磁盘配置为 Veritas Volume 磁盘组 (vxvmdg)。在 Volume Manager 中,磁盘有两个初始化级别:

  • 对磁盘介质本身进行格式化。此操作必须在 Volume Manager 外部执行。
  • 在磁盘上存储标识和配置信息,以供 Volume Manager 使用。
Volume Manager 界面可引导您逐步完成这一级别的磁盘初始化过程。

可以将完全初始化的磁盘添加到磁盘组中以用于替换以前的故障磁盘,或创建新的磁盘组。

清单 9. vxdg 命令             
#cd /etc/vx/bin --this is done because the command vxdg is in this path.
#  vxdg -g vxvmdg adddisk vxvmdg1=Disk_10
# vxdg -g vxvmdg adddisk vxvmdg2=Disk_9
# vxdg -g vxvmdg adddisk vxvmdg3=Disk_7
# vxdg -g vxvmdg adddisk vxvmdg4=Disk_6
# vxdg -g vxvmdg adddisk vxvmdg5=Disk_5
# vxdg -g vxvmdg adddisk vxvmdg6=Disk_4
# vxdg -g vxvmdg adddisk vxvmdg7=Disk_3
#  vxdg -g vxvmdg adddisk vxvmdg8=Disk_2
显示已配置磁盘

现在,使用 vxdisk list 命令显示所有已配置磁盘,如清单 10 所示。

清单 10. vxdisk 命令输出             
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
Disk_0       auto:none       -            -     online invalid
Disk_1       auto:none       -            -    online invalid
Disk_2       auto:cdsdisk    vxvmdg8      vxvmdg       online
Disk_3       auto:cdsdisk    vxvmdg7      vxvmdg       online
Disk_4       auto:cdsdisk    vxvmdg6      vxvmdg       online
Disk_5       auto:cdsdisk    vxvmdg5      vxvmdg       online
Disk_6       auto:cdsdisk    vxvmdg4      vxvmdg       online
Disk_7       auto:cdsdisk    vxvmdg3      vxvmdg       online
Disk_8       auto:aixdisk    -            -            online
Disk_9       auto:cdsdisk    vxvmdg2      vxvmdg       online
Disk_10      auto:cdsdisk    vxvmdg1      vxvmdg       online
Disk_11      auto:none       -            -            online invalid
Disk_12      auto:LVM        -            -          LVM
Disk_13      auto:cdsdisk    -            -            online aliased
Disk_14      auto:LVM        -            -          LVM
Disk_15      auto:cdsdisk    -            -            online aliased

该磁盘列表有时以 hdisk(number) 格式显示。使用 vxdg 命令进行配置时请使用相应的格式。

故障诊断和管理

本部分包括一些故障诊断提示和用于管理 VxVM 的常见命令。

磁盘进入错误状态

当磁盘进入错误状态时,Veritas VxVM 有时无法将这些磁盘声明为 vxvmdgs 状态。若要修复此类故障,请按照如下顺序运行以下命令集。

若要查看 hdisk 和 Disk 列表之间的对应映射,请运行清单 11 中的命令。

清单 11. 进入错误状态的磁盘的解决方案           
# vxdisk -e list

DEVICE       TYPE      DISK         GROUP        STATUS       OS_NATIVE_NAME
Disk_0       auto      -             -            online       hdisk51
Disk_1       auto      -             -            online       hdisk48
Disk_2       auto      -             -            online       hdisk47
Disk_3       auto      -             -            online       hdisk50
Disk_4       auto      -             -            online       hdisk49
Disk_5       auto      -             -            online       hdisk46
Disk_6       auto      -             -            online       hdisk44
Disk_7       auto      -             -            online       hdisk42
Disk_8       auto      -             -            online       hdisk45
Disk_9       auto      -             -            offline      hdisk43
Disk_10      auto      -             -            online       hdisk41
Disk_11      auto      -             -            online       hdisk40
Disk_12      auto      -             -            online       hdisk38
Disk_13      auto      -             -            online       hdisk37
Disk_14      auto      -             -            online       hdisk39
Disk_15      auto      -             -            online       hdisk36
Disk_16      auto      -             -            online       hdisk33
Disk_17      auto      -             -            online       hdisk34
Disk_18      auto      -             -            online       hdisk31
Disk_19      auto      -             -            online       hdisk35
Disk_20      auto      -             -            error        hdisk32
Disk_21      auto      -             -            LVM          hdisk27
Disk_22      auto      -             -            online       hdisk30
Disk_23      auto      -             -            offline      hdisk29
Disk_24      auto      -             -            online       hdisk28
Disk_25      auto      -             -            LVM          hdisk26

在上面的清单中,Disk_20 处于 error 状态,因此需要修复才能继续执行 VxVM 操作。

若要查看处于 error 状态的 hdisk 的列表,请执行以下命令:

清单 12. 获取列表

# vxdisk -o alldgs list
DEVICE       TYPE            DISK         GROUP        STATUS
Disk_0       auto:none       -            -            online invalid
Disk_1       auto:none       -            -            online invalid
Disk_2       auto:none       -            -            online invalid
Disk_3       auto:none       -            -            online invalid
Disk_4       auto:none       -            -            online invalid
Disk_5       auto:none       -            -            online invalid
Disk_6       auto:aixdisk    -            -            online
Disk_7       auto:none       -            -            online invalid
Disk_8       auto:none       -            -            online invalid
Disk_9       auto            -            -            offline
Disk_10      auto:none       -            -            online invalid
Disk_11      auto:none       -            -            online invalid
Disk_12      auto:none       -            -            online invalid
Disk_13      auto:aixdisk    -            -            online
Disk_14      auto:aixdisk    -            -            online
Disk_15      auto:none       -            -            online invalid
Disk_16      auto:none       -            -            online invalid
Disk_17      auto:none       -            -            online invalid
Disk_18      auto:none       -            -            online invalid
Disk_19      auto:none       -            -            online invalid
Disk_20      auto:cdsdisk    -            -            error
Disk_21      auto:LVM        -            -            LVM
Disk_22      auto:none       -            -            online invalid
Disk_23      auto            -            -            offline
Disk_24      auto:none       -            -            online invalid
Disk_25      auto:LVM        -            -            LVM
#cd /etc/vx/bin

尝试使用 vxdisksetup 和 vxdiskunsetup 命令格式化 hdisk,如清单 13 所示。

清单 13. vxdisksetup 和 vxdiskunsetup

# /etc/vx/bin/vxdisksetup -if Disk_20 format=aixdisk
VxVM vxdisk ERROR V-5-1-5433 Device Disk_20: init failed:
        Disk sector size is not supported

# /etc/vx/bin/vxdiskunsetup  -C Disk_20 format=aixdisk
VxVM vxdiskunsetup ERROR V-5-2-2208 format=aixdisk: Device address must
be of the form enclr_x where
    x = one or more decimal digit

由于这两个命令都未能清除 error 状态,请使用 vxdisk 命令查看错误磁盘和正确磁盘的详细列表,如清单 14 所示。

清单 14. vxdisk

a) Disk with error state
# vxdisk list Disk_20

Device:    Disk_20
devicetag: Disk_20
type:      auto
info:      format=cdsdisk,privoffset=256
flags:     online error private autoconfig
pubpaths:  block=/dev/vx/dmp/Disk_20 char=/dev/vx/rdmp/Disk_20
guid:      {5d5aa3b8-1dd2-11b2-aeae-2a5848ed1fb8}
udid:      AIX%5FVDASD%5FDISKS%5F600507630EFFFD670000000000000115
site:      -
errno:     Disk is not useable, bad format
Multipathing information:
numpaths:   1
hdisk32 state=enabled
b) Proper one
# vxdisk list Disk_7

Device:    Disk_7
devicetag: Disk_7
type:      auto
info:      format=none
flags:     online ready private autoconfig invalid
pubpaths:  block=/dev/vx/dmp/Disk_7 char=/dev/vx/rdmp/Disk_7
guid:      -
udid:      AIX%5FVDASD%5FDISKS%5F600507630EFFFD670000000000000122
site:      -
Multipathing information:
numpaths:   1
hdisk42 state=enabled

现在尝试使用 chpv 命令:

清单 15. chpv
# chpv -C hdisk32
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
Disk_0       auto:none       -            -            online invalid
Disk_1       auto:none       -            -            online invalid
Disk_2       auto:none       -            -            online invalid
Disk_3       auto:none       -            -            online invalid
Disk_4       auto:none       -            -            online invalid
Disk_5       auto:none       -            -            online invalid
Disk_6       auto:aixdisk    -            -            online
Disk_7       auto:none       -            -            online invalid
Disk_8       auto:none       -            -            online invalid
Disk_9       auto            -            -            offline
Disk_10      auto:none       -            -            online invalid
Disk_11      auto:none       -            -            online invalid
Disk_12      auto:none       -            -            online invalid
Disk_13      auto:aixdisk    -            -            online
Disk_14      auto:aixdisk    -            -            online
Disk_15      auto:none       -            -            online invalid
Disk_16      auto:none       -            -            online invalid
Disk_17      auto:none       -            -            online invalid
Disk_18      auto:none       -            -            online invalid
Disk_19      auto:none       -            -            online invalid
Disk_20      auto:cdsdisk    -            -            error
Disk_21      auto:LVM        -            -            LVM
Disk_22      auto:none       -            -            online invalid
Disk_23      auto            -            -            offline
Disk_24      auto:none       -            -            online invalid
Disk_25      auto:LVM        -            -            LVM
# lspv
hdisk26         00cc17cec566971d                    rootvg          active
hdisk27         00cc17ceebb54c8c                    rootvg          active
hdisk28         none                                None
hdisk29         none                                VeritasVolumes
hdisk30         none                                None
hdisk31         none                                None
hdisk32         none                                VeritasVolumes
hdisk33         none                                None
hdisk34         none                                None
hdisk35         00cc17ce59d7d248                    None
hdisk36         none                                None
hdisk37         none                                VeritasVolumes
hdisk38         none                                None
hdisk39         none                                VeritasVolumes
hdisk40         none                                None
hdisk41         none                                None
hdisk42         none                                None
hdisk43         none                                VeritasVolumes
hdisk44         none                                VeritasVolumes
hdisk45         none                                None
hdisk46         none                                None
hdisk47         00cc17cee3638f87                    None
hdisk48         00cc17cee2ea1ed0                    None
hdisk49         00cc17cee2ea1f4d                    None
hdisk50         00cc17cee2ea1fe1                    None
hdisk51         00cc17cec8c84486                    None

即使在执行 chpv 命令后,仍未移除 VeritasVolumes 标签。 尝试启用和禁用 vxconfigd 守护进程。

清单 16. vxconfigd
# vxconfigd –k
# vxdisk scandisks
# lspv
hdisk26         00cc17cec566971d                    rootvg          active
hdisk27         00cc17ceebb54c8c                    rootvg          active
hdisk28         none                                None
hdisk29         none                                VeritasVolumes
hdisk30         none                                None
hdisk31         none                                None
hdisk32         none                                VeritasVolumes
hdisk33         none                                None
hdisk34         none                                None
hdisk35         00cc17ce59d7d248                    None
hdisk36         none                                None
hdisk37         none                                VeritasVolumes
hdisk38         none                                None
hdisk39         none                                VeritasVolumes
hdisk40         none                                None
hdisk41         none                                None
hdisk42         none                                None
hdisk43         none                                VeritasVolumes
hdisk44         none                                VeritasVolumes
hdisk45         none                                None
hdisk46         none                                None
hdisk47         00cc17cee3638f87                    None
hdisk48         00cc17cee2ea1ed0                    None
hdisk49         00cc17cee2ea1f4d                    None
hdisk50         00cc17cee2ea1fe1                    None
hdisk51         00cc17cec8c84486                    None

标签仍未移除,并且该磁盘仍然处于 error 状态。

运行下面的命令集直到 seek=3 或 4,然后运行其他命令集。如果存在坏块,dd 命令将清除这些坏块,并移除 error 状态。

清单 17. dd         
# dd if=/dev/zero of=/dev/hdisk37 bs=512 seek=0 count=10
10+0 records in
10+0 records out

# dd if=/dev/zero of=/dev/hdisk37 bs=512 seek=1 count=10
10+0 records in
10+0 records out

# dd if=/dev/zero of=/dev/hdisk32 bs=512 seek=0 count=10
10+0 records in
10+0 records out

现在运行 vxdisksetup 命令,它将清除磁盘的 error 状态。

清单 18. vxdisksetup          
# vxdisksetup -if Disk_20 format=aixdisk

Now the Disk_20 is online:.

Disk_20      auto      -             -            online       hdisk32

向 Veritas Volume 数据组添加 hdisk

使用命令行 shell 脚本可以将 hdisk 添加到 Veritas Volume 数据组 (vxvmdg) 中,如清单 19 所示。

清单 19. 向 Veritas Volume 数据组 (vxvmdg) 添加 hdisk

#for i in 7 8 9 10 11 12 13 14;do vxdg –g vxvmdg adddisk vxvmdg$j=hdisk$i ((j+=1));done;
Note:- Here numbers 7,8,9,.... etc indicates hdisk numbers.
Now vxdisk command output displays the added disks as vxvmdg disks.
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hdisk0       auto:LVM        -            -                   LVM
hdisk1       auto:cdsdisk    -            -                  online
hdisk2       auto:cdsdisk    -            -                  online
hdisk3       auto:none       -            -                   online invalid
hdisk4       auto:cdsdisk    -            -                  online
hdisk5       auto:none       -            -                   online invalid
hdisk6       auto:aixdisk    -            -                   online
hdisk7       auto:cdsdisk    vxvmdg1      vxvmdg       online
hdisk8       auto:cdsdisk    vxvmdg2      vxvmdg       online
hdisk9       auto:cdsdisk    vxvmdg3      vxvmdg       online
hdisk10      auto:cdsdisk    vxvmdg4      vxvmdg       online
hdisk11      auto:cdsdisk    vxvmdg5      vxvmdg       online
hdisk12      auto:aixdisk    vxvmdg6      vxvmdg       online
hdisk13      auto:aixdisk    vxvmdg7      vxvmdg       online
hdisk14      auto:cdsdisk    vxvmdg8      vxvmdg       online

其他管理命令

您还可以使用下列命令处理 Veritas VxVM:

vxdiskadm

“Volume Manager Support Operations”菜单界面提供了磁盘操作菜单。主菜单中的每个条目通过提供信息和提出问题,引导您执行特定的操作。系统为许多问题提供了缺省答案,因此可以快速选择常见答案。 vxdiskadd 使用此实用工具可以向 Volume Manager 添加标准磁盘。vxdiskadd 通过显示信息和提出问题引导您初始化新磁盘。 vxdisk 用于管理磁盘设备的命令行实用工具。您可以使用 vxdisk 定义特殊的磁盘设备,初始化存储在磁盘上的信息(Volume Manager 用于标识和管理磁盘),以及执行其他特殊操作。 vxdg 在磁盘组上运行的命令行实用工具。使用该工具可以创建新的磁盘组、向磁盘组添加或删除磁盘,以及启用(导入)或禁用(驱逐)对磁盘组的访问。 vxdisk list 列出磁盘信息并使用 spare 标记显示备用磁盘。 vxprint 列出磁盘和其他信息,并使用 SPARE 标记显示备用磁盘。

清单 20 显示了使用 vxdiskadm 命令控制各种 Volume Manager 操作的示例。可以从中选择任意选项以执行所需操作。

清单 20. vxdiskadm 的使用

# vxdiskadm
Volume Manager Support Operations
Menu: VolumeManager/Disk

1      Add or initialize one or more disks
2      Remove a disk
3      Remove a disk for replacement
4      Replace a failed or removed disk
5      Mirror volumes on a disk
6      Move volumes from a disk
7      Enable access to (import) a disk group
8      Remove access to (deport) a disk group
9      Enable (online) a disk device
10     Disable (offline) a disk device
11     Mark a disk as a spare for a disk group
12     Turn off the spare flag on a disk
13     Unrelocate subdisks back to a disk
14     Exclude a disk from hot-relocation use
15     Make a disk available for hot-relocation use
16     Prevent multipathing/Suppress devices from VxVM's view
17     Allow multipathing/Unsuppress devices from VxVM's view
18     List currently suppressed/non-multipathed devices
19     Change/Display the default disk layouts
20     Mark a disk as allocator-reserved for a disk group
21     Turn off the allocator-reserved flag on a disk
22     Change the disk naming scheme
list   List disk information

?      Display help about menu
??     Display help about the menuing system
q      Exit from menus

Select an operation to perform:

Below is the example for creating volume group vxvmdg and adding a disk to it.

Select an operation to perform: 1

Add or initialize disks
Menu: VolumeManager/Disk/AddDisks

  Use this operation to add one or more disks to a disk group.  You can
  add the selected disks to an existing disk group or to a new disk group
  that will be created as a part of the operation. The selected disks may
  also be added to a disk group as spares. Or they may be added as
  nohotuses to be excluded from hot-relocation use. The selected
  disks may also be initialized without adding them to a disk group
  leaving the disks available for use as replacement disks.

  More than one disk or pattern may be entered at the prompt.  Here are
  some disk selection examples:
  all:          all disks
  hdisk8:       a single disk (in the hdisk# naming scheme)
  scsi3 :       all disks on scsi controller 3
  fscsi6 :      all disks on fiber controller 6
  xyz_0 :       a single disk (in the enclosure based naming scheme)
  xyz_ :        all disks on the enclosure whose name is xyz

Select disk devices to add: [(pattern-list),all,list,q,?] hdisk2

  Here is the disk selected.  Output format: [Device_Name]

  hdisk2

Continue operation? [y,n,q,?] (default: y) y

  You can choose to add this disk to an existing disk group, a
  new disk group, or leave the disk available for use by future
  add or replacement operations.  To create a new disk group,
  select a disk group name that does not yet exist.  To leave
  the disk available for future use, specify a disk group name
  of "none".

Which disk group [,none,list,q,?] (default: none) vxvmdg

Create a new group named vxvmdg? [y,n,q,?] (default: y) y

Create the disk group as a CDS disk group? [y,n,q,?] (default: y) y

Use a default disk name for the disk? [y,n,q,?] (default: y) y

Add disk as a spare disk for vxvmdg? [y,n,q,?] (default: n) y

Add site tag to disk? [y,n,q,?] (default: n) y

  A new disk group will be created named vxvmdg and the selected
  disks will be added as spares to the disk group with default
  disk names.

  hdisk2

现在可以使用 lspv 或 vxdisk 查看 hdisk1 已被添加到 vxvmdg 组。

清单 21 显示了如何使用 vxdg 销毁任何不需要的磁盘组条目。

清单 21. 使用 vxdg 销毁不需要的磁盘组条目   
#cd /etc/vx/bin
# vxdisk -e list
DEVICE       TYPE      DISK         GROUP        STATUS       OS_NATIVE_NAME
Disk_0       auto      -             -            online       hdisk15
Disk_1       auto      -             -            online       hdisk14
Disk_2       auto      -             -            online       hdisk13
Disk_3       auto      -             -            online       hdisk12
Disk_4       auto      TCd7-90536    TCg3-90536        online       hdisk10
Disk_5       auto      TCd6-90536    TCg3-90536        online       hdisk9
Disk_6       auto      -             -            online       hdisk11
Disk_7       auto      TCd5-90536    TCg2-90536        online       hdisk8
Disk_8       auto      TCd4-90536    TCg2-90536        online       hdisk7
Disk_9       auto      TCd3-90536    TCg1-90536        online       hdisk6
Disk_10      auto      -             -            online       hdisk5
Disk_11      auto      -             -            online       hdisk4
Disk_12      auto      -             -            LVM          hdisk0
Disk_13      auto     -             -            online       hdisk1
Disk_14      auto      -            -           LVM          hdisk3
Disk_15      auto      -             -            online       hdisk2
# for i in  6 7 8 9 10 11;do vxdg destroy hdisk$i;done;
# vxdisk -e list
DEVICE       TYPE      DISK         GROUP        STATUS       OS_NATIVE_NAME
Disk_0       auto      -             -            online       hdisk15
Disk_1       auto      -             -            online       hdisk14
Disk_2       auto      -             -            online       hdisk13
Disk_3       auto      -             -            online       hdisk12
Disk_4       auto      -             -            online       hdisk10
Disk_5       auto      -             -            online       hdisk9
Disk_6       auto      -             -            online       hdisk11
Disk_7       auto      -             -            online       hdisk8
Disk_8       auto      -             -            online       hdisk7
Disk_9       auto      -             -            online       hdisk6
Disk_10      auto      -             -            online       hdisk5
Disk_11      auto      -             -            online       hdisk4
Disk_12      auto      -             -            LVM          hdisk0
Disk_13      auto      -             -            online       hdisk1
Disk_14      auto      -             -            LVM          hdisk3
Disk_15      auto      -             -            online       hdisk2

更改磁盘组格式类型

清单 22 显示了如何更改磁盘组格式类型,以及如何修复由此产生的错误。

清单 22. 更改磁盘组类型
#cd /etc/vx/bin

#for i in 7 6 5 4 3 2;do vxdisksetup –if Disk_$i format=aixdisk;done;

#for i in 7 6 5 4 3 2;do vxdisksetup –if Disk_$i format=cdsdisk;done;
# vxdg -g vxvmdg adddisk vxvmdg2=hdisk5
VxVM vxdg ERROR V-5-1-6478 Device hdisk5 cannot be added to a CDS disk group
[root@ortega01] /ezcfg/dat
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hdisk0       auto:LVM        -            -            LVM
hdisk1       auto:cdsdisk    -            -            error
hdisk2       auto:cdsdisk    -            -            error
hdisk3       auto:none       -            -            online invalid
hdisk4       auto:cdsdisk    vxvmdg1      vxvmdg       online
hdisk5       auto:aixdisk    -            -            online
If you get the above type of error, fix it using:
#/etc/vx/bin/vxdisksetup -if hdisk5 format=cdsdisk
Now run:
# vxdg -g vxvmdg adddisk vxvmdg2=hdisk5
# vxdisk list
DEVICE       TYPE            DISK         GROUP        STATUS
hdisk0       auto:LVM        -            -           LVM
hdisk1       auto:cdsdisk    -            -            error
hdisk2       auto:cdsdisk    -            -            error
hdisk3       auto:none       -            -            online invalid
hdisk4       auto:cdsdisk    vxvmdg1      vxvmdg      online
hdisk5       auto:cdsdisk    vxvmdg2      vxvmdg      online

总结

本文简要介绍了 VxVM。您还可以了解有关安装、配置、管理、故障诊断以及一些命令行实用工具的信息。尽管您现在对 VxVM 已经有了更好的了解,仍然建议您访问 Veritas Symantec 网站以了解更多信息。