第17章 ストレージ

新規カーネルサブシステム: libnvdimm

今回の更新により、Non-Volatile Dual Inline Memory Module (NVDIMM) の検出、設定、および管理を行う libnvdimm というカーネルサブシステムが追加されました。その結果、NVDIMM がシステムにある場合、それらは /dev/pmem* デバイスノードで公開され、ndctl ユーティリティーを使って設定できるようになりました (BZ#1269626)。

NVDIMM がサポートされたハードウェア

Red Hat Enterprise Linux 7.3 リリースの時点で、多数の OEM (Original Equipment Manufacturer) が Non-Volatile Dual Inline Memory Module (NVDIMM) ハードウェア向けのサポートを追加しています。これらの製品が市場に投入される段階で Red Hat はこれらの OEM と連携して設定をテストし、可能な場合は Red Hat Enterprise Linux 7.3 でのそれらの製品のサポートを発表する予定です。
これは新しいテクノロジーであるため、各製品およびサポートされる設定についての具体的なサポートステートメントが出されます。Red Hat のテストが問題なく終了し、OEM による対応する文書化されたサポートが利用可能になった時点で発表されます。
現在サポートされている NVDIMM 製品には以下が含まれます。
  • HPE ProLiant システムの HPE NVDIMM。具体的な設定については、Hewlett Packard Enterprise Company のサポートステートメントを参照してください。
一覧に記載のない NVDIMM 製品および設定はサポートされません。Red Hat Enterprise Linux 7.3 リリースノートは、NVDIMM 製品がサポート対象製品の一覧に追加される際に更新されます (BZ#1389121)。

新規パッケージ: nvml

nvml パッケージには、とりわけ不揮発性メモリー用に最適化された memory-mapped persistence (メモリーマップによる不揮発性) を使用するためのライブラリーコレクションである Non-Volatile Memory Library (NVML) が含まれます (BZ#1274541)。

SCSI が複数のハードウェアキューをサポート

nr_hw_queues フィールドが Scsi_Host 構造に追加されることにより、ドライバーがこのフィールドを使用できるようになりました (BZ#1308703)。

exclusive_pref_bit オプション引数を multipath ALUA prioritizer に追加

exclusive_pref_bit 引数が multipath Asymmetric Logical Unit Access (ALUA) prioritizer に追加され、パスにターゲットポートグループサポート (Target Port Group Support; TPGS) の pref ビットが設定される場合、multipath はそのパスのみを使用してパスグループを作成し、最も高い優先順位をそのパスに割り当てます。ユーザーは、優先するパスを同様に最適化された他のパスと共にパスグループに入れるというデフォルトオプションを許可するか、または exclusive_pref_bit 引数を追加することによってそれ自体をパスグループに入れることができます (BZ#1299652)。

multipathdmultipathd 形式の出力コマンドにおける raw フォーマットモードをサポート

multipathd 形式の出力コマンドで、raw フォーマットモードが使用できます。これは、フィールド間のヘッダーと追加パディングを取り除きます。新たなフォーマットのワイルドカードもサポートされるようになりました。Raw フォーマットモードでは、とくにスクリプトの使用でマルチパスデバイスについての情報の収集と解析が容易になります (BZ#1299651)。

LVM のロックインフラストクラチャーの改善

lvmlockd は LVM の次世代ロックインフラストラクチャーです。dlm または sanlock ロックマネージャーのいずれかを使用して複数ホストの共有ストレージを LVM で安全に管理できるようになります。sanlock を使用すると lvmlockd でストレージベースのロック機能でホストを調整できるため、クラスターインフラストラクチャー全体の調整が必要ありません。詳細については lvmlockd(8) の man ページを参照してください。
この機能は最初に Red Hat Enterprise Linux 7.2 にテクノロジープレビューとして導入されました。Red Hat Enterprise Linux 7.3 では lvmlockd は完全にサポートされています (BZ#1299977)。

シンプロビジョニングされた論理ボリュームのキャッシュのサポート (制限あり)

Red Hat Enterprise Linux 7.3 では、シンプロビジョニングされた論理ボリュームをキャッシュする機能を提供しています。これにより、キャッシュの利点が特定のシンプールに関連付けられたすべてのシン論理ボリュームに広がります。ただし、シンプールがこのようにセットアップされると、シンプールを拡張する際にまずキャッシュ層を削除する必要があります。さらに、シンプールの自動拡張機能は使用できなくなります。ユーザーはスペース不足を防ぐためにそれぞれのシンプールの使用状況および使用率を注意深くモニターする必要があります。シンプロビジョンされた論理ボリュームについての詳細は lvmthin(7) の man ページを、LVM キャッシュボリュームの詳細は lvmcache(7) の man ページを参照してください (BZ#1371597)。

device-mapper-persistent-data がバージョン 0.6.2 にリベース

device-mapper-persistent-data パッケージがアップストリームバージョン 0.6.2 にアップグレードされ、以前のバージョンに対するバグ修正および拡張機能が数多く追加されています。とくに、プール内のシンボリュームについての情報を提供する thin_ls が利用可能になりました (BZ#1315452)。

指定されたハードウェアでの DIF/DIX (T10 PI) のサポート

SCSI T10 DIF/DIX は、ハードウェアベンダーに評価されており、かつ特定の HBA およびストレージアレイ設定を完全サポートしていれば、Red Hat Enterprise Linux 7.3 で完全にサポートされるようになりました。DIF/DIX は他の設定ではサポートされておらず、ブートデバイスや仮想化ゲスト上でサポートされていません。
現時点では、以下のベンダーがこのサポートを提供しています。
FUJITSU は以下の組み合わせで DIF と DIX をサポート:
EMULEX 16G FC HBA:
  • EMULEX LPe16000/LPe16002、10.2.254.0 BIOS、10.4.255.23 FW と
  • FUJITSU ETERNUS DX100 S3、DX200 S3、DX500 S3、DX600 S3、DX8100 S3、DX8700 S3、DX8900 S3、DX200F、DX60 S3、AF250、AF650
QLOGIC 16G FC HBA:
  • QLOGIC QLE2670/QLE2672、3.28 BIOS、8.00.00 FW と
  • FUJITSU ETERNUS DX100 S3、DX200 S3、DX500 S3、DX600 S3、DX8100 S3、DX8700 S3、DX8900 S3、DX200F、DX60 S3
T10 DIX にはディスクブロックでのチェックサム生成と検証を行う他のソフトウェアまたはデータベースが必要になることに注意してください。現在対応している Linux ファイルシステムの中でこの機能が備わっているファイルシステムはありません。
EMC は以下の組み合わせで DIF をサポート:
EMULEX 8G FC HBA:
  • ファームウェア 2.01a10 以降の LPe12000-E および LPe12002-E と
  • EMC VMAX3 Series with Enginuity 5977、EMC Symmetrix VMAX Series with Enginuity 5876.82.57 以降
EMULEX 16G FC HBA:
  • ファームウェア 10.0.803.25 以降の LPe16000B-E および LPe16002B-E と
  • EMC VMAX3 Series with Enginuity 5977、EMC Symmetrix VMAX Series with Enginuity 5876.82.57 以降
QLOGIC 16G FC HBA:
  • QLE2670-E-SP および QLE2672-E-SP と
  • EMC VMAX3 Series with Enginuity 5977、EMC Symmetrix VMAX Series with Enginuity 5876.82.57 以降
最新の状況については、ハードウェアベンダーのサポート情報を確認してください。
他の HBA およびストレージアレイに関する DIF/DIX のサポートは引き続きテクノロジービューになります (BZ#1379689)。

iprutils がバージョン 2.4.13 にリベース

iprutils パッケージがアップストリームバージョン 2.4.13 にアップグレードされ、以前のバージョンに対するバグ修正や拡張機能が数多く追加されています。とくに今回の更新により、8247-22L および 8247-21L ベースの SAS (Serial Attached SCSI) バックプレーンのアダプターライトキャッシュを有効にするサポートが追加され、大幅にパフォーマンスが改善されました (BZ#1274367)。

multipathd コマンドが JSON 形式でマルチパスデータを表示

今回のリリースにより、multipathd には JSON 形式でマルチパスデータを表示する show maps json コマンドが組み込まれています。これにより、他のプログラムが multipathd show maps 出力を解析しやすくなりました (BZ#1353357)。

Huawei XSG1 アレイのデフォルト設定を追加

今回のリリースにより、マルチパスで Huawei XSG1 アレイのデフォルト設定が提供されます (BZ#1333331)。

マルチパスでの Ceph RADOS ブロックデバイスのサポート

RDB デバイスには、デバイスの修復機能と共に、特殊な uid 処理および独自のチェッカー機能が必要です。今回のリリースにより、RADOS ブロックデバイスの上部でマルチパスを実行できるようになりました。ただし、マルチパス RBD サポートは、exclusive-lock 機能が有効にされた状態の RBD イメージが複数のクライアント間で共有されている場合にのみ使用する必要があります (BZ#1348372)。

PURE FlashArray のサポートを追加

今回のリリースにより、マルチパスには PURE FlashArray のビルトイン設定サポートが加わりました (BZ#1300415)。

MSA 2040 アレイのデフォルト設定を追加

今回のリリースにより、マルチパスは MSA 2040 アレイのデフォルト設定を追加しています (BZ#1341748)。

新規の skip_kpartx 設定オプションにより kpartx パーティションの作成を省略

skip_kpartx オプションが multipath.conf の defaults、devices、および multipaths セクションに追加されました。このオプションが yes に設定されると、skip_kpartx を使って設定されたマルチパスデバイスではパーティションデバイスが作成されません。これにより、ユーザーは、デバイスにパーティションテーブルがある場合でもパーティションを作成せずにマルチパスデバイスを作成できます。このオプションのデフォルト値は no です (BZ#1311659)。

マルチパスの weightedpath prioritizer が wwn キーワードをサポート

マルチパスの weightedpath prioritizer が wwn キーワードをサポートします。これが使用されると、デバイスに一致させるための正規表現の形式は host_wwnn:host_wwpn:target_wwnn:target_wwpn になります。これらの識別子は sysfs か、または %N:%R:%n:%r という multipathd show paths format ワイルドカードを使用して検索できます。
以前のリリースでは、weightedpath prioritizer は HBTL とデバイス名の regex のマッチングのみを許可していました。これらはいずれも再起動時に永続化しないため、weightedpath prioritizer 引数は起動ごとに変更する必要がありました。この機能により、weightedpath prioritizer を永続的なデバイス識別子で使用できるようになりました (BZ#1297456)。

新規パッケージ: nvme-cli

nvme-cli パッケージには NVMe コントローラーを管理し、設定するための NVMe (Non-Volatile Memory Express) コマンドラインインターフェースがあります (BZ#1344730)。

LVM2 は autoresize が設定されていないと警告メッセージを表示

シンプールのデフォルト動作では、領域が使い果たされてもシンプールの autoresize (自動サイズ再設定) を実行しません。しかし、領域が使い果たされると各種の負の影響が生じます。ユーザーが autoresize を使用していない場合にシンプールが一杯になると、新規の警告メッセージがユーザーに表示され、ユーザーがシンプールのサイズの再設定やシンボリュームの使用を停止するなど、適切なアクションを取れるように想定される問題について通知されるようになりました (BZ#1189221)。

dmstats がファイルの dmstats 領域へのマッピングをサポート

dmstats コマンドの --filemap オプションにより、ユーザーはファイルシステムの指定ファイルまで I/O 操作を追跡できるように dmstats 領域を簡単に設定できるようになりました。以前のリリースでは、I/O 統計はデバイス全体か、またはデバイスのある領域についてのみ利用可能でした。そのため、管理者がファイル別の I/O パフォーマンスを把握する上で制限がありました。今回のリリースから、--filemap オプションにより、ユーザーは device-mapper デバイスに使用される同じツールでファイルの I/O パフォーマンスを検査できるようになりました (BZ#1286285)。

LVM が LV ポリシーを外部ボリュームに適用しない

以前のリリースでは、LVM は外部ボリュームについても LVM シン論理ボリュームの独自のポリシーを無条件に適用していました。そのため、予期しない動作が発生する可能性がありました。今回の更新により、シンプールの外部ユーザーは外部シンボリュームの独自の管理機能を使用できるようになり、LVM が LV ポリシーをこのボリュームに適用しなくなりました (BZ#1329235)。

新規シンボリュームの作成時にシンプールに十分な領域があることを常にチェック

ユーザーが autoresize (自動サイズ再設定) をシンプールのモニタリングと使用していない場合でも、新規シンボリュームの作成時にシンプールに十分な領域があるかどうかが常に確認されるようになりました。
新規シンボリュームは以下の状況では作成することができません。
  • シンプールでデータボリュームの容量が 100% に達している。
  • 16 MiB よりも小さいメタデータについて、シンプールのメタデータの空き領域が 25% を下回っている。
  • メタデータの空き領域が 4 MiB を下回っている (BZ#1348336)。

LVM がキャッシュプールのチャンクの最大数を設定可能

lvm.conf ファイルの allocation セクションにある新規の LVM allocation パラメーター cache_pool_max_chunks は、キャッシュプールチャンクの最大数を制限します。このパラメーターが定義されていないか、または 0 に設定されている場合に、ビルトインデフォルト設定が使用されます (BZ#1364244)。

キャッシュプールを論理ボリュームから切り離す機能をサポート

LVM には、キャッシュプールのデバイスが失敗した場合にキャッシュプールを論理ボリュームから切り離す機能があります。以前のリリースでは、この種類の失敗が発生すると、キャッシュプールを元の論理ボリュームから切り離すために手動介入や LVM メタデータへの複雑な変更が必要でした。
論理ボリュームをそのキャッシュプールから切り離すには、以下のコマンドを使用します。
# lvconvert --uncache *vg*/*lv*
以下の制限があることに注意してください。
  • キャッシュ論理ボリュームは非アクティブな状態である必要があります (再起動が必要な場合がある)。
  • writeback キャッシュには、失敗した場合にデータを破棄する可能性があるため --force オプションが必要です。
(BZ#1131777)

削除されたシンスナップショット論理ボリュームを LVM で追跡および表示できる

lvm.conf 設定ファイルで record_lvs_history メタデータオプションを有効にすることにより、削除されたシンスナップショット論理ボリュームを追跡することを設定できるようになりました。これにより、元の依存関係チェーンから削除され、過去の論理ボリュームになった論理ボリュームを含む完全なシンスナップショット依存関係チェーンを表示できます。過去の LV を含む完全な依存関係チェーンは、新しい lv_full_ancestorslv_full_descendants のレポートフィールドで表示できます。過去の論理ボリュームの設定および表示については、Logical Volume Administration を参照してください (BZ#1240549)。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。