Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 SUSE Linux Enterprise Server 11 SP4

15 高度なディスクセットアップ

高性能のシステム設定には、特定のディスクセットアップが必要です。すべての一般的なパーティション関連作業は、YaSTを使って行えます。ブロックデバイスで固定的なデバイス名を取得するには、/dev/disk/by-id/または/dev/disk/by-uuidの下のブロックデバイス名を使用します。論理ボリュームマネージャ(LVM)は、ディスクパーティショニング用のスキーマで、標準的なセットアップで使用される物理パーティショニングよりもずっと柔軟性が高くなるように設計されています。そのスナップショット機能を利用すれば、簡単にデータバックアップを作成できます。RAID (Redundant Array of Independent Disks)を使用すれば、データの整合性、パフォーマンス、および耐障害性が向上します。SUSE Linux Enterprise Serverは、マルチパスI/Oもサポートしています(詳細については、第7章 「デバイスのマルチパスI/Oの管理を参照)。また、iSCSIをネットワークディスクとして使用するオプションもあります(iSCSIの詳細については、第14章 「IPネットワークの大容量記憶域 - iSCSI を参照)

15.1 YaSTのパーティショナの使用

図15.1「YaSTのパーティショナ」に示す[上級者向けのパーティション設定]ダイアログを使って、1つまたは複数のハードディスクのパーティションを手動で設定します。パーティションの追加、削除、サイズ変更、および編集に加えて、ソフトRAIDとLVMの設定にアクセスすることもできます。

警告
警告: 稼働中システムのパーティション再設定

システムの実行中にそのパーティションを再設定できますが、誤操作によるデータ損失のリスクが非常に高くなります。インストールしたシステムのパーティション再設定は避けて、常に再設定の前にデータを完全にバックアップしてください。

YaSTのパーティショナ
図 15.1: YaSTのパーティショナ
ヒント
ヒント: IBM System z: デバイス名

IBM System zは、DASDとSCSIハードディスクしか認識できません。IDEハードディスクはサポートされていません。これが理由で、これらのデバイスは、パーティションテーブル内でdasdaまたはsdaという名前で表示され、最初に認識されるデバイスになります。

接続されているすべてのハードディスクの既存パーティションまたは提案パーティションが、YaSTのエキスパートパーティショナダイアログのAvailable Storage (使用できるストレージ)にすべて一覧表示されます。ハードディスク全体は、番号のないデバイスとしてリストされます(/dev/sda/dev/dasdaなど)。パーティションは、それらのデバイスの一部としてリストされます(/dev/sda1/dev/dasda1など)。ハードディスクのサイズ、タイプ、暗号化のステータス、ファイルシステム、マウントポイントと、ハードディスクのパーティションも表示されます。マウントポイントには、Linuxファイルシステムツリー内のどこにパーティションが表示されるかが指定されています。

いくつかの機能ビューがSystem Viewの左側に表示されます。これらのビューを使用して、既存のストレージに関する情報を収集するか、RAIDVolume ManagementCrypt Filesなどの機能を設定するか、または追加機能をもつファイルシステム(BTRFSNFSTMPFSなど)を表示します。

インストール中、エキスパートダイアログで作業中の場合は、未使用のハードディスクスペースも表示され、自動的に選択されます。SUSE® Linux Enterprise Serverで使用できるディスクスペースを広げるには、このリストの下から上の方向に(ハードディスクの最後のパーティションから最初のパーティションの方向)、必要なスペースを確保できるまで領域を解放します。

15.1.1 パーティションのタイプ

ヒント
ヒント: IBM System z: ハードディスク

IBM System zプラットフォーム上のSUSE Linux Enterprise Serverでは、SCSIハードディスクとDASD (Direct Access Storage Device)をサポートしています。SCSIディスクは以下の方法でパーティション設定することが可能ですが、DASDではパーティションテーブルに指定できるパーティションエントリが3つに限られます。

どのハードディスクにも、パーティションテーブルがあり、4つのエントリ領域が設けられています。パーティションテーブルの各エントリは、基本パーティションまたは拡張パーティションのいずれかに対応します。ただし、拡張パーティションとして指定できるエントリは、1つだけです。

基本パーティションは、単純にシリンダの連続した領域(物理ディスク領域)で構成され、これらのシリンダは、特定のオペレーティングシステムに割り当てられています。プライマリパーティションの場合、ハードディスク当たりのパーティション数は、5以上にするとパーティションテーブルに収まらないので、4までに制限されています。このような理由から、拡張パーティションが使用されます。拡張パーティションも、ディスクシリンダ上の連続範囲ですが、さらに論理パーティションに分割することができます。論理パーティションは、必ずしもパーティションテーブルに存在している必要はありません。つまり、拡張パーティションは論理パーティションのコンテナということになります。

パーティションが5つ以上必要な場合は、4番目(またはそれ以前)のパーティションとして拡張パーティションを作成します。この拡張パーティションには、残りの空きシリンダ領域全体を使用します。さらに、この拡張パーティションを複数の論理パーティションに区切ります。論理パーティションの最大数は、63であり、ディスクタイプから独立しています。どのタイプのパーティションを使用しても、Linuxへの影響はありません。プライマリパーティションと論理パーティションは両方とも正常に機能します。

ヒント
ヒント: GPTパーティションテーブル

ハードディスク上に5つ以上のプライマリパーティションを作成する必要がある場合は、GPTパーティションタイプを使用する必要があります。このタイプを使用すると、プライマリパーティションの番号制限がなくなり、2TBを越える大型パーティションもサポートされます。

GPTを使用するには、YaSTのパーティショナを実行し、システムビューで関連のディスク名をクリックし、エキスパート › 新しいパーティションテーブルの作成 › GPTの順に選択します。

15.1.2 パーティションの作成

パーティションを初めから作成するには、ハードディスクを選択して、空領域を含むハードディスクを選択します。実際の変更は、パーティションタブで行うことができます。

  1. 追加を選択し、パーティションタイプ(プライマリまたは拡張)を指定します。最大4つの基本パーティションを作成するか、最大3つの基本パーティションと1つの拡張パーティションを作成します。拡張パーティション内に、いくつかの論理パーティションを作成します(詳細については、15.1.1項 「パーティションのタイプ」を参照してください)。

  2. 新しいパーティションのサイズを指定します。パーティションされていないすべての空きスペースの占有とカスタムサイズの入力のいずれかを選択できます。

  3. 使用するファイルシステムと、マウントポイントを選択します。YaSTによって、作成する各パーティション用のマウントポイントが提案されます。別のマウント方法(ラベルによるマウントなど)を使用するには、Fstabオプションを選択します。サポートされているファイルシステムについては、rootを参照してください。

  4. セットアップで必要な場合は、追加のファイルシステムオプションを指定します。たとえば、永続的デバイス名が必要な場合に必要になります。使用できるオプションの詳細については、15.1.3項 「パーティションの編集」を参照してください。

  5. 完了をクリックして、パーティション設定を適用し、パーティション設定モジュールを終了します。

    インストール時にパーティションを作成した場合は、インストール概要画面に戻ります。

15.1.2.1 Btrfsパーティショニング

新しくインストールしたシステムのデフォルトのファイルシステムとしてBtrfs (Btrfsの詳細については、第4章 「Snapperによるスナップショットとロールバック第1章 「Linuxファイルシステムの概要を参照)を使用する場合は、インストール設定画面でパーティションをクリックして、デフォルトのファイルシステムとしてBtrfsを使用チェックボックスをオンにします。次にインストールシステムによって、Ext3ファイルシステムでフォーマットされた/bootパーティションと、Btrfsでフォーマットされ、デフォルトのサブボリュームセットを保持したルート/パーティションを作成するように提示されます。これらはエキスパートパーティショナツールを使用して後で変更することができます。

ルートファイルシステムはデフォルトのサブボリュームなので、作成されたサブボリュームのリストには表示されません。デフォルトのBtrfsサブボリュームは、通常のファイルシステムとしてマウントできます。

Btrfsサブボリュームのスナップショットは、システムイベントに基づいて手動または自動で作成することができます。たとえば、ファイルシステムを変更する場合、変更の前後に、zypperによってsnapperコマンドが呼び出され、スナップショットが作成されます。これは、zypperによって行われた変更に満足できず、以前の状態に戻したい場合に役立ちます。zypperによって呼び出されるsnapperは、デフォルトではルートファイルシステムのスナップショットを作成するので、そこに含まれるデータの性質に応じて、特定のディレクトリをスナップショットの対象から外すことは適切な処理です。次に示すような独立したサブボリュームの作成がYaSTで提案される理由はここにあります。

提示されるBtrfsサブボリューム
/tmp /var/tmp /var/run

頻繁に変更されるコンテンツを含むディレクトリ。

/var/spool

メールなどのユーザデータが含まれます。

/var/log

ロールバック不可のシステムおよびアプリケーションのログファイルが含まれます。

/var/crash

クラッシュしたカーネルのメモリダンプが含まれます。

/srv

FTPサーバとHTTPサーバに属しているデータファイルが含まれます。

/opt

サードパーティのソフトウェアが含まれます。

ヒント
ヒント: Btrfsパーティションのサイズ

スナップショットの保存には多くのディスク容量を必要とするので、Btrfsパーティションには、スナップショット機能のないパーティション(Ext3など)よりも多くの容量を確保することをお勧めします。提示されるサブボリュームを含むルートBtrfsパーティションに推奨されるサイズは20GBです。

15.1.2.1.1 YaSTを使用したBtrfsサブボリュームの管理

YaSTのエキスパートパーティショナモジュールでBtrfsパーティションのサブボリュームを管理できるようになりました。新しいサブボリュームを追加したり、既存のサブボリュームを削除したりすることができます。

手順 15.1: YaSTによるBtrfsサブボリューム
  1. システム › ディスクの分割の順に選択して、YaSTのエキスパートパーティショナを起動します。

  2. 左側のシステムビューペインでBTRFSを選択します。

  3. サブボリュームを管理する必要があるBtrfsパーティションを選択し、編集をクリックします。

  4. サブボリューム処理をクリックします。選択したBtrfsパーティションに既存のすべてのサブボリュームのリストが表示されます。多くの@/.snapshots/xyz/snapshotエントリが確認できますが、これらのサブボリュームはそれぞれ1つの既存のスナップショットに属しています。

  5. サブボリュームを追加するのか、削除するのかに応じて、次の手順を実行します。

    1. サブボリュームを削除するには、既存のサブボリュームのリストからそのサブボリュームを選択して、削除を選択します。

    2. 新しいサブボリュームを追加するには、新しいサブボリュームテキストフィールドに名前を入力し、新規追加をクリックします。

      YaSTのパーティショナでのBtrfsサブボリューム
      図 15.2: YaSTのパーティショナでのBtrfsサブボリューム
  6. OKおよび完了をクリックして確定します。

  7. 完了をクリックしてパーティショナを閉じます。

15.1.3 パーティションの編集

新規パーティションの作成または既存パーティションの変更の際には、さまざまなパラメータを設定できます。新規パーティションの場合は、YaSTで設定されているデフォルトパラメータで十分であることが普通で、これらを変更する必要はありません。パーティション設定を手動で編集するには、以下の手順に従ってください。

  1. パーティションを選択します。

  2. 編集をクリックして、パーティションの編集およびパラメータ設定を実行します。

    ファイルシステムID

    この段階でパーティションをフォーマットしたくない場合でも、パーティションにファイルシステムIDを割り当て、パーティションが正しく登録されるようにします。典型的な値は、Linux Linux swapLinux LVM、およびLinux RAIDです。

    ファイルシステム

    パーティションのファイルシステムを変更するには、パーティションをフォーマットするをクリックし、ファイルシステムのリストでファイルシステムのタイプを選択します。

    SUSE Linux Enterprise Serverでは、数種類のファイルシステムをサポートしています。Btrfsは、高度な機能を備えており、最適なLinuxファイルシステムです。BtrFSは、コピーオンライト機能、スナップショットの作成、マルチデバイススパニング、サブボリュームなどの有用なテクニックをサポートします。ReiserFS、JFS、XFS、およびExt3は、ジャーナリングファイルシステムです。これらのファイルシステムは、システムクラッシュ後のシステムを非常に迅速に復元できます。これは、操作中にログされた書込みプロセスを利用できるからです。Ext2は、ジャーナリングファイルシステムではありませんが、管理にあまりディスクスペースがいらないので、小さなパーティションには十分なシステムです。

    注記
    注記: Ext4ファイルシステムのサポート

    Btrfsの方がExt4よりも効率性と拡張性が高いことは実証済みなので、SUSE Linux Enterprise Server SP2では、Ext4パーティションには読み込み専用アクセスしかサポートしていません。ただし、Ext4パーティションを読み込み/書込みモードでアクセスすることも可能です。その場合は、ext4-writeableパッケージをインストールする必要があります。ただし、これはサポートされていない操作であり、カーネルに問題を発生させる可能性があることに注意してください。

    スワップは、パーティションの仮想メモリとしての使用を可能にする特別なフォーマットです。最小256MBのスワップパーティションを作成します。ただし、スワップスペースを使い果たした場合は、スワップスペースを追加する代わりに、システムにメモリを追加することを検討してください。

    警告
    警告: ファイルシステムの変更

    ファイルシステムを変更したり、パーティションを再フォーマットすると、パーティションからすべてのデータが完全に削除され、復元することができなくなります。

    各種ファイルシステムの詳細については、『ストレージ管理ガイド』を参照してください。

    デバイスの暗号化

    暗号化を有効にした場合、すべてのデータは暗号化された状態で、ハードディスクに書き込まれます。これにより、機密データのセキュリティが向上しますが、暗号化の処理に時間がかかるので、システムの処理速度が低下します。ファイルシステムの暗号化の詳細については、Chapter 11, Encrypting Partitions and Filesを参照してください。

    マウントポイント

    ファイルシステムのツリー内でパーティションをマウントするディレクトリを指定します。YaSTによる推奨ディレクトリから選択するか、他の任意のディレクトリ名を入力します。

    fstabのオプション

    グローバルファイルシステム管理ファイル(/etc/fstab)にあるさまざまなパラメータを指定します。ほとんどの設定では、デフォルト設定で動作します。たとえば、ファイルシステムIDをデバイス名からボリュームラベルに変更できます。ボリュームラベルには、/およびスペース以外のすべての文字を使用することができます。

    永続的なデバイス名を取得するには、マウントオプションの デバイスIDUUID、またはラベルを使用します。SUSE Linux Enterprise Serverでは、永続的なデバイス名がデフォルトで有効になっています。

    注記
    注記: IBM System z;: パスによるマウント

    IBM System zでは、デバイスをIDでマウントしていると、クローニングの目的でディスクからディスクへのコピーを使用したときに障害が発生するので、デフォルトで/etc/fstabのパスによってデバイスがマウントされます。

    パーティションをそのラベルでマウントしたい場合は、ボリュームラベルテキストエントリでラベルを定義する必要があります。たとえば、/homeにマウントするパーティションには、パーティションラベルHOMEを使用できます。

    ファイルシステムでクォータを使用する場合は、マウントオプションクォータサポートを有効にするを使用します。このオプションを指定しておかないと、YaSTのユーザ管理モジュールでユーザのクオータを定義できません。ユーザクォータの設定方法の詳細については、12.3.5項 「クオータの管理」を参照してください。

  3. 完了を選択して、変更を保存します。

注記
注記: ファイルシステムのサイズ変更

既存ファイルシステムのサイズを変更するには、パーティションを選択し、サイズ変更をクリックします。パーティションはマウント中にはサイズ変更できないので注意してください。パーティションをサイズ変更するには、パーティショナの実行前に該当するパーティションをアンマウントします。

15.1.4 エキスパート用オプション

システムビューペインでハードディスクデバイス(sdaなど)を選択したら、エキスパートパーティショナウィンドウの右下部分にあるエキスパート...メニューにアクセスできます。メニューには、次のオプションが含まれています。

新しいパーティションテーブルの作成

このオプションを使用すると、選択したデバイス上に新しいパーティションテーブルを作成できます。

警告
警告: 新しいパーティションテーブルの作成

新しいパーティションテーブルをデバイス上に作成すると、そのデバイスからすべてのパーティションとそのデータが削除され、復元できなくなります。

このディスクのクローンを作成

このオプションを使用すると、デバイスのパーティションレイアウト(データを含まない)を他の使用可能なディスクデバイスに複製できます。

15.1.5 詳細オプション

コンピュータのホスト名(システムビューペインにあるツリーのトップレベル)を選択したら、エキスパートパーティショナウィンドウの右下にある設定...メニューにアクセスできます。メニューには、次のオプションが含まれています。

iSCSIの設定

IPブロックデバイス上でSCSIにアクセスするには、まず、iSCSIを設定する必要があります。これによって、利用可能な追加デバイスがメインパーティションリストに表示されます。

マルチパスの設定

このオプションを選択すると、サポートされている大容量記憶装置に対してマルチパス機能拡張を設定できます。

15.1.6 パーティション設定に関するヒント

以降のセクションでは、システムの設定時に正しい決定を下すために役立つパーティション設定に関するヒントを示します。

ヒント
ヒント: シリンダ番号

パーティション設定ツールによっては、パーティションのシリンダの番号を0または1で開始します。シリンダ数を計算するには、最後と最初のシリンダ番号の差に1を加えます。

15.1.6.1 swapの使用

swapは、使用可能な物理メモリの拡張に使用します。その結果、使用可能な物理RAMより多くのメモリを使用することが可能になります。2.4.10以前のカーネルのメモリ管理システムでは、安全措置としてswapが必要でした。そして、swap領域にRAMの2倍のサイズがないと、システムパフォーマンスが低下していました。これらの制限はもはや存在しません。

Linuxでは、LRU(Least Recently Used)と呼ばれるページを使用して、メモリからディスクへ移動する可能性のあるページを選択します。したがって、実行中のアプリケーションがより多くのメモリを使用できるだけでなく、キャッシングもさらにスムーズに機能します。

アプリケーションが最大許容メモリを割り当てようとすると、swapに伴う問題が発生する可能性があります。次の3つの主要なシナリオを検討します。

スワップのないシステム

アプリケーションは最大許容メモリを取得します。すべてのキャッシュが解放されるので、他のすべてのアプリケーションの速度が低下します。数分後に、カーネルのout-of-memory kill(メモリ不足解消)のメカニズムがアクティブになり、プロセスを終了させます。

中程度のスワップ(128MB~512MB)を持つシステム

まず、スワップのないシステムと同様に、システム速度が低下します。すべての物理RAMが使い果たされると、スワップ領域も使用されます。この時点で、システムが非常に遅くなり、リモートからコマンドを実行することが不可能になります。スワップ領域を実行するハードディスクの速度によっては、out-of-memory kill(メモリ不足解消)メカニズムが問題を解決するまで、システムのこの状態が約10分から15分続きます。ただし、コンピュータがディスクへのサスペンドを実行する場合は、一定量のスワップが必要になります。その場合、スワップには、メモリから必要なデータを取り込めるだけの大きさ(512MB~1GB)が必要です。

大量のスワップ(数GB)を持つシステム

この場合、暴走して過剰にスワップするアプリケーションがないことが望ましい条件です。そのようなアプリケーションを使用すると、システムが回復するまで長い時間がかかります。その間に、他のプロセスにタイムアウトや障害が発生しがちで、障害のあるプロセスを終了させた場合でも、システムが定義されていない状態のままになることがあります。その場合は、ハードマシンリブートを実行して、システムの再実行を試行します。大量のスワップが役立つのは、この機能に依存するアプリケーションがある場合です。そのようなアプリケーション(データベース、グラフィック操作プログラムなど゙)は、多くの場合、ニーズに応じてハードディスクの領域を直接使用するオプションを持っています。大量のスワップ領域を使用する代わりに、このオプションを使用することをお勧めします。

暴走はしないものの、しばらくするとスワップをさらに必要とするシステムの場合は、スワップ領域をオンラインで拡張できます。スワップ領域用パーティションを準備している場合は、YaSTでそのパーティションを追加してください。使用可能なパーティションがない場合は、スワップファイルを使用してスワップを拡張することもできます。スワップファイルを使用した場合は、一般に、パーティションを使用した場合より速度が遅くなりますが、物理RAMと比べると、両方とも非常に低速なので、実際の違いは無視できる程度です。

手順 15.2: 手動によるスワップファイルの追加

実行中のシステムにスワップファイルを追加するには、次の手順に従います。

  1. システム内で空ファイルを作成します。たとえば、128MBのスワップファイルを/var/lib/swap/swapfileに追加するには、次のコマンドを使用します。

    mkdir -p /var/lib/swap
    dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=128
  2. このスワップファイルを次のコマンドで初期化します。

    mkswap /var/lib/swap/swapfile
  3. スワップを次のコマンドで有効にします。

    swapon /var/lib/swap/swapfile

    このスワップファイルを無効にするには、次のコマンドを使用します。

    swapoff /var/lib/swap/swapfile
  4. 次のコマンドで、現在使用可能なスワップ領域を確認します。

    cat /proc/swaps

    ただし、この時点では、これは一時的なスワップ領域にすぎません。次の再起動後は使用されなくなります。

  5. このスワップファイルを永久的に有効にするには、次の行を/etc/fstabに追加します。

    /var/lib/swap/swapfile swap swap defaults 0 0

15.1.7 パーティション設定とLVM

エキスパートパーティショナから、システムビューペインにあるボリューム管理項目をクリックして、LVM設定にアクセスします。ただし、システムに有効なLVM設定がすでに存在する場合は、セッションの初期LVM設定時に、そのLVM設定が自動的にアクティブになります。この場合、パーティション(アクティブ化されたボリュームグループに属する)を含むすべてのディスクの再パーティション設定は不可能です。Linuxカーネルは、ハードディスクのパーティションが使用中の場合は、そのディスクの変更されたパーティションテーブルを再読み込みすることはできません。有効なLVM設定がシステムにすでに存在する場合は、物理的なパーティション再設定は必要ありません。代わりに、論理ボリュームの設定を変更します。

物理ボリューム(PV)の先頭では、そのボリュームに関する情報がパーティションに書き込まれます。こうしたパーティションをLVM以外の目的で再使用するには、このボリュームの先頭を削除ておくようにお勧めします。たとえば、VG systemおよびPV /dev/sda2では、これは、コマンドddif=/dev/zero of=/dev/sda2 bs=512 count=1で行うことができます。

警告
警告: ブート用ファイルシステム

ブートに使用するファイルシステム(rootファイルシステムまたは/boot)をLVM論理ボリュームに格納しないでください。通常の物理パーティションに格納してください。

LVMの詳細については、ストレージ管理ガイドを参照してください。

15.2 LVMの設定

このセクションでは、LVM(論理ボリュームマネージャ)とその多目的機能の背後にある原理を手短に説明します。では、YaSTを使用したLVMのセットアップ方法を学びます。15.2.2項 「YaSTによるLVMの設定」

警告
警告

LVMの使用によって、データ損失などの危険性が増大する場合があります。この危険性にはアプリケーションのクラッシュ、電源障害、誤ったコマンドなども含まれます。LVMまたはボリュームの再設定を実施する前にデータを保存してください。バックアップなしでは作業を実行しないでください。

15.2.1 論理ボリュームマネージャ(LVM)

LVMは、複数のファイルシステム上でハードディスクスペースを柔軟に割り振ることができます。LVMが開発された理由は、初期パーティショニングの完了直後に、ハードディスクスペースのセグメンテーションを変更する必要が生じる場合があるためです。稼動中のシステムでパーティションを変更することは困難なため、LVMは必要に応じて論理ボリューム(LV)を作成できるメモリスペースの仮想プール(ボリュームグループ(VG))を提供します。オペレーティングシステムは物理パーティションの代わりにこれらのLVにアクセスします。ボリュームグループは2つ以上のディスクを占有できるので、複数のディスクまたはそれらの一部で1つのボリュームグループを構成することができます。このようにして、LVMは物理ディスクスペースからの一種の抽象化を提供します。これによって、物理的な再パーティショニングよりはるかに簡単で安全な方法で物理ディスクスペースのセグメンテーションを変更できます。物理パーティショニングに関連する背景情報については15.1.1項 「パーティションのタイプ」および15.1項 「YaSTのパーティショナの使用」を参照してください。

物理パーティショニング対LVM
図 15.3: 物理パーティショニング対LVM

図15.3「物理パーティショニング対LVM」では物理パーティショニング(左)とLVM区分(右)を比較しています。左側では、1つのディスクが3つの物理パーティション(PART)に分割され、オペレーティングシステムがアクセスできるように、各PARTにはマウントポイント(MP)が割り当てられています。右側では2つのディスクがそれぞれ3つの物理パーティションに分かれています。2つのLVMボリュームグループ(VG 1およびVG 2)が定義されています。VG 1にはDISK 1とDISK 2の2つのパーティションが含まれます。VG 2はDISK 2の2つのパーティションを除いた残り部分になります。LVMではボリュームグループに組み込まれた物理ディスクパーティションは物理ボリューム(PV)と呼ばれます。ボリュームグループ内では、4つのLV(LV1からLV4まで)が定義されています。オペレーティングシステムは、これらのLVを関連のマウントポイントを介して使用できます。異なるLV間の境界をパーティション境界と整合させる必要はありません。この例ではLV 1およびLV 2の間に境界があります。

LVMの機能:

  • 複数のハードディスクまたはパーティションを大きな論理ボリュームにまとめることができます。

  • 設定が適切であれば、空き領域がなくなった場合には、LV(/usrなど)を拡張できます。

  • LVMを使用すると、実行中のシステムにハードディスクやLVを追加できます。ただし、これには、ホットスワップ可能なハードウェアが必要です。

  • 複数のPV上にLVのデータストリームを割り当てる「ストライピングモード」を有効にすることもできます。これらのPVが異なるディスクに分散している場合は、RAID 0と同様に、読み取り/書き込みのパフォーマンスが向上します。

  • スナップショット機能は、稼動中のシステム(特に稼働中のサーバ)から一貫性のあるバックアップを取ることを可能にします。

これらの機能を持つLVMは、酷使される家庭用PCや小規模なサーバに利用できます。LVMは、データストック(データベース、ミュージックアーカイブ、ユーザディレクトリなど)が増大するユーザに最適です。LVMは物理ハードディスクより大きなファイルシステムを利用できます。LVMのもう1つの利点は最大256個のLVを追加できることです。ただし、LVMの操作は、従来のパーティションの操作と異なります。LVMの設定についての指示および詳しい情報はhttp://tldp.org/HOWTO/LVM-HOWTO/の公式LVM HOWTOからご利用いただけます。

LVMバージョン2は、カーネルバージョン2.6以降で使用可能です。LVMバージョン2は、旧バージョンと後方互換性があり、これまでのボリュームグループの管理を継続できます。新しいボリュームグループを作成する場合は、新しいフォーマットと後方互換バージョンのどちらを使用するか決定します。LVM 2にはいずれのカーネルパッチも必要ありません。これは、カーネル2.6に統合されているデバイスマッパーを活用しています。このカーネルはLVMバージョン2のみをサポートしています。そのため、このセクションでLVMと書かれている場合、それはLVMバージョン2を指しています。

15.2.1.1 シンプロビジョニング

カーネルバージョン3.4から、LVMではシンプロビジョニングをサポートしています。シンプロビジョニングされたボリュームには、仮想の容量と実際の容量が含まれます。仮想の容量とは、ホストで使用可能なボリュームストレージ容量です。実際の容量とは、ストレージプールからボリュームコピーに割り当てられたストレージ容量です。割り当てられたボリューム全体では、仮想の容量と実際の容量は同じになります。しかし、シンプロビジョニングされたボリュームでは、仮想の容量を実際の容量よりかなり大きくすることができます。シンプロビジョニングされたボリュームに書き込み操作のための十分な実際の容量がない場合、ボリュームはオフラインとなり、エラーが記録されます。

一般情報の詳細については、http://wikibon.org/wiki/v/Thin_provisioningを参照してください。

15.2.2 YaSTによるLVMの設定

YaSTのLVM設定には、システムビューペインのボリューム管理項目にあるYaSTエキスパートパーティショナ(15.1項 「YaSTのパーティショナの使用」参照)からアクセスできます。エキスパートパーティショナにより、既存のパーティションを編集および削除できます。また、LVMで使用する必要のある新規パーティションを作成することもできます。最初のタスクは、ボリュームグループに容量を提供するPVを作成することです。

  1. ハードディスクからハードディスクを選択します。

  2. パーティションタブに変更します。

  3. 追加をクリックし、このディスク上のPVの適切なサイズを入力します。

  4. パーティションをフォーマットしないを使用し、ファイルシステムID0x8E Linux LVMに変更します。このパーティションはマウントしないでください。

  5. 利用可能なディスク上で目的のすべての物理ボリュームを定義するまで、この手順を繰り返します。

15.2.2.1 ボリュームグループの作成

システムにボリュームグループがまったく存在しない場合は、ボリュームグループを追加する必要があります(図15.4「ボリュームグループの作成」を参照)。システムビューペインでボリューム管理をクリックし、次に、ボリュームグループの追加をクリックすることで、追加グループを作成できます。ボリュームグループは、通常、1つだけで十分です。

  1. ボリュームグループの名前(たとえば、システム)を入力します。

  2. Physical Extend Sizeで希望する物理エクステントサイズを選択します。この値はボリュームグループの物理ブロックサイズを定義します。ボリュームグループ内の全ディスクスペースが、このサイズのブロック単位で操作されます。

  3. デバイスを選択して追加をクリックし、用意のできたPVをVGに追加します。Ctrlキーを押しながらデバイスを選択すると、複数のデバイスを選択できます。

  4. 完了を選択し、さらに詳細な設定手順でVGを使用できるようにします。

ボリュームグループの作成
図 15.4: ボリュームグループの作成

複数の定義されたボリュームグループがあり、PVを追加または削除したい場合は、ボリューム管理リストでボリュームグループを選択し、サイズ変更をクリックします。次のウィンドウでは、選択したボリュームグループに対してPVを追加または削除できます。

15.2.2.2 物理ボリュームの設定

ボリュームグループへのPVの追加を完了したら、次のダイアログでオペレーティングシステムが使用するLVを定義します。現在のボリュームグループを選択し、論理ボリュームタブに切り替えます。ボリュームグループ内のすべての領域が満たされるまで、必要に応じて、追加編集サイズ変更、または削除でLVを操作します。各ボリュームグループに少なくとも1つのLVを割り当ててください。

論理ボリューム管理
図 15.5: 論理ボリューム管理

追加をクリックして開いたウィザードのようなポップアップの指示に従って、次の手順を実行します。

  1. LVの名前を入力します。/homeにマウントするパーティションには、HOMEなどわかりやすい名前を使用します。

  2. LVのタイプを選択します。ノーマルボリュームシンプール、またはシンボリュームのいずれかとすることができます。個々のシンボリュームを保存できるシンプールを最初に作成する必要のあることに注意してください。

  3. LVのサイズ、およびストライプ数を選択します。PVが1つだけの場合は、複数のストライプを選択しても役に立ちません。

    ヒント
    ヒント

    シンプロビジョニングの大きなメリットは、シンプールに保存されたすべてのシンボリュームの総合計がプール自体のサイズを超過することができることです。

  4. LV上で使用するファイルシステムとマウントポイントを選択します。

ストライプを使用することにより、複数のPV上(ストライピング)に存在するLVにデータストリームを分配することも可能です。ただし、ボリュームのストライピングは、各PVが少なくともそのボリュームのスペース量を提供する異なるPV間でのみ実行できます。ストライプの最大数は、PVの数に等しいので、ストライプ「1」とは、「ストライピングなし」を意味します。ストライピングは、互いに異なるハード デスクに存在するPV間で行う場合のみ有用です。そうでない場合は、パフォーマンスが減少します。

警告
警告: ストライピング

YaSTは、現時点では、ストライピングに関するエントリの正しさを確認できません。何か間違いがあった場合、それが明らかになるのはLVMがディスクに実装された後です。

すでにシステム上にLVMを設定した場合、ここで既存の論理ボリュームを使用することもできます。続行する前に、これらのLVに適切なマウントポイントを割り当てます。完了を選択してYaSTエキスパートパーティショナに戻り、そこで作業を完了します。

15.3 ソフトウェアRAID設定

RAID (Redundant Array of Independent Disks)の目的は、複数のハードディスクパーティションを1つの大きな仮想ハードディスクに統合して、パフォーマンスおよび/またはデータのセキュリティを最適化することです。大部分のRAIDコントローラは、SCSIプロトコルを使用します。これは、SCSIプロトコルがIDEプロトコルより効率的な方法で、より多くのハードディスクを制御できるからです。SCSIプロトコルは、パラレルコマンド処理用としても、より適切なプロトコルです。一方、IDEまたはSATAハードディスクをサポートしているRAIDコントローラもあります。ソフトウェアRAIDは、ハードウェアRAIDコントローラの追加購入することなく、RAIDシステムの利点を提供します。ただし、これにはいくらかのCPU時間を要し、高性能コンピュータには適さないメモリ要件があります。

SUSE® Linux Enterprise Serverを使用すると、数台のハードディスクを1つのソフトウェアRAIDシステムに統合できます。RAIDには、それぞれが異なる目標、利点、および属性をもついくつかのハードディスクを1つのRAIDシステムに結合するためのいくつかの戦略が含まれています。これらは通常、RAIDレベルと呼ばれます。

一般的なRAIDレベルは次のとおりです。

RAID 0

このレベルでは、各ファイルのブロックが複数のディスクドライブに分散されるので、データアクセスのパフォーマンスが向上します。このレベルは、データのバックアップを提供しないため、実際にはRAIDではありませんが、RAID  0という名前は、このタイプのシステムに対して一般的に使用されています。RAID 0では、2つ以上のハードディスクが互いにプールします。パフォーマンスは向上しますが、たった1つのハードディスクに障害が発生しただけで、このRAIDシステムは破壊され、データは失われます。

RAID 1

このレベルでは、データが他のハードディスクに一対一でコピーされるため、データに対する適切なセキュリティが提供されます。これは、ハードディスクミラーリングとして知られています。一方のディスクが破壊された場合は、その内容のコピーを他方のディスクで利用できます。したがって、1つのディスク以外のすべてのディスクが損なわれても、データは保全されます。ただし、破損が検出されない場合は、その破損データが、損傷を受けていないディスクにミラーリングされることがありますこれによって、同一のデータ損失が発生する可能性があります。書き込みパフォーマンスは、単一ディスクアクセスを使用する場合より、コピー処理が遅くなります(10〜20パーセント低速)。ただし、読み取りアクセスは、通常の物理ハードディスクのどれよりもはるかに高速です。その理由は、重複データをパラレルスキャンできるからです。一般に、レベル 1では、読み取り転送速度が単一ディスクの2倍近くになりますが、書き込み転送速度は単一ディスクとほぼ同じです。

RAID 5

RAIDD 5は、パフォーマンスと冗長性の面で、レベル0とレベル1を最適に調整したものです。ハードディスクスペースは、使用されるディスク数から1を引いたものに等しくなります。データは、RAID 0の場合と同様に、ハードディスク間に配布されます。パーティションの1つで作成されるパリティブロックは、セキュリティ上の理由で存在します。各パーティションはXORによって互いにリンクされているので、システム障害の場合に、内容が対応するパリティブロックによって再構築されます。RAIDD 5の場合、同時に複数のハードディスクが障害を起こすことはありません。1つのハードディスクに障害がある場合は、そのハードディスクをできるだけ早く交換して、データ消失の危険性をなくす必要があります。

RAID 6

RAIDの信頼性を向上するには、RAID 6を使用できます。このレベルでは、2つのディスクが故障した場合でも、アレイを再構築できます。RAID 6では、少なくとも4つのアレイを実行する必要があります。ただし、この設定をソフトウェアRAIDとして実行する場合は、かなりのCPUとメモリを必要とします。

RAID 10 (RAID 1+0)

このRAIDの実装では、RAID 0とRAID 1の機能を組み合わせています。まず、データが個々のディスクアレイにミラーリングされ、それらのアレイが新しいRAID 0タイプのアレイに挿入されます。各RAID 1サブアレイでは、1つのディスクが故障しても、データは損傷しません。RAID 10を実行するには、偶数台数のハードディスクを4台以上使用する必要があります。このタイプのRAID は、膨大な負荷の発生が予期されるデータベースアプリケーションに使用します。

その他のRAIDレベル

その他のRAIDレベル(RAID 2、RAID 3、RAID 4、RAIDn、RAID 10、RAID 0+1、RAID 30、RAID 50など)も開発されていますが、その一部は、ハードウェアベンダによる専有権付き実装です。これらのレベルは、あまり広く使用されていないので、ここでの説明は省略します。

15.3.1 YaSTによるソフトウェアRAID設定

YaSTのRAID設定には、15.1項 「YaSTのパーティショナの使用」に説明があるYaSTエキスパートパーティショナからアクセスできます。このパーティション分割ツールを使用すると、既存のパーティションを編集および削除したり、ソフトウェアRAIDで使用される新規パーティションを作成できます。

  1. ハードディスクからハードディスクを選択します。

  2. パーティションタブに変更します。

  3. 追加をクリックし、このディスクでのRAIDパーティションのサイズを入力します。

  4. Do not Format the Partitionを使用し、ファイルシステムID0xFD Linux RAIDに変更します。このパーティションはマウントしないでください。

  5. 利用可能なディスク上で目的のすべての物理ボリュームを定義するまで、この手順を繰り返します。

RAID 0およびRAID 1の場合、少なくとも2つのパーティションが必要です。RAID 1の場合、パーティションは2つだけです。RAID 5を使用する場合は3つ以上のパーティションが必要で、RAID 6およびRAID 10を使用するには4つ以上のパーティションが必要です。パーティションはすべて同じサイズとすることをお勧めします。ハードディスクのどれかに障害が発生した場合にデータを失うリスクを減らしたり(RAID 1、RAID 5)、RAID 0のパフォーマンスを最適化するには、RAIDパーティションを異なる複数のハードディスクに配置する必要があります。RAIDで使用するパーティションをすべて作成したら、RAID › Add RAIDの順に選択して、RAIDの設定を開始します。

次のダイアログでは、RAIDレベル0、5、6、10のどれかを選択します。次に、RAIDシステムで使用するLinux RAIDタイプまたはLinuxネイティブタイプどちらかのパーティションをすべて選択します。スワップパーティションまたはDOSパーティションは表示されません。

ヒント
ヒント

追加したディスクの順序が重要であるRAIDタイプについては、個々のディスクに、文字AからEのいずれかでマークすることができます。分類ボタンをクリックし、ディスクを選択してクラスXボタンのいずれかをクリックします。ここで、Xはディスクに割り当てる文字のことです。使用可能なすべてのディスクをこのように割当てて、OKを押して確定します。ソート済みまたはインタリーブ済みボタンを使用して分類されたディスクを簡単にソートしたり、ファイルのパターンを使用してソートパターンを簡単に追加することができます。

RAIDパーティション
図 15.6: RAIDパーティション

前に割り当てを解除したパーティションを、選択したRAIDボリュームに追加するには、そのパーティションをクリックしてから、追加をクリックします。すべてのパーティションをRAID用の予約パーティションとして割り当てます。すべてのパーティションを割り当てないと、パーティションのスペースが未使用のまま残ります。パーティションをすべて割り当てたら、次へをクリックして、利用可能なRAID Optionsを選択します。

最後のステップでは、使用するファイルシステムのほか、暗号化とRAIDボリュームのマウントポイントを設定します。完了をクリックして設定を完了した後、エキスパートパーティショナ内のRAIDとマークされた/dev/md0デバイスと他のデバイスを観察してください。

15.3.2 トラブルシューティング

/proc/mdstatsファイルをチェックして、RAIDパーティションが破壊されているかどうかを調べます。システム障害が発生した場合は、Linuxシステムをシャットダウンして、問題のあるハードディスクを、同じ方法でパーティショニングされている新しいハードディスクに置き換えます。次に、システムを再起動して、mdadm /dev/mdX --add /dev/sdXコマンドを入力します。「X」を使用しているデバイス識別子に置き換えてください。これにより、ハードディスクがRAIDシステムに自動的に統合され、そのRAIDシステムが完全に再構築されます。

再構築中もすべてのデータにアクセスできますが、RAIDが完全に再構築されるまでは、パフォーマンス上の問題が発生する可能性があります。

15.3.3 詳細情報

ソフトウェアRAIDの設定方法と詳細情報が、次のHOWTOにあります。

http://marc.info/?l=linux-raidなどのLinux RAIDメーリングリストがあります。

このページを印刷