5.6. 存储

5.6.1. 支持的存储服务器平台
5.6.2. 关于存储群集
5.6.3. 如何设置 Oracle Solaris 存储服务器
5.6.4. 如何设置 Sun Storage 7000 Unified Storage System
5.6.5. 如何复制和替换 Sun Unified Storage System
5.6.6. 如何复制和替换 Oracle Solaris 存储系统

5.6.1. 支持的存储服务器平台

Oracle VDI 和 Microsoft Hyper-V 桌面提供者需要由 Oracle VDI 托管的存储。以下是支持的存储服务器:

  • Oracle Solaris 10 10/09 x86(64 位,在所有支持的存储硬件上)

  • Sun Storage 7000 系列 Unified Storage Systems 2010.Q3.x

  • Sun Storage 7000 系列 Unified Storage Systems 2010.Q1.x

  • Sun Storage 7000 系列 Unified Storage Systems 2009.Q2.5.1

对于 Sun Storage 7000 系列 Unified Storage Systems,请注意以下事项:

  • 在不具有写 SSD 的情况下,Oracle VDI 不支持禁用写高速缓存 (Logzilla)。

    如果已启用写高速缓存并且写 SSD 存在,则不会使用写 SSD。有关写高速缓存的详细信息,请参见第 8.4.2 节 “关于 ZFS 存储高速缓存”

  • Oracle VDI 只支持默认池。

    使用项目来分隔您所关注的方面。

有关支持的存储的详细信息,请参见以下文档:

5.6.2. 关于存储群集

Oracle VDI 支持通过固件 2010.Q1.0.0 启动的主动-被动以及主动-主动存储。群集存储由 Oracle VDI 采用与常规存储一样的方式管理,只需通过“添加存储“向导添加存储。以下段落提供了一些对 Sun Storage 7000 系列 Unified Storage Systems 中的必要管理的见解。

存储群集为存储的服务器组件(包括 CPU、内存、主板、网卡)引入了冗余功能,但不会增加磁盘或其控制器的冗余。这由使用的 JBODS 和 RAID 级别负责。

群集中的两个存储服务器(称为“端“)通过一个特殊的卡(即 Clustron)进行连接,通过该卡,两端可以交换状态和配置信息并检测出现故障的一端。

资源是群集的核心概念,通常为网络接口或存储池。为确保可用性,如果资源的一端出现故障,则由另一端接替其工作。

设置群集时的主要配置步骤是定义资源,该步骤的执行方式与单一设置(配置>存储配置>网络)中的方式相同,并将一端指定为资源拥有者(配置>群集)。

如果只有一端拥有所有资源,则群集又为“主动/被动“。如果两端都拥有资源,则群集称为“主动/主动“。虽然当一端出现故障时主动/被动群集的性能不会下降,但主动/主动群集的两端会在正常操作期间主动处理请求,从而提高可用硬件的利用率。

两个存储上都有的相同硬件仅可用于创建一端所拥有的一个资源。例如,如果您使用 nge0 设备配置 192.168.100.100 接口并指定 head1 作为其拥有者,则当 head1 出现故障时,head2 将使用其 nge0 设备来接替 192.168.100.100 接口的工作。要实现此目的,nge0 设备必须未在 head2 上使用。

关于群集接口的另一个需要注意的限制是,必须静态配置,不能使用 DHCP。

两个存储主机的典型设置为每个主机具有 4 个网络设备和一个阵列:

 

Head1

Head2

nge0

拥有者

-

nge1

拥有者

-

nge2

-

拥有者

nge3

-

拥有者

阵列 1

拥有者

-

阵列 2

-

拥有者

nge0 和 1 以及 nge2 和 3 通常会中继/聚合。

有关 Sun Storage 7000 系列 Unified Storage Systems 和群集的详细信息,请参阅《管理指南》:

5.6.3. 如何设置 Oracle Solaris 存储服务器

Oracle Solaris 存储主机必须为 x86 系统。每个虚拟磁盘都通过一个 ZFS 卷来表示,这些卷存储在 ZFS 池中,Oracle VM VirtualBox 通过 iSCSI 访问该 ZFS 池。对 ZFS 卷的管理通过 Oracle VDI 来完成,要求对 ZFS 存储服务器以及该服务器上的 ZFS 池具有 SSH 超级用户权限。

步骤

  1. 安装 Oracle Solaris 操作系统。

    Oracle Solaris 安装程序支持您选择使用 UFS 或 ZFS 作为根文件系统。如果存储服务器包含多个磁盘并且其他磁盘专用于 Oracle VDI ZFS 池,则两个选择中的任一选择都可以。如果只有一个磁盘可用,则选择 ZFS。

  2. 启用超级用户权限。

    1. 编辑文件 /etc/ssh/sshd_config 并将行 PermitRootLogin no 更改为 PermitRootLogin yes

    2. 重新启动 SSHD 服务,以实现对 sshd_config 文件所做的更改。

      # svcadm restart ssh
  3. (可选)创建一个 ZFS 池。

    如果安装期间选择了 ZFS,则 Oracle Solaris OS 安装程序会创建一个名为 rpool 的池。该池包含根文件系统,也可供 Oracle VDI 使用。创建一个专用池以将 Oracle VDI 数据与 Oracle Solaris 文件系统分离。

    # zpool create <pool name> <disk1> <disk2> <disk3> ...
    
  4. 启用 iSCSI 访问。

    在 Oracle Solaris OS 存储服务器上以超级用户身份键入以下 CLI 命令。

    # svcadm enable svc:/system/iscsitgt:default

5.6.4. 如何设置 Sun Storage 7000 Unified Storage System

有关支持的 Sun Storage 7000 Unified Storage System 的最新列表,请参见第 5.6.1 节 “支持的存储服务器平台”

步骤

  1. 设置系统。

    按照 Sun Unified Storage System 的“快速设置“手册中提供的说明执行操作。

  2. (可选)更新 Sun Unified Storage System 软件。

    更新 Sun Storage 7000 软件,以获得重要的性能增强功能。请参见第 5.6.1 节 “支持的存储服务器平台”,以确保您的配置支持 Sun Unified Storage System 软件版本。

  3. 创建一个项目。

    项目名称必须唯一。使用在 Sun Storage 7000 群集两端都有的项目名称会导致在群集出现故障转移时,应用程序出现故障。

5.6.5. 如何复制和替换 Sun Unified Storage System

对于预算较低的 Oracle VDI 安装,存储复制是一项对提高存储服务器可用性非常有用的技术。复制 Sun Storage 7000 Unified Storage System 以后,如果存储服务器由于某种原因出现故障,Oracle VDI 存储替换功能支持您轻松地从 Oracle VDI Manager 中启用复制的存储服务器。

准备

配置要复制的 Sun Storage 7000 Unified Storage System 并复制它。复制是内置功能,可以从 Sun Unified Storage System UI 进行配置。下面的步骤对于固件 2010.Q1 及更高版本有效。

  1. 将复制的目标存储添加到远程复制服务。转到“配置“>“服务“

  2. 将复制操作添加到项目。转至“共享“>“项目“>“<项目>“>“复制“。必须选中“包括快照“选项。

现在,ZFS 结构将作为复制包复制到目标存储。

灾难恢复

如果存储服务器发生故障,请通过下面的过程替换并重新启用存储服务器。

  1. 禁用发生故障的存储服务器。

    1. 在 Oracle VDI Manager 中,转到“桌面提供者“

    2. 选择使用故障存储服务器的桌面提供者。

    3. 转到“存储“选项卡,选择存储服务器,并单击“维护“

    4. 为服务器选择开始进入维护模式的时间,或单击“当前“以选择当前时间。

    5. 单击“确定“提交维护模式作业。

  2. 在 Unified Storage System UI 中,将复制包转换为本地项目。

    提供复制目标的复制连接。转到“共享“>“项目“>“副本“>“<复制包>“>“复制“

  3. 启用新存储服务器。

    1. 在 Oracle VDI Manager 中,转到“桌面提供者“

    2. 选择使用故障存储服务器的桌面提供者。

    3. 转到“存储“选项卡。

    4. 选择要替换的存储服务器,并单击“替换“以激活“替换存储“向导。输入关于新存储(复制目标)的信息。

    5. 选择新存储并单击“编辑“以激活“编辑存储“向导。

    6. 输入关于新存储的更多信息。

    7. 选择新存储并单击“启用“

5.6.6. 如何复制和替换 Oracle Solaris 存储系统

对于预算较低的 Oracle VDI 安装,存储复制是一项对提高存储服务器可用性非常有用的技术。复制完 Oracle Solaris 存储系统之后,Oracle VDI Manager 支持您将故障存储服务器替换为复制的存储。

准备

在另一台主机上复制 Oracle Solaris 存储。

  1. 创建整个存储池的 ZFS 快照。

    # zfs snapshot <pool>@rep
    
  2. 为存储池中的每个卷创建 ZFS 快照。

    针对每个卷使用以下命令。

    # zfs snapshot <pool>/<volume>@rep
    
  3. 将 ZFS 文件系统导出至新存储主机。

    # zfs send -R <pool>@rep | ssh root@<host> zfs receive -dF <newpool>
    
  4. 删除原始新存储服务器上所有 ZFS 快照。

    针对整个存储池使用以下命令。

    # zfs destroy <pool>@rep
    

    针对每个卷使用以下命令。

    # zfs destroy <pool>/<volume>@rep
    

灾难恢复

如果存储服务器发生故障,请使用此程序替换存储服务器。

  1. 禁用发生故障的存储服务器。

    1. 在 Oracle VDI Manager 中,转到“桌面提供者“

    2. 选择使用故障存储服务器的桌面提供者。

    3. 转到“存储“选项卡。

    4. 选择存储服务器,并单击“维护“

    5. 为服务器选择开始进入维护模式的时间,或单击“当前“以选择当前时间。

    6. 单击“确定“提交维护模式作业。

  2. 启用新存储服务器。

    1. 转到“存储“选项卡。

    2. 选择要替换的存储服务器,并单击“替换“以激活“替换存储“向导。

    3. 输入关于新存储的信息。

    4. 选择新存储并单击“编辑“以激活“编辑存储“向导。

    5. 输入关于新存储的更多信息。

    6. 选择新存储并单击“启用“