Solaris Volume Manager 管理指南

维护磁盘集

Procedure如何检查磁盘集的状态

    可使用以下方法之一检查磁盘集的状态:

    • 从 Solaris Management Console 中增强的存储工具中,打开“磁盘集”节点。在要监视的磁盘集上单击鼠标右键。然后从弹出的菜单中选择“属性”。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metaset 命令查看磁盘集的状态。


      # metaset -s diskset-name
      

      有关更多信息,请参见 metaset(1M) 手册页。


      注 –

      磁盘集拥有权仅显示在所属主机上。



示例 19–6 检查指定磁盘集的状态

以下示例说明带有 -s 选项的 metaset 命令,后跟磁盘集名称 blue。此命令的输出中显示该磁盘集的状态信息。此命令的输出表明 host1 是磁盘集的属主。metaset 命令还显示磁盘集内的磁盘。


red# metaset -s blue





Set name = blue, Set number = 1



Host                Owner

  host1             Yes 



Drive               Dbase

  c1t6d0             Yes 

  c2t6d0             Yes 

如果只使用 metaset 命令,则显示所有磁盘集的状态。


Procedure如何从磁盘集内删除磁盘

  1. 要从磁盘集内删除磁盘,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具中,打开“磁盘集”节点。在要释放的磁盘集上单击鼠标右键。然后从弹出的菜单中选择“属性”。单击“磁盘”选项卡。按照联机帮助中的说明操作。

    • 使用以下形式的 metaset 命令从磁盘集内删除磁盘:


      # metaset -s diskset-name -d disk-name
      
      -s diskset-name

      指定要删除磁盘的磁盘集的名称。

      -d disk-name

      指定要从磁盘集内删除的磁盘。磁盘的名称采用以下格式:cxtxdx。在从磁盘集内删除磁盘时,不包括 "sx" 片标识符。

      有关更多信息,请参见 metaset(1M) 手册页。

  2. 验证该磁盘已从磁盘集内删除。


    # metaset -s diskset-name
    

    注 –

    要删除磁盘集,必须首先删除其中的所有磁盘。



示例 19–7 从磁盘集内删除磁盘

以下示例说明如何从磁盘集 blue 内删除磁盘 c1t6d0


host1# metaset -s blue -d c1t6d0

host1# metaset -s blue

 

Set name = blue, Set number = 1



Host                Owner

  host1            

	host2 



Drive               Dbase

  c2t6d0             Yes 

 

Procedure如何提取磁盘集


注 –

此选项对于多属主磁盘集不可用。


    使用以下方法之一提取磁盘集:

    • 从 Solaris Management Console 中增强的存储工具中,打开“磁盘集”节点。在要提取的磁盘集上单击鼠标右键。然后从弹出的菜单中选择“获取拥有权”。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metaset 命令:


      # metaset -s diskset-name -t -f 
      
    -s diskset-name

    指定要提取的磁盘集的名称。

    -t

    指定要提取磁盘集。

    -f

    指定要强制提取磁盘集。

    有关更多信息,请参见 metaset(1M) 手册页。

    磁盘集在一段时间内只能由一台主机拥有。当某个磁盘集内的一台主机提取该磁盘集后,该磁盘集内的其他主机就不能访问该磁盘集内磁盘上的数据。

    metaset 命令的缺省行为是:只有拥有该磁盘集的主机可以释放磁盘集时,才允许其他主机提取磁盘集。使用 -f 选项可强制提取磁盘集。无论该磁盘集当前是否为另一台主机所有,此选项都会提取该磁盘集。当磁盘集内的一台主机已关闭或者无法与之通信时,可以使用此方法。如果此时另一台主机已经提取了该磁盘集,那么,当该主机尝试针对此磁盘集执行 I/O 操作时,将会崩溃。


    注 –

    磁盘集拥有权仅显示在所属主机上。



示例 19–8 提取磁盘集

在以下示例中,主机 host1 与主机 host2 通信。此通信可确保在主机 host1 尝试提取该磁盘集之前,主机 host2 已释放该磁盘集。


host1# metaset

...

Set name = blue, Set number = 1

 

Host                Owner

  host1

  host2

...

host1# metaset -s blue -t

host2# metaset

...

Set name = blue, Set number = 1

 

Host                Owner

  host1                Yes

  host2

...

如果 host2 拥有磁盘集 blue,则上面的输出中 "Owner" 列仍将保持空白。metaset 命令仅显示发出该命令的主机是否拥有该磁盘集。



示例 19–9 强制提取磁盘集

在以下示例中,正在提取该磁盘集的主机无法与另一台主机通信。-f 选项可允许在不发出警告的情况下强制提取该磁盘集内的磁盘。如果另一台主机拥有该磁盘集,那么,当该主机尝试针对此磁盘集执行 I/O 操作时,该主机将会崩溃。


# metaset -s blue -t -f

Procedure如何释放磁盘集

针对磁盘集内的物理磁盘执行维护时,释放磁盘集会非常有用。释放磁盘集后,主机便不能访问该磁盘集。如果磁盘集内有两台主机,且这两台主机同时释放某磁盘集,则这两台主机都无法直接访问在该磁盘集内定义的卷或热备用池。但是,在两台主机都释放某磁盘集时,这两台主机都可以通过磁盘的 c*t*d* 名称直接访问磁盘。


注 –

此选项对于多属主磁盘集不可用。


开始之前

请查看磁盘集使用指南

  1. 使用以下方法之一释放磁盘集:

    • 从 Solaris Management Console 中增强的存储工具中,打开“磁盘集”节点。在要释放的磁盘集上单击鼠标右键。然后从弹出的菜单中选择“释放拥有权”。有关更多信息,请参见联机帮助。

    • 要释放磁盘集的拥有权,请使用以下形式的 metaset 命令:


      # metaset -s diskset-name -r
      
      -s diskset-name

      指定执行 metaset 命令所针对磁盘集的名称。

      -r

      释放磁盘集的拥有权。将取消对磁盘集内所有磁盘的保留。磁盘集内的卷将不再可访问。

      有关更多信息,请参见 metaset(1M) 手册页。


      注 –

      磁盘集拥有权仅显示在所属主机上。


  2. 验证该磁盘集是否已在此主机上释放。


    # metaset
    

示例 19–10 释放磁盘集

以下示例说明如何释放磁盘集 blue。请注意,该磁盘集没有属主。从主机 host1 查看状态可能会引起误导。主机只能确定它是否拥有磁盘集。例如,如果主机 host2 将要获取该磁盘集的拥有权,那么,该拥有权将不会出现在主机 host1 上。只有主机 host2 才将显示 host2 对该磁盘集具有拥有权。


host1# metaset -s blue -r

host1# metaset -s blue

 

Set name = blue, Set number = 1



Host                Owner

  host1            

	host2



Drive               Dbase

  c1t6d0             Yes 

  c2t6d0             Yes 

 

Procedure如何删除主机或磁盘集

如果要删除某个磁盘集,则该磁盘集不得包含任何磁盘,而且不得有任何其他主机连接到该磁盘集。删除最后一台主机会销毁该磁盘集。

  1. 要从磁盘集内删除主机或者删除磁盘集,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具中,打开“磁盘集”节点。在要释放的磁盘集上单击鼠标右键,然后从弹出的菜单中选择“删除”。按照联机帮助中的说明操作。

    • 要删除主机,请使用以下形式的 metaset 命令:


      metaset -s diskset-name -d -h hostname
      
      -s diskset-name

      指定执行 metaset 命令所针对磁盘集的名称。

      -d

      从磁盘集内删除主机。

      -h hostname

      指定要删除的主机的名称。

      要删除磁盘集,请使用与上述 metaset 命令相同的格式。如果要删除某个磁盘集,则该磁盘集不得包含任何磁盘,而且任何其他主机都不得拥有该磁盘集。删除最后一台主机会销毁该磁盘集。

      有关更多信息,请参见 metaset(1M) 手册页。

  2. 使用 metaset 命令来验证该主机是否已从磁盘集内删除。请注意,仅显示当前的(所属)主机。其他主机已被删除。


    # metaset -s disk-set
    

示例 19–11 从磁盘集内删除主机

以下示例说明如何从磁盘集 blue 内删除主机 host2


# metaset -s blue

Set name = blue, Set number = 1



Host                Owner

  host1            Yes 

..host2



Drive               Dbase

  c1t2d0             Yes 

  c1t3d0             Yes 

  c1t4d0             Yes 

  c1t5d0             Yes 

  c1t6d0             Yes 

  c2t1d0             Yes

# metaset -s blue -d -h host2

# metaset -s blue

Set name = blue, Set number = 1



Host                Owner

  host1            Yes 



Drive               Dbase

  c1t2d0             Yes 

  c1t3d0             Yes 

  c1t4d0             Yes 

  c1t5d0             Yes 

  c1t6d0             Yes 

  c2t1d0             Yes


示例 19–12 从磁盘集内删除最后一台主机

以下示例说明如何从磁盘集 blue 内删除最后一台主机:


host1# metaset -s blue -d -h host1

host1# metaset -s blue

 

metaset: host: setname "blue": no such set