本部分对与 Solaris OS 安装或升级相关的多种技术进行了概述,还提供了一些原则和要求。
基于 x86 的系统中的基于 GRUB 的引导
Solaris Zones 分区技术
Solaris 卷管理器 (Solaris Volume Manager) 组件(例如 RAID-1 卷)
本章介绍在基于 x86 的系统中,与 Solaris 安装相关的基于 GRUB 的引导。本章包含以下几节:
GRUB 是开放源代码的引导装载器,Solaris OS 已将其作为缺省的引导装载器。
基于 GRUB 的引导在基于 SPARC 的系统上不可用。
引导装载器是打开系统电源后第一个运行的软件程序。打开基于 x86 的系统后,基本输入/输出系统 (Basic Input/Output System, BIOS) 将初始化 CPU、内存和平台硬件。初始化阶段完成后,BIOS 从所配置的引导设备装入引导装载器,然后将对系统的控制传送给引导装载器。
GRUB 是开放源代码的引导装载器,它带有一个简单的菜单界面,该界面中所包含的引导选项是在一个配置文件中预先定义的。GRUB 还具有命令行界面,可以通过菜单界面对它进行访问来执行各种引导命令。在 Solaris OS 中,GRUB 的实现符合多引导规范。在 http://www.gnu.org/software/grub/grub.html 中有该规范的详细介绍。
因为 Solaris 内核与多引导规范完全兼容,所以可使用 GRUB 来引导基于 Solaris x86 的系统。使用 GRUB,可以更轻松地引导和安装各种操作系统。例如,在一个系统上,可以单独引导以下操作系统:
Solaris OS
Microsoft Windows
GRUB 会对 Microsoft Windows 分区进行检测,但不会验证该 OS 是否能够引导。
GRUB 的一个重要优点是直观的文件系统和内核可执行格式,这使得无需记录内核在磁盘上的物理位置即可装入操作系统。使用基于 GRUB 的引导,内核的装入由其文件名、驱动器及所在分区来指定。基于 GRUB 的引导取代了 Solaris Device Configuration Assistant,并使用 GRUB 菜单简化了引导过程。
GRUB 获得了系统控制后,菜单将显示在控制台上。在 GRUB 菜单中,可以执行以下操作:
选择一个项以引导系统
使用内置 GRUB 编辑菜单修改引导项
从命令行手动装入 OS 内核
可配置的超时可用于引导缺省的 OS 项。按任意键将异常中止对缺省 OS 项的引导。
要查看 GRUB 菜单的示例,请参见GRUB 主菜单说明。
GRUB 使用的设备命名约定与以前的 Solaris OS 版本稍有不同。了解 GRUB 设备命名约定可以帮助您在系统上配置 GRUB 时正确指定驱动器和分区信息。
下表介绍了 GRUB 设备命名约定。
表 6–1 GRUB 设备的命名约定
设备名 |
描述 |
---|---|
(fd0), (fd1) |
第一个软盘,第二个软盘 |
(nd) |
网络设备 |
(hd0,0), (hd0,1) |
第一个 bios 磁盘的第一个和第二个 fdisk 分区 |
(hd0,0,a), (hd0,0,b) |
第一个 bios 磁盘的第一个 fdisk 分区上的 Solaris/BSD 片 0 和片 1 |
所有的 GRUB 设备名称都必须括在括号中。分区号从 0(零)算起,而不是从 1 算起。
有关 fdisk 分区的更多信息,请参见《系统管理指南:设备和文件系统》中的“fdisk 分区创建准则”。
有关这些更改的更多信息,请参见以下参考资料。
表 6–2 在何处查找有关基于 GRUB 的安装的信息
主题 |
GRUB 菜单任务 |
更多信息 |
---|---|---|
安装 |
从 Solaris OS CD 或 DVD 介质安装 | |
从网络安装映像安装 | ||
为网络安装配置 DHCP 服务器 | ||
使用自定义 JumpStart 程序安装 |
《Solaris 10 11/06 安装指南:自定义 JumpStart 和高级安装》中的“执行自定义 JumpStart 安装” |
|
使用 Solaris Live Upgrade 激活或回退到引导环境 | ||
系统管理 |
有关 GRUB 和管理任务的更多详细信息 |
安装 Solaris OS 时,在缺省情况下,系统上会安装两个 GRUB 菜单项。第一项是 Solaris OS。第二项是故障安全引导归档文件,将用于系统恢复。作为 Solaris 软件安装和升级过程的一部分,Solaris GRUB 菜单项将自动安装和更新。这些项由 OS 直接管理,不应该手动编辑。
在标准 Solaris OS 安装过程中,无需修改系统 BIOS 设置即可将 GRUB 安装在 Solaris fdisk 分区上。如果 OS 不在 BIOS 引导磁盘上,需要执行以下操作之一:
修改 BIOS 设置。
使用引导管理器引导至 Solaris 分区。有关更多详细信息,请查看您的引导管理器。
首选方法是在引导磁盘上安装 Solaris OS。如果计算机上安装了多个操作系统,可以向 menu.lst 文件中添加项。这些项将会在下次引导系统时显示在 GRUB 菜单上。
有关多个操作系统的其他信息,请参见《系统管理指南:基本管理》中的“在 GRUB 引导环境中如何支持多个操作系统”。
执行基于 GRUB 的网络引导时需要为 PXE 客户机配置的 DHCP 服务器和提供 tftp 服务的安装服务器。DHCP 服务器必须能够响应 DHCP 类、PXEClient 和 GRUBClient。DHCP 响应必须包含以下信息:
文件服务器的 IP 地址
引导文件 (pxegrub) 的名称
rpc.bootparamd,执行网络引导时服务器端通常需要该程序,而基于 GRUB 进行网络引导时不需要。
如果没有可用的 PXE 或 DHCP 服务器,可以从 CD-ROM 或本地磁盘装入 GRUB。然后可以手动配置 GRUB 中的网络并从文件服务器上下载多引导程序和引导归档文件。
有关更多信息,请参见《Solaris 10 11/06 安装指南:基于网络的安装》中的“使用 PXE 通过网络进行引导和安装概述”。
引导基于 x86 的系统时,将显示 GRUB 菜单。该菜单提供用于选择的引导项列表。引导项是安装在系统上的 OS 实例。GRUB 菜单是基于 menu.lst 文件的,该文件是一个配置文件。menu.lst 文件由 Solaris 安装程序创建并可以在安装后进行修改。menu.lst 文件指定在 GRUB 菜单中显示的 OS 实例列表。
如果安装或升级 Solaris OS,则会自动更新 GRUB 菜单。然后,该 Solaris OS 将显示为新的引导项。
如果安装 Solaris OS 以外的 OS,必须修改 menu.lst 配置文件以包含新的 OS 实例。添加新的 OS 实例可使新的引导项在下次引导系统时出现在 GRUB 菜单中。
在以下示例中,GRUB 主菜单显示了 Solaris 和 Microsoft Windows 操作系统。还列出了 Solaris Live Upgrade 引导环境,命名为 second_disk。请参见以下每个菜单项的说明。
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |second_disk | |second_disk failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
指定 Solaris OS。
指定在 Solaris OS 损坏时可用于恢复的引导归档文件。
指定 Solaris Live Upgrade 引导环境。second_disk 引导环境是作为 Solaris OS 的副本创建的,并使用 luactivate 命令升级和激活。该引导环境可用于引导。
指定 Microsoft Windows OS。GRUB 会对这些分区进行检测,但不会验证该 OS 是否能够引导。
GRUB menu.lst 文件列出了 GRUB 主菜单的内容。GRUB 主菜单列出了安装在系统上的所有 OS 实例的引导项,包括 Solaris Live Upgrade 引导环境。Solaris 软件升级过程保留了您对该文件所做的任何更改。
对 menu.lst 文件所做的任何修订将与 Solaris Live Upgrade 项一起显示在 GRUB 主菜单上。对该文件所做的任何更改将在下次重新引导系统时生效。您可以出于以下目的修订该文件:
要添加非 Solaris 操作系统的 GRUB 菜单项
要自定义引导行为,如在 GRUB 菜单上指定缺省 OS
请勿使用 GRUB menu.lst 文件修改 Solaris Live Upgrade 项,因为修改该项会导致 Solaris Live Upgrade 失败。
尽管可以使用 menu.lst 文件自定义引导行为,如使用内核调试程序引导,但首选的自定义方法是使用 eeprom 命令。如果使用 menu.lst 文件来自定义,则在软件升级过程中,Solaris OS 项可能会被修改,对文件的更改随后可能会丢失。
有关如何使用 eeprom 命令的信息,请参见《系统管理指南:基本管理》中的“如何使用 eeprom 命令设置 Solaris 引导参数”。
menu.lst 文件样例如下所示:
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title second_disk root (hd0,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title second_disk failsafe root (hd0,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- second_disk -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
指定超时期满后要引导的项。要更改缺省值,可以通过更改编号指定列表中的另一项。第一个标题的计数从零开始。例如,将缺省值更改为 2 以自动引导至 second_disk 引导环境。
指定了在引导缺省项前等待用户输入的时间(秒)。如果未指定超时值,则需要选择一项。
指定操作系统的名称。
如果是 Solaris Live Upgrade 引导环境,则 OS 名称就是当创建新引导环境时所赋予的名称。在上例中,Solaris Live Upgrade 引导环境名为 second_disk。
如果是故障安全引导归档文件,则该引导归档文件用于恢复损坏的主 OS。在上例中,Solaris 故障安全和 second_disk 故障安全是 Solaris 和 second_disk 操作系统的恢复引导归档文件。
指定要装入文件的磁盘、分区和片。GRUB 会自动检测文件系统类型。
指定多引导程序。kernel 命令后必须始终跟有多引导程序。multiboot 后面的字符串被传送给 Solaris OS(没有解释)。
有关多个操作系统的完整描述,请参见《系统管理指南:基本管理》中的“在 GRUB 引导环境中如何支持多个操作系统”。
必须始终使用 bootadm 命令查找 GRUB 菜单的 menu.lst 文件。使用 list-menu 子命令查找活动的 GRUB 菜单。menu.lst 文件列出了安装在系统上的所有操作系统。该文件的内容指定在 GRUB 菜单上显示的操作系统的列表。如果要对此文件进行更改,请参见《Solaris 10 11/06 安装指南:Solaris Live Upgrade 和升级规划》中的“查找 GRUB 菜单的 menu.lst 文件(任务)”。
本章对在配置了非全局区域时,Solaris Zones 分区技术如何与升级 Solaris OS 相关联进行了概述。
本章包含以下几节:
有关区域概述以及如何规划、创建和配置区域的完整信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 16 章 “Solaris Zones 介绍”。
Solaris Zones 分区技术用于虚拟化操作系统服务,提供安全的隔离环境以便运行应用程序。非全局区域是在 Solaris OS 的单个实例中创建的虚拟化操作系统环境。在创建非全局区域时,会构建一个应用程序执行环境,其中的进程与系统的其余部分隔离。这种隔离可防止在一个非全局区域中运行的进程监视或影响在其他非全局区域中运行的进程。对于正在运行的进程,即使具有超级用户凭证也不能查看或影响其他区域中的活动。非全局区域还提供一个抽象层,用于将应用程序与部署应用程序的计算机的物理属性分隔开。例如,物理设备路径就属于这些属性。
每个 Solaris 系统均含有一个全局区域。全局区域具有双重功能。全局区域既是系统的缺省区域,也是在系统范围内进行管理控制的区域。如果全局管理员未创建任何非全局区域,则所有进程都会在全局区域中运行。只能从全局区域配置、安装、管理或卸载非全局区域。只有全局区域才可从系统硬件进行引导。只能在全局区域中进行系统基础设施(如物理设备)的管理、路由或动态重新配置 (dynamic reconfiguration, DR)。在全局区域中运行的具有适当权限的进程可以访问与非全局区域关联的对象。
安装 Solaris OS 后,可以安装和配置非全局区域。准备好升级 Solaris OS 时,可以升级安装了非全局区域的系统。Solaris 交互式安装程序和自定义 JumpStart 程序能够启动升级。
当使用 Solaris 交互式安装程序时,通过在“选择升级安装或初始安装”面板上选择“升级安装”,即可升级安装了非全局区域的系统。然后,安装程序对系统进行分析以确定其是否可升级,并提供分析摘要。安装程序接着会提示您继续升级操作。使用该程序时,请遵循以下限制:
不能自定义升级。例如,您不能安装附加的软件产品,不能安装附加的语言环境软件包或修改磁盘布局。
您必须使用 Solaris Operating System DVD 或在 DVD 上创建的网络安装映像。您不能使用 Solaris Software CD 升级系统。有关使用此程序进行安装的更多信息,请参见《Solaris 10 11/06 安装指南:基本安装》中的第 2 章 “使用 Solaris 安装程序执行安装(任务)”。
使用自定义 JumpStart 安装程序,可以通过使用 install_type 和 root_device 关键字执行升级。
因为一些关键字会影响非全局区域,所以配置文件中不能包含此类关键字。例如,使用添加软件包、重新分配磁盘空间或添加语言环境的关键字会影响非全局区域。如果使用这些关键字,它们将被忽略或导致 JumpStart 升级失败。有关这些关键字的列表,请参见《Solaris 10 11/06 安装指南:自定义 JumpStart 和高级安装》中的“升级安装了非全局区域的系统时限制配置文件关键字”。
程序或条件 |
描述 |
---|---|
Solaris Live Upgrade |
安装了非全局区域后,不能使用 Solaris Live Upgrade 升级系统。您可以使用 lucreate 命令创建引导环境,但是如果使用 luupgrade 命令,升级将会失败。此时将显示错误消息。 |
Solaris Flash 归档文件 |
安装了非全局区域后,将无法正确创建 Solaris Flash 归档文件。Solaris Flash 功能与 Solaris Zones 分区技术不兼容。如果创建了 Solaris Flash 归档文件,当在下列条件下部署归档文件时,所生成的归档文件无法正确安装:
|
在某些情况下,不得使用带有 -R 选项或等效选项的命令。 |
任何可通过 -R 或等效选项来接受替换的根 (/) 文件系统的命令,在以下情况成立时不得使用:
例如,pkgadd 实用程序的 -R root_path 选项将通过到非全局区域中根 (/) 文件系统的路径从全局区域运行。 有关接受备用根 (/) 文件系统的实用程序列表,以及有关区域的更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“从全局区域中访问非全局区域的限制”。 |
执行升级前,您应该备份 Solaris 系统上的全局区域和非全局区域。有关备份安装了区域的系统的信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 25 章 “Solaris Zones 管理(概述)”。
当安装全局区域时,确保为可能创建的所有区域保留足够的磁盘空间。每个非全局区域的磁盘空间需求可能不同。
不限制每个区域可消耗的磁盘空间量。全局区域管理员负责限制空间。即使小型单处理器系统也可支持同时运行多个区域。全局区域中安装的软件包的特征将影响所创建的非全局区域的空间要求。软件包的数量和空间需求为相关因素。
有关完整的规划要求和建议,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 18 章 “规划和配置非全局区域(任务)”。
本章讨论为根 (/) 文件系统创建 RAID-1 卷(镜像)的优点。本章还介绍了为文件系统创建镜像所需的 Solaris 卷管理器组件。本章包括以下主题。
有关特定于 Solaris Live Upgrade 或 JumpStart 的其他信息,请参见以下参考资料:
对于 Solaris Live Upgrade:《Solaris 10 11/06 安装指南:Solaris Live Upgrade 和升级规划》中的“创建 RAID-1 卷(镜像卷)文件系统的一般原则”
对于 JumpStart:
在安装或升级过程中,可以创建 RAID-1 卷以便在多个物理磁盘上复制系统数据。通过在不同的磁盘上复制数据,您可以保护数据,防止磁盘毁坏或发生故障时数据丢失。
Solaris 自定义 JumpStart 和 Solaris Live Upgrade 安装方法使用 Solaris 卷管理器技术创建镜像文件系统的 RAID-1 卷。Solaris 卷管理器提供了一种通过使用卷来可靠地管理磁盘的有效方法。在 Solaris 卷管理器中可以启用串联、分组和其他复杂配置。使用自定义 JumpStart 和 Solaris Live Upgrade 安装方法可以执行这些任务中的一些任务,例如为根 (/) 文件系统创建 RAID-1 卷。可以在安装或升级过程中创建 RAID-1 卷,这样就不必在安装之后创建这些卷了。
有关复杂的 Solaris 卷管理器软件和组件的详细信息,请参见《Solaris Volume Manager 管理指南》。
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 卷管理器在 RAID-0 子镜像上复制数据,并将这些子镜像视为一个卷。
图 8–1 显示在两个物理磁盘上复制根 (/) 文件系统的镜像。
图 8–1 中显示了具有下列配置的系统。
名为 d30 的镜像由名为 d31 和 d32 的子镜像组成。镜像 d30 将根 (/) 文件系统中的数据复制到两个子镜像上。
hdisk0 上的根 (/) 文件系统包含在名为 d31 的单片串联中。
将根 (/) 文件系统复制到名为 hdisk1 的硬盘中。此副本为名为 d32 的单片串联。
自定义 JumpStart 安装方法和 Solaris Live Upgrade 使您可以创建复制数据所需的以下组件。
状态数据库和状态数据库副本 (metadbs)
具有单片串联(子镜像)的 RAID-1 卷(镜像)
本节简要介绍这些组件。有关这些组件的完整信息,请参见《Solaris Volume Manager 管理指南》。
状态数据库是指在物理磁盘上存储信息的数据库。该数据库记录并跟踪对配置所做的更改。当配置或状态发生更改时,Solaris 卷管理器将自动更新状态数据库。例如,创建新卷是一种配置更改,而子镜像失败则是一种状态更改。
状态数据库实际上是多个复制的数据库副本的集合。每一份数据库(称作状态数据库副本)都可以确保状态数据库中的数据始终有效。拥有多份状态数据库可以防止发生单点故障时数据丢失。状态数据库可以跟踪所有已知状态数据库副本的位置和状态。
在创建状态数据库及其状态数据库副本之前,Solaris 卷管理器无法进行操作。Solaris 卷管理器配置中必须具有操作状态数据库。
状态数据库副本可确保状态数据库中的数据始终有效。当状态数据库被更新时,所有状态数据库副本也被更新。每次只更新一个副本的内容,以防止如果系统崩溃,所有更新副本都遭到破坏。
如果系统丢失了一个状态数据库副本,Solaris 卷管理器必须确定哪些状态数据库副本中仍包含有效数据。Solaris 卷管理器将使用多数一致算法确定此信息。在此算法中,只有当多数(半数 + 1 个)数据库副本可用并一致时,才会认为其中的任何数据库副本是有效的。根据此多数一致算法,设置磁盘配置时,您必须至少创建三个状态数据库副本。如果三个状态数据库副本中至少有两个可用,则可能取得一致。
缺省情况下,每个状态数据库副本占用的磁盘存储为 4 MB(8192 磁盘扇区)。副本可以存储在以下设备中:
副本不能存储在根 (/)、swap 或 /usr 片上,也不能存储在包含现有文件系统或数据的片上。副本存储后,可以将卷或文件系统放置在同一个片上。
一个片上可以存储多个状态数据库副本。但是,将状态数据库副本放在一个片上,发生单点故障时系统很容易受到损坏。
描述 |
更多信息 |
---|---|
在使用自定义 JumpStart 或 Solaris Live Upgrade 安装 RAID-1 卷时,请查看下列原则和要求。 | |
获取有关状态数据库和状态数据库副本的更多详细信息。 |
RAID-1 卷(即镜像)是指保留有 RAID-0 卷(单片串联)中相同数据副本的卷。配置 RAID-1 卷后,仅可以将该卷用作物理片。您可以复制任何文件系统,包括现有文件系统。也可以将 RAID-1 卷用于任何应用程序,如数据库。
使用 RAID-1 卷来镜像文件系统既有优点,也有缺点:
有了 RAID-1 卷,可同时从两个 RAID-0 卷读取数据(每一个卷都可以处理任何请求),使性能得到了提高。如果一个物理磁盘出现故障,可以继续使用镜像,从而不会造成性能降低或数据丢失。
使用 RAID-1 卷要求在磁盘方面进行投入。至少需要两倍于数据量的磁盘空间量。
由于 Solaris 卷管理器软件必须写入所有 RAID-0 卷,因此复制数据还会增加将写入请求写入磁盘所需的时间。
描述 |
更多信息 |
---|---|
规划 RAID-1 卷 | |
有关 RAID-1 卷的详细信息 |
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 卷。状态数据库副本 (metadbs) 放置在两个磁盘上。
图 8–2 中显示了具有下列配置的系统。
名为 d30 的镜像由名为 d31 和 d32 的子镜像组成。镜像 d30 将根 (/) 文件系统中的数据复制到两个子镜像上。
hdisk0 上的根 (/) 文件系统包含在名为 d31 的单片串联中。
将根 (/) 文件系统复制到名为 hdisk1 的硬盘中。此副本为名为 d32 的单片串联。
在以下两个片上都创建状态数据库副本:hdisk0 和 hdisk1。
描述 |
更多信息 |
---|---|
JumpStart 配置文件示例 | |
Solaris Live Upgrade 分步操作过程 |
《Solaris 10 11/06 安装指南:Solaris Live Upgrade 和升级规划》中的“在 RAID-1 卷(镜像)上创建引导环境(命令行界面)” |
本章说明使用自定义 JumpStart 或 Solaris Live Upgrade 安装方法创建 RAID-1 卷所必须遵循的要求和原则。
本章包括以下主题。
有关特定于 Solaris Live Upgrade 或 JumpStart 的其他信息,请参见以下参考资料:
对于 Solaris Live Upgrade:《Solaris 10 11/06 安装指南:Solaris Live Upgrade 和升级规划》中的“创建 RAID-1 卷(镜像卷)文件系统的一般原则”
对于 JumpStart:
要创建 RAID-1 卷以便复制特定片上的数据,必须直接附加计划要使用的磁盘,且该磁盘必须在安装过程中可用于系统。
您应该将状态数据库副本分布在多个片、驱动器和控制器中,以避免发生单点故障。一般希望在单个组件发生故障时大部分副本完好。如果丢失了一个副本,例如当设备发生故障时,可能会导致运行 Solaris 卷管理器软件或重新引导系统时出现问题。要运行 Solaris 卷管理器软件,要求至少有一半副本可用,但是要重新引导为多用户模式,则需多数(半数以上)副本都可用。
有关创建和管理状态数据库副本的详细说明,请参见《Solaris Volume Manager 管理指南》。
在为状态数据库副本选择片之前,请考虑以下原则和建议。
任务 |
描述 |
---|---|
选择专用片 |
应在专用片上创建状态数据库副本,每个副本至少需要 4 MB。如果需要,您可以在将要用作 RAID-0 或 RAID-1 卷一部分的片上创建状态数据库副本。必须在将片增加到卷之前创建副本。 |
调整片的大小 |
缺省情况下,状态数据库副本的大小为 4 MB 或 8192 个磁盘块。由于磁盘片可能不会这么小,因此您可以调整片的大小以存储状态数据库副本。有关调整片大小的信息,请参见《系统管理指南:设备和文件系统》中的第 12 章 “管理磁盘(任务)”。 |
选择未使用的片 | |
不能在现有文件系统、根 (/) 文件系统、/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 11/06 安装指南:Solaris Live Upgrade 和升级规划》中的“在 RAID-1 卷(镜像)上创建引导环境(命令行界面)”。 |
不支持三个以上 RAID-0 卷。 |
使用 RAID-1 卷创建和安装 Solaris Flash |
可以从已配置了 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 卷的示例,请参见《Solaris 10 11/06 安装指南:自定义 JumpStart 和高级安装》中的“配置文件示例”。 |
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。
使用 Solaris Live Upgrade 创建 RAID-1 卷(镜像)和 RAID-0 卷(子镜像)时,可以让软件检测并指定卷名,也可以手动指定名称。如果让软件检测卷名,软件将指定第一个可用的镜像或子镜像名。如果指定镜像名,则指定的卷名以 0 结尾,以便安装可以使用以 1 或 2 结尾的卷名作为子镜像名。如果指定子镜像名,则指定的卷名以 1 或 2 结尾。如果指定的编号不正确,则将无法创建镜像。例如,如果您指定的镜像名以编号 1 或 2 结尾(d1 或 d2),则在镜像名与子镜像名相同时,Solaris Live Upgrade 将无法创建该镜像。
在以前的发行版中,可以输入缩写形式的卷名。从 Solaris 10 11/06 发行版开始,只能输入完整的卷名。例如,只能使用完整的卷名(如 /dev/md/dsk/d10)指定镜像。
在本示例中,使用 Solaris Live Upgrade 指定卷名。仅使用 RAID-1 卷 d0 和 d1。对于镜像 d10,Solaris Live Upgrade 选择 d2 作为设备 c0t0d0s0 的子镜像名,并选择 d3 作为设备 c1t0d0s0 的子镜像名。
lucreate -n newbe -m /:/dev/md/dsk/d10:mirror,ufs -m /:/dev/dsk/c0t0d0s0:attach -m /:/dev/dsk/c1t0d0s0:attach |
在本示例中,在命令中指定卷名。对于镜像 d10,d11 是设备 c0t0d0s0 的子镜像名,d12 是设备 c1t0d0s0 的子镜像名。
lucreate -n newbe -m /:/dev/md/dsk/d10:mirror,ufs -m /:/dev/dsk/c0t0d0s0,/dev/md/dsk/d11:attach -m /:/dev/dsk/c1t0d0s0,/dev/md/dsk/d12:attach |
有关 Solaris 卷管理器命名要求的详细信息,请参见《Solaris Volume Manager 管理指南》。
使用自定义 JumpStart 安装方法创建 RAID-1 卷(镜像)和 RAID-0 卷(子镜像)时,可以让软件检测并指定镜像的卷名,也可以在配置文件中指定卷名。
如果让软件检测卷名,则软件将指定第一个可用的卷编号。
如果在配置文件中指定卷名,则指定的镜像名以 0 结尾,以便安装可以使用以 1 和 2 结尾的卷名作为子镜像名。
如果指定的编号不正确,则将无法创建镜像。例如,如果指定的镜像名以 1 或 2 结尾(d1 或 d2),则在镜像名与子镜像名相同时,JumpStart 将无法创建该镜像。
可以缩写物理磁盘片和 Solaris 卷管理器卷的名称。缩写是能够唯一标识设备的最短名称。例如,
Solaris 卷管理器卷可由其 d数字 标志来标识,因此, /dev/md/dsk/d10 可以简化为 d10。
如果系统包含一个控制器和多个磁盘,则可以使用 t0d0s0;但如果包含多个控制器,则应使用 c0t0d0s0。
在以下配置文件示例中,将第一个可用的卷编号指定给镜像。如果下一个以 0 结尾的可用镜像名为 d10,则将卷名 d11 和 d12 指定给子镜像。
filesys mirror c0t0d0s1 /
在以下配置文件示例中,在配置文件中将镜像编号指定为 d30。软件将根据镜像编号和第一个可用的子镜像指定子镜像名。子镜像被命名为 d31 和 d32。
filesys mirror:d30 c0t1d0s0 c0t0d0s0 /
有关 Solaris 卷管理器命名要求的详细信息,请参见《Solaris Volume Manager 管理指南》。
当选择用来镜像文件系统的磁盘和控制器时,请考虑以下几条原则。
使用位于不同控制器上的组件,以增加可同时执行的读取和写入操作的数量。
使不同子镜像的片位于不同的磁盘和控制器中。如果同一镜像的两个和多个子镜像的片位于同一个磁盘上,则对数据的保护作用将大大降低。
将子镜像分布在不同的控制器中,因为控制器及相关电缆比磁盘更容易发生故障。此做法还可以提高镜像性能。
对一个镜像使用同一类型的磁盘和控制器。特别是对于旧的 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 管理指南》。