ディスクを複数持つ Red Hat Enterprise Linux 8 のパーティション設定手順

Red Hat Enterprise Linux 8 (以降、RHEL8)のデバイスファイル /dev/sdb のパーティション設定についてご紹介いたします。

RHEL8 を構築する際にディスクが1つの場合は、ディスクはシステム起動ディスクとなる /dev/sda のみで、そのパーティション設定はインストール時の GUI で設定可能です。しかし、ディスクが2つ以上ある場合はインストール後にコマンドでパーティションの作成・ファイルシステムの作成・マウントが必要です。

また、デバイスタイプが Logical Volume Manager(以降、LVM)の場合の設定についてもご紹介いたします。

はじめに

はじめに、ファイルシステムやデバイスファイルについて基礎的な説明をします。既知の方は読み飛ばして構いません。

ディスクに保存されるデータをファイルとして管理する仕組みがファイルシステムです。ハードディスクや SSD を利用するには、ディスク内にパーティションを作成し、次にパーティション内にファイルシステムを作成し、そのファイルシステムをマウントするという作業を行います。

Linux では、デバイスやパーティションに対応するデバイスファイルが用意されています。デバイスファイルとは、ハードディスクや SSD、DVD ドライブ、シリアルポートといったデバイスの入出力を扱うための特殊なファイルです。前述の通り、ディスクが2、3ある場合は /sdb、/sdc の設定が必要となります。主なデバイスファイルは下図の通りです。

デバイスファイル 説明
/dev/sda 1番目のハードディスク・SSD・フラッシュメモリ
/dev/sdb 2番目のハードディスク・SSD・フラッシュメモリ
/dev/sdc 3番目のハードディスク・SSD・フラッシュメモリ
/dev/sdd 4番目のハードディスク・SSD・フラッシュメモリ
/dev/sr0 1番目のCD/DVDドライブ

標準パーティションのパーティション設定

本環境のパラメータ

RHEL8 初期セットアップ後から設定の手順を説明します。

本環境は UEFI を使用、ディスク1およびディスク2に 20GB を搭載しています。また、下記の内蔵ディスクパーティションとなるように設定していきます。

Disk Number サイズ デバイス名 マウントポイント パーティションサイズ デバイスタイプ ファイルシステム
1 20GB /dev/sda1 /boot/efi 200Mib 標準パーティション efi
/dev/sda2 /boot 500Mib 標準パーティション xfs
/dev/sda3 / 残り 標準パーティション xfs
/dev/sda4 swap 4019Mib 標準パーティション swap
2 20GB /dev/sdb1 /test 20Gib 標準パーティション xfs

ディスク1の sda1~4 の4つのマウントポイントは典型的なディレクトリです。ここからお客様のご要望に応じて各項目の設定変更を行います。また、下記に役割を記します。

/boot/efi

UEFI を使用している場合にブートローダが格納されます。EFI システムパーティションが FAT(または VFAT)形式でフォーマットされ、マウントされています。

/boot

起動に必要な設定やカーネルイメージが配置されます。起動時に BIOS の制御を受けないようにするため、ルートファイルシステムとは別に、ディスクの先頭付近に配置されています。

/(root)

/(root)ディレクトリを配置する場所です。スラッシュルートディレクトリは、ディレクトリ構造のトップレベルです。デフォルトでは、書き込み先のパスに別のファイルシステムがマウントされていない限り、すべてのファイルがこのファイルシステムに書き込まれます。

swap

システムが処理しているデータを格納する RAM が不足すると、メモリの中で不要な部分は swap ファイルシステムに書き込まれます。

パーティションの作成

管理者権限で RHEL8 の端末にログインします。

はじめに下記コマンドで全てのブロックデバイスのパーティション情報を表示します。


     # parted -l   
    

fdisk でも確認できます。


     # fdsik -l
    

この時点では /dev/sdb の内蔵ディスクパーティションは作成されていないことが確認できます。

parted または fdisk を使ってパーティションを作成します。下図では parted を使用しています。

上図の解説をします。

  1. parted /dev/sdb にて、parted パートへ進みます。
  2. mklabel gpt にて、新しいパーティションテーブルを作成しています。
  3. mkpart にて、パーティションの名前やファイルシステムの種類、サイズを指定してパーティションを作成します。
  4. p にて、パーティションテーブルを表示します。
  5. q にて、終了します。

※下記のように設定も可能です。


     # parted -s /dev/sdb mklabel gpt
     # parted -s /dev/sdb mkpart primary xfs 0G 100% 
    

-s オプションは対話処理を省略できます。

ファイルシステムの作成とマウント

下記コマンドで xfs のファイルシステムを作成します。


    # mkfs -t xfs /dev/sdb1
    

マウントポイントを作成するため、パラメータより test フォルダを作成します。


    # mkdir /test
    

/etc/fstab にエントリを作成した後、mount コマンドでデバイスをマウントします。


    # vi /etc/fstab
    

/dev/sdb1 /test xfs defaults 0 0


    # mount /test
    

下記コマンドで /test のエントリが見えていることを確認し完了です。


    # df -TH /dev/sdb1
    

LVM のパーティション設定

LVM の仕組み

LVM でのパーティション設定の前に、LVM の基本について記します。

LVM は、ディスクの管理をより柔軟に行うことのできる機能です。ディスクのパーティションを直接操作するのではなく、仮想的なパーティションである論理ボリュームを動的に管理します。

1台のハードディスクを物理ボリューム(以下、PV : Physical Volume)とし、束ねることでボリュームグループ(以下、VG : Volume Group)を構成します。VG の一部を論理ボリューム(以下、LV : Logical Volume)として切り出し、ブロックデバイスとして扱うことができます。

LVM の仕組みは下図のようなイメージです。

本環境のパラメータ

先ほどのパラメータと異なり、ディスクを3つ搭載し、/boot ディスクを除いて LVM として設定します。LVM ボリュームを /boot に使用することはできません。下記の内蔵ディスクパーティションとなるように設定していきます。

Disk Number サイズ デバイス名 マウントポイント パーティションサイズ デバイスタイプ ファイルシステム VG 名 LV 名
1 20GB /dev/sda1 /boot/efi 200Mib 標準パーティション efi    
/dev/sda2 /boot 500Mib 標準パーティション xfs    
/dev/sda3 / 残り LVM xfs VG01 root
/dev/sda4 swap 4019Mib LVM swap swap
2 20GB /dev/sdb1 /mnt 20Gib LVM xfs VG02 test
3 20GB /dev/sdc1

パーティションの作成

初期セットアップ後から設定の手順を説明します。

ここでは、/dev/sdb1 と /dev/sdc1 を使用し VG を作成し、そこから LV を作成します。

初めに LVM で使用するディスクの確認をします。


    # fdisk -l /dev/sdb
    # fdisk -l /dev/sdc
    

下記コマンドで LVM を作成するためのパーティションを parted または fdisk を使って作成します。下図では fdisk を使用しています。

上図の解説をします。

  1. fdisk コマンドで fdisk のプロンプトが表示されます。
  2. n にて、新規パーティションを作成します。
  3. p にて、基本パーティションを選択します。
  4. パーティション番号と開始/終了のセクタ番号は未入力でエンターを押下し、既定値として設定します。
  5. w にて、パーティションを作成し、通常のプロンプトに戻ります。

物理ボリュームの作成

上記で作成したパーティションをもとに PV を作成します。

LVM では、この PV を最小単位として使用し、論理的なディスクデバイスを作成します。


    # pvcreate /dev/sdb1 /dev/sdc1
    

PV 作成後、下記コマンドで指定したパーティションのサイズや、PV に登録されていることを確認します。


    # pvdisplay
    

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

用意した PV /dev/sdb1 と /dev/sdc1 で、VG を作成します。VG 名はパラメータより VG02 とします。


    # vgcreate VG02 /dev/sdb1 /dev/sdc1
    

VG 作成後、下記コマンドで VG が作成されていること、VG のサイズを確認します。


    # vgdisplay
    

論理ボリュームの作成

用意した VG 内に LV を作成します。LV 名はパラメータより test とします。また、サイズは 20GB とします。作成された LV は、/dev/VG02/test でアクセスできます。


    # lvcreate -L 20G -n test VG02
    

  • -L オプションで LV のサイズを指定します。
  • -n オプションで LV の名称を指定します。

LV 作成後、下記コマンドで LV が作成されていること、LV のサイズを確認します。


    # lvdisplay
    

LV が正常に作成された後、/dev/mapper ディレクトリ配下に VG_Name-LV_Name のフォーマットで論理デバイスが作成されます。

ファイルシステムの作成とマウント

最後に、パラメータ通り LV に xfs ファイルシステムを作成し、/mnt にマウントします。


    # mkfs.xfs /dev/VG02/test
    # mount /dev/VG02/test /mnt
    

/etc/fstab にエントリを追加します。


    # vi /etc/fstab
    /dev/mapper/VG02-test /mnt xfs defaults 0 0
    

dfコマンドで確認します。


    # df -T /mnt
    

おわりに

以上で RHEL8 にデバイスファイル /dev/sdb の標準パーティションと LVM 両パターンでのパーティション設定、ファイルシステムの作成、マウントまで完了しました。

本記事では実施していない fdisk などのコマンドやオプションが何パターンもありますが、一つでも使い慣れておくと便利です。

執筆担当者プロフィール
谷 誠人

谷 誠人(日本ビジネスシステムズ株式会社)

ハイブリッドクラウド本部でオンプレミス製品の導入を行っています。

担当記事一覧