ページの先頭行へ戻る
PRIMECLUSTER Global Disk Services 説明書 4.5
FUJITSU Software

7.2.1 ZFS ブート環境のシステムディスクミラーリングの設定 (ZFS ミラー方式)

ここでは、ZFS ブート環境において、以下の構成で ZFS ミラー方式のシステムディスクミラーリングを設定する方法を説明します。

図7.7 設定前の構成


図7.8 設定後の構成

GDS : Global Disk Services

以降の手順では、物理スライス名、ボリューム名、プール名などを、実際のシステムで使用する名前に置き換えてください。

7.2.1.1 システムディスクミラーリングの設定の流れ (ZFS ブート環境 : ZFS ミラー方式)

ZFS 方式のシステムディスクミラーリングの設定は、以下の手順で行います。

図7.9 設定手順の概要

GDS : Global Disk Services

上図 [8] の手順 16) でシステムの再起動が必要ですが、それ以外の設定は、業務やアプリケーションプログラムを動作させたまま実行できます。

上図 [2] の手順 6) 、および、上図 [6] の手順 12) で ZFS による再同期化処理が実行されます。このときも、業務やアプリケーションプログラムを停止する必要はありません。

ただし、より安全性が求められる場合は、業務やアプリケーションプログラムを停止し、システムのバックアップを採取してから設定を行ってください。

所要時間は、サーバやディスクの性能、スライスやファイルシステムのサイズなどに左右され、システムによって異なります。

7.2.1.2 システムディスクミラーリングの設定手順 (ZFS ブート環境 : ZFS ミラー方式)

1) GDSのチューニングパラメタを設定します。

SANブート環境でシステムディスクが12Gbps SASカードに接続されている場合にのみ、本設定を行います。

1-1) チューニングパラメタを設定します。

/etc/opt/FJSVsdx/sdx.cfファイルに“SDX_BOOT_PROPERTY=off”を追記します。

# vi /etc/opt/FJSVsdx/sdx.cf

SDX_BOOT_PROPERTY=off

1-2) チューニングパラメタが設定されていることを確認します。

# grep SDX_BOOT_PROPERTY /etc/opt/FJSVsdx/sdx.cf
SDX_BOOT_PROPERTY=off

2) ミラー先ディスクにスライスを作成します。

OS の format(1M) コマンド等を使用し、ミラー先ディスクのスライス構成をシステムディスクと同じ構成にします。

スライス構成を紙またはファイルなどに記録しておいてください。システムディスクのミラーリングを解除する際に、必要になります。


3) SAN ブート環境の場合、ブートデバイスのパス名を確認します。

OS がインストールされているスライス (ZFS ルートプールを構成するスライス) のデバイスパス名と、手順 2) で作成したスライスのデバイスパス名を確認します。

確認したデバイスパス名は、紙またはファイルなどに記録しておいてください。システム起動時やシステムディスクのミラーリングを解除する際に必要になります。

参照

確認方法の詳細は、以下のドキュメントを参照してください。

  • MPxIO を使用する場合

    SPARC Enterprise SAN Boot環境構築ガイド (Leadvilleドライバ編)

    https://updatesite.jp.fujitsu.com/unix/jp/download/driver/pfca-8info/

  • ETERNUS マルチパスドライバを使用する場合

    SPARC Enterprise SAN Boot環境構築ガイド

    https://updatesite.jp.fujitsu.com/unix/jp/download/driver/pfca-4/


4) ミラー先ディスクをルートクラスに登録します。

# sdxdisk -M -c System -a type=root -d c1t0d0=Root2:keep
                (*1)                   (*2)   (*3)

(*1) ルートクラス名

(*2) ミラー先ディスク

(*3) ミラー先ディスクの SDX ディスク名


5) ミラー先ディスクをグループに接続します。

# sdxdisk -C -c System -g Group2 -d Root2 -v 0=Volume2:on
                (*1)      (*2)      (*3)   (*4) (*5)   (*6)

(*1) ルートクラス名

(*2) グループ名

(*3) ミラー先ディスクの SDX ディスク名

(*4) 手順 2) で作成したスライス ( この例では c1t0d0s0) の番号

(*5) (*4) のスライスに対応するボリューム名

(*6) (*5) のボリュームの JRM モード ( 通常は on)


6) ミラー先ディスク上のボリュームを ZFS ルートプールに接続します。

zpool attach コマンド実行後、ZFS の再同期処理が実行されます。このとき、コンソールに OS のメッセージ (SUNW-MSG-ID: ZFS-8000-QJ) が出力されることがありますが、システムには影響ありません。

# zpool attach rpool c0t0d0s0 /dev/sfdsk/System/dsk/Volume2
               (*1)  (*2)                (*3)       (*4)

(*1) ZFS ルートプール名 (zpool status コマンドで確認可能 )

(*2) OS がインストールされているスライス (ZFS ルートプールを構成するスライス )

(*3) ルートクラス名

(*4) 手順 5) で作成されたボリュームのボリューム名


7) ZFS ルートプールの状態を確認します。

# zpool status rpool
               (*1) ZFS ルートプール名
  pool: rpool
 state: ONLINE
  scan: resilvered ~
config:
        NAME                                STATE     READ WRITE CKSUM
        rpool                               ONLINE       0     0     0
          mirror                            ONLINE       0     0     0
            c0t0d0s0                        ONLINE       0     0     0
            (*2)
            /dev/sfdsk/System/dsk/Volume2   ONLINE       0     0     0
            (*3)

以下のように表示されることを確認します。

8) ミラー先ディスク上のボリュームにブートブロックをインストールします。

以下の環境の場合、この手順は実行しないでください。

(*1) ルートクラス名

(*2) 手順 6) で接続したボリュームのボリューム名


9) 元のシステムディスクを ZFS ルートプールから切り離します。

# zpool detach rpool c0t0d0s0
               (*1)  (*2)

(*1) ZFS ルートプール名 (zpool status コマンドで確認可能 )

(*2) OS をインストールしたスライス


10) 元のシステムディスクをルートクラスに登録します。

# sdxdisk -M -c System -a type=root -d c0t0d0=Root1:keep
                (*1)                   (*2)   (*3)

(*1) ルートクラス名

(*2) 元のシステムディスク

(*3) 元のシステムディスクの SDX ディスク名


11) 元のシステムディスクをグループに接続します。

# sdxdisk -C -c System -g Group1 -d Root1 -v 0=Volume1:on
                (*1)      (*2)      (*3)   (*4) (*5)   (*6)

(*1) ルートクラス名

(*2) グループ名

(*3) 元のシステムディスクの SDX ディスク名

(*4) 手順 2)で作成したスライス ( この例では c0t0d0s0) の番号

(*5) (*4) のスライスに対応するボリューム名

(*6) (*5) のボリュームの JRM モード ( 通常は on)


12) 元のシステムディスク上のボリュームを ZFS ルートプールに接続します。

zpool attach コマンド実行後、ZFS の再同期処理が実行されます。このとき、コンソールに OS のメッセージ (SUNW-MSG-ID: ZFS-8000-QJ) が出力されることがありますが、システムには影響ありません。

# zpool attach rpool /dev/sfdsk/System/dsk/Volume2 /dev/sfdsk/System/dsk/Volume1
               (*1)  (*2)                                     (*3)       (*4)

(*1) ZFS ルートプール名 (zpool status コマンドで確認可能 )

(*2) ZFS ルートプールを構成するボリュームのボリューム名

(*3) ルートクラス名

(*4) 手順 11) で作成されたボリュームのボリューム名


13) ZFS ルートプールの状態を確認します。

# zpool status rpool
               (*1) ZFS ルートプール名
  pool: rpool
 state: ONLINE
  scan: resilvered ~
config:
        NAME                                STATE     READ WRITE CKSUM
        rpool                               ONLINE       0     0     0
          mirror                            ONLINE       0     0     0
            /dev/sfdsk/System/dsk/Volume2   ONLINE       0     0     0
            (*2)
            /dev/sfdsk/System/dsk/Volume1   ONLINE       0     0     0
            (*3)

以下のように表示されることを確認します。

14) 元のシステムディスク上のボリュームにブートブロックをインストールします。

以下の環境の場合、この手順は実行しないでください。

(*1) ルートクラス名

(*2) 手順 12) で接続したボリュームのボリューム名


15) 正常にミラーリングされていることを確認します。

# zpool status rpool
               (*1) ZFS ルートプール名
  pool: rpool
 state: ONLINE
  scan: resilvered ~
config:
        NAME                               STATE     READ WRITE CKSUM
        rpool                              ONLINE       0     0     0
          mirror                           ONLINE       0     0     0
            /dev/sfdsk/System/dsk/Volume2  ONLINE       0     0     0
            (*2)
            /dev/sfdsk/System/dsk/Volume1  ONLINE       0     0     0
            (*3)

以下のように表示されることを確認します。

# sdxinfo -S -c System
                (*3) ルートクラス名

OBJ    CLASS   GROUP   DISK    VOLUME  STATUS
------ ------- ------- ------- ------- --------
slice  System  Group2  Root2   Volume2 ACTIVE
slice  System  Group1  Root1   Volume1 ACTIVE

以下のように表示されることを確認します。

16) システムを再起動します。

元のシステムディスク、ミラー先ディスクのどちらからでも起動できます。

以下では、ミラー先ディスクから起動する手順を示します。

手順は、以下の4つの場合で異なります。

[SANブート環境でシステムディスクが12Gbps SASカードに接続されている場合 ]

16a-1) ルートクラスに登録されている物理ディスク名を確認します。

# sdxinfo -D -c System
                (*1)
OBJ NAME TYPE CLASS GROUP DEVNAM ~
----- ------- ------ ------- ------- ------- ~
disk Root1 mirror System Group1 c0t600000E00D0000000001060300040000d0~
disk Root2 mirror System Group1 c0t600000E00D28000000280CC600000000d0~
~

(*1) ルートクラス名


16a-2) ZFS ルートプール用のボリュームを構成するスライスのパーティションを確認します。

# ls -l /dev/dsk | grep c0t600000E00D0000000001060300040000d0s0
                        (*1)                                (*2)
lrwxrwxrwx 1 root root 64 Feb 2 13:57 c0t600000E00D0000000001060300040000d0s0 ->
../../devices/scsi_vhci/disk@g600000e00d0000000001060300040000d0:a
                                                                (*3)
# ls -l /dev/dsk | grep c0t600000E00D28000000280CC600000000d0s0
                        (*1)                                (*2)
lrwxrwxrwx 1 root root 64 Feb 2 13:57 c0t600000E00D28000000280CC600000000d0s0 -> ../../devices/scsi_vhci/disk@g600000e00d28000000280cc600000000:a (*3)

(*1) 手順16a-1) で確認した物理ディスク名

(*2) 手順2) で作成したスライスのスライス番号 (この例では s0 )

(*3) スライスのパーティション


16a-3) ブートディスクの情報を確認します。

# prtconf -v /dev/rdsk/c0t600000E00D28000000280CC600000000d0s0
  ~
  disk, instance #0
    ~
    Paths from multipath bus adapters:
      Path 33: /pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/iport@f0/disk@w500000e0da0cc620,0
      lsc#3 (online)                                          (*1)  (*2)
    ~
# prtconf -v /dev/rdsk/c0t600000E00D0000000001060300040000d0s0
~ disk, instance #0 ~ Paths from multipath bus adapters: Path 33: /pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/iport@f0/disk@w500000e0d0460306,0 lsc#3 (online) (*1) (*2)

(*1) diskノード名 (この例では disk@w500000e0da0cc620,0 および disk@w500000e0d0460306,0)

(*2) SAS Address (この例では 500000e0da0cc620 および 500000e0d0460306)


16a-4) OpenBoot 環境に移行します。

# shutdown -y -g0 -i0

16a-5) ディスクが接続されているSAS HBAのデバイスパスを確認します。

ok probe-scsi-all
/pci@8100/pci@4/pci@0/pci@0/LSI,sas@0 (*1)
FCode Version 1.00.65, MPT Version 2.05, Firmware Version 4.00.00.00 Target a Unit 0 Disk TOSHIBA MBF2300RC 3706 585937500 Blocks, 300 GB SASDeviceName 50000393d82956d4 SASAddress 500000e0d0460306 PhyNum 0 (*2) Target b Unit 0 Disk TOSHIBA MBF2300RC 3706 585937500 Blocks, 300 GB SASDeviceName 50000393d828bbfc SASAddress 500000e0da0cc620 PhyNum b (*2) ~ ok

(*1) デバイスパス

(*2) SAS Address(手順16a-3)の*2で確認したSAS Address)


16a-6) boot-device プロパティを設定します。

ok setenv boot-device "/pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/disk@w500000e0da0cc620,0:a
/pci@8100/pci@4/pci@0/pci@0/LSI,sas@0/disk@w500000e0d0460306,0:a" (*3)

(*3) 手順 16a-5) の デバイスパス(*1) と、手順 16a-3) のdiskノード名(*1)と、手順16a-2) のスライスのパーティション (:a) からbootデバイスを作成します。


16a-7) multipath-boot? プロパティを設定します。

ok setenv multipath-boot? true

16a-8) システムを起動します。

ok boot

[6Gbps SAS カードに接続されている増設ファイルユニットのディスク、または、SPARC M12/M10SPARC T4-4/T4-2/T4-1/T3-4/T3-2/T3-1 の内蔵ディスクの場合 ]

16b-1) ボリュームを構成するスライスのパーティションを確認します。

[Solaris 11.3 以前の例]

# ls -l /dev/dsk | grep c0t5000CCA0150FEA10d0s0
                        (*1)
lrwxrwxrwx   1 root     root          48 Apr 25 13:46 c0t5000CCA0150FEA10d0s0 ->
../../devices/scsi_vhci/disk@g5000cca0150fea10:a
                                              (*2)

(*1) ボリュームを構成するスライス ( 手順 2) で作成したスライス )

(*2) スライスのパーティション


[Solaris 11.4 以降の例]

# ls -l /dev/dsk | grep c0t50000397683346A9d0s0
                         (*1)
lrwxrwxrwx   1 root     root          48  Jul 27  19:23 c0t50000397683346A9d0s0 ->
../../devices/scsi_vhci/disk@g50000397683346a9:a
(*2)

(*1) ボリュームを構成するスライス ( 手順 2) で作成したスライス )

(*2) スライスのパーティション


16b-2) ブートディスクの情報を確認します。

[Solaris 11.3 以前の場合]

obp-path パラメタを確認します。

# prtconf -v /dev/rdsk/c0t5000CCA0150FEA10d0s0
disk, instance #0
    Driver properties:
        ~
    Hardware properties:
        ~
    Paths from multipath bus adapters:
        ~
            name='obp-path' type=string items=1
                value='/pci@400/pci@2/pci@0/pci@e/scsi@0/disk@w5000cca0150fea11,0'
                       (*3)
                ~
    Device Minor Nodes:
        ~

(*3) obp-path のパラメタ

[Solaris 11.4 以降の場合]

ddi-boot-path パラメタを確認します。

# prtconf -v /dev/rdsk/c0t50000397683346A9d0s2
disk, instance ~
    Device Hold:
        ~
    Driver properties:
        ~
    Hardware properties:
        ~
    Paths from multipath bus adapters:
        Path 1: /pci@8000/pci@4/pci@0/pci@0/scsi@0/iport@f/disk@w50000397683346aa,0
        mpt_sas#2 (online)
                name='ddi-boot-path' type=string items=1
                    value='/pci@8000/pci@4/pci@0/pci@0/scsi@0/disk@w50000397683346aa,0'
                           (*3)
                ~
    Device Minor Nodes:
        ~

(*3) ddi-boot-path のパラメタ


16b-3) OpenBoot 環境に移行します。

# shutdown -y -g0 -i0

16b-4) OpenBoot 環境でシステムを起動します。

[Solaris 11.3 以前の場合]

ok boot /pci@400/pci@2/pci@0/pci@e/scsi@0/disk@w5000cca0150fea11,0:a
        (*4)

(*4) 手順 16b-2) の obp-path と 手順 16b-1) のパーティションを連結したデバイス名

[Solaris 11.4 以降の場合]

ok boot /pci@8000/pci@4/pci@0/pci@0/scsi@0/disk@w50000397683346aa,0:a
        (*4)

(*4) 手順 16b-2) の ddi-boot-path と手順 16b-1) のパーティションを連結したデバイス名


[SAN ブート環境の場合 ]

16c-1) OpenBoot 環境に移行します。

# shutdown -y -g0 -i0

16c-2) OpenBoot 環境でシステムを起動します。

ok boot /pci@5,700000/QLGC,qlc@0/fp@0,0/disk@w210000e0004101da,0
        (*1)

(*1) ボリュームを構成するスライス( 手順 2) で作成したスライス) のデバイスパス名


[その他の場合 ]

16d-1) ボリュームを構成するスライスのデバイスパスを確認します。

# ls -l /dev/dsk | grep c1t0d0s0
                        (*1)
lrwxrwxrwx   1 root     root          63 Aug 20 12:00 c1t0d0s0 ->
../../devices/pci@1f,4000/scsi@3/sd@1,0:a
             (*2)

(*1) ボリュームを構成するスライス ( 手順 2) で作成したスライス )

(*2) スライスのデバイスパス


16d-2) OpenBoot 環境に移行します。

# shutdown -y -g0 -i0

16d-3) OpenBoot 環境でデバイス名を確認し、確認結果に応じた方法でシステムを起動します。

ok show-devs /pci@1f,4000/scsi@3
             (*3)
~
/pci@1f,4000/scsi@3/disk

(*3) 手順 16d-1) で表示されたパス (*2) から最終要素 ( この例では /sd@1,0:a) を除いたパス


上記の確認結果に応じた方法でシステムを起動します。