本部分提供可在 Solaris 的安装或升级中使用的 Solaris 卷管理器组件的概述。本部分还包括使用 RAID-1 卷必须遵循的原则和要求。
本章介绍创建镜像的文件系统的优点,并说明创建镜像的文件系统所需的 Solaris 卷管理器组件。
本章包括以下主题。
有关如何使用 Solaris Live Upgrade 创建镜像文件系统的其他信息,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“创建 RAID-1 卷(镜像卷)文件系统的通用指南”。
有关如何使用自定义 JumpStart 安装方法创建镜像文件系统的其他信息,请参见filesys 配置文件关键字(创建 RAID-1 卷)和metadb 配置文件关键字(创建状态数据库副本)。
在安装或升级过程中,可以创建 RAID-1 卷以便在多个物理磁盘上复制系统数据。通过在不同的磁盘上复制数据,您可以保护数据,防止磁盘毁坏或发生故障时数据丢失。
Solaris 自定义 JumpStart 和 Solaris Live Upgrade 安装方法使用 Solaris 卷管理器技术创建镜像文件系统的 RAID-1 卷。Solaris 卷管理器提供了一种通过使用卷来可靠管理磁盘的有效方法。在 Solaris 卷管理器中可以启用串联、分组和其他复杂配置。使用自定义 JumpStart 和 Solaris Live Upgrade 安装方法可以执行这些任务中的一些任务,例如为根 (/) 文件系统创建 RAID-1 卷。可以在安装或升级过程中创建 RAID-1 卷,这样就不必在安装之后创建这些卷了。
有关复杂的 Solaris 卷管理器软件和组件的详细信息,请参见 《Solaris Volume Manager Administration Guide》。
Solaris 卷管理器 使用虚拟磁盘管理磁盘及其相关数据。在 Solaris 卷管理器中,虚拟磁盘称作卷。卷是系统中作为一个单独逻辑设备出现的一组物理片。在标准的 UNIX® 术语中,卷实际上称作伪设备或虚拟设备。
从应用程序或文件系统(例如 UFS)的角度看,卷在功能上等同于物理磁盘。Solaris 卷管理器可将定向到卷的 I/O 请求转换成定向到基础成员磁盘的 I/O 请求。
Solaris 卷管理器卷是由片(磁盘分区)或其他 Solaris 卷管理器卷组成。
使用卷可提高性能并增加数据的可用性。在某些情况下,卷还可以提高 I/O 性能。在功能方面,卷与片特性相同。卷与片很相像,对于最终用户、应用程序和文件系统是透明的。与物理设备一样,您可以使用 Solaris 卷管理器软件通过块或原始设备名称来访问卷。根据使用的是块或原始设备,卷名称也会有所不同。
自定义 JumpStart 安装方法和 Solaris Live Upgrade 支持使用块设备来创建镜像的文件系统。有关卷名称的详细信息,请参见自定义 JumpStart 和 Solaris Live Upgrade 的 RAID 卷名要求和指南。
创建 RAID-0 卷(单片串联)和 RAID-1 卷时,Solaris 卷管理器在串联(子镜像)上复制数据,并将这些子镜像作为一个镜像卷处理。
图 12–1 显示在两个物理磁盘上复制根 (/) 文件系统的镜像。
图 12–1 显示了具有下列配置的系统。
hdisk0 上的根文件系统 (/) 包含在名为 d31 的单片串联中。
名为 d32 的单片串联是在名为 hdisk1 的硬盘上创建的。
名为 d30 的镜像由名为 d31 和 d32 的子镜像组成。
镜像将根文件系统中的数据复制到两个子镜像上。
自定义 JumpStart 安装方法和 Solaris Live Upgrade 使您可以创建复制数据所需的以下组件。
状态数据库和状态数据库副本 (metadbs)
单片串联(子镜像)
RAID-1 卷(镜像)
本节简要介绍这些组件。有关这些组件的完整信息,请参见 《Solaris Volume Manager Administration Guide》。
状态数据库是指在物理磁盘上存储有关您的 Solaris 卷管理器配置状态信息的数据库。该数据库记录并跟踪对配置所做的更改。当配置或状态更改时,Solaris 卷管理器将自动更新该状态数据库。例如,创建新卷是一种配置更改,而子镜像失败则是一种状态更改。
状态数据库实际上是多个数据库副本的集合。每一份数据库(称作状态数据库副本)都可以确保状态数据库中的数据始终有效。拥有多份状态数据库可以防止发生单点故障时数据丢失。状态数据库可以跟踪所有已知状态数据库副本的位置和状态。
在创建状态数据库及其状态数据库副本之前,Solaris 卷管理器无法进行操作。Solaris 卷管理器配置中必须具有操作状态数据库。
当设置配置时,您可以将状态数据库副本放在以下两个位置中的任何一个:
专用片
(仅适用于 Solaris Live Upgrade)将成为卷的一部分的片
一个片上可以存储多个状态数据库副本。但是,将状态数据库副本放在一个片上,发生单点故障时系统很容易受到损坏。
状态数据库副本可确保状态数据库中的数据始终有效。当状态数据库被更新时,所有状态数据库副本也被更新。每次只更新一个副本的内容,以防止如果系统崩溃,所有更新副本都遭到破坏。
如果系统丢失了一个状态数据库副本,Solaris 卷管理器必须确定哪些状态数据库副本中仍包含有效数据。Solaris 卷管理器将使用多数一致算法确定此信息。在此算法中,只有当多数(半数 + 1 个)数据库副本可用并一致时,才会认为其中的任何数据库副本是有效的。根据此多数一致算法,设置磁盘配置时,您必须至少创建三个状态数据库副本。如果三个状态数据库副本中至少有两个可用,则可能取得一致。
缺省情况下,每个状态数据库副本占用的磁盘存储为 4 MB(8192 磁盘扇区)。副本可以存储在以下设备中:
专用本地磁盘片
(仅适用于 Solaris Live Upgrade)将成为卷的一部分的本地片
(仅适用于 Solaris Live Upgrade)将成为 UFS 日志设备的一部分的本地片
副本不能存储在根 (/)、swap 或 /usr 片上,也不能存储在包含现有文件系统或数据的片上。副本存储后,可以将卷或文件系统放置在同一个片上。
在使用自定义 JumpStart 或 Solaris Live Upgrade 安装 RAID-1 卷时,请查看下列指南和要求 | |
有关状态数据库和状态数据库副本的详细信息 |
自定义 JumpStart 和 Solaris Live Upgrade 安装方法允许您创建 RAID-0 卷。RAID-0 卷单片串联是一个卷,其数据按一定顺序进行组织并存储在各个组件中,形成了一个逻辑存储单元。使用自定义 JumpStart 安装方法和 Solaris Live Upgrade 不能创建分组或其他复杂的 Solaris 卷管理器卷。
在安装或升级过程中,可以创建 RAID-1 卷(镜像)并将 RAID-0 卷附加到这些镜像中。镜像的 RAID-0 卷称作子镜像。一个镜像由一个或多个 RAID-0 卷组成。安装后,通过用 Solaris 卷管理器软件管理 RAID-1 镜像卷,您可以管理不同 RAID-0 子镜像卷上的数据。
使用自定义 JumpStart 安装方法,您可以创建最多包含两个子镜像的镜像。使用 Solaris Live Upgrade,您可以创建最多包含三个子镜像的镜像。实际上,两个子镜像就足够了。第三个子镜像使您可以在其中一个子镜像处于脱机状态下进行联机备份,同时又能保持数据的冗余性。
有关 RAID-0 卷规划信息 | |
有关 RAID-0 卷详细信息 |
RAID-1 卷(即镜像)是指保留有 RAID-0 卷(单片串联)中相同数据副本的卷。使用 RAID-1 卷镜像文件系统要求增加磁盘。至少需要两倍于数据量的磁盘空间量。由于 Solaris 卷管理器软件必须写入所有 RAID-0 卷,因此复制数据还会增加将写入请求写入磁盘所需的时间。
有了 RAID-1 卷,可同时从两个 RAID-0 卷读取数据(每一个卷都可以处理任何请求),使性能得到了提高。如果一个物理磁盘出现故障,可以继续使用镜像,从而不会造成性能降低或数据丢失。
配置 RAID-1 卷后,仅可以将该卷用作物理片。
您可以复制任何文件系统,包括现有文件系统。也可以将 RAID-1 卷用于任何应用程序,如数据库。
有关 RAID-1 卷规划信息 | |
有关 RAID-1 卷详细信息 |
下图显示了在两个物理磁盘上复制根文件系统 (/) 的 RAID-1 卷。状态数据库副本 (metadbs) 放置在两个磁盘上。
图 12–2 显示了具有下列配置的系统。
hdisk0 上的根文件系统 (/) 包含在名为 d31 的单片串联中。
名为 d32 的单片串联是在名为 hdisk1 的硬盘上创建的。
名为 d30 的镜像由名为 d31 和 d32 的子镜像组成。
镜像将根文件系统中的数据复制到两个子镜像上。
在磁盘 hdisk0 和 hdisk1 的片上创建了状态数据库副本。
有关使用自定义 JumpStart 安装方法创建此配置的示例配置文件 | |
有关如何使用 Solaris Live Upgrade 创建 RAID-1 卷的说明 |
《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“在 RAID-1 卷(镜像)上创建引导环境(命令行界面)” |
本章介绍使用自定义 JumpStart 或 Solaris Live Upgrade 安装方法创建 RAID-1 卷所必须遵循的要求和指南。
本章包括以下主题。
有关如何规划使用 Solaris Live Upgrade 安装方法创建镜像文件系统的其他信息,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“创建 RAID-1 卷(镜像卷)文件系统的通用指南”。
有关如何使用自定义 JumpStart 安装方法创建镜像的文件系统的说明,请参见filesys 配置文件关键字(创建 RAID-1 卷)和metadb 配置文件关键字(创建状态数据库副本)。
要创建 RAID-1 卷以便复制特定片上的数据,必须直接附加计划要使用的磁盘,且该磁盘必须在安装过程中可用于系统。
您应该将状态数据库副本分布在多个片、驱动器和控制器中,以避免发生单点故障。一般希望在单个组件发生故障时大部分副本完好。如果丢失了一个副本,例如当设备发生故障时,该故障可能会导致运行 Solaris 卷管理器软件或重新引导系统时出现问题。要运行 Solaris 卷管理器软件,要求至少有一半副本可用,但是要重新引导为多用户模式,则需多数(半数以上)副本都可用。
有关创建和管理状态数据库副本的详细说明,请参见《Solaris Volume Manager Administration Guide》。
在为状态数据库副本选择片之前,请考虑以下指南和建议。
应在专用片上创建状态数据库副本,每个副本至少需要 4 MB。如果需要,您可以在将要用作 RAID-0 或 RAID-1 卷的一部分的片上创建状态数据库副本。必须在将片增加到卷之前创建副本。
缺省情况下,状态数据库副本的大小为 4 MB 或 8192 个磁盘块。由于磁盘片可能不会这么小,因此您可以调整片的大小以存储状态数据库副本。有关调整片大小的信息,请参见《System Administration Guide: Devices and File Systems》中的第 12 章 “Administering Disks (Tasks)”。
不能在现有文件系统、根 (/) 文件系统、/usr 文件系统和 swap 文件系统中创建状态数据库副本。如有需要,可以通过分配 swap 的空间来创建新片(假设片名可用),然后再将状态数据库副本放在新片上。
将状态数据库副本放在作为卷的一部分的片上时,由于副本占用了空间,卷的容量减小。副本使用的空间向上取整到下一个柱面边界,且卷将跳过此空间。
选择状态数据库副本的数量之前,请考虑以下指南。
建议每个 Solaris 卷管理器 磁盘集的状态数据库副本数量最少为 3,最多为 50。建议遵循以下指南:
对于只有一个驱动器的系统:将三个副本全部放在一个片上。
对于具有两个到四个驱动器的系统:一个驱动器上放置两个副本。
对于具有五个或更多驱动器的系统:一个驱动器上放置一个副本。
如果将 RAID-1 卷用于小规模的随机 I/O(例如,数据库的随机 I/O),则需要考虑副本的数量。要获得最佳性能,请确保未连接到 RAID-1 卷的片上(且最好位于磁盘和控制器上)的每个 RAID-1 卷都至少具有两个附加副本。
如果存在多个控制器,应在所有控制器之间尽可能均匀地分布副本。如果某个控制器出现故障,此策略可以提供冗余性,并有助于平衡负载。如果控制器上存在多个磁盘,则每个控制器上至少有两个磁盘应存储副本。
使用 RAID-1 卷(镜像)和 RAID-0 卷(单片串联)时,请考虑下列指南。
自定义 JumpStart 安装方法和 Solaris Live Upgrade 支持 Solaris 卷管理器软件提供的一部分功能。当使用这些安装程序创建镜像文件系统时,请考虑以下指南。
安装程序 |
支持的功能 |
不支持的功能 |
---|---|---|
自定义 JumpStart 和 Solaris Live Upgrade |
|
在 Solaris 卷管理器中,RAID-0 卷可以指磁盘条带或磁盘串联。在安装或升级过程中,不能创建 RAID-0 分组卷。 |
自定义 JumpStart |
|
|
Solaris Live Upgrade |
有关示例,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“在 RAID-1 卷(镜像)上创建引导环境(命令行界面)”。 |
不支持三个以上 RAID-0 卷。 |
使用 RAID-1 卷创建和安装 Solaris Flash |
从 Solaris 9 9/04 版开始,您可以创建和安装从配置了 RAID-1 卷的主系统中创建的 Solaris Flash 归档文件。使用 Solaris 9 12/03 和 Solaris 9 4/04 版,必须安装修补程序。要获取修复 CR 4838219 的修补程序,请参见 sunsolve.sun.com。 如果已经配置了 Solaris 卷管理器 RAID-1 卷,就可以创建 Solaris Flash 归档文件。Solaris Flash 创建软件删除归档文件中的所有 RAID-1 卷信息,以保持克隆系统的完整性。使用自定义 JumpStart,可以使用 JumpStart 配置文件重新生成 RAID-1 卷。使用 Solaris Live Upgrade,创建配置了 RAID-1 卷的引导环境并安装归档文件。Solaris 安装程序无法用于安装带有 Solaris Flash 归档文件的 RAID-1 卷。 有关 JumpStart 配置文件中 RAID-1 卷的示例,请参见配置文件示例。 |
Veritas VxVM 在不适用于 Solaris Flash 的区域中存储配置信息。如果配置了 Veritas VxVm 文件系统,则不应创建 Solaris Flash 归档文件。而且, Solaris 安装(包括 JumpStart 和 Solaris Live Upgrade)均不支持在安装时重新生成 VxVM 卷。因此,如果您正规划使用 Solaris Flash 归档文件来部署 Veritas VxVM 软件,则必须在配置 VxVM 文件系统之前创建归档文件。然后,必须在应用归档文件并重新启动系统之后单独配置克隆系统。 |
使用将片编号和磁盘编号映射到卷编号的命名方法。
卷名必须以字母 d 开头,后面跟一个数字,例如 d0。
Solaris 卷管理器具有 128 个缺省卷名,编号为 0 到 127。以下列表显示了一些卷名示例。
设备 /dev/md/dsk/d0–块卷 d0
设备 /dev/md/dsk/d1–块卷 d1
为每一特定类型卷指定范围。例如,为 RAID-1 卷指定范围 0 至 20,为 RAID-0 卷指定范围 21 到 40。
通常可以使用缩写形式的卷名(例如 d1),而不用指定完整的卷名(例如 /dev/md/dsk/d1)。
可以缩写物理磁盘片和 Solaris 卷管理器卷的名称。缩写是能够唯一标识设备的最短名称。例如,
Solaris 卷管理器卷可由其 d数字 标志来标识,因此, /dev/md/dsk/d10 可以简化为 d10。
如果系统包含一个控制器和多个磁盘,则可以使用 t0d0s0;但如果包含多个控制器,则应使用 c0t0d0s0。
使用 Solaris Live Upgrade 创建 RAID-1 卷(镜像)和 RAID-0 卷(子镜像)时,可以让软件检测并指定卷名,也可以手动指定名称。如果让软件检测卷名,软件将指定第一个可用的镜像或子镜像名。如果指定镜像名,则指定的卷名以 0 结尾,以便安装可以使用以 1 或 2 结尾的卷名作为子镜像名。如果指定子镜像名,则指定的卷名以 1 或 2 结尾。如果指定的编号不正确,则将无法创建镜像。例如,如果您指定的镜像名以编号 1 或 2 结尾(d1 或 d2),并且如果镜像名是子镜像名的副本,则 Solaris Live Upgrade 将无法创建该镜像。
在本示例中,使用 Solaris Live Upgrade 指定卷名。仅使用 RAID-1 卷 d0 和 d1。对于镜像 d10,Solaris Live Upgrade 将 d2 作为设备 c0t0d0s0 的子镜像名,并将 d3 作为设备 c1t0d0s0 的子镜像名。
lucreate -n newbe -m /:d10:mirror,ufs -m /:c0t0d0s0:attach -m /:c1t0d0s0:attach |
在本示例中,在命令中指定卷名。对于镜像 d10,d11 是设备 c0t0d0s0 的子镜像名,d12 是设备 c1t0d0s0 的子镜像名。
lucreate -n newbe -m /:d10:mirror,ufs -m /:c0t0d0s0,d11:attach -m /:c1t0d0s0,d12:attach |
有关 Solaris 卷管理器命名要求的详细信息,请参见《Solaris Volume Manager Administration Guide》。
使用自定义 JumpStart 安装方法创建 RAID-1 卷(镜像)和 RAID-0 卷(子镜像)时,可以让软件检测并指定卷名,也可以在配置文件中指定卷名。如果让软件检测卷名,则软件将指定第一个可用的卷编号。如果在配置文件中指定卷名,则指定的镜像名以 0 结尾,以便安装可以使用以 1 和 2 结尾的卷名作为子镜像名。如果指定的编号不正确,则将无法创建镜像。例如,如果指定的镜像名以 1 或 2 结尾(d1 或 d2),并且如果镜像名是子镜像名的副本,则 JumpStart 将无法创建该镜像。在以下配置文件示例中,将第一个可用的卷编号指定给镜像。如果下一个以 0 结尾的可用镜像名为 d10,则将卷名 d11 和 d12 指定给子镜像。
filesys mirror c0t0d0s1 /
在以下配置文件示例中,在配置文件中将镜像编号指定为 d30。软件将根据镜像编号和第一个可用的子镜像名指定子镜像名。在本示例中,子镜像被命名为 d31 和 d32。
filesys mirror:d30 c0t1d0s0 c0t0d0s0 /
有关 Solaris 卷管理器命名要求的详细信息,请参见《Solaris Volume Manager Administration Guide》。
当选择用来镜像文件系统的磁盘和控制器时,请考虑以下几条指南。
使用位于不同控制器上的组件,以增加可同时执行的读取和写入操作的数量。
使不同子镜像的片位于不同的磁盘和控制器中。如果同一镜像的两个和多个子镜像的片位于同一个磁盘上,则对数据的保护作用将大大降低。
将子镜像分布在不同的控制器中,因为控制器及相关电缆比磁盘更容易发生故障。此做法还可以提高镜像性能。
对一个镜像使用同一类型的磁盘和控制器。特别是对于旧的 SCSI 存储设备,不同模型或品牌的磁盘或控制器的性能差别很大。一个镜像中存在多种不同的性能级别可能会导致性能大大降低。
当选择要用来镜像文件系统的片时,请考虑以下几条指南。
任何文件系统,包括根 (/)、swap 和 /usr,都可以使用镜像。任何应用程序(例如数据库)也可以使用镜像。
确保子镜像片的大小相同。不同大小的子镜像会导致部分磁盘空间不能使用。
如果镜像的文件系统中附加的第一个子镜像不是从柱面 0 开始,则其他所有子镜像都不能从柱面 0 开始。如果试图将从柱面 0 开始的子镜像附加到某个镜像,而该镜像中初始的子镜像不是从柱面 0 开始,则将显示以下错误消息:
can't attach labeled submirror to an unlabeled mirror |
必须确保要附加到镜像的所有子镜像都是从柱面 0 开始的,或者都不是从柱面 0 开始的。
所有子镜像的开始柱面不必相同,但是所有子镜像必须都包括或都不包括柱面 0。
如果将具有根 (/)、/usr 和 swap 文件系统镜像的系统引导到单用户模式,则系统会指示需要对这些镜像进行维护。当使用 metastat 命令查看这些镜像时,这些镜像,甚至可能系统中的全部镜像,都将显示“需要维护”状态。
虽然该情况看起来有一定的潜在危险,但不必担心。当将系统引导到单用户模式时,metasync -r 命令(通常在引导系统以重新同步镜像时发生)将被中止。系统重新引导后,metasync -r 命令将运行并重新同步所有镜像。
如果此中断会造成较大影响,请手动运行 metasync -r 命令。
有关 metasync 的更多信息,请参见 metasync(1M) 手册页和 《Solaris Volume Manager Administration Guide》。