第13章 ストレージ
/proc/diskstats が破損しなくなりました。
パーティションは、パフォーマンス上の理由から、読み取りコピー更新(RCU)によって保護され、2 つの状況で競合状態に対して適切に保護されません。
- インフライト要求がある間にパーティションが変更された場合。
- パーティションが重複する場合(DOS 拡張パーティションと論理パーティションで可能)。
その結果、
/proc/diskstats ファイルの一部のフィールドが破損する可能性がありました。今回の更新では、リクエスト構造でパーティションルックアップをキャッシュすることで問題を修正しています。その結果、上記の状況で /proc/diskstats が破損しなくなりました。(BZ#1273339)
デバイスのサイズ変更の失敗後に、multipathd が成功を報告しなくなりました。
multipathd サービスがデバイスのサイズ変更に失敗した場合、multipathd はサイズを内部で元の値にリセットしませんでした。その結果、今後デバイスのサイズを変更しようとすると、multipathd がデバイスのサイズを変更しなくても、multipathd が成功したと報告されました。サイズ変更に失敗すると、multipathd はデバイスのサイズを内部で元の値に戻すようになりました。その結果、multipathd は、デバイスが正常にサイズ変更された場合にのみ成功を報告するようになりました。(BZ#1328077)
libdevmapper バージョンの不一致が原因でマルチパスがクラッシュしなくなりました
以前は、コンパイルの一環としてマルチパスコードが正しいライブラリーにリンクされませんでした。その結果、
device-mapper-multipath がコンパイルした libdevmapper ライブラリーよりも新しいバージョンで使用された場合、マルチパスが予期せず終了することがありました。コンパイル時に、マルチパスが必要なライブラリーに正しくリンクされるようになりました。その結果、ライブラリーバージョンの不一致により、マルチパスがクラッシュしなくなりました。(BZ#1349376)
一部のデバイスで障害が発生すると、マルチパスが他のデバイスを作成しなくなることがなくなりました
以前は、関連性のないデバイスで障害が発生したため、multipath コマンドは、マルチパスデバイスの作成を試みていたデバイスの情報を取得できなかった場合は早期に multipath が終了するため、デバイスの設定に失敗することがありました。この修正により、一部のデバイスに関する情報の取得に失敗し、一部のデバイスでマルチパスが他のデバイスを作成できなくなった場合は、マルチパスが早期に終了しなくなりました。(BZ#1343747)
マルチパスは、他のプログラムで作成された、DM テーブルタイプのマルチパスのデバイスを変更しなくなりました。
以前は、マルチパスツールは、マルチパステーブルを使用してすべてのデバイスマッパー(DM)デバイスを管理する機能を想定していました。これにより、
multipathd サービスは、マルチパスツールによって作成されていないデバイスのテーブルを変更していました。マルチパスツールが、mpath- で始まる DM Universally Unique Identifiers (UUID)を搭載したデバイスでのみ動作するようになりました。これは、マルチパスが作成するすべてのデバイスで使用する UUID 接頭辞です。その結果、マルチパスは、他のプログラムで作成されたマルチパスの DM テーブルタイプのデバイスを変更しなくなりました。(BZ#1364879)
アクティブなシンプールに対して lvchange --zero n を使用した直後に変更が有効になるようになる
以前は、アクティブなシンプールに対して lvchange --zero n コマンドを使用すると、次にプールが非アクティブ化されるまで変更は反映されませんでした。今回の更新により、変更が即座に有効になりました。(BZ#1328245)
mdadm -IRs の誤った終了ステータスにより、起動時にエラーメッセージが表示されることがなくなりました。
以前は、load_container ()関数は、メンバーアレイからコンテナーを読み込もうとしませんでした。その結果、mdadm -IRs コマンドは、
1 の終了ステータスを誤って返し、ブート時にエラーメッセージが発生していました。load_container ()関数が変更され、コンテナーのメンバーアレイからの読み込みを防ぐようになりました。その結果、ブート時にエラーメッセージは発生しなくなります。(BZ#1348925)
IMSM では、コンテナー内の 2 つの RAID を移行することで、両方のアレイが劣化しなくなりました。
Intel Matrix Storage Manager (IMSM)では、2 つのアレイを持つコンテナー内の RAID レベルを変更できません。以前は、IMSM は、ディスクが削除された後にアレイカウントチェックを実行していました。その結果、たとえば 2 つの RAID を持つコンテナー内の RAID 1 から RAID 0 を変更するとエラーメッセージが返されましたが、劣化した RAID 1 は残りました。今回の更新により、ディスクの削除前にアレイカウントチェックが行われ、上記の問題は発生しなくなります。(BZ#1413615)
IMSM アレイが正しくアセンブルされ、正常に起動するようになりました。
以前は、Intel Matrix Storage Manager (IMSM)
イベント フィールドが生成番号で設定されていませんでした。その結果、mdadm ユーティリティーが、古いメタデータを持つコンテナーを再アセンブルし、エラーが発生することがありました。この更新により、IMSM イベント フィールドが生成番号で正しく設定されるようになりました。その結果、IMSM アレイが正しくアセンブルされ、正常に起動されました。(BZ#1413937)