状态数据库是指在物理磁盘上存储有关您的 Solaris 卷管理器配置状态的信息的数据库。 该数据库记录并跟踪对配置所做的更改。 当配置或状态更改时,Solaris 卷管理器将自动更新该状态数据库。 例如,创建新卷是一种配置更改, 而子镜像失败则是一种状态更改。
状态数据库实际上是多个数据库副本的集合。 每一份数据库(称作状态数据库副本)都可以确保状态数据库中的数据始终有效。 拥有多份状态数据库可以防止发生单点故障时数据丢失。 状态数据库可以跟踪所有已知状态数据库副本的位置和状态。
在创建状态数据库及其状态数据库副本之前,Solaris 卷管理器无法进行操作。 Solaris 卷管理器配置中必须具有操作状态数据库。
当设置配置时,您可以将状态数据库副本放在以下两个位置中的任何一个:
专用片
(仅适用于 Solaris Live Upgrade)将成为卷的一部分的片
一个片上可以存储多个状态数据库副本。 但是,将状态数据库副本放在一个片上,发生单点故障时系统很容易受到损坏。
状态数据库副本可以确保状态数据库中的数据始终有效。 当状态数据库被更新时,所有状态数据库副本也被更新。 每次只更新一个副本的内容,以防止如果系统崩溃,所有更新副本都遭到破坏。
如果系统丢失了一个状态数据库副本,Solaris 卷管理器必须确定哪些状态数据库副本中仍包含有效数据。 Solaris 卷管理器将使用多数一致算法确定此信息。 在此算法中,只有当多数(半数 + 1 个)数据库副本可用并一致时,才会认为其中的任何数据库副本是有效的。 根据此多数一致算法,设置磁盘配置时,您必须至少创建三个状态数据库副本。 如果三个状态数据库副本中至少有两个可用,则可能取得一致。
缺省情况下,每个状态数据库副本占用的磁盘存储为 4 MB(8192 磁盘扇区)。 副本可以存储在以下设备中:
专用本地磁盘片
(仅适用于 Solaris Live Upgrade)将成为卷的一部分的本地片
(仅适用于 Solaris Live Upgrade)将成为 UFS 日志设备的一部分的本地片
副本不能存储在根 (/)、swap 或 /usr 片上,也不能存储在包含现有文件系统或数据的片上。 副本存储后,可以将卷或文件系统放置在同一个片上。
有关状态数据库和状态数据库副本要求的规划信息,请参见状态数据库副本原则和要求。
有关状态数据库和状态数据库副本的详细信息,请参见 Solaris Volume Manager Administration Guide。