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進単位で測定されることに注意してください。たとえば、1GB
、1GiB
または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の設定にアクセスすることもできます。
(実行中にシステムのパーティションを再設定できますが、誤操作によるデータ損失のリスクが非常に高くなります。インストールしたシステムのパーティション再設定はできるだけ避けるようにし、行う場合には常に再設定の前にデータの完全なバックアップを作成してください。
IBM Zは、DASD、zFCP、および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にさらにディスク容量を提供するには、パーティションのリストの下から順に必要な容量を解放してください。
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以前のバージョンで作成された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パーティショニング」を参照してください。
その他の一般的に使用されているファイルシステムも利用可能です: Ext2
、Ext3
、Ext4
、FAT
、XFS
、Swap
、およびUDF
。
11.1.2.1 パーティションの作成 #
パーティションを作成するには、
を選択して、空領域を含むハードディスクを選択します。実際の変更は、 タブで行うことができます。MBRを使用する際には、プライマリパーティションまたは拡張パーティションの作成を指定します。拡張パーティション内には複数の論理パーティションを作成できます。詳細については、11.1.1項 「パーティションテーブル」を参照してください。
をクリックして、新しいパーティションを作成します。新しいパーティションのサイズを指定します。パーティションされていないすべての空きスペースの占有とカスタムサイズの入力のいずれかを選択できます。
使用するファイルシステムと、マウントポイントを選択します。YaSTによって、作成する各パーティション用のマウントポイントが提案されます。別のマウント方法(ラベルによるマウントなど)を使用するには、
を選択します。セットアップで必要な場合は、追加のファイルシステムオプションを指定します。たとえば、永続的デバイス名が必要な場合に必要になります。使用できるオプションの詳細については、11.1.3項 「パーティションの編集」を参照してください。
インストール時にパーティションを作成した場合は、インストール概要画面に戻ります。
11.1.2.2 Btrfsパーティショニング #
rootパーティションのデフォルトのファイルシステムはBtrfsです。詳細については、第10章 「Snapperを使用したシステムの回復とスナップショット管理」 および第1章 「Linuxファイルシステムの概要」を参照してください。ルートファイルシステムはデフォルトのサブボリュームなので、作成されたサブボリュームのリストには表示されません。デフォルトの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パーティションの最小サイズは16GBですが、SUSEでは少なくとも32GB、または/home
が別のパーティションに存在しない場合はそれ以上を推奨しています。
11.1.2.3 YaSTを使用したBtrfsサブボリュームの管理 #
YaSTの
モジュールでBtrfsパーティションのサブボリュームを管理できるようになりました。新しいサブボリュームを追加したり、既存のサブボリュームを削除したりすることができます。左側のペインで
を選択します。サブボリュームを管理する必要があるBtrfsパーティションを選択します。
サブボリュームを編集するのか、追加するのか、削除するのかに応じて、次の手順を実行します。
サブボリュームを編集するには、リストからサブボリュームを選択し、
をクリックします。その後、ボリュームのcopy-on-write
を無効にする( を選択する)か、ボリュームのサイズを制限することができます。 をクリックして終了します。新しいサブボリュームを追加するには、
をクリックし、そのパスを入力します。オプションで、ボリュームのcopy-on-write
を無効にする( を選択する)か、ボリュームのサイズを制限することができます。 をクリックして終了します。サブボリュームを削除するには、リストからサブボリュームを選択し、
をクリックします。 をクリックして、削除を確認します。- 図 11.2: YaSTのパーティショナでのBtrfsサブボリューム #
11.1.3 パーティションの編集 #
新規パーティションの作成または既存パーティションの変更の際には、さまざまなパラメータを設定できます。新規パーティションの場合は、YaSTで設定されているデフォルトパラメータで十分であることが普通で、これらを変更する必要はありません。パーティション設定を手動で編集するには、以下の手順に従ってください。
パーティションを選択します。
- ファイルシステムID
この段階でパーティションをフォーマットしたくない場合でも、パーティションにファイルシステムIDを割り当て、パーティションが正しく登録されるようにします。典型的な値は、
、 、 、および です。- ファイルシステム
パーティションのファイルシステムを変更するには、
をクリックし、 のリストでファイルシステムのタイプを選択します。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をデバイス名からボリュームラベルに変更できます。ボリュームラベルには、/
およびスペース以外のすべての文字を使用することができます。永続的なデバイス名を取得するには、マウントオプションの SUSE Linux Enterprise Serverでは、永続的なデバイス名がデフォルトで有効になっています。
、 、または を使用します。注記: IBM Z: パスによるマウントIBM Zでは、デバイスをIDでマウントしていると、クローニングの目的でディスクからディスクへのコピーを使用したときに障害が発生するので、デフォルトで
/etc/fstab
のパスによってデバイスがマウントされます。パーティションをそのラベルでマウントしたい場合は、
テキストエントリでラベルを定義する必要があります。たとえば、/home
にマウントするパーティションには、パーティションラベルHOME
を使用できます。ファイルシステムでクォータを使用する場合は、マウントオプションユーザクォータの設定方法の詳細については、6.3.3項 「クォータの管理」を参照してください。
を使用します。このオプションを指定しておかないと、YaSTの モジュールでユーザのクォータを定義できません。Btrfsサブボリュームにクォータを指定する場合は、1.2.5項 「サブボリュームに対するBtrfsクォータのサポート」を参照してください。
既存ファイルシステムのサイズを変更するには、パーティションを選択し、
をクリックします。パーティションはマウント中にはサイズ変更できないので注意してください。パーティションをサイズ変更するには、パーティショナの実行前に該当するパーティションをアンマウントします。11.1.4 熟練者向けオプション #
ペインでハードディスクデバイス( など)を選択すると、 ウィンドウの右下部分にある メニューにアクセスできるようになります。メニューには、次のオプションが含まれています。
- 新しいパーティションテーブルの作成
このオプションを使用すると、選択したデバイス上に新しいパーティションテーブルを作成できます。
警告: 新しいパーティションテーブルの作成新しいパーティションテーブルをデバイス上に作成すると、そのデバイスからすべてのパーティションとそのデータが削除され、復元できなくなります。
- このディスクのクローンを作成
このオプションを使用すると、デバイスのパーティションレイアウト(データを含まない)を他の使用可能なディスクデバイスに複製できます。
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と比べるとどちらもきわめて低速なので、実際の違いは無視できます。
実行中のシステムにスワップファイルを追加するには、次の手順に従います。
システム内で空ファイルを作成します。たとえば、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このスワップファイルを次のコマンドで初期化します。
>
sudo
mkswap /var/lib/swap/swapfile注記:mkswap
でフォーマットするとスワップパーティションのUUIDが変更される可能であれば、
mkswap
で既存のスワップパーティションを再フォーマットしないでください。mkswap
で再フォーマットすると、スワップパーティションのUUIDの値が変更されます。YaSTで再フォーマットするか(/etc/fstab
が更新されます)、/etc/fstab
を手動で調整します。スワップを次のコマンドで有効にします。
>
sudo
swapon /var/lib/swap/swapfileこのスワップファイルを無効にするには、次のコマンドを使用します。
>
sudo
swapoff /var/lib/swap/swapfile次のコマンドで、現在使用可能なスワップ領域を確認します。
>
cat /proc/swapsただし、この時点では、これは一時的なスワップ領域にすぎません。次の再起動後は使用されなくなります。
このスワップファイルを永久に有効にするには、次の行を
/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項 「パーティションの編集」の手順に従ってください。
LUKS2暗号化は、SUSE Linux Enterprise 15 SP4以降のYaSTパーティション設定でサポートされていますが、明示的に有効にする必要があります。これには2通りの方法があります。
ブート時に設定する場合は、カーネルコマンドラインに対して
YAST_LUKS2_AVAILABLE
パラメータを追加します。ブートパラメータについては、第8章 「ブートパラメータ」を参照してください。YaST設定でのインストール時に設定する場合:
グラフィカルインタフェースでは、Ctrl–Alt–Shift–Cを押します。
テキストインタフェースでは、Ctrl–Dを押してから、Shift–Cを押します。
[
Enable Experimental LUKS2 Encryption Support
(実験中のLUKS2暗号化サポートの有効化)]をオンにし、[OK
]を押して設定画面を閉じます。
LUKS2サポートを有効化しない場合、
の選択は表示されず、暗号化パスワードの入力のみが必要となります。この方式では、LUKS1を使用してデバイスを暗号化できます。暗号化パスワードを指定する必要があります。追加のパスワード(合計8つまで)は、後で
cryptsetup luksAddKey
を使用して追加できます。LUKS2は、破損に強い新しいバージョンのヘッダ形式を使用し、最大32個のユーザキーとデバイスラベルをサポートします。暗号化パスワード、およびそのパスフレーズを保護するために使用されるパスワードベースの鍵導出関数(PBKDF)を指定する必要があります(11.2.2項 「パスワードベースの鍵導出関数」を参照)。
- (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
内で変化しない名前を使用しようとします。ただし、一部のデバイスの場合、完全に変化しない名前を見つけることができない場合があります。揮発性の鍵による暗号化は、その影響についてよく理解したうえで使用してください。- (スワップデバイスのみ)
この方式では、暗号化コプロセッサを必要とせずに、揮発性保護AES鍵でスワップデバイスを暗号化します。これは
Encryption with Volatile Random Key
方式の改良版ですが、この方式に関するすべての考慮事項が引き続き適用されます。- (スワップデバイスのみ)
この方式では、暗号化コプロセッサから生成された揮発性のセキュア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設定には、11.1項 「参照)からアクセスできます。 の使用」 では、ハードディスクやパーティションの管理、RAIDやLVMの設定が可能です。
ペインの 項目にあるYaSTエキスパートパーティショナ(11.3.1 物理ボリュームの作成 #
最初のタスクは、ボリュームグループに容量を提供する物理ボリュームを作成することです。
利用可能なディスク上で目的のすべての物理ボリュームを定義するまで、この手順を繰り返します。
11.3.2 ボリュームグループの作成 #
システムにボリュームグループがまったく存在しない場合は、ボリュームグループを追加する必要があります(図11.3「ボリュームグループの作成」を参照)。 ペインで をクリックし、続いて をクリックすることで、追加グループを作成できます。ボリュームグループは、通常、1つだけで十分です。
ボリュームグループの名前(たとえば、
system
)を入力します。デバイスを選択してCtrlを押しながらデバイスを選択すると、複数のデバイスを選択できます。
をクリックし、用意したPVをVGに追加します。
複数の定義されたボリュームグループがあり、PVを追加または削除したい場合は、
リストでボリュームグループを選択し、 をクリックします。次のウィンドウでは、選択したボリュームグループに対してPVを追加または削除できます。11.3.3 物理ボリュームの設定 #
ボリュームグループへの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 に戻り、そこで作業を完了します。11.4 ソフトウェアRAID #
このセクションでは、さまざまなタイプのRAIDを作成して設定するために必要なアクションについて説明します。RAIDの背景情報については、7.1項 「RAIDレベルの理解」を参照してください。
11.4.1 ソフトウェアRAID設定 #
YaSTの11.1項 「に説明があるYaST の使用」 からアクセスできます。このパーティション分割ツールを使用すると、既存のパーティションを編集および削除したり、ソフトウェア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ボリュームに追加するには、そのパーティションをクリックしてから、
をクリックします。すべてのパーティションをRAID用の予約パーティションとして割り当てます。すべてのパーティションを割り当てないと、パーティションのスペースが未使用のまま残ります。パーティションをすべて割り当てたら、 をクリックして、利用可能な を選択します。
最後のステップでは、使用するファイルシステム、暗号化、および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メーリングリストがあります。