2.6. 物理ストレージ
このセクションでは、Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 との間でなされた物理ストレージと関連設定ツールのサポート変更の概要について説明しています。
2.6.1. 起動時のマウント動作の変更
ストレージデバイスが起動時にマウントされるよう設定されているにも関わらず、そのデバイスを見つけることができない、またはそのデバイスが正常にマウントされないと、Red Hat Enterprise Linux 7 は起動に失敗します。これは、重要なストレージデバイスがなくてもシステムが起動することを防ぐために意図的に変更した動作です。Red Hat Enterprise Linux の以前のバージョンは、起動時にマウントされるように設定されたすべてのストレージデバイスが検出されたか、もしくは正しくマウントされたかに関係なく起動されました。
デバイスのシステムが起動しないことがないようにする必要がある場合は、以下に示されたように nofail
オプションでデバイスをマークできます。
/dev/essential-disk /essential xfs auto,defaults 0 0 /dev/non-essential-disk /non-essential xfs auto,defaults,nofail 0 0
2.6.2. LVM スナップショットをロールバックメカニズムとして使用
LVM スナップショットは、第 1 のロールバック方法としては推奨されません。アップグレード中にはシステム全体 (ユーザーファイルを除く) が上書きされます。このため、システムのスナップショットは元のデータセットとほとんど同じサイズになります。
さらに、スナップショットには /boot
パーティションが含まれないことから、通常のバックアッププロセスよりもエラーが発生しやすくなります。
Red Hat Enterprise Linux 6 から Red Hat Enterprise Linux 7 へのアップグレードの際には、完全なバックアップをとり、これを第 1 のロールバック方法として使用することを Red Hat では推奨しています。LVM スナップショットは、2 番目のロールバック方法としてのみ使用してください。
Red Hat Enterprise Linux 6.3 では、論理ボリューム上で残っているスペースをスナップショットのストレージスペースとして使用することができます。アップグレードや移行が失敗した場合は、システムはこのスナップショットに戻すことができます。
LVM スナップショットを第 2 のロールバック方法として使用したい場合は、完全なスナップショットに余裕を持たせるため、スペースを追加する必要があるかもしれません。スペースの追加は、以下のいずれかで実行できます。
- 新たなディスクを追加します。手順については、ストレージ管理ガイドを参照してください。
- parted を使って、既存のパーティションに割り当てられていない空きスペースをチェックします。
- lsblk を使って、空きパーティションもしくは削除して空きスペースにできるパーティションをチェックします。
- vgdisplay を使って、論理ボリュームに割り当てられていないボリュームグループに空き領域があるかをチェックします。
- df を使って、空き領域があり縮小可能なファイルシステムをチェックします。この場合、論理ボリュームもしくはパーティションを縮小して空き領域にすることができます。
ロールバックに LVM スナップショットを使用する際には、以下の制限がある場合があることに注意してください。
- スナップショットのサイズは自動的に調整されません。パーティションに対してスナップショットが大きくなり過ぎた場合は、スナップショットが無効になる可能性があり、その場合はロールバックが失敗することになります。このため、スナップショットを作成する前に、システム全体のスナップショットに十分な大きさの領域を割り当てることが必須となります。root スナップショットのサイズ変更が必要な場合は、元の root デバイスをアンマウントしてサイズを変更している間に root デバイスとして使用可能な、ライブ CD などの新たなデバイスが必要になります。
- スナップショットのコピーオンライトのデバイスは複製されず、システムが複製されるかどうかに関わらず、単一デバイス上に置かれます。このデバイスが失敗してスナップショットが失われると、ロールバックができなくなります。Red Hat では、mdraid による物理ボリュームの使用、もしくは複数のスナップショットを使ったディスクの分割を推奨しています。複数のスナップショットを使用したほうが遅くなります。
- インストール中にクラッシュが発生すると、システムは起動できなくなります。このような場合、Red Hat では、ライブ CD もしくは PXE ブートで起動し、システムが正常に起動した後にスナップショットをマージすることを推奨しています。マージの手順は、Red Hat Enterprise Linux 7 LVM のドキュメントに記載されています。
-
ロールバックすると、
/var/log
をアップグレード前の状態に戻します。監査のために、Red Hat は、ロールバック開始前に、ログファイルをインストールから別の場所にコピーすることを推奨します。
2.6.3. targetcli によるターゲット管理
Red Hat Enterprise Linux の以前のバージョンでは、iSCSI ターゲットのサポートには tgtd を使用し、Linux カーネルターゲットの LIO は fcoe-target-utils パッケージで Ethernet 経由のファイバーチャンネル (FCoE) ターゲットにのみ使われていました。
Red Hat Enterprise Linux 7 では、LIO カーネルターゲットサブシステムを FCoE、iSCSI、iSER (Mellanox InfiniBand)、および SRP (Mellanox InfiniBand) ストレージファブリックに使用します。ファブリックはすべて、targetcli ツールで管理できます。
2.6.4. 永続的なデバイス名
Red Hat Enterprise Linux 7 では、カーネルメッセージ内にデバイス名 (たとえば、sda、sdb など) と永続的なデバイス名 (udev
が /dev/disk/by-*/
で提供) のマッピングを保存することで、システム上のデバイス管理を容易にしています。これにより、システム管理者は、ブートするたびにデバイス名が変更しても、特定のデバイスに関連付けられたメッセージを特定することができます。
カーネルの /dev/kmsg
ログは dmesg
コマンドで表示でき、シンボリックリンク用のメッセージを表示できます。これは、udev
がカーネルデバイス用に作成したものです。これらのメッセージは、以下の形式で表示されます。udev-alias: device_name (symbolic_link symbolic link …)
以下に例を示します。
udev-alias: sdb (disk/by-id/ata-QEMU_HARDDISK_QM00001)
このメッセージは、どのログアナライザーでも表示できます。また、メッセージは syslog により /var/log/messages
に保存されます。
この機能を有効にするには、/etc/default/grub
のカーネルコマンドラインに udev.alias=1
を追加します。
2.6.5. LVM キャッシュボリューム
Red Hat Enterprise Linux 7.1 では、LVM キャッシュボリューム機能が完全に対応するようになりました。この機能を使用すると、小規模で高速なデバイスで論理ボリュームを作成し、大規模で低速なデバイスのキャッシュとして動作させることができるようになります。キャッシュ論理ボリュームの作成方法については lvmcache
の man ページを参照してください。