Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1299808
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-15 09:46:13


RAID-1 卷(镜像)重新同步
第10 章• RAID-1(镜像)卷(概述) 89
镜像重新同步通过维护具有相同数据的所有子镜像(正在写入的镜像除外),确保了正确
的镜像操作。
注– 不应忽略镜像重新同步。不需要以手动方式启动镜像重新同步。此过程将自动执行。
完整重新同步
将新的子镜像附加(添加)到镜像时,该镜像中另一子镜像中的所有数据都将自动写入新
附加的子镜像。完成镜像重新同步后,新的子镜像即可读取。拆离子镜像之前,该子镜像
始终附加到镜像。
如果系统在重新同步期间崩溃了,则系统完成重新引导后就会重新启动重新同步。
优化的重新同步
出现系统故障后重新引导系统期间,或在子镜像脱机之后又重新联机时,Solaris Volume
Manager 将执行优化的镜像重新同步。元盘驱动程序将跟踪子镜像区域。元盘驱动程序借助
此功能来了解,哪些子镜像区域在出现故障后可能不同步。优化的镜像重新同步仅在不同
步区域中执行。可以指定在重新引导期间重新同步镜像的顺序。通过将子镜像传送号设置
为0,可以省略镜像重新同步。有关与更改传送号关联的任务,请参见示例11–16。
注意– 应仅对以只读方式挂载的镜像使用传送号0。
部分重新同步
替换子镜像内的片后,Solaris Volume Manager 将执行数据的部分镜像重新同步。Solaris
Volume Manager 会将数据从另一子镜像的仍然完好的片复制到替换后的片中。
创建和维护RAID-1 卷
本节提供可帮助您创建镜像的指南,此外,还提供所创建镜像的性能指南。
RAID-1 卷的配置指南
 创建镜像之前,请先创建组成镜像的RAID-0(条带化或串联)卷。
 创建镜像时,请首先创建单向镜像,然后附加第二个子镜像。此策略可以启动重新同步
操作,此外,还可以确保数据不会被损坏。您还可以创建单向镜像,以用作将来的双向
或多向镜像。
创建和维护RAID-1 卷
90 Solaris Volume Manager 管理指南• 2006 年10 月
 可以使用单个命令根据单向镜像来创建双向镜像、三向镜像或四向镜像。通过使用单个
命令来创建所有的子镜像,可以加速创建过程。只有在未镜像现有数据,而且已充分销
毁所有子镜像上的数据时,才使用此过程。
 可以使用在片上生成的现有文件系统来创建RAID-1 卷。主RAID-0 卷(子镜像)中只能
包括单个片。如果您正在镜像根文件系统或其他对系统非常关键的文件系统,则所有的
子镜像必须仅包含单个片。
 使用swap -l 命令可以检查所有的swap 设备。指定为swap 的每个片必须独立于其余交换
片进行镜像。
 Solaris Management Console 中增强的存储工具不支持取消镜像根(/)、/opt、/usr 或
swap。实际上,该工具不支持取消镜像任何不能在系统处于运行状态时取消挂载的文件
系统。请对这些文件系统改用命令行过程。
 使用大小相同的子镜像。不同大小的子镜像会导致部分磁盘空间不能使用。
 仅使用镜像内以类似方式配置的子镜像。需要特别指出的是,如果创建的镜像包含未加
标记的子镜像,则不能附加包含磁盘标号的任何子镜像。
 如果您的镜像文件系统中附加的第一个子镜像不是从柱面0 开始的,则附加的所有其他
子镜像也不得从柱面0 开始。如果尝试附加从柱面0 开始的子镜像,则会显示以下错误
消息:
can’t attach labeled submirror to an unlabeled mirror
要么在特定镜像内使用的所有子镜像都必须从柱面0 开始,要么在特定镜像内使用的所
有子镜像都不得从柱面0 开始。
所有子镜像的开始柱面不必相同。但是,所有子镜像要么都包括柱面0,要么都不包括
柱面0。
 通过在创建镜像之前添加其他状态数据库副本,可以提高镜像的性能。按照一般规则,
为添加到系统中的每个镜像添加两个其他副本。Solaris Volume Manager 使用这些附加副
本存储脏区日志(DRL, dirty region log),该日志用于提供优化的重新同步。通过提供足够
数量的副本,可以使I/O 对RAID-1 卷性能的影响降至最低程度。在相同的磁盘或控制
器上使用至少两个副本作为副本记录的镜像,还可以帮助提高整体性能。
 只需直接挂载镜像设备即可。请不要尝试直接挂载子镜像,除非该子镜像处于脱机状态
且以只读方式挂载。请不要挂载作为子镜像一部分的片。此过程可能会销毁数据并使系
统崩溃。
RAID-1 卷的性能指南
 使不同子镜像的片位于不同的磁盘和控制器中。如果同一镜像的两个和多个子镜像的片
位于同一个磁盘上,则对数据的保护作用将大大降低。同样,应将子镜像分布在不同的
控制器中,因为控制器及关联电缆比磁盘更容易发生故障。此做法还可以提高镜像性
能。
 对一个镜像使用同一类型的磁盘和控制器。特别是对于旧的SCSI 存储设备,不同型号
或不同品牌的磁盘或控制器的性能差别很大。如果在单个镜像中使用具有不同性能级别
的磁盘和控制器,则性能可能会明显降低。
创建和维护RAID-1 卷
第10 章• RAID-1(镜像)卷(概述) 91
 镜像可能会提高读取性能,但写入性能始终会降低。仅在线程或异步I/O 情况下,镜像
才会提高读取性能。从卷单线程读取不会提高性能。
 可以体验到使用镜像读取策略可提高性能。例如,缺省读取模式为以循环方式交替读取
磁盘中的数据。此策略是缺省设置,因为循环往往最适合于UFS 多用户、多处理器活
动。
在某些情况下,geometric 读取选项通过使磁头移动和访问时间降至最低程度,可以提
高性能。此选项在以下情况下最有效:
 每个磁盘上只有一个片
 一次只有一个进程使用片或文件系统
 I/O 模式高度连续或所有的访问权限都为读取权限
 可以将子镜像附加到镜像上,而不中断服务。可以将子镜像附加到镜像上,以创建双
向、三向和四向镜像。
 使子镜像处于脱机状态时,可以防止镜像从子镜像读取数据并向子镜像写入数据。但
是,要保留子镜像与镜像的逻辑关联。子镜像处于脱机状态时,Solaris Volume Manager
将跟踪向该镜像中写入的所有内容。子镜像恢复联机状态时,所有内容都将被写入该子
镜像中。通过执行优化的重新同步,Solaris Volume Manager 只须重新同步已发生更改的
数据,而不必重新同步整个子镜像。拆离子镜像时,需要提供该子镜像与对应镜像的逻
辑关联。通常,要执行维护,需要使子镜像处于脱机状态。要删除子镜像,需要先拆离
该子镜像。
关于RAID-1 卷选项
以下选项可用于优化镜像性能:
 镜像读取策略
 镜像写入策略
 重新同步镜像的顺序(传送号)
最初创建镜像时,可以定义镜像选项。设置镜像且镜像处于运行状态后,还可以更改镜像
选项。有关与更改这些选项相关的任务,请参见第128 页中的“如何更改RAID-1 卷选项
”。
RAID-1 卷读取和写入策略
Solaris Volume Manager 可以为RAID-1 卷配置不同的读取和写入策略。正确设置读取和写入
策略可以提高给定配置的性能。
表10–1 RAID-1 卷读取策略
读取策略说明
循环(缺省) 尝试平衡子镜像中的负载。从镜像的所有子镜像中依照循环顺序(一个接着
一个)执行所有读取操作。
创建和维护RAID-1 卷
92 Solaris Volume Manager 管理指南• 2006 年10 月
表10–1 RAID-1 卷读取策略(续)
读取策略说明
几何可以基于逻辑磁盘块地址划分不同子镜像的读取操作。例如,使用双向子镜
像时,可以将镜像上的磁盘空间划分为两个大小相等的逻辑地址范围。从某
个子镜像的读取操作被限制到逻辑范围的一半。从其他子镜像的读取操作被
限制到另一半。几何读取策略可以有效减少读取所需的查找时间。性能提高
的程度(通过使用此读取策略)取决于系统I/O 负载以及应用程序的访问模
式。
第一将所有读取操作导向第一个子镜像。只有在组成第一个子镜像的设备比第二
个子镜像的设备速度明显更快时,才应使用此策略。
表10–2 RAID-1 卷写入策略
写入策略说明
并行(缺省) 对镜像执行同时复制并分发到所有子镜像的写入操作。
串行对子镜像连续执行写入操作(也就是说,第一个子镜像写入操作完成后,才
能启动第二个子镜像写入操作)。此策略指定必须完成向一个子镜像的写入
操作,才能启动下一个子镜像写入操作。如果因电源故障等无法访问子镜
像,则系统会提供此策略。
传送号
传送号(范围为0–9 的编号)可以确定在系统重新引导期间重新同步特定镜像的顺序。缺
省传送号为1。首先重新同步较低的传送号。如果使用0,则将跳过镜像重新同步。应仅对
以只读方式挂载的镜像使用传送号0。具有相同传送号的镜像同时重新同步。
了解子镜像状态以确定维护操作
Solaris Volume Manager 的metastat 命令可用于报告有关RAID 1 卷和子镜像的状态信息。状
态信息可帮助您确定是否需要对RAID-1 卷执行维护操作。下表说明了对RAID-1 卷运行
metastat 命令时显示的子镜像状态。
表10–3子镜像状态
状态含义
正常子镜像没有错误且正常发挥作用。
正在重新同步正在以活动方式重新同步子镜像。出现错误且已更正错误,子镜像刚刚恢复
联机状态,或者添加了新的子镜像。
需要维护子镜像中的片遇到I/O 错误或打开错误。子镜像中的此片的所有读取和写入
操作都已停止。
此外,对于子镜像中的每一片,metastat 命令都会显示以下信息:
创建和维护RAID-1 卷
第10 章• RAID-1(镜像)卷(概述) 93
设备指示条带中的片的设备名称
起始块指示片开始的块
Dbase 指示片中是否包含状态数据库副本
状态指示片的状态
热备件指示正在将片用作出现故障片的热备件
子镜像状态仅提供有关子镜像状态的常规信息。排除镜像错误时,片状态可能是要查阅的
最重要的信息。如果子镜像报告“需要维护”状态,则必须参阅片状态来了解更多信息。
根据片处于“维护”状态还是处于“最近出错”状态,可以执行不同的恢复操作。如果只有处
于“维护”状态的片,则可以按任意顺序修复这些片。如果同时具有处于“维护”状态和处
于“最近出错”状态的片,则必须首先修复处于“维护”状态的片。修复处于“维护”状态的片
后,请接着修复处于“最近出错”状态的片。有关更多信息,请参见第230 页中的“在
RAID-1 和RAID-5 卷中替换和启用组件的概述”。
下表说明了子镜像的片状态以及可能执行的操作。
表10–4子镜像片状态
状态含义操作
正常片没有错误且正常发挥作用。无。
正在重新同步正在以活动方式重新同步片。出现错
误且已更正错误,子镜像刚刚恢复联
机状态,或者添加了新的子镜像。
如果需要,请监视子镜像状态,直到重新同
步完成为止。
维护片遇到I/O 错误或打开错误。此组件
的所有读取和写入操作都已停止。
启用或替换出现故障的片。请参见第124 页
中的“如何启用子镜像中的片”或第131 页
中的“如何替换子镜像中的片”。metastat
命令将显示invoke 恢复消息,其中包含要使
用metareplace 命令执行的相应操作。也可以
使用metareplace -e 命令。
最近出错片遇到I/O 错误或打开错误。但是,
由于其他片出现了故障,因此不会在
其他位置复制数据。仍然对片执行
I/O 操作。如果产生了I/O 错误,则
镜像I/O 将失败。
首先,启用或更改处于“维护”状态的片。请
参见第124 页中的“如何启用子镜像中的片
”或第131 页中的“如何替换子镜像中的片
”。通常,此错误会导致某些数据丢失,因
此修复镜像之后,应验证该镜像。对于文件
系统,请使用fsck 命令,然后检查数据。应
用程序或数据库必须具有各自的设备验证方
法。
创建和维护RAID-1 卷
94 Solaris Volume Manager 管理指南• 2006 年10 月
引导到单用户模式对RAID-1 卷的影响
有时,您可能需要将包含根(/)、/usr 和swap(即所谓的“引导”文件系统)镜像的系统引导
到单用户模式(通过使用boot -s 命令)。在这种情况下,这些镜像(可能还有系统上的所
有镜像)都会以“需要维护”状态出现(如果使用metastat 命令进行查看)。此外,如果对
这些片执行写入操作,则metastat 命令将显示镜像中的脏区数目不断增加。
这种情况看起来存在潜在危险。但是,当将系统引导到单用户模式时,metasync - r 命令
(通常在引导系统以重新同步镜像时运行)将被中止。重新引导系统后,metasync -r 命令
将运行并重新同步所有镜像。
如果您担心此情况,则可以手动运行metasync -r 命令。
方案-RAID-1 卷(镜像)
RAID-1 卷提供了一种构造冗余卷的方式。因此,当某个基础RAID-0 卷部分或完全出现故
障时,不会丢失数据或中断对文件系统的访问。以下示例(利用在第5 章中说明且在第
77 页中的“方案-RAID-0 卷”中继续使用的方案)介绍了RAID-1 卷如何提供冗余存储。
正如第77 页中的“方案-RAID-0 卷”中所述,样例系统具有两个RAID-0 卷。每个卷的大
小大约为27GB ,且跨越三个磁盘。通过创建RAID-1 卷来镜像这两个RAID-0 卷,完全冗
余存储空间可以提供有弹性的数据存储。
在该RAID-1 卷中,磁盘控制器的故障不会中断对卷的访问。同样,在不中断访问的情况
下,最多可能允许三个单独的磁盘出现故障。
要针对可能中断访问的问题提供进一步的保护,请使用热备件,如第16 章中所述。有关具
体情况,请参见第170 页中的“热备件的工作原理”。
方案-RAID-1 卷(镜像)
第10 章• RAID-1(镜像)卷(概述) 95
96
RAID-1(镜像)卷(任务)
本章介绍如何执行与RAID-1 卷相关的Solaris Volume Manager 任务。有关相关概念的信息,
请参见第10 章。
RAID-1 卷(任务列表)
以下任务列表列出了管理Solaris Volume Manager RAID-1 卷所需的过程。
任务说明参考
从未使用的片创建镜像使用Solaris Volume Manager GUI 或
metainit 命令从未使用的片创建镜像。
第98 页中的“如何从未使用
的片创建RAID-1 卷”
从现有文件系统创建镜像使用Solaris Volume Manager GUI 或
metainit 命令从现有文件系统创建镜
像。
第100 页中的“如何从文件
系统创建RAID-1 卷”
从根(/) 文件系统创建镜

使用Solaris Volume Manager GUI 或
metainit 命令从根(/) 文件系统创建镜
像。
第105 页中的“SPARC: 如何
从根(/) 文件系统创建
RAID-1 卷”
第114 页中的“x86: 如何使用
DCA从根(/) 文件系统创建
RAID-1 卷”
附加子镜像使用Solaris Volume Manager GUI 或
metattach 命令附加子镜像。
第121 页中的“如何附加子
镜像”
拆离子镜像使用Solaris Volume Manager GUI 或
metadetach 命令拆离子镜像。
第122 页中的“如何拆离子
镜像”
11 第1 1 章
97
任务说明参考
使子镜像联机或脱机使用Solaris Volume Manager GUI 或
metaonline 命令将子镜像联机。使用
Solaris Volume Manager GUI 或
metaoffline 命令使子镜像脱机。
第123 页中的“如何使子镜
像脱机和联机”
启用子镜像内的片使用Solaris Volume Manager GUI 或
metareplace 命令启用子镜像内的片。
第124 页中的“如何启用子
镜像中的片”
检查镜像状态使用Solaris Volume Manager GUI 或
metastat 命令检查RAID-1 卷的状态。
第125 页中的“如何查看镜
像和子镜像的状态”
更改镜像选项使用Solaris Volume Manager GUI 或
metaparam 命令更改特定RAID-1 卷的选
项。
第128 页中的“如何更改
RAID-1 卷选项”
扩展镜像使用Solaris Volume Manager GUI 或
metattach 命令扩展镜像的容量。
第130 页中的“如何扩展
RAID-1 卷”
替换子镜像内的片使用Solaris Volume Manager GUI 或
metareplace 命令替换子镜像内的片。
第131 页中的“如何替换子
镜像中的片”
替换子镜像使用Solaris Volume Manager GUI 或
metattach 命令替换子镜像。
第132 页中的“如何替换子
镜像”
删除镜像(取消镜像) 使用Solaris Volume Manager GUI、
metadetach 命令或metaclear 命令取消对
文件系统的镜像。
第134 页中的“如何取消镜
像文件系统”
删除无法取消挂载的文件
系统的镜像(取消镜像)
使用Solaris Volume Manager GUI、
metadetach 命令或metaclear 命令取消对
无法取消挂载的文件系统的镜像。
第137 页中的“如何取消镜
像无法挂载的文件系统”
使用镜像执行备份使用Solaris Volume Manager GUI、
metaonline 命令或metaoffline 命令通过
镜像执行备份。
第141 页中的“如何对
RAID-1 卷执行联机备份”
创建RAID-1 卷
 如何从未使用的片创建RAID-1 卷
以下过程说明如何创建双向镜像。该过程也可用于创建三向或四向镜像。
请查看第42 页中的“创建Solaris Volume Manager 组件的先决条件”和第90 页中的“创建
和维护RAID-1 卷”。
开始之前
创建RAID-1 卷
98 Solaris Volume Manager 管理指南• 2006 年10 月
创建两个条带化或串联的卷,这些组件会成为子镜像。
请参见第80 页中的“如何创建RAID-0(条带化)卷”或第81 页中的“如何创建RAID-0
(串联)卷”。
要创建镜像,请使用以下方法之一:
 从Solaris Management Console 中增强的存储工具中,打开“卷”节点,然后选择“操作
”⇒“创建卷”并按照屏幕上的说明操作。有关更多信息,请参见联机帮助。
 使用以下格式的metainit 命令创建单向镜像:
# metainit volume-name -m submirror-name
volume-name 指定要创建的卷的名称
-m 指定要创建镜像
submirror-name 指定将成为镜像中的第一个子镜像的组件的名称
有关更多信息,请参见以下示例和metainit(1M) 手册页。
要添加第二个子镜像,请使用以下方法之一:
 从Solaris Management Console 中增强的存储工具中,打开“卷”节点,然后选择要修改
的镜像。选择“操作”⇒“属性”,然后选择“子镜像”。按照屏幕上的说明附加子镜
像。有关更多信息,请参见联机帮助。
 使用以下格式的metattach 命令:
# metattach volume-name submirror-name
volume-name 指定要向其中添加子镜像的RAID-1 卷的名称
submirror-name 指定将成为附加到该镜像的第二个子镜像的组件的名称
有关更多信息,请参见以下示例和metattach(1M) 手册页。
创建双向镜像
# metainit d51 1 1 c0t0d0s2
d51: Concat/Stripe is setup
# metainit d52 1 1 c1t0d0s2
d52: Concat/Stripe is setup
# metainit d50 -m d51
d50: Mirror is setup
 
以上文章转自于 : http://developers.sun.com.cn/
阅读(582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~