概要
CentOS Stream 8をGUIでインストールします。
前提条件
- VMware Workstation 16 Proでインストールを行っており、ファームウェアはUEFIを指定しています。
- 使用したISOイメージは「CentOS-Stream-8-x86_64-20210402-dvd1.iso」です。
- インストール時に決めるべき項目のみ設定しており、インストール後でも問題ない項目(ネットワーク設定等)は含めていません。
インストール
ISOイメージからの起動と画面サイズ設定
ISOイメージから起動すると下記の画面になります。物理的にモニターを接続してインストールする場合は、Install CentOS~にTABでカーソルを合わせEnterで問題ありませんが、仮想環境ではその後のGUIインストーラの画面サイズが収まらずに操作不能になります。今回はVMware Workstation 16 Pro上にインストールするため、Install CentOS~にTABでカーソルを合わせ、eを押し、エディットモードに入ります。尚、BIOSの場合は少々画面が異なります。
quietの後に「inst.resolution=1024×768」を入力します。1024×768がサイズとなりますが、環境により変更が必要なケースがあるかもしれません。入力後はctrl+xを押します。
言語設定
GUIインストーラの最初の画面は言語設定です。日本語を選択して「続行」を押します。
インストール概要
インストールに必要な項目全体が表示されます。赤字の個所は何らかの設定が必要となりますが、本稿では後述の①~④を実施しています。
①日付と時刻
最初の言語設定で日本語を選択していても、設定値が「アメリカ大陸/ニューヨーク」になっているので「アジア/東京」に変更します。
②rootパスワード
rootのパスワードを設定します。
③ソフトウェアの選択
私の場合、ベース環境として、サーバー用途なら「サーバー」、KVMとして使用するなら「仮想化ホスト」、GUIありのクライアントとするなら「ワークステーション」を選択しています。右枠のその他ソフトウェアは何が入るのかイメージが難しいので未選択です。
④インストール先
パーティション等のディスク設定となります。自動構成でも問題ありませんが、ディスク本数、ディスクサイズ、メモリサイズにより割り当てがまちまちになってしまうため、私はカスタムを選択しています。
UEFI環境で最低限必要なパーティションは、/boot、/boot/efi、swap、/になります。私の場合は下記のように決めています。環境や要件に応じて/homeや/varも分けましょう。
パーティション | デバイスタイプ | ボリュームグループ | ファイルシステム | サイズ | 備考 |
---|---|---|---|---|---|
/boot | 標準パーティション | – | xfs | 1024 MiB | |
/boot/efi | 標準パーティション | – | EFI System Partition | 1024 MiB | デフォルト値は600 MiBとなっていますが、何となく決めで/bootに合わせています。 |
swap | LVM | CS(デフォルト) | swap | 4 GiB | swapのサイズはメモリサイズによりますが(メモリ容量の2倍と言われます)、それを前提とするとメモリを増やした場合にswapも再割り当てするのかなどを考えたくないため、メモリサイズによらず4 GiBに決めています。4 GiBの根拠はこちらです。 |
/ | LVM | CS(デフォルト) | xfs | 残り全て | 残り全てという設定値はありませんが、割り当て可能な残容量よりも大きい値を入れると自動的に残り全てが割り当てられます。 |
インストール概要(設定後)
各設定が完了したら「インストールの開始」を押します。
インストール完了
インストールが完了したら「システムの再起動」を押します。
その他
KVMのパーティション
KVMは仮想マシンのディスク格納先にデフォルトで「/var/lib/libvirt/images」を使用します(他のディレクトリも指定できます)。仮想マシンのディスクによるシステム領域の圧迫を防止するため「/var/lib/libvirt/images」はパーティションを分けましょう。
複数のディスクが存在する場合
例としてSSDとHDDを1本ずつ搭載している場合、CentOSのインストーラは2つのディスクを1つのVGにまとめてしまいます。本来であればLVMありで、SSDはシステム領域、HDDはデータ領域としたいところですが、カスタム設定ではどうしてもその操作ができません(できるかもしれませんが諦めています)。こういった場合、私はkickstartを使用しています。