1. Oracle VM Server for SPARC 软件概述
A. Oracle VM Server for SPARC 物理机到虚拟机转换工具
B. Oracle VM Server for SPARC Configuration Assistant
D. 将 XML 接口与 Logical Domains Manager 结合使用
本节介绍在 Logical Domains 环境中使用卷管理器的情况。
可以将任何 Zettabyte 文件系统 (Zettabyte File System, ZFS)、Solaris 卷管理器或 Veritas 卷管理器 (Veritas Volume Manager, VxVM) 卷作为虚拟磁盘从服务域导出到来宾域。卷可以作为具有单个分片的磁盘导出(如果使用 ldm add-vdsdev 命令指定了 slice 选项)或作为完整磁盘导出。
注 - 本节的其余部分将以 Solaris 卷管理器卷为例进行说明。但是,所讨论的内容也适用于 ZFS 卷和 VxVM 卷。
以下示例介绍如何将卷作为具有单个分片的磁盘导出。
来宾域中的虚拟磁盘(例如,/dev/dsk/c0d2s0)直接映射到相关联的卷(例如,/dev/md/dsk/d0),来宾域的虚拟磁盘上存储的数据直接存储到相关联的卷中,而没有额外的元数据。因此,也可以通过相关联的卷从服务域直接访问来宾域的虚拟磁盘上存储的数据。
示例
如果将 Solaris 卷管理器卷 d0 从 primary 域导出到 domain1,则 domain1 的配置需要一些额外的步骤。
primary# metainit d0 3 1 c2t70d0s6 1 c2t80d0s6 1 c2t90d0s6 primary# ldm add-vdsdev options=slice /dev/md/dsk/d0 vol3@primary-vds0 primary# ldm add-vdisk vdisk3 vol3@primary-vds0 domain1
例如,绑定并启动 domain1 之后,导出的卷会显示为 /dev/dsk/c0d2s0,并且您可以使用它。
domain1# newfs /dev/rdsk/c0d2s0 domain1# mount /dev/dsk/c0d2s0 /mnt domain1# echo test-domain1 > /mnt/file
停止并取消绑定 domain1 后,可通过 Solaris 卷管理器卷 d0 从主域直接访问 domain1 的虚拟磁盘上存储的数据。
primary# mount /dev/md/dsk/d0 /mnt primary# cat /mnt/file test-domain1
当 RAID 或镜像 Solaris 卷管理器卷由另一个域用作虚拟磁盘时,则在导出它时不得设置独占 (excl) 选项。否则,如果 Solaris 卷管理器卷的某个组件出现故障,就无法启动使用 metareplace 命令或热备份恢复 Solaris 卷管理器卷的过程。metastat 命令将卷视为正在进行重新同步,但并未进行重新同步。
例如,/dev/md/dsk/d0 是使用 excl 选项作为虚拟磁盘导出到另一个域的 RAID Solaris 卷管理器卷,并且 d0 配置有一些热备份设备。如果 d0 的组件出现故障,则 Solaris 卷管理器会将出现故障的组件替换为热备份,并重新同步 Solaris 卷管理器卷。但是,重新同步并不会启动。卷会被报告为正在进行重新同步,但并没有进行重新同步。
# metastat d0 d0: RAID State: Resyncing Hot spare pool: hsp000 Interlace: 32 blocks Size: 20097600 blocks (9.6 GB) Original device: Size: 20100992 blocks (9.6 GB) Device Start Block Dbase State Reloc c2t2d0s1 330 No Okay Yes c4t12d0s1 330 No Okay Yes /dev/dsk/c10t600C0FF0000000000015153295A4B100d0s1 330 No Resyncing Yes
这种情况下,必须停止并取消绑定将 Solaris 卷管理器卷用作虚拟磁盘的域,以便完成重新同步。然后,可使用 metasync 命令重新同步 Solaris 卷管理器卷。
# metasync d0
在系统上安装 Veritas 卷管理器 (Veritas Volume Manager, VxVM) 后,如果已针对要作为虚拟磁盘导出的物理磁盘或分区启用了 Veritas 动态多路径 (Dynamic Multipathing, DMP),则在导出该磁盘或分区时不得设置 excl 选项(非默认选项)。否则,在绑定使用此类磁盘的域时,则会在 /var/adm/messages 中收到错误。
vd_setup_vd(): ldi_open_by_name(/dev/dsk/c4t12d0s2) = errno 16 vds_add_vd(): Failed to add vdisk ID 0
您可以通过查看命令 vxdisk list 的输出中的多路径信息,检查是否启用了 Veritas DMP;例如:
# vxdisk list Disk_3 Device: Disk_3 devicetag: Disk_3 type: auto info: format=none flags: online ready private autoconfig invalid pubpaths: block=/dev/vx/dmp/Disk_3s2 char=/dev/vx/rdmp/Disk_3s2 guid: - udid: SEAGATE%5FST336753LSUN36G%5FDISKS%5F3032333948303144304E0000 site: - Multipathing information: numpaths: 1 c4t12d0s2 state=enabled
或者,如果您针对要在设置了 excl 选项的情况下作为虚拟磁盘导出的磁盘或分片启用了 Veritas DMP,则可以使用 vxdmpadm 命令禁用 DMP。例如:
# vxdmpadm -f disable path=/dev/dsk/c4t12d0s2
本节介绍在虚拟磁盘之上使用卷管理器的情况。
任何虚拟磁盘都可以与 ZFS 结合使用。在任何域中都可以导入 ZFS 存储池 (zpool),该域可以看到属于该 zpool 的所有存储设备,而不管该域将所有这些设备视为虚拟设备还是实际设备。
在 Solaris 卷管理器本地磁盘组中可以使用任何虚拟磁盘。例如,虚拟磁盘可用于存储本地磁盘组的 Solaris 卷管理器元设备状态数据库 metadb(1M),或者用于在本地磁盘组中创建 Solaris 卷管理器卷。
其后端为 SCSI 磁盘的任何虚拟磁盘都可以在 Solaris 卷管理器共享磁盘组 metaset(1M) 中使用。其后端不是 SCSI 磁盘的虚拟磁盘不能添加到 Solaris 卷管理器共享磁盘组。如果尝试将其后端不是 SCSI 磁盘的虚拟磁盘添加到 Solaris 卷管理器共享磁盘组,则会失败并显示类似下面内容的错误。
# metaset -s test -a c2d2 metaset: domain1: test: failed to reserve any drives
有关来宾域中的 VxVM 支持的信息,请参见 Symantec 的 VxVM 文档。