第17章 ストレージ
RAID レベルのテイクオーバーの LVM でのサポートが追加されました。
LVM は、以前はテクノロジープレビューとして利用可能だった RAID テイクオーバーを完全にサポートするようになりました。これにより、ユーザーは RAID 論理ボリュームをある RAID レベルから別のレベルに変換できます。このリリースでは、RAID テイクオーバーの組み合わせの数が拡張されました。一部の移行のサポートには、中間ステップが必要になる場合があります。RAID テイクオーバーによって追加された新しい RAID タイプは、以前にリリースされたカーネルバージョンではサポートされていません。これらの RAID タイプは、raid0、raid0_meta、raid5_n、および raid6_{ls,rs,la,ra,n}_6 です。Red Hat Enterprise Linux 7.4 でこれらの RAID タイプを作成したり、これらの RAID タイプに変換したりするユーザーは、以前のリリースを実行しているシステムで論理ボリュームをアクティブ化できません。RAID テイクオーバーは、シングルマシンモードのトップレベル論理ボリュームでのみ利用できます (つまり、テイクオーバーはクラスターボリュームグループで使用できず、RAID がスナップショットまたはシンプールの一部である場合にのみ利用できます)。(BZ#1366296)
LVM が RAID 再成形をサポート
LVM が RAID 再成形をサポートするようになりました。テイクオーバーにより、ユーザーは RAID タイプを変更できますが、再成形により、RAID アルゴリズム、ストライプサイズ、領域のサイズ、イメージ数などのプロパティーを変更できます。たとえば、2 つのデバイスを追加することで、3 way ストライプを 5 way ストライプに変更できます。再成形は、単一マシンモードの最上位論理ボリュームでのみ利用でき、論理ボリュームが使用中でない場合 (ファイルシステムにマウントされている場合など) に限り利用できます。(BZ#1191935, BZ#834579, BZ#1191978, BZ#1392947)
Device Mapper リニアデバイスが DAX をサポート
dm-linear
および dm-stripe
ターゲットに、ダイレクトアクセス(DAX)サポートが追加されました。複数の Non-Volatile Dual In-line Memory Module (NVDIMM) デバイスを組み合わせて、より大きな永続メモリー (PMEM) ブロックデバイスを提供できるようになりました。(BZ#1384648)
libstoragemgmt がバージョン 1.4.0 にリベース
libstoragemgmt パッケージがアップストリームバージョン 1.4.0 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。注目すべきは、以下のライブラリーが追加されたことです。
- ローカルディスクのシリアル番号のクエリー: lsm_local_disk_serial_num_get()/lsm.LocalDisk.serial_num_get()
- ローカルディスクの LED ステータスのクエリー: lsm_local_disk_led_status_get()/lsm.LocalDisk.led_status_get()
- ローカルディスクのリンク速度のクエリー: lsm_local_disk_link_speed_get()/lsm.LocalDisk.link_speed_get()
以下は、主なバグ修正です。
- Dell PowerEdge RAID Controller (PERC)の
megaraid
プラグインが修正されました。 - NVM Express (NVMe) ディスクのローカルディスクローテーション速度クエリーが修正されました。
- ローカルディスククエリーでの
lsmcli
の誤ったエラー処理が修正されました。 - gcc のコンパイルに関する警告がすべて修正されました。
autoconf
AC_OUTPUT マクロの廃止された使用が修正されました。(BZ#1403142)
mpt3sas
がバージョン 15.100.00.00 に更新されました。
mpt3sas
ストレージドライバーがバージョン 15.100.00.00 に更新され、新しいデバイスのサポートが追加されました。詳細はベンダーにお問い合わせください。(BZ#1306453)
lpfc
ドライバーの lpfc_no_hba_reset モジュールパラメーターが利用可能に
今回の更新で、
lpfc
_no_hba_reset モジュールパラメーターを追加することで、Emulex Fibre Channel Host Bus Adapters (HBAs)の特定のモデルの lpfc ドライバーが強化されました。このパラメーターでは、SCSI エラー処理中にリセットされない HBA の 1 つ以上の 16 進数の World-Wide Port Number (WWPN) の一覧をを受け入れます。
lpfc
では、SCSI エラー処理時に HBA のどのポートをリセットするかを制御できるようになりました。また、lpfc
では、SCSI エラー処理時間の上限を表す eh_deadline パラメーターを設定できるようになりました。(BZ#1366564)
LVM が Veritas Dynamic Multi-Pathing システムを検出し、基本となるデバイスパスに直接アクセスしなくなる
LVM が Veritas Dynamic Multi-Pathing と正しく機能するようにするには、設定ファイル
/etc/lvm/lvm.conf
の devices セクションで obtain_device_list_from_udev を 0 に設定する必要があります。このようなマルチパスのデバイスは、標準の udev インターフェイスを介して公開されないため、この設定がないと LVM はその存在を認識しません。(BZ#1346280)
libnvdimm
カーネルサブシステムが PMEM サブディビジョンをサポート
Intel の Non-Volatile Dual In-line Memory Module (NVDIMM) ラベル仕様が拡張され、リージョンごとに複数の永続メモリー (PMEM) 名前空間を設定できるようになりました (インターリーブセット)。Red Hat Enterprise Linux 7.4 に同梱されるカーネルが、このような新しい設定をサポートするように変更されています。
サブディビジョンのサポートがないと、以前は 1 つのリージョンを 1 つのモード(
pmem
、device dax
、または sector
)でしか使用できませんでした。今回の更新で、1 つのリージョンを細分化し、各サブディビジョンをその他のリージョンから独立して設定できるようになりました。(BZ#1383827)
multipathd
が実行されていない場合の警告メッセージ
multipathd
の実行中にマルチパスデバイスを作成または一覧表示する multipath
コマンドを実行すると、警告メッセージが表示されるようになりました。
multipathd
が実行されていない場合、デバイスは障害が発生したパスを復元したり、デバイス設定の変更に反応したりできません。multipathd
デーモンは、マルチパスデバイスがあり、multipathd
が実行されていない場合に、警告メッセージを出力するようになりました。(BZ#1359510)
構造化された出力を提供するために multipathd に追加された c ライブラリーインターフェイス
これにより、libdmmp ライブラリーを使用して、multipathd から構造化された情報を取得できるようになりました。multipathd から情報を取得したい他のプログラムは、コマンドを実行して結果を解析しなくても、この情報を取得できるようになりました。(BZ#1430097)
新しい remove retries マルチパス設定値
マルチパスが削除を試みた際に、マルチパスデバイスが一時的に使用されている場合、削除は失敗します。remove_retries 設定値を設定することで、multipath コマンドがビジー状態のマルチパスデバイスの削除を再試行する回数を制御できるようになりました。デフォルト値は 0 です。この場合、マルチパスは失敗した削除を再試行しません。(BZ#1368211)
新しい multipathd reset multipaths stats コマンド
マルチパスが、multipathd reset multipaths stats と multipathd reset multipath dev stats の 2 つの新しい multipathd コマンドに対応するようになりました。このコマンドは、
multipathd
がすべてのデバイスまたは指定されたデバイスに対してそれぞれ追跡するデバイス統計をリセットします。これにより、デバイスに変更を加えた後で、デバイスの統計をリセットできます。(BZ#1416569)
新しい disable_changed_wwids
mulitpath 設定パラメーター
マルチパスが新しい
multipath.conf
のデフォルトセクションパラメーター disable_changed_wwids
をサポートするようになりました。これを設定すると、パスデバイスが使用中に wwid を変更したときにマルチパス通知が行われ、wwid が以前の値に戻るまでパスデバイスへのアクセスが無効になります。
scsi デバイスの wwid が変更された場合、これはデバイスが別の LUN に再マップされたことを示していることが多いです。scsi デバイスの使用中にこの現象が発生すると、データが破損する可能性があります。
disable_changed_wwids
パラメーターを設定すると、scsi デバイスが wwid を変更したときにユーザーに警告します。多くの場合、multipathd
は、元の LUN からマッピングが解除されるとすぐにパスデバイスへのアクセスを無効にし、破損の可能性を削除します。ただし、multipathd
は、scsi デバイスが再マップされる前に変更を常にキャッチできるとは限りません。つまり、破損のウィンドウがまだある可能性があります。使用中の scsi デバイスの再マッピングは、現在サポートされていません。(BZ#1169168)
HPE 3PAR アレイの組み込み設定を更新
3PAR アレイの組み込み設定では、
no_path_retry
が 12 に設定されるようになりました。(BZ#1279355)
NFINIDAT InfiniBox.* デバイスの組み込み設定の追加
マルチパスが、NFINIDAT InfiniBox.* デバイスを自動設定するようになりました (BZ#1362409)
device-mapper-multipath
が max_sectors_kb
設定パラメーターをサポート
今回の更新で、
device-mapper-multipath
が multipath.conf
ファイルの defaults セクション、devices セクション、multipaths セクションに新しい max_sectors_kb
パラメーターを提供するようになりました。max_sectors_kb
パラメーターを使用すると、マルチパスデバイスが最初にアクティブ化される前に、max_sectors_kb
デバイスキューパラメーターをマルチパスデバイスのすべての基礎となるパスで指定された値に設定できます。
マルチパスデバイスが作成されると、デバイスはパスデバイスから
max_sectors_kb
値を継承します。手動でこの値をマルチパスデバイス向けに高めたり、パスデバイス向けにこの値を低くすると、マルチパスデバイスはパスデバイスが許可するよりも大きな I/O 操作を作成する場合があります。
max_sectors_kb multipath.conf
パラメーターを使用すると、パスデバイス上にマルチパスデバイスを作成する前に、これらの値を簡単に設定でき、無効なサイズの I/O 操作が渡されるのを防ぐことができます。(BZ#1394059)
新しい detect_checker マルチパス設定パラメーター
VNX2 などの一部のデバイスは、ALUA モードで任意に設定できます。このモードでは、ALUA 以外のモードとは異なる path_checker および prioritizer を使用する必要があります。マルチパスが
multipath.conf
のデフォルトセクションと devices セクションで detect_checker パラメーターをサポートするようになりました。これが設定されている場合、マルチパスはデバイスが ALUA をサポートしているかどうかを検出し、その場合は設定された path_checker を上書きし、代わりに TUR チェッカーを使用します。detect_checker オプションを使用すると、オプションの ALUA モードを持つデバイスをどのモードであるかに関係なく、正しく自動設定できます。(BZ#1372032)
マルチパスに Nimble Storage デバイス用のデフォルト設定が組み込まれる
マルチパスのデフォルトハードウェアテーブルに、Nimble Storage アレイのエントリーが含まれるようになりました。(BZ#1406226)
LVM は、RAID 論理ボリュームのサイズの縮小をサポートします
Red Hat Enterprise Linux 7、4 以降では、lvreduce または lvresize コマンドを使用して、RAID 論理ボリュームのサイズを縮小できます。(BZ#1394048)
iprutils がバージョン 2.4.14 にリベース
iprutils パッケージがアップストリームバージョン 2.4.14 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。以下に例を示します。
- エンディアンでスワップされた device_id が、以前のバージョンと互換性を持つようになりました。
- ベアメタルモードの VSET 書き込みキャッシュが許可されるようになりました。
- デュアルアダプター設定での RAIDS の作成が修正されました。
- 単一のアダプター設定での再構築の確認がデフォルトで無効になりました。(BZ#1384382)
mdadm がバージョン 4.0 にリベース
mdadm パッケージがアップストリームバージョン 4.0 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。注目すべきは、この更新により、Intel Matrix Storage Manager (IMSM) メタデータに不良ブロック管理サポートが追加されたことです。この更新に含まれる機能は、外部メタデータ形式でサポートされており、Red Hat は引き続き Intel Rapid Storage Technology enterprise (Intel RSTe) ソフトウェアスタックをサポートしています。(BZ#1380017)
シンプールが 50% 以上使用されると、LVM はシンプール論理ボリュームのサイズを拡張します。
シンプールの論理ボリュームが 50% を超える場合、デフォルトで
dmeventd thin
プラグインが 5 パーセント増加するたびに dmeventd
thin_command コマンドを呼び出すようになりました。これにより、設定ファイルの activation
セクションで設定された thin_pool_autoextend_threshold
の上にシンプールがいっぱいになると、シンプールのサイズが変更されます。ユーザーは、外部コマンドを設定し、lvm.conf
ファイルの dmeventd
セクションで thin_command
の値としてこのコマンドを指定することで、このデフォルトを上書きすることができます。thin プラグインの詳細と、シン
プールを維持するように外部コマンドを設定する方法は、dmeventd (8)
の man ページを参照してください。
以前のリリースでは、シンプールのサイズ変更に失敗すると、コンパイル時の定義されたしきい値に達したときに、
dmeventd
プラグインはシンプールに関連付けられたすべてのシンボリュームのアンマウントを試みていました。dmeventd
プラグインは、デフォルトでボリュームをアンマウントしなくなりました。以前のロジックを再現するには、外部スクリプトを設定する必要があります。(BZ#1442992)
LVM が dm-cache メタデータバージョン 2 をサポート
LVM/DM キャッシュが大幅に改善されました。これにより、より大きなキャッシュサイズのサポート、変化するワークロードへのより良い適応、起動とシャットダウン時間の大幅な改善、そして全体的なパフォーマンスの向上を実現します。LVM でキャッシュ論理ボリュームを作成する場合、dm-cache メタデータ形式のバージョン 2 がデフォルトになりました。バージョン 1 は、以前に作成した LVM キャッシュ論理ボリュームで引き続きサポートされます。バージョン 2 にアップグレードするには、古いキャッシュ層を削除し、新しいキャッシュ層を作成する必要があります。(BZ#1436748)
指定されたハードウェアでの DIF/DIX (T10 PI) のサポート
SCSI T10 DIF/DIX は、ハードウェアベンダーが認定し、特定の HBA およびストレージアレイ設定を完全にサポートしている場合、Red Hat Enterprise Linux 7.4 で完全にサポートされます。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:
- LPe12000-E および LPe12002-E with firmware 2.01a10 以降 (以下と共に)
- 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#1457907)
dmstats 機能により変更されるファイルの統計の追跡が可能に
以前は、
dmstats
機能は、サイズが変更されなかったファイルの統計を報告できました。ファイルのサイズの変更 (またはファイルに含まれる可能性があるホールを埋める) 中でも、ファイルの変更を監視し、ファイルの I/O を追跡するマッピングを更新できるようになりました。(BZ#1378956)
キャッシュされた論理ボリュームのシンスナップショットのサポート
Red Hat Enterprise Linux 7.4 の LVM では、キャッシュされた論理ボリュームのシンスナップショットを作成できます。この機能は、以前のリリースでは利用できませんでした。これらの外部オリジンのキャッシュされた論理ボリュームは読み取り専用状態に変換されるため、さまざまなシンプールで使用できます。(BZ#1189108)
新規パッケージ: nvmetcli
nvmetcli
ユーティリティーを使用すると、NVME-over-RDMA ファブリックタイプを使用して、Red Hat Enterprise Linux を NVMEoF ターゲットとして設定できます。nvmetcli
を使用すると、nvmet
を対話的に設定するか、JSON ファイルを使用して設定を保存および復元できます。(BZ#1383837)
デバイス DAX が NVDIMM デバイスで利用可能に
デバイス DAX を使用すると、ハイパーバイザーやデータベースなどのユーザーは、ファイルシステムを介さずに永続メモリーに raw アクセスできます。特に、Device DAX を使用すると、アプリケーションで予測可能な障害の粒度と、ユーザースペースから永続ドメインにデータをフラッシュする機能を利用できます。Red Hat Enterprise Linux 7.4 以降、Device Dax は Non-Volatile Dual In-line Memory Module (NVDIMM) デバイスで利用できます。(BZ#1383489)