
高性能のシステム設定には、特定のディスクセットアップが必要です。すべての一般的なパーティション関連作業は、YaSTを使って行えます。ブロックデバイスで固定的なデバイス名を取得するには、/dev/disk/by-id/または/dev/disk/by-uuidの下のブロックデバイス名を使用します。論理ボリュームマネージャ(LVM)は、ディスクパーティショニング用のスキーマで、標準的なセットアップで使用される物理パーティショニングよりもずっと柔軟性が高くなるように設計されています。そのスナップショット機能を利用すれば、簡単にデータバックアップを作成できます。RAID (Redundant Array of Independent Disks)を使用すれば、データの整合性、パフォーマンス、および耐障害性が向上します。SUSE Linux Enterprise Serverは、マルチパスI/Oもサポートしています(詳細については、Chapter 7, Managing Multipath I/O for Devices, Storage Administration Guideを参照)。また、iSCSIをネットワークディスクとして使用するオプションもあります(iSCSIの詳細については、Chapter 14, Mass Storage over IP Networks: iSCSI, Storage Administration Guideを参照)。
図15.1「YaSTのパーティショナ」に示す[上級者向けのパーティション設定]ダイアログを使って、1つまたは複数のハードディスクのパーティションを手動で設定します。パーティションの追加、削除、サイズ変更、および編集に加えて、ソフトRAIDとLVMの設定にアクセスすることもできます。
システムの実行中にそのパーティションを再設定できますが、誤操作によるデータ損失のリスクが非常に高くなります。インストールしたシステムのパーティション再設定は避けて、常に再設定の前にデータを完全にバックアップしてください。
IBM System zは、DASDとSCSIハードディスクしか認識できません。IDEハードディスクはサポートされていません。これが理由で、これらのデバイスは、パーティションテーブル内でdasdaまたはsdaという名前で表示され、最初に認識されるデバイスになります。
接続されているすべてのハードディスクの既存パーティションまたは提案パーティションが、YaSTのダイアログのにすべて一覧表示されます。ハードディスク全体は、番号のないデバイスとしてリストされます(/dev/sdaや/dev/dasdaなど)。パーティションは、それらのデバイスの一部としてリストされます(/dev/sda1や/dev/dasda1など)。ハードディスクのサイズ、タイプ、暗号化のステータス、ファイルシステム、マウントポイントと、ハードディスクのパーティションも表示されます。マウントポイントには、Linuxファイルシステムツリー内のどこにパーティションが表示されるかが指定されています。
いくつかの機能ビューがの左側に表示されます。これらのビューを使用して、既存のストレージに関する情報を収集するか、RAID、Volume Management、Crypt Filesなどの機能を設定するか、または追加機能をもつファイルシステム(BTRFS、NFS、TMPFSなど)を表示します。
インストール中、エキスパートダイアログで作業中の場合は、未使用のハードディスクスペースも表示され、自動的に選択されます。SUSE® Linux Enterprise Serverで使用できるディスクスペースを広げるには、このリストの下から上の方向に(ハードディスクの最後のパーティションから最初のパーティションの方向)、必要なスペースを確保できるまで領域を解放します。
IBM System zプラットフォーム上のSUSE Linux Enterprise Serverでは、SCSIハードディスクとDASD (Direct Access Storage Device)をサポートしています。SCSIディスクは以下の方法でパーティション設定することが可能ですが、DASDではパーティションテーブルに指定できるパーティションエントリが3つに限られます。
どのハードディスクにも、パーティションテーブルがあり、4つのエントリ領域が設けられています。パーティションテーブルの各エントリは、基本パーティションまたは拡張パーティションのいずれかに対応します。ただし、拡張パーティションとして指定できるエントリは、1つだけです。
基本パーティションは、単純にシリンダの連続した領域(物理ディスク領域)で構成され、これらのシリンダは、特定のオペレーティングシステムに割り当てられています。プライマリパーティションの場合、ハードディスク当たりのパーティション数は、5以上にするとパーティションテーブルに収まらないので、4までに制限されています。このような理由から、拡張パーティションが使用されます。拡張パーティションも、ディスクシリンダ上の連続範囲ですが、さらに論理パーティションに分割することができます。論理パーティションは、必ずしもパーティションテーブルに存在している必要はありません。つまり、拡張パーティションは論理パーティションのコンテナということになります。
パーティションが5つ以上必要な場合は、4番目(またはそれ以前)のパーティションとして拡張パーティションを作成します。この拡張パーティションには、残りの空きシリンダ領域全体を使用します。さらに、この拡張パーティションを複数の論理パーティションに区切ります。論理パーティションの最大数は、63であり、ディスクタイプから独立しています。どのタイプのパーティションを使用しても、Linuxへの影響はありません。プライマリパーティションと論理パーティションは両方とも正常に機能します。
ハードディスク上に5つ以上のプライマリパーティションを作成する必要がある場合は、GPTパーティションタイプを使用する必要があります。このタイプを使用すると、プライマリパーティションの番号制限がなくなり、2TBを越える大型パーティションもサポートされます。
GPTを使用するには、YaSTのパーティショナを実行し、で関連のディスク名をクリックし、 › › の順に選択します。
パーティションを初めから作成するには、を選択して、空領域を含むハードディスクを選択します。実際の変更は、タブで行うことができます。
を選択し、パーティションタイプ(プライマリまたは拡張)を指定します。最大4つの基本パーティションを作成するか、最大3つの基本パーティションと1つの拡張パーティションを作成します。拡張パーティション内に、いくつかの論理パーティションを作成します(詳細については、15.1.1項 「パーティションのタイプ」を参照してください)。
新しいパーティションのサイズを指定します。パーティションされていないすべての空きスペースの占有とカスタムサイズの入力のいずれかを選択できます。
使用するファイルシステムと、マウントポイントを選択します。YaSTによって、作成する各パーティション用のマウントポイントが提案されます。別のマウント方法(ラベルによるマウントなど)を使用するには、を選択します。サポートされているファイルシステムについては、rootを参照してください。
セットアップで必要な場合は、追加のファイルシステムオプションを指定します。たとえば、永続的デバイス名が必要な場合に必要になります。使用できるオプションの詳細については、15.1.3項 「パーティションの編集」を参照してください。
をクリックして、パーティション設定を適用し、パーティション設定モジュールを終了します。
インストール時にパーティションを作成した場合は、インストール概要画面に戻ります。
rootパーティションのデフォルトのファイルシステムはBtrfsです(Btrfsの詳細は、第4章 Snapperを使用したシステムの回復とスナップショット管理, 管理ガイドおよびChapter 1, Overview of File Systems in Linux, Storage Administration Guideを参照してください)。ルートファイルシステムはデフォルトのサブボリュームなので、作成されたサブボリュームのリストには表示されません。デフォルトのBtrfsサブボリュームは、通常のファイルシステムとしてマウントできます。
Btrfsサブボリュームのスナップショットは、手動で作成できるほか、システムイベントに基づいて自動的に作成することもできます。たとえば、ファイルシステムを変更する場合、変更の前後に、zypperによってsnapperコマンドが呼び出され、スナップショットが作成されます。これは、zypperによって行われた変更に満足できず、以前の状態に戻したい場合に役立ちます。zypperによって呼び出されるsnapperは、デフォルトではルートファイルシステムのスナップショットを作成するので、そこに含まれるデータの性質に応じて、特定のディレクトリをスナップショットの対象から外すことは適切な処理です。次に示すような独立したサブボリュームの作成がYaSTで提案される理由はここにあります。
/tmp /var/tmp /var/run
頻繁に変更されるコンテンツを含むディレクトリ。
/var/spool
メールなどのユーザデータが含まれます。
/var/log
ロールバック不可のシステムおよびアプリケーションのログファイルが含まれます。
/var/crash
クラッシュしたカーネルのメモリダンプが含まれます。
/srv
FTPサーバとHTTPサーバに属しているデータファイルが含まれます。
/opt
サードパーティのソフトウェアが含まれます。
スナップショットの保存には多くのディスク容量を必要とするので、Btrfsパーティションには、スナップショット機能のないパーティション(Ext3など)よりも多くの容量を確保することをお勧めします。提示されるサブボリュームを含むルートBtrfsパーティションに推奨されるサイズは20GBです。
YaSTのモジュールでBtrfsパーティションのサブボリュームを管理できるようになりました。新しいサブボリュームを追加したり、既存のサブボリュームを削除したりすることができます。
› の順に選択して、YaSTのを起動します。
左側のペインでを選択します。
サブボリュームを管理する必要があるBtrfsパーティションを選択し、をクリックします。
をクリックします。選択したBtrfsパーティションに既存のすべてのサブボリュームのリストが表示されます。ここには多数の@/.snapshots/xyz/snapshotエントリが表示されていますが、これらのサブボリュームはそれぞれ1つの既存のスナップショットに属しています。
サブボリュームを追加するのか、削除するのかに応じて、次の手順を実行します。
サブボリュームを削除するには、のリストからそのサブボリュームを選択して、を選択します。
新しいサブボリュームを追加するには、テキストボックスに名前を入力し、をクリックします。
およびをクリックして確定します。
をクリックしてパーティショナを閉じます。
新規パーティションの作成または既存パーティションの変更の際には、さまざまなパラメータを設定できます。新規パーティションの場合は、YaSTで設定されているデフォルトパラメータで十分であることが普通で、これらを変更する必要はありません。パーティション設定を手動で編集するには、以下の手順に従ってください。
パーティションを選択します。
をクリックして、パーティションの編集およびパラメータ設定を実行します。
この段階でパーティションをフォーマットしたくない場合でも、パーティションにファイルシステムIDを割り当て、パーティションが正しく登録されるようにします。典型的な値は、、、、およびです。
パーティションのファイルシステムを変更するには、をクリックし、のリストでファイルシステムのタイプを選択します。
SUSE Linux Enterprise Serverでは、数種類のファイルシステムをサポートしています。Btrfsは、高度な機能を備えていることから、rootパーティションに最適なLinuxファイルシステムです。BtrfSは、コピーオンライト機能、スナップショットの作成、マルチデバイススパニング、サブボリュームなどの有用なテクニックをサポートします。XFS、Ext3、およびJFSは、ジャーナリングファイルシステムです。これらのファイルシステムでは、動作中にログに記録された書き込みプロセスを使用して、システムクラッシュ後にシステムを迅速に復元できます。Ext2は、ジャーナリングファイルシステムではありませんが、管理にあまりディスクスペースがいらないので、小さなパーティションには十分なシステムです。
rootパーティションのデフォルトのファイルシステムはBtrfsです。追加パーティションのデフォルトのファイルシステムはXFSです。
スワップは、パーティションの仮想メモリとしての使用を可能にする特別なフォーマットです。最小256MBのスワップパーティションを作成します。ただし、スワップスペースを使い果たした場合は、スワップスペースを追加する代わりに、システムにメモリを追加することを検討してください。
ファイルシステムを変更したり、パーティションを再フォーマットすると、パーティションからすべてのデータが完全に削除され、復元することができなくなります。
各種ファイルシステムの詳細については、『ストレージ管理ガイド』を参照してください。
暗号化を有効にした場合、すべてのデータは暗号化された状態で、ハードディスクに書き込まれます。これにより、機密データのセキュリティが向上しますが、暗号化の処理に時間がかかるので、システムの処理速度が低下します。ファイルシステムの暗号化の詳細については、Chapter 11, Encrypting Partitions and Files, Security Guideを参照してください。
ファイルシステムのツリー内でパーティションをマウントするディレクトリを指定します。YaSTによる推奨ディレクトリから選択するか、他の任意のディレクトリ名を入力します。
グローバルファイルシステム管理ファイル(/etc/fstab)にあるさまざまなパラメータを指定します。ほとんどの設定では、デフォルト設定で動作します。たとえば、ファイルシステムIDをデバイス名からボリュームラベルに変更できます。ボリュームラベルには、/およびスペース以外のすべての文字を使用することができます。
永続的なデバイス名を取得するには、マウントオプションの 、、またはを使用します。SUSE Linux Enterprise Serverでは、永続的なデバイス名がデフォルトで有効になっています。
IBM System zでは、デバイスをIDでマウントしていると、クローニングの目的でディスクからディスクへのコピーを使用したときに障害が発生するので、デフォルトで/etc/fstabのパスによってデバイスがマウントされます。
パーティションをそのラベルでマウントしたい場合は、テキストエントリでラベルを定義する必要があります。たとえば、/homeにマウントするパーティションには、パーティションラベルHOMEを使用できます。
ファイルシステムでクォータを使用する場合は、マウントオプションを使用します。このオプションを指定しておかないと、YaSTのモジュールでユーザのクオータを定義できません。ユーザクォータの設定方法の詳細については、12.3.4項 「クオータの管理」を参照してください。
を選択して、変更を保存します。
既存ファイルシステムのサイズを変更するには、パーティションを選択し、をクリックします。パーティションはマウント中にはサイズ変更できないので注意してください。パーティションをサイズ変更するには、パーティショナの実行前に該当するパーティションをアンマウントします。
ペインでハードディスクデバイス(など)を選択すると、ウィンドウの右下部分にあるメニューにアクセスできるようになります。メニューには、次のオプションが含まれています。
このオプションを使用すると、選択したデバイス上に新しいパーティションテーブルを作成できます。
新しいパーティションテーブルをデバイス上に作成すると、そのデバイスからすべてのパーティションとそのデータが削除され、復元できなくなります。
このオプションを使用すると、デバイスのパーティションレイアウト(データを含まない)を他の使用可能なディスクデバイスに複製できます。
コンピュータのホスト名(ペインのツリー最上位にある名前)を選択すると、ウィンドウの右下にあるメニューにアクセスできるようになります。メニューには、次のオプションが含まれています。
IPブロックデバイス上でSCSIにアクセスするには、まず、iSCSIを設定する必要があります。これによって、利用可能な追加デバイスがメインパーティションリストに表示されます。
このオプションを選択すると、サポートされている大容量記憶装置に対してマルチパス機能拡張を設定できます。
以降のセクションでは、システムの設定時に正しい決定を下すために役立つパーティション設定に関するヒントを示します。
パーティション設定ツールによっては、パーティションのシリンダの番号を0または1で開始します。シリンダ数を計算するには、最後と最初のシリンダ番号の差に1を加えます。
swapの使用 #swapは、使用可能な物理メモリの拡張に使用します。その結果、使用可能な物理RAMより多くのメモリを使用することが可能になります。2.4.10以前のカーネルのメモリ管理システムでは、安全措置としてswapが必要でした。そして、swap領域にRAMの2倍のサイズがないと、システムパフォーマンスが低下していました。これらの制限はもはや存在しません。
Linuxでは、LRU(「Least Recently Used」)と呼ばれるページを使用して、メモリからディスクへ移動する可能性のあるページを選択します。したがって、実行中のアプリケーションがより多くのメモリを使用できるだけでなく、キャッシングもさらにスムーズに機能します。
アプリケーションが最大許容メモリを割り当てようとすると、swapに伴う問題が発生する可能性があります。次の3つの主要なシナリオを検討します。
アプリケーションは最大許容メモリを取得します。すべてのキャッシュが解放されるので、他のすべてのアプリケーションの速度が低下します。数分後に、カーネルのout-of-memory kill(メモリ不足解消)のメカニズムがアクティブになり、プロセスを終了させます。
まず、スワップのないシステムと同様に、システム速度が低下します。すべての物理RAMが使い果たされると、スワップ領域も使用されます。この時点で、システムが非常に遅くなり、リモートからコマンドを実行することが不可能になります。スワップ領域を実行するハードディスクの速度によっては、out-of-memory kill(メモリ不足解消)メカニズムが問題を解決するまで、システムのこの状態が約10分から15分続きます。ただし、コンピュータが「ディスクへのサスペンド」を実行する場合は、一定量のスワップが必要になります。その場合、スワップには、メモリから必要なデータを取り込めるだけの大きさ(512MB~1GB)が必要です。
この場合、暴走して過剰にスワップするアプリケーションがないことが望ましい条件です。そのようなアプリケーションを使用すると、システムが回復するまで長い時間がかかります。その間に、他のプロセスでタイムアウトや障害が発生する可能性があります。その場合は、障害が発生したプロセスを終了しても、システムが未定義状態のままになります。その場合は、ハードマシンリブートを実行して、システムの再実行を試行します。大量のスワップが役立つのは、この機能に依存するアプリケーションがある場合です。そのようなアプリケーション(データベース、グラフィック操作プログラムなど゙)は、多くの場合、ニーズに応じてハードディスクの領域を直接使用するオプションを持っています。大量のスワップ領域を使用する代わりに、このオプションを使用することをお勧めします。
暴走はしないものの、しばらくするとスワップをさらに必要とするシステムの場合は、スワップ領域をオンラインで拡張できます。スワップ領域用パーティションを準備している場合は、YaSTでそのパーティションを追加します。使用可能なパーティションがない場合は、スワップファイルを使用してスワップを拡張することもできます。スワップファイルはパーティションよりも動作速度が遅いことが普通ですが、物理RAMと比べるとどちらもきわめて低速なので、実際の違いは無視できます。
実行中のシステムにスワップファイルを追加するには、次の手順に従います。
システム内で空ファイルを作成します。たとえば、128MBのスワップファイルを/var/lib/swap/swapfileに追加するには、次のコマンドを使用します。
mkdir -p /var/lib/swap dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=128
このスワップファイルを次のコマンドで初期化します。
mkswap /var/lib/swap/swapfile
スワップを次のコマンドで有効にします。
swapon /var/lib/swap/swapfile
このスワップファイルを無効にするには、次のコマンドを使用します。
swapoff /var/lib/swap/swapfile
次のコマンドで、現在使用可能なスワップ領域を確認します。
cat /proc/swaps
ただし、この時点では、これは一時的なスワップ領域にすぎません。次の再起動後は使用されなくなります。
このスワップファイルを永久的に有効にするには、次の行を/etc/fstabに追加します。
/var/lib/swap/swapfile swap swap defaults 0 0
から、ペインにある項目をクリックして、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の詳細については、Storage Administration Guideを参照してください。
このセクションでは、LVM(論理ボリュームマネージャ)とその多目的機能の背後にある原理を手短に説明します。では、YaSTを使用したLVMのセットアップ方法を学びます。15.2.2項 「YaSTによるLVMの設定」
LVMの使用によって、データ損失などの危険性が増大する場合があります。この危険性にはアプリケーションのクラッシュ、電源障害、誤ったコマンドなども含まれます。LVMまたはボリュームの再設定を実施する前にデータを保存してください。バックアップなしでは作業を実行しないでください。
LVMは、複数のファイルシステム上でハードディスクスペースを柔軟に割り振ることができます。LVMが開発された理由は、初期パーティショニングの完了直後に、ハードディスクスペースのセグメンテーションを変更する必要が生じる場合があるためです。稼動中のシステムでパーティションを変更することは困難なため、LVMは必要に応じて論理ボリューム(LV)を作成できるメモリスペースの仮想プール(ボリュームグループ(VG))を提供します。オペレーティングシステムは物理パーティションの代わりにこれらのLVにアクセスします。ボリュームグループは2つ以上のディスクを占有できるので、複数のディスクまたはそれらの一部で1つのボリュームグループを構成することができます。このようにして、LVMは物理ディスクスペースからの一種の抽象化を提供します。これによって、物理的な再パーティショニングよりはるかに簡単で安全な方法で物理ディスクスペースのセグメンテーションを変更できます。物理パーティショニングに関連する背景情報については15.1.1項 「パーティションのタイプ」および15.1項 「YaSTのパーティショナの使用」を参照してください。
図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を指しています。
カーネルバージョン3.4から、LVMではシンプロビジョニングをサポートしています。シンプロビジョニングされたボリュームには、仮想の容量と実際の容量が含まれます。仮想の容量とは、ホストで使用可能なボリュームストレージ容量です。実際の容量とは、ストレージプールからボリュームコピーに割り当てられたストレージ容量です。割り当てられたボリューム全体では、仮想の容量と実際の容量は同じになります。しかし、シンプロビジョニングされたボリュームでは、仮想の容量を実際の容量よりかなり大きくすることができます。シンプロビジョニングされたボリュームに書き込み操作のための十分な実際の容量がない場合、ボリュームはオフラインとなり、エラーが記録されます。
一般情報の詳細については、http://wikibon.org/wiki/v/Thin_provisioningを参照してください。
YaSTのLVM設定には、ペインの項目にあるYaSTエキスパートパーティショナ(15.1項 「YaSTのパーティショナの使用」参照)からアクセスできます。エキスパートパーティショナにより、既存のパーティションを編集および削除できます。また、LVMで使用する必要のある新規パーティションを作成することもできます。最初のタスクは、ボリュームグループに容量を提供するPVを作成することです。
からハードディスクを選択します。
タブに変更します。
をクリックし、このディスク上のPVの適切なサイズを入力します。
を使用し、をに変更します。このパーティションはマウントしないでください。
利用可能なディスク上で目的のすべての物理ボリュームを定義するまで、この手順を繰り返します。
システムにボリュームグループがまったく存在しない場合は、ボリュームグループを追加する必要があります(図15.4「ボリュームグループの作成」を参照)。ペインでをクリックし、続いてをクリックすることで、追加グループを作成できます。ボリュームグループは、通常、1つだけで十分です。
ボリュームグループの名前(たとえば、システム)を入力します。
で希望する物理エクステントサイズを選択します。この値はボリュームグループの物理ブロックサイズを定義します。ボリュームグループ内の全ディスクスペースが、このサイズのブロック単位で操作されます。
デバイスを選択してをクリックし、用意したPVをVGに追加します。Ctrlを押しながらデバイスを選択すると、複数のデバイスを選択できます。
を選択し、さらに詳細な設定手順でVGを使用できるようにします。
複数の定義されたボリュームグループがあり、PVを追加または削除したい場合は、リストでボリュームグループを選択し、をクリックします。次のウィンドウでは、選択したボリュームグループに対してPVを追加または削除できます。
ボリュームグループへのPVの追加を完了したら、次のダイアログでオペレーティングシステムが使用するLVを定義します。現在のボリュームグループを選択し、タブに切り替えます。ボリュームグループ内のすべての領域が満たされるまで、必要に応じて、、、、またはでLVを操作します。各ボリュームグループに少なくとも1つのLVを割り当ててください。
をクリックして開いたウィザードのようなポップアップの指示に従って、次の手順を実行します。
LVの名前を入力します。/homeにマウントするパーティションには、HOMEなどの名前を使用できます。
LVのタイプを選択します。、、またはのいずれかとすることができます。個々のシンボリュームを保存できるシンプールを最初に作成する必要のあることに注意してください。
LVのサイズ、およびストライプ数を選択します。PVが1つだけの場合は、複数のストライプを選択しても役に立ちません。
シンプロビジョニングの大きなメリットは、シンプールに保存されたすべてのシンボリュームの総合計がプール自体のサイズを超過することができることです。
LV上で使用するファイルシステムとマウントポイントを選択します。
ストライプを使用することにより、複数のPV上(ストライピング)に存在するLVにデータストリームを分配することも可能です。ただし、ボリュームのストライピングは、各PVが少なくともそのボリュームのスペース量を提供する異なるPV間でのみ実行できます。ストライプの最大数は、PVの数に等しいので、ストライプ「1」とは、「ストライピングなし」を意味します。ストライピングは、互いに異なるハード デスクに存在するPV間で行う場合のみ有用です。そうでない場合は、パフォーマンスが減少します。
YaSTは、現時点では、ストライピングに関するエントリの正しさを確認できません。何か間違いがあった場合、それが明らかになるのはLVMがディスクに実装された後です。
すでにシステム上にLVMを設定した場合、ここで既存の論理ボリュームを使用することもできます。続行する前に、これらのLVに適切なマウントポイントを割り当てます。を選択してYaSTエキスパートパーティショナに戻り、そこで作業を完了します。
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ではありませんが、RAID 0という名前は、このタイプのシステムに対して一般的に使用されています。RAID 0では、2つ以上のハードディスクが互いにプールします。パフォーマンスは向上しますが、たった1つのハードディスクに障害が発生しただけで、このRAIDシステムは破壊され、データは失われます。
このレベルでは、データが他のハードディスクに一対一でコピーされるため、データに対する適切なセキュリティが提供されます。これは、ハードディスクミラーリングとして知られています。一方のディスクが破壊された場合は、その内容のコピーを他方のディスクで利用できます。したがって、1つのディスク以外のすべてのディスクが損なわれても、データは保全されます。ただし、破損が検出されない場合は、その破損データが、損傷を受けていないディスクにミラーリングされることがありますこれによって、同一のデータ損失が発生する可能性があります。書き込みパフォーマンスは、単一ディスクアクセスを使用する場合より、コピー処理が遅くなります(10〜20パーセント低速)。ただし、読み取りアクセスは、通常の物理ハードディスクのどれよりもはるかに高速です。その理由は、重複データをパラレルスキャンできるからです。一般に、レベル 1では、読み取り転送速度が単一ディスクの2倍近くになりますが、書き込み転送速度は単一ディスクとほぼ同じです。
RAIDD 5は、パフォーマンスと冗長性の面で、レベル0とレベル1を最適に調整したものです。ハードディスクスペースは、使用されるディスク数から1を引いたものに等しくなります。データは、RAID 0の場合と同様に、ハードディスク間に配布されます。パーティションの1つで作成されるパリティブロックは、セキュリティ上の理由で存在します。各パーティションはXORによって互いにリンクされているので、システム障害の場合に、内容が対応するパリティブロックによって再構築されます。RAIDD 5の場合、同時に複数のハードディスクが障害を起こすことはありません。1つのハードディスクに障害がある場合は、そのハードディスクをできるだけ早く交換して、データ消失の危険性をなくす必要があります。
RAIDの信頼性を向上するには、RAID 6を使用できます。このレベルでは、2つのディスクが故障した場合でも、アレイを再構築できます。RAID 6では、少なくとも4つのアレイを実行する必要があります。ただし、この設定をソフトウェアRAIDとして実行する場合は、かなりのCPUとメモリを必要とします。
このRAIDの実装では、RAID 0とRAID 1の機能を組み合わせています。まず、データが個々のディスクアレイにミラーリングされ、それらのアレイが新しいRAID 0タイプのアレイに挿入されます。各RAID 1サブアレイでは、1つのディスクが故障しても、データは損傷しません。RAID 10を実行するには、偶数台数のハードディスクを4台以上使用する必要があります。このタイプのRAID は、膨大な負荷の発生が予期されるデータベースアプリケーションに使用します。
その他のRAIDレベル(RAID 2、RAID 3、RAID 4、RAIDn、RAID 10、RAID 0+1、RAID 30、RAID 50など)も開発されていますが、その一部は、ハードウェアベンダによる専有権付き実装です。これらのレベルは、あまり広く使用されていないので、ここでの説明は省略します。
YaSTの設定には、15.1項 「YaSTのパーティショナの使用」に説明があるYaSTエキスパートパーティショナからアクセスできます。このパーティション分割ツールを使用すると、既存のパーティションを編集および削除したり、ソフトウェアRAIDで使用される新規パーティションを作成できます。
からハードディスクを選択します。
タブに変更します。
をクリックし、このディスクでのRAIDパーティションのサイズを入力します。
を使用し、をに変更します。このパーティションはマウントしないでください。
利用可能なディスク上で目的のすべての物理ボリュームを定義するまで、この手順を繰り返します。
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の設定を開始します。
次のダイアログでは、RAIDレベル0、5、6、10のどれかを選択します。次に、RAIDシステムで使用する「Linux RAID」タイプまたは「Linuxネイティブ」タイプどちらかのパーティションをすべて選択します。スワップパーティションまたはDOSパーティションは表示されません。
追加したディスクの順序が重要であるRAIDタイプについては、個々のディスクに、文字AからEのいずれかでマークすることができます。ボタンをクリックし、ディスクを選択してボタンのいずれかをクリックします。ここで、Xはディスクに割り当てる文字のことです。使用可能なすべてのディスクをこのように割当てて、を押して確定します。またはボタンを使用して分類されたディスクを簡単にソートしたり、を使用してソートパターンを簡単に追加することができます。
前に割り当てを解除したパーティションを、選択したRAIDボリュームに追加するには、そのパーティションをクリックしてから、をクリックします。すべてのパーティションをRAID用の予約パーティションとして割り当てます。すべてのパーティションを割り当てないと、パーティションのスペースが未使用のまま残ります。パーティションをすべて割り当てたら、をクリックして、利用可能なを選択します。
最後のステップでは、使用するファイルシステムのほか、暗号化とRAIDボリュームのマウントポイントを設定します。をクリックして設定を完了した後、エキスパートパーティショナ内のRAIDとマークされた/dev/md0デバイスと他のデバイスを観察してください。
/proc/mdstatsファイルをチェックして、RAIDパーティションが破壊されているかどうかを調べます。システム障害が発生した場合は、Linuxシステムをシャットダウンして、問題のあるハードディスクを、同じ方法でパーティショニングされている新しいハードディスクに置き換えます。次に、システムを再起動して、mdadm /dev/mdX --add /dev/sdXコマンドを入力します。「X」を使用しているデバイス識別子に置き換えてください。これにより、ハードディスクがRAIDシステムに自動的に統合され、そのRAIDシステムが完全に再構築されます。
再構築中もすべてのデータにアクセスできますが、RAIDが完全に再構築されるまでは、パフォーマンス上の問題が発生する可能性があります。
ソフトウェアRAIDの設定方法と詳細情報が、次のHOWTOにあります。
/usr/share/doc/packages/mdadm/Software-RAID.HOWTO.html
http://marc.info/?l=linux-raidなどのLinux RAIDメーリングリストがあります。