目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise Serverマニュアル / 展開ガイド / インストール手順 / エキスパートパーティショナ
適用項目 SUSE Linux Enterprise Server 15 SP6

11 エキスパートパーティショナ

高性能のシステム設定には、特定のディスクセットアップが必要です。インストール中に、すべての一般的なパーティショニングタスクを実行できます。

ブロックデバイスで固定的なデバイス名を取得するには、/dev/disk/by-idまたは/dev/disk/by-uuidの下のブロックデバイス名を使用します。

論理ボリュームマネージャ(LVM)は、ディスクパーティショニング用のスキーマで、標準的なセットアップで使用される物理パーティショニングよりもずっと柔軟性が高くなるように設計されています。そのスナップショット機能を利用すれば、簡単にデータバックアップを作成できます。RAID (Redundant Array of Independent Disks)を使用すれば、データの整合性、パフォーマンス、および耐障害性が向上します。SUSE Linux Enterprise ServerはマルチパスI/Oもサポートします(詳細については、第18章 「デバイスのマルチパスI/Oの管理を参照してください)。また、iSCSIをネットワークディスクとして使用する選択肢もあります(iSCSIの詳細については、第15章 「IPネットワークの大容量記憶域: iSCSIを参照してください)

警告
警告: ディスク容量単位

パーティション分割の目的で、ディスク容量は10進単位ではなく2進単位で測定されることに注意してください。たとえば、1GB1GiBまたは1Gのサイズを入力する場合、すべて1 GB(ギガバイト)ではなく、1 GiB(ギビバイト)を示します。

バイナリ

1 GiB = 1 073 741 824バイト。

10進

1 GB = 1 000 000 000バイト。

差異

1 GiB ≈ 1.07 GB。

11.1 熟練者向けパーティション設定の使用

熟練者向けパーティション設定(図11.1「YaSTのパーティション設定」)を使用して、パーティションの追加、削除、サイズ変更、および編集に加えて、ソフトRAIDとLVMの設定にアクセスすることもできます。

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

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

YaSTのパーティション設定
図 11.1: YaSTのパーティション設定
ヒント
ヒント: IBM Z: デバイス名

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

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

いくつかの機能ビューが左側のシステムビューに表示されます。これらのビューを使用すると、既存のストレージ設定に関する情報の収集、機能(RAIDVolume ManagementCrypt Filesなど)の設定、および追加機能(Btrfs、NFS、TMPFSなど)を持つファイルシステムの表示が行えます。

インストール中、エキスパートダイアログで作業中の場合は、未使用のハードディスクスペースも表示され、自動的に選択されます。SUSE Linux Enterprise Serverにさらにディスク容量を提供するには、パーティションのリストの下から順に必要な容量を解放してください。

11.1.1 パーティションテーブル

SUSE Linux Enterprise Serverでは、さまざまな「パーティションテーブル」の使用と作成が可能です。パーティションテーブルは、「ディスクラベル」と呼ばれることもあります。パーティションテーブルは、コンピュータのブートプロセスには不可欠です。新たに作成したパーティションテーブルのパーティションからマシンをブートする場合、そのテーブルの形式がファームウェアでサポートされていることを必ず確認してください。

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

11.1.1.1 マスタブートレコード

マスタブートレコード(MBR)は、IBM PCで使用されているレガシパーティションテーブルです。MS-DOSパーティションテーブルと呼ばれることもあります。MBRでサポートされているのは、4つのプライマリパーティションのみです。ディスクにMBRが存在している場合、SUSE Linux Enterprise Serverでは、MBR内に追加パーティションを作成することができます。これらはインストールターゲットとして使用可能です。

パーティションは4つしか許可されないという制限は、「拡張パーティション」を作成することによって克服できます。この拡張パーティション自体もプライマリパーティションであるため、その中に複数の「論理パーティション」を格納することができます

UEFIファームウェアでは、通常、MBRからのレガシモードでのブートがサポートされています。

11.1.1.2 GPTパーティションテーブル

UEFIコンピュータでは、デフォルトで「GUIDパーティションテーブル」(GPT)が使用されています。SUSE Linux Enterprise Serverは、ディスク上にそれ以外のパーティションテーブルが存在しないときにGPTを作成します。

古いBIOSファームウェアでは、GPTパーティションからのブートはサポートされていません。

次のいずれかの機能を使用するには、GPTパーティションテーブルが必要です。

  • 4つを超えるプライマリパーティション

  • UEFIセキュアブート

  • 2TBを超えるディスクの使用

注記
注記: Parted 3.1以前のバージョンを使用して作成された、誤ったラベルを付けられたパーティション

Parted 3.1以前のバージョンで作成されたGPTパーティションでは、新しいLinux固有のGPT GUIDではなく、Microsoft Basic Dataパーティションタイプが使用されています。Parted 3.1より後のバージョンでは、このようなパーティションにmsftdataという誤解を招くフラグが付けられます。このため、さまざまなディスクツールがこのようなパーティションにWindows Data Partitionのようなラベルを付けます。

このフラグを削除するには、次のコマンドを実行します。

# parted DEVICE set PARTITION_NUMBER msftdata off

11.1.1.3 IBM Z上のパーティションテーブル

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

11.1.2 パーティション

YaSTパーティショナでは、複数のファイルシステムのパーティションを作成してフォーマットできます。SUSE Linux Enterprise Serverで使用されているデフォルトのファイルシステムはBtrfsです。詳細については、11.1.2.2項 「Btrfsパーティショニング」を参照してください。

その他の一般的に使用されているファイルシステムも利用可能です: Ext2Ext3Ext4FATXFSSwap、およびUDF

11.1.2.1 パーティションの作成

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

  1. 追加をクリックして、新しいパーティションを作成します。MBRを使用する際には、プライマリパーティションまたは拡張パーティションの作成を指定します。拡張パーティション内には複数の論理パーティションを作成できます。詳細については、11.1.1項 「パーティションテーブル」を参照してください。

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

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

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

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

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

11.1.2.2 Btrfsパーティショニング

rootパーティションのデフォルトのファイルシステムはBtrfsです。詳細については、第10章 「Snapperを使用したシステムの回復とスナップショット管理 および第1章 「Linuxファイルシステムの概要を参照してください。ルートファイルシステムはデフォルトのサブボリュームなので、作成されたサブボリュームのリストには表示されません。デフォルトのBtrfsサブボリュームは、通常のファイルシステムとしてマウントできます。

重要
重要: 暗号化されたルートパーティションのBtrfs

デフォルトのパーティション分割設定では、Btrfsのルートパーティションは/boot付きのディレクトリになります。ルートパーティションを暗号化する場合は、デフォルトのMSDOSタイプではなく、GPTパーティションテーブルタイプを使用してください。そうでないと、GRUB2ブートローダは、2段階目のローダ用のスペースを十分に確保できません。

Btrfsサブボリュームのスナップショットは、手動で作成できるほか、システムイベントに基づいて自動的に作成することもできます。たとえば、ファイルシステムを変更する場合、変更の前後に、zypperによってsnapperコマンドが呼び出され、スナップショットが作成されます。これは、zypperによって行われた変更に満足できず、以前の状態に戻したい場合に役立ちます。snapperによって呼び出されたzypperは、デフォルトでルートファイルシステムのスナップショットを作成するため、特定のディレクトリをスナップショットから除外するのは理にかなっています。YaSTが次のサブボリュームを個別に作成することを推奨するのはそのためです。

/boot/grub2/i386-pc/boot/grub2/x86_64-efi/boot/grub2/powerpc-ieee1275/boot/grub2/s390x-emu

ブートローダ設定のロールバックはサポートされていません。これらのディレクトリは、アーキテクチャ固有です。最初の2つのディレクトリはAMD64/Intel 64マシン上に存在し、その後の2つのディレクトリはそれぞれIBM POWERとIBM Z上に存在します。

/home

/homeが独立したパーティションに存在していない場合、ロールバック時のデータ損失を避けるために除外されます。

/opt

サードパーティ製品は通常、/optにインストールされます。ロールバック時にこれらのアプリケーションがアンインストールされるのを避けるために除外されます。

/srv

WebおよびFTPサーバ用のデータが含まれています。ロールバック時にデータが失われるのを避けるために除外されます。

/tmp

スナップショットから除外される一時ファイルとキャッシュを含むすべてのディレクトリ。

/usr/local

このディレクトリは、ソフトウェアの手動インストール時に使用します。ロールバック時にこれらのインストール済みソフトウェアがアンインストールされるのを避けるために除外されます。

/var

このディレクトリには、ログ、一時キャッシュ、/var/optのサードパーティ製品など、多くのバリアブルファイルが含まれており、仮想マシンのイメージとデータベースのデフォルトの場所です。したがって、このサブボリュームはスナップショットからすべてのこのバリアブルデータを除外するように作成され、コピーオンライトが無効になっています。

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

スナップショットを保存すると、さらにディスク領域が必要になるため、Btrfs用に十分な領域を確保しておくことをお勧めします。スナップショットとデフォルトのサブボリュームを含むルートBtrfsパーティションの最小サイズは16GBですが、SUSEでは少なくとも32GB、または/homeが別のパーティションに存在しない場合はそれ以上を推奨しています。

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

YaSTの熟練者向けパーティション設定モジュールでBtrfsパーティションのサブボリュームを管理できるようになりました。新しいサブボリュームを追加したり、既存のサブボリュームを削除したりすることができます。

手順 11.1: YaSTによるBtrfsサブボリューム
  1. 左側のペインでBtrfsを選択します。

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

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

    1. サブボリュームを編集するには、リストからサブボリュームを選択し、編集をクリックします。その後、ボリュームのcopy-on-writeを無効にする(noCoWを選択する)か、ボリュームのサイズを制限することができます。了解をクリックして終了します。

    2. 新しいサブボリュームを追加するには、サブボリュームの追加をクリックし、そのパスを入力します。オプションで、ボリュームのcopy-on-writeを無効にする(noCoWを選択する)か、ボリュームのサイズを制限することができます。了解をクリックして終了します。

    3. サブボリュームを削除するには、リストからサブボリュームを選択し、削除をクリックします。はいをクリックして、削除を確認します。

    4. YaSTのパーティショナでのBtrfsサブボリューム
      図 11.2: YaSTのパーティショナでのBtrfsサブボリューム
  4. 完了をクリックしてパーティショナを閉じます。

11.1.3 パーティションの編集

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

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

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

    ファイルシステムID

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

    ファイルシステム

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

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

    rootパーティションのデフォルトのファイルシステムはBtrfsです。追加パーティションのデフォルトのファイルシステムはXFSです。

    UDFファイルシステムは、書き換え可能および書き換え不可な光メディア、USBフラッシュドライブ、ハードディスクでは使用できません。複数のオペレーティングシステムでサポートされています。

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

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

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

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

    デバイスの暗号化

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

    マウントポイント

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

    fstabのオプション

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

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

    注記
    注記: IBM Z: パスによるマウント

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

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

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

    Btrfsサブボリュームにクォータを指定する場合は、1.2.5項 「サブボリュームに対するBtrfsクォータのサポート」を参照してください。

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

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

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

11.1.4 熟練者向けオプション

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

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

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

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

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

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

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

11.1.5 [詳細設定]

コンピュータのホスト名(システムビューペインのツリー最上位にある名前)を選択すると、エキスパートパーティショナウィンドウの右下にある設定メニューにアクセスできるようになります。メニューには、次のオプションが含まれています。

iSCSIの設定

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

マルチパスの設定

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

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

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

11.1.6.1 シリンダ番号

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

11.1.6.2 使用 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と比べるとどちらもきわめて低速なので、実際の違いは無視できます。

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

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

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

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

    > sudo mkswap /var/lib/swap/swapfile
    注記
    注記: mkswapでフォーマットするとスワップパーティションのUUIDが変更される

    可能であれば、mkswapで既存のスワップパーティションを再フォーマットしないでください。mkswapで再フォーマットすると、スワップパーティションのUUIDの値が変更されます。YaSTで再フォーマットするか(/etc/fstabが更新されます)、/etc/fstabを手動で調整します。

  3. スワップを次のコマンドで有効にします。

    > sudo swapon /var/lib/swap/swapfile

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

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

    > cat /proc/swaps

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

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

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

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

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

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

dd if=/dev/zero of=/dev/sda2 bs=512 count=1
警告
警告: ブート用ファイルシステム

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

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

11.2 デバイスの暗号化

Linux Unified Key Setup (LUKS)は、Linuxのディスク暗号化標準です。標準化されたディスク上のフォーマットを提供し、ユーザがデータをシームレスに転送または移行できるようにします。

LUKSはブロックデバイスの暗号化に使用されます。暗号化されたデバイス内の内容は任意であるため、スワップパーティションを含むあらゆるファイルシステムを暗号化できます。暗号鍵やパラメータなど(暗号の種類や鍵サイズなど)の必要なセットアップ情報はすべてパーティションヘッダ内に保存されます。

暗号化はマルチレイヤアプローチで実施されます。最初に、マスタキーを使用してブロックデバイスが暗号化されます。次に、このマスタキーがそれぞれ有効なユーザキーで暗号化されます。ユーザキーは、パスフレーズ、FIDO2セキュリティキー、TPM、またはスマートカードから生成されます。このマルチレイヤアプローチにより、ユーザはブロックデバイス全体を再暗号化することなくパスフレーズを変更することができます。

LUKSの詳細についてはChapter 13, Storage encryption for hosted applications with cryptctlを参照してください。

11.2.1 暗号化方式

デバイスを暗号化するには、11.1.3項 「パーティションの編集」の手順に従ってください。

ヒント
ヒント: YaSTでのLUKS2サポートの有効化

LUKS2暗号化は、SUSE Linux Enterprise 15 SP4以降のYaSTパーティション設定でサポートされていますが、明示的に有効にする必要があります。これには2通りの方法があります。

  1. ブート時に設定する場合は、カーネルコマンドラインに対してYAST_LUKS2_AVAILABLEパラメータを追加します。ブートパラメータについては、第8章 「ブートパラメータを参照してください。

  2. YaST設定でのインストール時に設定する場合:

    • グラフィカルインタフェースでは、CtrlAltShiftCを押します。

    • テキストインタフェースでは、CtrlDを押してから、ShiftCを押します。

    Enable Experimental LUKS2 Encryption Support (実験中のLUKS2暗号化サポートの有効化)]をオンにし、[OK]を押して設定画面を閉じます。

LUKS2サポートを有効化しない場合、暗号化方式の選択は表示されず、暗号化パスワードの入力のみが必要となります。

通常のLUKS1

この方式では、LUKS1を使用してデバイスを暗号化できます。暗号化パスワードを指定する必要があります。追加のパスワード(合計8つまで)は、後でcryptsetup luksAddKeyを使用して追加できます。

通常のLUKS2

LUKS2は、破損に強い新しいバージョンのヘッダ形式を使用し、最大32個のユーザキーとデバイスラベルをサポートします。暗号化パスワード、およびそのパスフレーズを保護するために使用されるパスワードベースの鍵導出関数(PBKDF)を指定する必要があります(11.2.2項 「パスワードベースの鍵導出関数」を参照)。

Pervasive LUKS2 (全方位型LUKS2) (IBM Zのみ)

この方式では、CCAモードで設定されたCrypto Express暗号化コプロセッサで処理されたマスタセキュアキーで、LUKS2を使用してデバイスを暗号化できます。暗号化システムにこのボリュームに関連付けられているセキュアキーがすでに含まれている場合、そのキーが使用されます。含まれていない場合、新しいセキュアキーが生成され、システムに登録されます。そのマスタキーへのアクセスを保護するために使用される暗号化パスワードを指定する必要があります。さらに、システム内にいくつかのAPQNがある場合は、使用する対象を選択できます。

全方位型暗号化の詳細については、https://www.ibm.com/docs/en/linux-on-systems?topic=security-pervasive-encryptionを参照してください。

揮発性の乱数鍵による暗号化 (スワップデバイスのみ)

この方式では、ブート時にランダムに生成された鍵でスワップデバイスを暗号化します。したがって、ハードディスクへのハイバーネーションはサポートされません。スワップデバイスは起動のたびに再暗号化され、それ以前の内容は破棄されます。データの損失を回避するため、ご使用のシステムでハイバーネーションを無効にし、代わりにシャットダウンするように設定してください。

スワップデバイスが再暗号化されるたびに、暗号鍵に加えて、デバイスラベルとUUIDが変化するため、どちらもランダムに暗号化されたスワップデバイスをマウントする有効なオプションではありません。そのため、/etc/crypttabファイル内では、スワップデバイスが、再起動ごとに変化しない一定の名前で参照されるようにしてください。たとえば、スワップパーティションでは、パーティションのデバイス名ではなく、udevのデバイスIDやパスを使用する方が安全です。そのデバイス名は、次のブート時に別のパーティションに割り当てられる可能性があるからです。そうなると、そのスワップデバイスではなく、間違ったデバイスを暗号化してしまう可能性があります。

YaSTは、デバイス名を常に使用するように設定した場合(パーティション設定の設定セクションを参照)を除き、/etc/crypttab内で変化しない名前を使用しようとします。ただし、一部のデバイスの場合、完全に変化しない名前を見つけることができない場合があります。揮発性の鍵による暗号化は、その影響についてよく理解したうえで使用してください。

Protected Swap (保護されたスワップ) (スワップデバイスのみ)

この方式では、暗号化コプロセッサを必要とせずに、揮発性保護AES鍵でスワップデバイスを暗号化します。これはEncryption with Volatile Random Key方式の改良版ですが、この方式に関するすべての考慮事項が引き続き適用されます。

Secure Swap (セキュアスワップ) (スワップデバイスのみ)

この方式では、暗号化コプロセッサから生成された揮発性のセキュアAES鍵でスワップデバイスを暗号化します。これはEncryption with Volatile Random Key方式の改良版ですが、この方式に関するすべての考慮事項が引き続き適用されます。

11.2.2 パスワードベースの鍵導出関数

使用するパスワードベースの鍵導出関数(PBKDF)は、コンテキスト、ハードウェアの性能、および他のシステムコンポーネントとの互換性要求レベルによって異なります。

PBKDF2

PBKDF2は、LUKS1が使用する関数です。これはRFC 2898で規定されています。

Argon2i

Argon2は、より安全性を高めるように、また計算に多くのメモリを必要とするように設計された関数です。これはRFC 9106で規定されています。Argon2iは、パスワードに依存しない形式でメモリ配列にアクセスすることで、サイドチャネル攻撃に対する耐性を持つように最適化されたArgon2の派生形です。

Argon2id

Argon2idはArgon2のハイブリッド版です。メモリ上の最初の半分のパスではArgon2iアプローチに従い、それ以降のパスではGPUクラッキング攻撃を抑えるようにArgon2d (YaSTではサポートされていない)アプローチに従います。RFC 9106では、タイプの違いがわからない場合や、サイドチャネル攻撃が現実的な脅威であると考えられる場合は、Argon2idを使用することを推奨しています。

Argon2の方がより安全ですが、PBKDF2の使用例も依然としてあります。

  • 意図的なセキュリティ機能として、Argon2は計算により多くのメモリを必要とします。この結果、一部のシステムで問題が発生する場合があります。パスワードの強度が十分に確保される場合は、PBKDF2を使用した方が安全で、メモリを節約できる可能性があります。

  • grub2は、PBKDF2が使用される場合にのみ、LUKS2で暗号化されたデバイスからの起動を限定的にサポートしています。これは、/bootディレクトリを含むファイルシステムにArgon2を使用できないことを意味します。PBKDF2が使用される場合でも、LUKS2デバイスから起動するためには、いくつかの手動によるgrub2設定が必要な場合があることに注意してください。

LUKSによるデバイス暗号化の設定に関する詳細については、インストーラの[Help (ヘルプ)]ボタンを使用し、Chapter 13, Storage encryption for hosted applications with cryptctlを参照してください。

11.3 LVMの設定

このセクションでは、LVMを設定する詳細なステップについて説明します。一般的な論理ボリュームマネージャの情報については、5.1項 「論理ボリュームマネージャ(LVM)の理解」を参照してください。

警告
警告: データのバックアップ

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

YaSTのLVM設定には、システムビューペインのボリューム管理項目にあるYaSTエキスパートパーティショナ(11.1項 「熟練者向けパーティション設定の使用」参照)からアクセスできます。熟練者向けパーティション設定では、ハードディスクやパーティションの管理、RAIDやLVMの設定が可能です。

11.3.1 物理ボリュームの作成

最初のタスクは、ボリュームグループに容量を提供する物理ボリュームを作成することです。

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

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

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

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

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

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

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

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

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

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

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

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

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

11.3.3 物理ボリュームの設定

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

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

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

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

  2. LVのタイプを選択します。ノーマルボリュームシンプール、またはシンボリュームのいずれかとすることができます。個々のシンボリュームを保存できるシンプールを最初に作成する必要のあることに注意してください。シンプロビジョニングの大きなメリットは、シンプールに保存されたすべてのシンボリュームの総合計がプール自体のサイズを超過することができることです。

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

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

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

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

YaSTはこの時点ではストライピングに関するエントリを確認できません。ここで生じた誤りは、後でディスクにLVMが実装されたときに表示されます。

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

11.4 ソフトウェアRAID

このセクションでは、さまざまなタイプのRAIDを作成して設定するために必要なアクションについて説明します。RAIDの背景情報については、7.1項 「RAIDレベルの理解」を参照してください。

11.4.1 ソフトウェアRAID設定

YaSTのRAID設定には、11.1項 「熟練者向けパーティション設定の使用」に説明がある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パーティション
図 11.5: RAIDパーティション

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

最後のステップでは、使用するファイルシステム、暗号化、およびRAIDボリュームのマウントポイントを設定します。完了で設定を完了した後、熟練者向けパーティション設定で、RAIDと指定されている/dev/md0などのデバイスを参照してください。

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

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

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

11.4.3 詳細情報

ソフトウェアRAIDの設定方法と詳細情報については、以下を参照してください。

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