プロジェクト

全般

プロフィール

CentOS 8をHyper-V上にインストール

CentOS 8をWindows 10のHyper-V上にインストールした作業の記録です。

CentOS 8の入手

以下サイトからISOイメージファイルをダウンロードします。
https://www.centos.org/download/

CentOS 8のISOイメージには、通常のリリースとローリングリリース(Stream)の2種類があります。ローリングリリースは、コンポーネントが短い期間で更新されるので新しい機能が入りますが安定度が下がります。サーバー運用用途では安定した前者をインストールすることにします。

  • [CentOS Linux DVD ISO]のリンクをクリックし、CentOS-8.1.1911-x86_64-dvd1.iso ファイルをダウンロードします。

CentOS 8のインストール

Hyper-V上にCentOS 8用仮想マシンを作成

以下は、Hyper-Vは有効にしているマシンへインストールする際の記述です。

  • Hyper-Vマネージャの起動
  • 右側ペインの[操作]から、[新規] > [仮想マシン]を選択
  • 「仮想マシンの新規作榮ウィザード」で以下の設定を実施
    • 名前を入力、仮想マシンのイメージファイルを置くディレクトリを指定
    • 世代の指定で、第1世代を選択
      第2世代はUEFI、セキュアブートが必要なら選択、対応するOSが限定される(CentOS 8は第2世代対応)
    • 起動メモリには2048MB、動的メモリはチェックを付けたまま(CentOS 8リリースノートより2GBのメモリが必要)

CentOS-8 (1911) のインストーラーおよび利用には、最低限 2GB の搭載メモリーが必要です。

  • ネットワークの構成では[接続しない]のまま(インストール後に設定する)
  • 仮想ハードディスクの接続は、デフォルトのサイズ(127GB)で適当なフォルダを指定
  • インストールオプションで[ブートCD/DVD-ROMからオペレーティングシステムをインストールする]をチェックし、[イメージファイル]をチェック、ダウンロードしたCentOSのisoイメージファイルを指定
    → ネットワーク共有フォルダは選択不可でした。いったんローカルハードディスクへISOイメージファイルをコピーして使用

これで仮想マシンが作成されます。

仮想マシンの起動

  • Hyper-Vマネージャの中央ペインにある仮想マシンの一覧に、上述で作成したものが状態オフで表示されるので、起動
  • 右側ペインで[接続]

CentOS 8のインストール

  • 日本語を選択
  • キーボードはJP(日本語)を選択
  • 時刻と日付は、アジア/東京 を選択
  • ソフトウェアの選択は、最小限のインストール を選択
  • インストール先で、ストレージの設定を カスタム に変更
  • LVMから標準パーティションに変更し、新規マウントポイントを作成
    /boot   1024MB  ext4
    swap    2048MB
    /       残り    xfs
    

インストール完了後、再起動を促されるが、その際「仮想マシン接続」画面で[メディア] > [DVDドライブ] > [取り出し] で CentOSのISOイメージを外しておかないと、再度インストーラが起動してしまいます(起動時のブートメディアの優先度がDVDドライブがディスクより高いため)。

インストール直後の設定

Hyper-Vのネットワーク関係設定

インストール時はネットワーク接続を設定していなかったので、まずはネットワーク接続の設定を行います。
既にHyper-Vの仮想スイッチに外部ネットワークが設定済みなので、それを使うよう設定します。
また、デフォルトではMACアドレスが動的となっているが、DHCPで固定IPを常に割当てるため、MACアドレスを静的にしておきます。

CentOS 8 初期設定

  • ホスト名の設定
    # hostnamectl set-hostname <ホスト名>
  • 管理作業用アカウントのsudo設定
    アカウントをwheelグループに所属させることでsudo可能とします。
    # gpasswd -a <ユーザー名> wheel
    再起動後反映
  • ネットワークの設定(インストール時にはネットワークに接続していない場合)
    デフォルトではネットワークデバイスが未接続となっています。
    # nmcli device
    DEVICE  TYPE      STATE         CONNECTION
    eth0    ethernet  disconnected  --
    lo      loopback  unmanaged     --
    

    起動時にネットワークデバイスを接続するように設定します。
    # nmcli connection modify eth0 connection.autoconnect yes
    # nmcli device
    DEVICE  TYPE      STATE      CONNECTION
    eth0    ethernet  connected  eth0
    lo      loopback  unmanaged  --
    
  • パッケージの更新
    # dnf upgrade
  • NTPクライアント設定
    # dnf install chrony

    /etc/chrony.confの修正
    - pool 2.centos.pool.ntp.org iburst
    + pool ntp.jst.mfeed.ad.jp iburst
    

    # systemctl enable --now chronyd

    #  chronyc sources
    210 Number of sources = 3
    MS Name/IP address         Stratum Poll Reach LastRx Last sample
    ===============================================================================
    ^* ntp1.jst.mfeed.ad.jp          2   6    37    13    -46ms[  -54ms] +/-  105ms
    ^+ ntp3.jst.mfeed.ad.jp          2   6    37    13   +281us[-8014us] +/-   79ms
    ^+ ntp2.jst.mfeed.ad.jp          2   6    37    13  +4093us[-4234us] +/-   66ms
    
  • rootアカウントのsshログイン禁止
    /etc/ssh/sshd_config
    - PermitRootLogin yes
    + PermitRootLogin no