3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kickstart で RHEL8 のインストールを自動化する

Last updated at Posted at 2019-09-23

Red Hat Enterprise Linux 8 の自動インストール

RHEL 系のシステムでは、 2019 年 5 月 7 日にリリースされた Red Hat Enterprise Linux 8 が今後の主流になるでしょう。 先を見据えて、どんな OS なのか触ってみたい人もいるのではないでしょうか。今回は kickstart を使用して RHEL8 の自動インストールを検証してみました。

手順書にたくさんハードコピーを貼ったり、 PC に張り付いてページ数の多い手順書を見ながら GUI をポチポチしたり、インストール作業のエビデンスのハードコピーを取り忘れてモチベーションが上がらないインストールのやり直しをするために夜遅くまで残りたくない。
と思っている人も多いはず。働き方改革の時代には、どの現場でも自動化のニーズが高いのでは。

キックスタートファイルの作成

  1. Kickstart Generator で、キックスタートファイルを作成します。

  2. 作成したキックスタートファイルをカスタマイズします。今回の検証では、以下のようにキックスタートファイルをカスタマイズ 1 しました。

    ks.cfg
    # Copyright (c) 2019 sakitics.
    #
    #version = rhel8
    
    # Installation logging level
    logging --level=debug
    
    # System language
    lang ja_JP.UTF-8
    
    # Keyboard layouts
    keyboard --vckeymap=jp --xlayouts='jp'
    
    # System services
    services --enabled="chronyd"
    
    # System timezone
    timezone Asia/Tokyo --isUtc
    
    # Root password
    rootpw --iscrypted $6$47tP9FcKFDmmvNJF$AMl5WnJNyARcG4v9kFXwOjADhVqs5mc54T7M4QQSi9DehpebTtHM8FLtxXVAwjlrENTSBcNfZtLecMMEn/UrQ1
    
    #platform x86, AMD64, or Intel EM64T
    
    # Shutdown after installation
    shutdown --eject
    
    # Use text mode install
    text
    
    # Use CDROM installation media
    cdrom
    
    ignoredisk --only-use=sdb
    
    # System bootloader configuration
    bootloader --location=mbr --append="crashkernel=auto" --boot-drive=sdb
    
    # Clear the Master Boot Record
    zerombr
    
    # Partition clearing information
    clearpart --all --initlabel --drives=sdb
    
    autopart --type=lvm
    
    # Network information
    network --bootproto=dhcp --device=enp0s3 --noipv6 --activate --onboot=yes
    network --bootproto=static --device=enp0s8 --gateway=192.168.33.1 --ip=192.168.33.101 --netmask=255.255.255.0 --ipv6=auto --activate --onboot=yes
    network --hostname=ROBOCODE
    
    # System authorization information
    auth --passalgo=sha512 --useshadow
    
    # SELinux configuration
    selinux --enforcing
    firewall --enabled --ftp --ssh
    
    # Do not configure the X Window System
    skipx
    
    # Run the Setup Agent on first boot
    firstboot --disable
    
    %packages
    @standard
    @^server-product-environment
    kexec-tools
    %end
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    %end
    

インストール

  1. Red Hat Enterprise Linux for x86_64 のインストールメディアをサーバにマウントします。

  2. サーバの電源を投入します。

  3. Press Tab for full configuration options on menu items. のメッセージが表示されたら、 Tab キーを押します。
    Press Tab for full configuration options on menu items.

  4. キックスタートファイルを保存した USB をサーバにマウントします。

  5. 起動オプションに、以下のオプション 2 3 4 を追加します。

    inst.ks=hd:UUID=<UUID>:ks.cfg
    

    Startup options

  1. Enter キーを押して、しばらくするとインストールが開始されます。
    Start

  2. インストールが完了すると、サーバがシャットダウンされます。

  3. Red Hat Enterprise Linux for x86_64 のインストールメディアをサーバからアンマウントします。

  4. キックスタートファイルを保存した USB をサーバからアンマウントします。

  5. サーバの電源を投入します。

  6. Red Hat Enterprise Linux が起動することを確認します。

実際にやってみた

デモンストレーション

この手順は、以下の技術情報をもとに作成されています

ひとりごと

マニュアルを Word か Excel で作れって言われるけど、 diff 取りずらいし、 sed とか grep で複数のファイルを一括処理!!みたいなことも難しい。 linter 使えないから、汎用的じゃないチェック用のマクロが量産されて、ときにはサーバを操作したこともない人が作ったマクロとテンプレートを強要されてもやもやする。
マニュアルを渡されたオペレータは Word や Excel から実行するコマンドを抜き出して、一生懸命テキストファイルに貼り付けてる。
コストをかけて作った Word や Excel のマニュアルは、かけたコスト以上の価値を生み出せているんだろうか。。。
Markdown とか reStructuredText で作れば、いろんなことが解決できそう。

  1. 既存のディスクをクリアしてインストールします。

  2. UUID には、接続した USB の UUID を指定します。

  3. すでに入力されている起動オプションは変更しないでください。

  4. 起動オプションを追加する場合は、半角空白を入力してから追加してください。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?