• 検索結果がありません。

Solaris OS標準機能マルチパスドライバ(MPxIO)の設定

4.2 ブートディスクへのパスを冗長化

4.2.2 マルチパスドライバの設定

4.2.2.1 Solaris OS標準機能マルチパスドライバ(MPxIO)の設定

Solaris OS標準機能マルチパスドライバ(MPxIO)を使用し、ブートデバイスへのパスの冗長化する手順を示します。

Solaris 11.4でMPxIOの設定が有効になっており、特定のパスのみ冗長化したい場合は5. の"●特定パスのみマルチパ

スを有効にする場合"に進んでください。すべてのファイバーチャネルパスまたはFCoEパスが冗長化されたままでよ い場合は6. へ進んでください。

Solaris 10、Solaris 11.3以前のOS、Solaris 11.4でformatコマンドを実行したときデバイスパスがシングルパスの場合は

1. に進んでください。

Solaris 11.3からSolaris 11.4へのアップデートインストールを行った場合は、マルチパスの設定を引き継ぎssdドライ

バで動作します。

1. ストレージシステムを指定してブートし、formatコマンドでマルチパス構成にする論理デバイス名を確認します。

ストレージシステム上のブートディスクからホストを起動し、formatコマンドでマルチパス構成にする論理デバイ ス名を確認します。

# /usr/sbin/format <RETURN>

Searching for disks...done

AVAILABLE DISK SELECTIONS

0. c0t0d0 <FUJITSU-MAY2073RC-3701 cyl 14087 alt 2 hd 24 sec 424>

43 /pci@0,600000/pci@0/scsi@1/sd@0,0

1. c1t210000E0004101D9d0 <FUJITSU-E3000-0000 cyl 4254 alt 2 hd 64 sec 256>

/pci@4,600000/QLGC,qlc@0/fp@0,0/ssd@w210000e0004101d9,0

2. c2t210000E0004101DAd0 <FUJITSU-E3000-0000 cyl 4254 alt 2 hd 64 sec 256>

/pci@5,700000/QLGC,qlc@0/fp@0,0/ssd@w210000e0004101da,0 2. マルチパスの制御方式をround-robin(Load-Balance型)に定義します。

● Solaris 10の場合

# vi /kernel/drv/scsi_vhci.conf <RETURN>

load-balance="round-robin";

※ 本パラメーターは、デフォルトがround-robin(Load-Balance型)となっているため、変更の必要はありません。

● Solaris 11の場合

# vi /etc/driver/drv/scsi_vhci.conf <RETURN>

load-balance="round-robin";

※ 本パラメーターは、デフォルトがround-robin(Load-Balance型)となっているため、変更の必要はありません。

/etc/driver/drv配下にscsi_vhci.confがない場合は、以下の手順で/etc/driver/drv配下にscsi_vhci.confを配置してく ださい。

# cp -p /kernel/drv/scsi_vhci.conf /etc/driver/drv/scsi_vhci.conf <RETURN>

3. マルチパスの設定を行うため、ストレージシステムのVendor-ID, Product-ID を調べます。

マルチパスの設定が必要かどうかは、ご使用のストレージシステムのマニュアルを参照してください。

 マルチパスの設定が必要な場合 例: ETERNUS 6000を使用している場合

# /usr/sbin/format <RETURN>

Searching for disks...done

AVAILABLE DISK SELECTIONS:

0. c0t0d0 <FUJITSU-MAY2073RC-3701 cyl 14087 alt 2 hd 24 sec 424>

/pci@0,600000/pci@0/scsi@1/sd@0,0

1. c1t210000E0004101D9d0 <FUJITSU-E6000-0000 cyl 4254 alt 2 hd 64 sec 256>

/pci@4,600000/QLGC,qlc@0/fp@0,0/ssd@w210000e0004101d9,0

2. c2t210000E0004101DAd0 <FUJITSU-E6000-0000 cyl 4254 alt 2 hd 64 sec 256>

/pci@5,700000/QLGC,qlc@0/fp@0,0/ssd@w210000e0004101da,0 Specify disk (enter its number): 1 <RETURN>

selecting c1t210000E0004101D9d0 [disk formatted]

FORMAT MENU:

disk - select a disk

type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels

save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit

format> inquiry <RETURN>

Vendor: FUJITSU

44 Product: E6000

Revision: 0000 format>

4. 3.で採取したVendor-ID、Product-IDをscsi_vhci.confに定義します。

● Solaris 10の場合

/kernel/drv/scsi_vhci.conf

# vi /kernel/drv/scsi_vhci.conf <RETURN>

#

# Copyright 2004 Sun Microsystems, Inc. All rights reserved.

# Use is subject to license terms.

#

#pragma ident "@(#)scsi_vhci.conf 1.9 04/08/26 SMI"

#

name="scsi_vhci" class="root";

#

# Load balancing global configuration: setting load-balance="none" will cause

# all I/O to a given device (which supports multipath I/O) to occur via one

# path. Setting load-balance="round-robin" will cause each path to the device

# to be used in turn.

#

load-balance="round-robin";

#

# Automatic failback configuration

# possible values are auto-failback="enable" or auto-failback="disable"

auto-failback="enable";

#

# For enabling MPxIO support for 3rd party symmetric device need an

# entry similar to following in this file. Just replace the "SUN SENA"

# part with the Vendor ID/Product ID for the device, exactly as reported by

# Inquiry cmd.

#

# device-type-scsi-options-list =

# "SUN SENA", "symmetric-option";

#

# symmetric-option = 0x1000000;

device-type-scsi-options-list =

"FUJITSU E6000", "symmetric-option";

symmetric-option = 0x1000000;

※ "FUJITSU"と"E6000"の間はスペースを1つ空けます。

● Solaris 11 11/11の場合

/etc/driver/drv/scsi_vhci.conf

# vi /etc/driver/drv/scsi_vhci.conf <RETURN>

#

# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.

#

#

name="scsi_vhci" class="root";

#

# Load balancing global configuration: setting load-balance="none" will cause

# all I/O to a given device (which supports multipath I/O) to occur via one

# path. Setting load-balance="round-robin" will cause each path to the device

# to be used in turn.

#

load-balance="round-robin";

#

# Automatic failback configuration

# possible values are auto-failback="enable" or auto-failback="disable"

auto-failback="enable";

45

#BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#

# Declare scsi_vhci failover module paths with 'ddi-forceload' so that

# they get loaded early enough to be available for scsi_vhci root use.

#

# NOTE: Correct operation depends on the value of 'ddi-forceload', this

# value should not be changed. The ordering of entries is from

# most-specific failover modules (with a "probe" implementation that is

# completely VID/PID table based), to most generic (failover modules that

# are based on T10 standards like TPGS). By convention the last part of a

# failover module path, after "/scsi_vhci_", is called the

# "failover-module-name", which begins with "f_" (like "f_asym_sun"). The

# "failover-module-name" is also used in the override mechanism below.

ddi-forceload =

"misc/scsi_vhci/scsi_vhci_f_asym_sun", "misc/scsi_vhci/scsi_vhci_f_asym_lsi", "misc/scsi_vhci/scsi_vhci_f_asym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_hds", "misc/scsi_vhci/scsi_vhci_f_sym",

# "misc/scsi_vhci/scsi_vhci_f_tpgs_tape",

# "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs";

#

# For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI

# access also depends on one of the scsi_vhci failover modules accepting the

# device. The default way this occurs is by a failover module's "probe"

# implementation (sfo_device_probe) indicating the device is supported under

# scsi_vhci. To override this default probe-oriented configuration in

# order to

#

# 1) establish support for a device not currently accepted under scsi_vhci

#

# or 2) override the module selected by "probe"

#

# or 3) disable scsi_vhci support for a device

#

# you can add a 'scsi-vhci-failover-override' tuple, as documented in

# scsi_get_device_type_string(9F). For each tuple, the first part provides

# basic device identity information (vid/pid) and the second part selects

# the failover module by "failover-module-name". If you want to disable

# scsi_vhci support for a device, use the special failover-module-name "NONE".

# Currently, for each failover-module-name in 'scsi-vhci-failover-override'

# (except "NONE") there needs to be a

# "misc/scsi_vhci/scsi_vhci_<failover-module-name>" in 'ddi-forceload' above.

#

# " 111111"

# "012345670123456789012345", "failover-module-name" or "NONE"

# "|-VID--||---PID---|",

# scsi-vhci-failover-override =

# "STK FLEXLINE 400", "f_asym_lsi",

# "SUN T4", "f_tpgs",

# "CME XIRTEMMYS", "NONE";

#

#END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#

# Tunable for updating path states after a UNIT ATTENTION reset.

# There are arrays which do not queue UAs during resets

# after an implicit failover. For such arrays, we need to

# update the path states after any type of UA resets, since

# UA resets take higher precedence among other UNIT ATTENTION

# conditions. By default, scsi_vhci does not update path states

# on UA resets. To make scsi_vhci do that for such arrays, you need

46

# to set the tunable scsi-vhci-update-pathstate-on-reset to "yes"

# for the VID/PID combination as described below.

#

# "012345670123456789012345", "yes" or "no"

# "|-VID--||---PID---|",

#

scsi-vhci-update-pathstate-on-reset =

"Pillar Axiom", "yes";

#

#END: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE) scsi-vhci-failover-override =

"FUJITSU E6000", "f_sym";

※ "FUJITSU"と"E6000"の間はスペースを1つ空けます。

● Solaris 11.1の場合

/etc/driver/drv/scsi_vhci.conf

# vi /etc/driver/drv/scsi_vhci.conf <RETURN>

#

# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.

#

#

name="scsi_vhci" class="root";

#

# Load balancing global configuration: setting load-balance="none" will cause

# all I/O to a given device (which supports multipath I/O) to occur via one

# path. Setting load-balance="round-robin" will cause each path to the device

# to be used in turn.

#

load-balance="round-robin";

#

# Automatic failback configuration

# possible values are auto-failback="enable" or auto-failback="disable"

auto-failback="enable";

#BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#

# Declare scsi_vhci failover module paths with 'ddi-forceload' so that

# they get loaded early enough to be available for scsi_vhci root use.

#

# NOTE: Correct operation depends on the value of 'ddi-forceload', this

# value should not be changed. The ordering of entries is from

# most-specific failover modules (with a "probe" implementation that is

# completely VID/PID table based), to most generic (failover modules that

# are based on T10 standards like TPGS). By convention the last part of a

# failover module path, after "/scsi_vhci_", is called the

# "failover-module-name", which begins with "f_" (like "f_asym_sun"). The

# "failover-module-name" is also used in the override mechanism below.

ddi-forceload =

"misc/scsi_vhci/scsi_vhci_f_asym_sun", "misc/scsi_vhci/scsi_vhci_f_asym_lsi", "misc/scsi_vhci/scsi_vhci_f_asym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_hds", "misc/scsi_vhci/scsi_vhci_f_sym",

# "misc/scsi_vhci/scsi_vhci_f_sym_enc",

# "misc/scsi_vhci/scsi_vhci_f_tpgs_tape",

# "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs";

#

# For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI

# access also depends on one of the scsi_vhci failover modules accepting the

# device. The default way this occurs is by a failover module's "probe"

47

# implementation (sfo_device_probe) indicating the device is supported under

# scsi_vhci. To override this default probe-oriented configuration in

# order to

#

# 1) establish support for a device not currently accepted under scsi_vhci

#

# or 2) override the module selected by "probe"

#

# or 3) disable scsi_vhci support for a device

#

# you can add a 'scsi-vhci-failover-override' tuple, as documented in

# scsi_get_device_type_string(9F). For each tuple, the first part provides

# basic device identity information (vid/pid) and the second part selects

# the failover module by "failover-module-name". If you want to disable

# scsi_vhci support for a device, use the special failover-module-name "NONE".

# Currently, for each failover-module-name in 'scsi-vhci-failover-override'

# (except "NONE") there needs to be a

# "misc/scsi_vhci/scsi_vhci_<failover-module-name>" in 'ddi-forceload' above.

#

# " 111111"

# "012345670123456789012345", "failover-module-name" or "NONE"

# "|-VID--||---PID---|",

# scsi-vhci-failover-override =

# "STK FLEXLINE 400", "f_asym_lsi",

# "SUN T4", "f_tpgs",

# "CME XIRTEMMYS", "NONE";

#

#END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#

# Tunable for updating path states after a UNIT ATTENTION reset.

# There are arrays which do not queue UAs during resets

# after an implicit failover. For such arrays, we need to

# update the path states after any type of UA resets, since

# UA resets take higher precedence among other UNIT ATTENTION

# conditions. By default, scsi_vhci does not update path states

# on UA resets. To make scsi_vhci do that for such arrays, you need

# to set the tunable scsi-vhci-update-pathstate-on-reset to "yes"

# for the VID/PID combination as described below.

#

# "012345670123456789012345", "yes" or "no"

# "|-VID--||---PID---|",

#

scsi-vhci-update-pathstate-on-reset =

"Pillar Axiom", "yes";

#

#END: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: SPREAD_IPORT_RESERVATION_BLOCK

#

# Tunable for path selection optimization of SCSI reservation command. With

# this optimization, a path with least busy initiator port will be selected

# for a SCSI reservation command. If optimization is disabled scsi_vhci will

# use load balancing policy "none" for SCSI reservation command's path

# selection. Tunable spread-iport-reservation is used to establish the default

# value. Its default value is "yes". To make scsi_vhci to turn off the

# optimization globally, you need to set the tunable spread-iport-reservation

# to "no". Tunable spread-iport-reservation-exceptions can describe exceptional

# cases with the VID/PID combination specified, which has higher priority than

# the tunable spread-iport-reservation.

#

spread-iport-reservation = "yes";

#

# "012345670123456789012345", "yes" or "no"

# "|-VID--||---PID---|",

48

# spread-iport-reservation-exceptions =

# "STK T10000C", "yes",

# "HP Ultrium 4-SCSI", "no";

#

# To find the least busy initiator port, traffic load of every initiator port

# need to be monitored. One important traffic load metric is rlentime: the

# cumulative run length*time product of every initiator port. Delta rlentime

# of latest period of time is used to represent the historical traffic load.

# The simultaneous snapshot rlentime of every initiator port is needed to

# calculate the delta rlentime. Tunable iport-rlentime-snapshot-interval is

# used to configure the time interval in seconds to create rlentime snapshot

# of every initiator port. Its default value is 30 seconds.

#

iport-rlentime-snapshot-interval = 30;

#

#END: SPREAD_IPORT_RESERVATION_BLOCK

#NOTE:

# VID field should contain exactly eight bytes of left-adjusted ASCII characters.

# If VID is less than 8 characters, it should be padded with spaces (ASCII 0x0a)

# to 8 characters.

# PID field contains at most sixteen left-adjusted ASCII characters. The

# PID field has an implicit wildcard rule. The product ID in the returned SCSI

# inquiry string is considered a match if it has the PID field as its prefix.

# For example, "Pillar Axiom" can cover both "Pillar Axiom 600" and

# "Pillar Axiom 500".

scsi-vhci-failover-override =

"FUJITSU E6000", "f_sym";

※ "FUJITSU"と"E6000"の間はスペースを1つ空けます。

● Solaris 11.2の場合

# vi /etc/driver/drv/scsi_vhci.conf <RETURN>

#

# Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.

#

#

name="scsi_vhci" class="root";

#

# Load balancing global configuration: setting load-balance="none" will cause

# all I/O to a given device (which supports multipath I/O) to occur via one

# path. Setting load-balance="round-robin" will cause each path to the device

# to be used in turn.

#

load-balance="round-robin";

#

# Automatic failback configuration

# possible values are auto-failback="enable" or auto-failback="disable"

auto-failback="enable";

#BEGIN: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#

# Declare scsi_vhci failover module paths with 'ddi-forceload' so that

# they get loaded early enough to be available for scsi_vhci root use.

#

# NOTE: Correct operation depends on the value of 'ddi-forceload', this

# value should not be changed. The ordering of entries is from

# most-specific failover modules (with a "probe" implementation that is

# completely VID/PID table based), to most generic (failover modules that

# are based on T10 standards like TPGS). By convention the last part of a

# failover module path, after "/scsi_vhci_", is called the

# "failover-module-name", which begins with "f_" (like "f_asym_sun"). The

# "failover-module-name" is also used in the override mechanism below.

ddi-forceload =

"misc/scsi_vhci/scsi_vhci_f_asym_sun",

49 "misc/scsi_vhci/scsi_vhci_f_asym_lsi", "misc/scsi_vhci/scsi_vhci_f_asym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_emc", "misc/scsi_vhci/scsi_vhci_f_sym_hds", "misc/scsi_vhci/scsi_vhci_f_sym",

# "misc/scsi_vhci/scsi_vhci_f_sym_enc",

# "misc/scsi_vhci/scsi_vhci_f_tpgs_tape",

# "misc/scsi_vhci/scsi_vhci_f_tape", "misc/scsi_vhci/scsi_vhci_f_tpgs";

#

# For a device that has a GUID, discovered on a pHCI with mpxio enabled, vHCI

# access also depends on one of the scsi_vhci failover modules accepting the

# device. The default way this occurs is by a failover module's "probe"

# implementation (sfo_device_probe) indicating the device is supported under

# scsi_vhci. To override this default probe-oriented configuration in

# order to

#

# 1) establish support for a device not currently accepted under scsi_vhci

#

# or 2) override the module selected by "probe"

#

# or 3) disable scsi_vhci support for a device

#

# you can add a 'scsi-vhci-failover-override' tuple, as documented in

# scsi_get_device_type_string(9F). For each tuple, the first part provides

# basic device identity information (vid/pid) and the second part selects

# the failover module by "failover-module-name". If you want to disable

# scsi_vhci support for a device, use the special failover-module-name "NONE".

# Currently, for each failover-module-name in 'scsi-vhci-failover-override'

# (except "NONE") there needs to be a

# "misc/scsi_vhci/scsi_vhci_<failover-module-name>" in 'ddi-forceload' above.

#

# " 111111"

# "012345670123456789012345", "failover-module-name" or "NONE"

# "|-VID--||---PID---|",

# scsi-vhci-failover-override =

# "STK FLEXLINE 400", "f_asym_lsi",

# "SUN T4", "f_tpgs",

# "CME XIRTEMMYS", "NONE";

#

#END: FAILOVER_MODULE_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#

# Tunable for updating path states after a UNIT ATTENTION reset.

# There are arrays which do not queue UAs during resets

# after an implicit failover. For such arrays, we need to

# update the path states after any type of UA resets, since

# UA resets take higher precedence among other UNIT ATTENTION

# conditions. By default, scsi_vhci does not update path states

# on UA resets. To make scsi_vhci do that for such arrays, you need

# to set the tunable scsi-vhci-update-pathstate-on-reset to "yes"

# for the VID/PID combination as described below.

#

# "012345670123456789012345", "yes" or "no"

# "|-VID--||---PID---|",

#

scsi-vhci-update-pathstate-on-reset =

"Pillar Axiom", "yes", "Oracle Oracle FS", "yes";

#

#END: UPDATE_PATHSTATE_ON_RESET_BLOCK (DO NOT MOVE OR DELETE)

#BEGIN: SPREAD_IPORT_RESERVATION_BLOCK

#