IBM Support

【TF】【IBMPower】Virtual I/O Server 環境下における仮想ディスクのポータビリティに関する考慮点

News


Abstract

当テクニカル・フラッシュは、仮想 I/O 機能を提供する Virtual I/O Server (以下、VIOS) を使用し、ディスクの仮想化を行っている環境下において、スムーズな環境構築が可能となるよう、仮想ディスクの実装方法や構成の具体例を通して、情報を提供することを目的としています。
このテクニカルフラッシュは2012年2月16日に公開されたもので、情報はas-isとなっています。

Content

■概要

当テクニカル・フラッシュは、仮想 I/O 機能を提供する Virtual I/O Server (以下、VIOS) を使用し、ディスクの仮想化を行っている環境下において、スムーズな環境構築が可能となるよう、仮想ディスクの実装方法や構成の具体例を通して、情報を提供することを目的としています。
VIOS v1.2 以前またはいくつかの古いバージョンのデバイスドライバーを使った仮想ディスクは、VIOS v1.3 以降の仮想ディスクとはマッピング方式が異なる可能性があり、この場合は互換性がありません。
その為、以下のような操作で、ディスクをアクセスすることができないといった事象が発生することがあります。
  • 仮想ディスクとして使用しているディスクをディスク装置のコピー機能(FlashCopyなど)でコピーし、そのターゲットをバックアップなどで使用する場合
  • 仮想ディスクを異なるバージョンのVIOS環境へ移行する場合
  • 仮想ディスクに接続するデバイス・ドライバーを変更する場合 (SVC の Image Mode などもケースによって該当します)
  • 仮想ディスクとして使用していたディスク領域を、VIOS を使用せずに直接割り当てる場合
  • 逆に、直接使用していたディスク領域を、VIOS を使用して仮想ディスクとして割り当てる場合
但し、下記の全ての条件が満たせられる環境については、ディスク装置のコピー機能 (FlashCopyなど) を使用したバックアップなどは技術的に可能であり、当テクニカル・フラッシュの内容には該当いたしません。
  1. 新規構築時点で VIOS v1.3 以降のバージョンを使用している環境
  2. VIOS v1.2 以前の環境と、ディスク装置のコピー機能 (FlashCopy など) による仮想ディスクの移動/共有はない環境
  3. 新規構築時点で VIOS では下記のデバイスドライバー/デバイスを使用している環境
MPIO (SDDPCM,EMC PCM,HDLM PCM)
EMC's PowerPath 4.4.2.2 or later
IBM's SDD 1.6.2.3 or later
Hitachi's HDLM 5.6.1 or later
IBM 内蔵ディスク
RDAC
※上記のデバイスドライバーのバージョン情報は、VIOS でサポートされる組み合わせを必ずしも示しているものではありません。
最新の情報については、参考資料にあります VIOS Datasheet もしくは、各ディスクベンダーが表明する VIOS サポート情報をご確認ください。

■VIOS 及び、仮想ディスクについての前提知識

VIOS の仮想ディスクとは、VIOS が直接 Fibre/SCSI/SAS/iSCSI といった Host Bus Adapter (HBA) で接続し認識しているディスクを、VIO のクライアントとなる区画 (Virtual I/O Client: VIOC)に対して仮想的に割り当て、VIOC にはあたかもディスクが直接割り当てられているかのように見せる機能です。
VIOC にディスクを割り当てる方法には、次の 2 通りの方法があります。
PV-PV Mapping ・・・ VIOS に割り当てたハード・ディスク、あるいはストレージ・サブシステムの LUN などの物理ボリューム (Physical Volume :PV) 単位でVIOCへ割り当てる
LV-PV Mapping ・・・ VIOS に割り当てた1物理ボリュームの中にいくつかの論理ボリューム (Logical Volume :LV) を作成し、LV 単位でVIOCへ割り当てる
本テクニカルフラッシュは、PV-PV Mapping のみを対象として記述しており、LV-PV Mapping 環境は対象外です。
VIOS が VIOC にディスクを提供するには、VIOS と VIOC の間に POWER Hypervisor を通した Virtual SCSI をHMC上で構成します。
VIOS には Virtual SCSI のサーバー・アダプターである vhost デバイス、VIOC にはクライアント・アダプター vscsi デバイスが作成され、vhost と vscsi を 1対1で関連付けます。
VIOS起動後、vhost に対して、PV を割り当てることで、VIOC上でディスクとして認識することができます。
<<PV-PV Mapping>>
PV-PV Mapping
■対象となるケース

PV-PV Mapping を用いて仮想ディスクを提供する VIOS 構成において PVID 方式(後述) で使用している PV を、下記のような使用によって、UDID/IEEE_ID 方式(後述) もしくは、VIOS を介さずに直接アクセスを試みる可能性のあるシステム。
  • 仮想ディスクで使用している LUN を、ディスク装置のコピー機能(FlashCopyなど)によりコピーし、ターゲットディスクを物理ディスクとして使用もしくは、他の VIOS 環境下に移動して使用する場合
  • VIOS のバージョンアップもしくは、デバイスドライバーの更新によって、マッピング方式が変更になる場合 (SVC の Image Mode などもケースによって該当します)
PV-PV Mapping を用いて仮想ディスクを提供する VIOS 構成において UDID/IEEE_ID 方式で使用している PV、もしくは、VIOS を介さずに直接アクセスしている PV を、下記のような使用によって、PVID 方式によるアクセスを試みる可能性のあるシステム。
  • 仮想ディスクで使用している LUN を、ディスク装置のコピー機能(FlashCopyなど)によりコピーし、他の VIOS 環境下に移動して使用する場合
  • VIOS環境下ではない既存の物理ディスクのデータをそのままに VIOS 環境へ移行する場合
*LV-PV Mapping の場合には該当しません。

■発生しうる事象

PVID 方式での PV の使用方法と、その他の PV の使用方法が混在した場合に、PV のインポートが出来なくなり、データアクセスが不可能になります。
例:
  • PVID 方式を採用している VIOS V1.2 以前で構築された仮想ディスク環境を、VIOS V1.3以降にバージョンアップもしくは、デバイスドライバーの更新を行った上で、PV-PV Mappingを再設定した場合
  • PVID 方式で使用している仮想ディスクの LUN を Source として、ディスク装置のコピー機能(FlashCopyなど)でコピーしたターゲットを非 VIOS 環境下で使用する場合
  • UDID 方式/IEEE_ID 方式で使用している仮想ディスクの LUN を VIOS v1.2 以前のシステムで認識させようとした場合

■事象の原因

事象の原因は、PV-PV Mapping の際に VIOSがVirtual SCSI ディスクとして認識する方式に起因しています。
  • PV-PV Mapping : VIOS 上の物理ディスクを仮想ディスクとして、物理ボリューム単位(PV) で VIOC にマッピングする方法
PV-PV Mapping は、VIOS のバージョン及び、VIOS で使用されるデバイス/デバイスドライバーとそのバージョンに依存して、下記のいずれかの方法が自動的に選択されます。
(ユーザーで指定するものではありません)
  • PVID 方式 PV の内容からVIOSが使用する専用の領域を除いてVIOCに見せる方式
  • UDID 方式 PV の内容をそのままVIOCに見せる方式
  • IEEE_ID 方式 PV の内容をそのままVIOCに見せる方式

<<使用されるマッピング方式の種類>>
VIOS で使用されるデバイスドライバー/デバイス
VIOS v1.2 以前
VIOS v1.3 以降
MPIO (SDDPCM,EMC PCM,HDLM PCM)
EMC's PowerPath 4.4.2.2 or later
IBM's SDD 1.6.2.3 or later
Hitachi's HDLM 5.6.1 or later
IBM 内蔵ディスク
PVID 方式
※厳密には明確になっていない為、下記の「マッピング方式の確認方法」を
ご参照の上、実機による確認が必要な場合があります。
UDID 方式
RDAC
IEEE_ID 方式
上記に該当しない (古いバージョンの) デバイスドライバー/その他の外部ディスク
PVID 方式
マッピング方式の違いによって、LUN のデータ領域内の内容が異なります。
<<マッピング方式の違いによる差異>>
PVID 方式
UDID/IEEE_ID 方式
  • VIOS が割り振る PVID を使用してマッピングを行います。
  • VIOS が割り振る PVID は、VIOC から認識される事はありません。
  • LUN のデータ領域に VIOS が使用する制御情報が保持されます。
  • 接続される物理ディスク (SAN ディスクなど含む) 毎にユニークとなる ID を使用してマッピングを行います。
  • VIOS と、VIOC で認識できる PVID は同一になります。
  • LUN のデータ領域には、VIOS が使用する制御情報は保持されません。

<<マッピング方式の違いによる LUN の中身の違い>>
マッピング方式の違いによる LUN の中身の違い
例えば、下記のように PVID 方式で使用されていた LUN を UDID/IEEE_ID 方式に切り替えた場合、もしくは、FlashCopy などで VIOS を介さない物理ディスクとして使用した場合、VIOS でしか使用しない PVID が含まれる制御情報のエリアが AIX で認識されてしまう為、本来アクセスするべき AIX が使用する PVID を含む VGDA の領域にアクセスする事ができなくなり、インポートが行えなくなります。
<<マッピング方式の変更により PV にアクセスできなくなるケース>>
マッピング方式の変更により PV にアクセスできなくなるケース
■事象が発生する具体例

例1)
現在、シングル VIOS(v1.4) 構成 + ESS (SDD v1.6.0.8) の組み合わせで稼働しているシステムを、冗長 VIOS 構成に移行したい。
この場合、VIOC でも MPIO 構成に移行したい場合は、使用するデバイスドライバーを SDDPCM に変更する必要がある。
デバイスドライバーの変更に伴って、VIOS 内での物理デバイスの構成情報 (ODM) が変更になる為、PV-PV Mapping を再設定しなおす必要がある。
このケースでは、PVID 方式で使用していた LUN (*1) を、UDID 方式で使用する事になる為、PV-PV Mappingの再設定を行っても、PV のインポートができません。
(*1) SDD 1.6.0.8 は PVID 方式です。 (<<使用されるマッピング方式の種類>> を参照のこと)
【解決策】
savevg/restvg などによる外部メディアを通してのデータ移行が必要になります。

例2)
PVID 方式されている VIOS 環境下の仮想ディスク (LUN) を Source として、ディスク装置のコピー機能 (FlashCopyなど)でコピーしたターゲットを、非 VIOS 環境の TSM サーバーの LUN として認識させバックアップを取得したい。
このケースでは、仮想ディスクが PVID 方式されている場合には、非 VIOS 環境下の TSM サーバーでは、PV のインポートができません。
【解決策】
TSM サーバーも VIOS環境下に設置し、Target LUN を仮想ディスクとしてアクセスする。

例3)
VIOS 環境下の仮想ディスクで使用している他社製外部ディスクの LUN を、SVC の Image Mode マイグレーションを使用して、SVC 環境に移行したい。
このケースでは、仮想ディスクが PVID 方式されている場合には、SVCの Image Mode マイグレーションを使って PV のインポートができません。
※厳密には SVC で使用するデバイスドライバーに依存しますが、最新のデバイスドライバーを使用する限りにおいては、UDID 方式が使用されます。
【解決策】
savevg/restvg などによる外部メディアを通してのデータ移行、もしくは、移行先ディスクを新規で追加アサインしてのデータ移行が必要になります。

■実機でのマッピング方式の確認方法
 
VIOS で PV-PV Mapping を行っている Virtual Target Device (vtd) の ODM 情報を確認します。
<<UDID 方式の場合>>
【VIOS】
$ lsmap -all
SVSA Physloc Client Partition ID
--------------- -------------------------------------------- ------------------
vhost0 U9117.570.651xxxx-V1-C2 0x00000003
VTD lpar3_hdisk2
Status Available
LUN 0x8100000000000000
Backing device hdisk2
Physloc U7879.001.DQD0G2M-P1-C5-T1-W5005076305000274-L4000400000000000
$ oem_setup_env
# odmget -q "name=lpar3_hdisk2 and attribute=udid_type" CuAt
CuAt:
name = "lpar3_hdisk2"
attribute = "udid_type"
value = "UDID"
type = "R"
generic = ""
rep = "s"
nls_index = 0

<<IEEE_ID 方式の場合>>
【VIOS】
$ lsmap -all
SVSA Physloc Client Partition ID
--------------- -------------------------------------------- ------------------
vhost0 U7998.61X.100xxxx-V1-C11 0x00000002
VTD vtscsi0
Status Available
LUN 0x8100000000000000
Backing device hdisk1
Physloc U78A5.001.WIH0764-P1-C7-T1-W200600A0B81FD499-L0
$ oem_setup_env
# odmget -q "name=vtscsi0 and attribute=udid_type" CuAt
CuAt:
name = "vtscsi0"
attribute = "udid_type"
value = "IEEE_VOLUME_NAME"
type = "R"
generic = ""
rep = "s"
nls_index = 0

<<PVID 方式の場合>>
【VIOS】
$ lsmap -all
SVSA Physloc Client Partition ID
--------------- -------------------------------------------- ------------------
vhost0 U9113.550.659xxxx-V1-C103 0x00000003
VTD lpar13_hdisk0
Status Available
LUN 0x8100000000000000
Backing device lp13_hdisk0_lv
Physloc
VTD lpar13_hdisk1
Status Available
LUN 0x8200000000000000
Backing device hdisk2
Physloc U787B.001.DNW2373-P1-C5-T2-L5-L0
$ oem_setup_env
# odmget -q "name=lpar13_hdisk1 and attribute=udid_type" CuAt
CuAt:
name = "lpar13_hdisk1"
attribute = "udid_type"
value = "PVID"
type = "R"
generic = ""
rep = "s"
nls_index = 0

# lspv |grep hdisk2
hdisk2 000b6caa12c2bb16 None
# dd if=/dev/rhdisk2 bs=512 count=10 | od -tx1 -Ax
0000000 c9 c2 d4 c1 00 00 00 00 00 00 00 00 00 00 00 00
0000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000080 00 0b 6c aa 12 c2 bb 16 00 00 00 00 00 00 00 00
0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000200 79 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00002a0 31 31 37 39 32 38 38 32 32 33 00 00 00 00 00 00
00002b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 2e
00002c0 32 20 70 61 64 20 73 74 72 69 6e 67 3a 40 25 24
00002d0 23 7e 21 7e 7e 21 7e 23 24 25 40 00 00 00 00 00
00002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

*
0000400 c9 c2 d4 c1 00 00 00 00 00 00 00 00 00 00 00 00
0000410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000480 00 c9 87 9e 4b c5 14 74 00 00 00 00 00 00 00 00
0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

*
0000800 47 e3 3f 78 30 cd 06 0f 00 00 00 00 00 00 00 00
0000810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00009f0 00 00 00 00 00 00 00 00 47 e3 3f 78 30 cd 06 0f
0000a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001000 44 45 46 45 43 54 00 00 00 00 00 00 00 00 00 00
0001010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001200 5f 4c 56 4d 00 c9 87 9e 00 00 4c 00 00 00 01 18
0001210 cf 9d a1 fe 00 00 10 74 00 00 08 32 00 00 00 88
0001220 00 00 08 c2 04 a8 fb 4d 00 00 01 00 00 01 00 1a
0001230 00 00 00 08 00 00 00 80 00 00 08 ba 00 1e 00 00
0001240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
※ 赤字の部分が VIOS が使用する制御領域
【VIOC】
lpar13:[/]# lspv |grep hdisk1
hdisk1 00c9879e4bc51474 None
lpar13:[/]# dd if=/dev/rhdisk1 bs=512 count=10 | od -tx1 -Ax
0000000 c9 c2 d4 c1 00 00 00 00 00 00 00 00 00 00 00 00
0000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000080 00 c9 87 9e 4b c5 14 74 00 00 00 00 00 00 00 00
0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

*
0000400 47 e3 3f 78 30 cd 06 0f 00 00 00 00 00 00 00 00
0000410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00005f0 00 00 00 00 00 00 00 00 47 e3 3f 78 30 cd 06 0f
0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000c00 44 45 46 45 43 54 00 00 00 00 00 00 00 00 00 00
0000c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000e00 5f 4c 56 4d 00 c9 87 9e 00 00 4c 00 00 00 01 18
0000e10 cf 9d a1 fe 00 00 10 74 00 00 08 32 00 00 00 88
0000e20 00 00 08 c2 04 a8 fb 4d 00 00 01 00 00 01 00 1a
0000e30 00 00 00 08 00 00 00 80 00 00 08 ba 00 1e 00 00
0000e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001000 44 45 46 45 43 54 00 00 00 00 00 00 00 00 00 00
0001010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001400
※ VIOC では、VIOS での赤字の部分は見えない
参考資料:
Physical to Virtual Device Compatibility for VIOS Managed Devices (リンク切れ):
http://www14.software.ibm.com/webapp/set2/sas/f/vios/documentation/p2vdevcompat.doc
Virtual I/O Server Datasheet for Version 1.5(リンク切れ) :
http://www14.software.ibm.com/webapp/set2/sas/f/vios/documentation/datasheet.html
V4.3.x - Recommended Software Levels for SAN Volume Controller(リンク切れ) :
http://www-01.ibm.com/support/docview.wss?rs=591&uid=ssg1S1003278#VirtualIOServer

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSPHKW","label":"PowerVM Virtual I\/O Server - SSPHKW"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
13 February 2023

UID

ibm16852161