前回は、 「VmWare Workstation Player」 上へ、RHEL7.5をインストールしました。
今回は、前回使用したKickStart設定ファイルの中身についてみていきます。
KickStart設定ファイルとは(おさらい)
Red Hat Enterprise Linux インストールプロセスでは、インストールしたシステムの設定が自動的にキックスタートファイルに記述されます。このファイルは常に 「/root/anaconda-ks.cfg」というファイル名で保存されます。
同一設定のインストールを繰り返したり、別のシステム用にコピーに修正を加えて使用することができます。つまり、普通にRHELをインストールすると、そのサーバー内の「/root」ディレクトリ配下へ「anaconda-ks.cfg(設定ファイル)」と言うファイルが作成されるので、それを修正してKickStartに使用します。
構築環境概略図
各サーバは、http経由で「node0」からKickStart設定ファイルを読み込みます。
本記事では、KickStart設定ファイルの格納場所として、サーバー「node0]を前提として説明していますが、自前のPCにApacheなどをインストールして、代用しても問題ありません。
※ 要はブラウザからKickStart設定ファイルの内容が参照できる環境があれば問題ありません。
Kickstart設定ファイル
ここからは、「KickStart設定ファイル」の設定内容について説明していきます。
ネットワークの設定
KickStart設定ファイルへネットワークの設定を記述します。
スタティック設定
実際の環境構築の場合、「DHCP」を使用する現場はありません。
本記事では「スタティック」設定で解説していきます。
DHCPとは「Dynamic Host Configuration Protocol」の略で、 IPv4ネットワークにおいて通信用の設定を自動的に行うためのプロトコルです。つまり、IPアドレスなどの情報を自動で割振り(設定)する機能です。逆にスタティックとは、予め通信用の接続アドレスを固定で設定しておく、固定IPアドレスを指しています。
- wb01
1 2 3 4 |
# Network infoemation (wb01) network --bootproto=static --device=ens33 --ip=192.168.109.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 network --bootproto=static --device=ens34 --ip=192.168.110.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 network --bootproto=static --device=ens35 --ip=192.168.111.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 |
上記は「wb01」サーバーへのネットワーク設定例になります。
「wb01」 は、NIC冗長化は行わないため、付与するIPアドレスは1つ(ens33)です。
※ 残りの(ens34、ens35)は予備として作成しています。複数のネットワークへ接続する、またはチーミング設定を行うには、VmWareの設定で必要とする数分、ネットワークアダプタを作成しておく必要があります。
- ap01(ap02はIPアドレスとホスト名を修正)
1 2 3 4 |
# Network information (ap01) network --bootproto=static --device=ens33 --ip=192.168.109.151 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=ap01 network --bootproto=static --device=ens34 --ip=192.168.110.151 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=ap01 network --bootproto=static --device=ens35 --ip=192.168.111.151 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=ap01 |
「ap01」 は、NIC冗長化を行うため、付与するIPアドレスは2つ(ens33、ens34)です。
※ 残りの(ens35)は予備として作成しています。複数のネットワークへ接続する、またはチーミング設定を行うには、VmWareの設定で必要とする数分、ネットワークアダプタを作成しておく必要があります。
- db01 (db02はIPアドレスとホスト名を修正)
1 2 3 4 |
# Network information (db01) network --bootproto=static --device=ens33 --ip=192.168.109.153 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=db01 network --bootproto=static --device=ens34 --ip=192.168.110.153 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=db01 network --bootproto=static --device=ens35 --ip=192.168.111.153 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=db01 |
「db01」 は、NIC冗長化を行うため、付与するIPアドレスは2つ(ens33、ens34)です。
※ 残りの(ens35)は予備として作成しています。複数のネットワークへ接続する、またはチーミング設定を行うには、VmWareの設定で必要とする数分、ネットワークアダプタを作成しておく必要があります。
KickStartのNetwork設定オプションは以下の通り。
NetWorkオプション
- 「--bootproto」:"static"で静的設定
- 「--device」:デバイス名設定
- 「--ip、--netmask」:IP設定
- 「--gateway」:VmWare Workstation Player 上へ作成する為、自動で付与されます。
- 「--nameserver 」:上記同様
- 「--noipv6 」:ipv6無効化
- 「--activate 」:boot時にデバイス有効化
- 「--nodefroute 」:GWと通信なし設定
- 「--hostname」:ホスト名指定
ブートローダー設定
ブートローダを指定します。
1 2 |
# System bootloader configuration bootloader --append=" crashkernel=auto elevator=noop audit=1" --location=mbr --boot-drive=sda |
ブートローダの設定は、特にルートVGやその他のカスタマイズを必要としない場合は、デフォルトで問題ありません。
ディスクフォーマット指定
対象ディスクの既存パーティションを全て削除します。
1 2 |
# Partition clearing information clearpart --all --initlabel |
インストール前に既存のパーティーションを削除してから、新たにパーティションを作成します。既存のデータはすべて削除されます。
パーティション設定
partコマンドでパーティションを指定します。
1 2 3 |
# Partition Setting part /boot --fstype="ext4" --ondisk=sda --size=1024 part pv.01 --fstype="lvmpv" --ondisk=sda --size=100000 |
ここでは、「/boot(ext4)」ディスクを1GB、「sda(pv)」を100000(約100GB)で指定します。
※ PVサイズは、仮想マシン作成時に指定したディスク容量を超えるとエラーになります。
partコマンドオプション
- 「--fstype」:ファイルシステムタイプ設定
- 「--ondisk」:パーティション作成ディスク指定
- 「--size」:パーティションサイズ設定
- 「--label」:ラベル設定
LVM設定
論理ボリュームを設定します。
本記事では、ディスクフォーマットに「ext4」を使用します。
※ 昨今では「xfs」形式のファイルフォーマットも増えてきましたが、既存の資産を引き継ぐため「ext4」を選択する企業は多いです。
- wb01
1 2 3 4 5 6 7 8 |
# LVM Setting (wb) volgroup root_vg --pesize=4096 pv.01 logvol swap --fstype="swap" --size=4096 --name=lv_swap --vgname=root_vg logvol / --fstype="ext4" --size=15360 --name=lv_root --vgname=root_vg logvol /var --fstype="ext4" --size=4096 --name=lv_var --vgname=root_vg logvol /var/crash --fstype="ext4" --size=4096 --name=lv_crash --vgname=root_vg logvol /home --fstype="ext4" --size=5120 --name=lv_home --vgname=root_vg logvol /work --fstype="ext4" --size=10240 --name=lv_work --vgname=root_vg |
Webサーバー上で稼働するサービスは「httpd」のみを想定しているため、パーティションの設定は特に神経質になる必要はないでしょう。
- ap01
1 2 3 4 5 6 7 8 9 |
# LVM Setting (ap) volgroup root_vg --pesize=4096 pv.01 logvol swap --fstype="swap" --size=4096 --name=lv_swap --vgname=root_vg logvol / --fstype="ext4" --size=15360 --name=lv_root --vgname=root_vg logvol /var --fstype="ext4" --size=4096 --name=lv_var --vgname=root_vg logvol /var/crash --fstype="ext4" --size=4096 --name=lv_crash --vgname=root_vg logvol /home --fstype="ext4" --size=5120 --name=lv_home --vgname=root_vg logvol /work --fstype="ext4" --size=10240 --name=lv_work --vgname=root_vg logvol /opt/jboss --fstype="ext4" --size=4096 --name=lv_jboss --vgname=root_vg |
wb01との違いは「Jboss」の格納領域を追加しています。
※ 「Jboss」とはオープンソースで開発されているJava EEアプリケーションサーバの一つです。
- db01
1 2 3 4 5 6 7 8 9 |
# LVM Setting (db) volgroup root_vg --pesize=4096 pv.01 logvol swap --fstype="swap" --size=4096 --name=lv_swap --vgname=root_vg logvol / --fstype="ext4" --size=15360 --name=lv_root --vgname=root_vg logvol /var --fstype="ext4" --size=4096 --name=lv_var --vgname=root_vg logvol /var/crash --fstype="ext4" --size=4096 --name=lv_crash --vgname=root_vg logvol /home --fstype="ext4" --size=5120 --name=lv_home --vgname=root_vg logvol /work --fstype="ext4" --size=10240 --name=lv_work --vgname=root_vg logvol /opt/oracle --fstype="ext4" --size=10240 --name=lv_oracle --vgname=root_vg |
wb01との違いは「oracle」の格納領域を追加しています。
※ 「oracle」とはリレーショナルデータベースシステムの一つです。
データベースのデータ領域は、DBMSシステムをインストールしたディスク(上記の設定)とは、別のディスク上へ作成するのが一般的です。
別ディスクに作成することで、ディスクIOの分散化やDBMSをインストールしたディスクが破損しても、データ領域への影響を最小限に抑えることが出来る為です。
logvolコマンドオプション
- 「--fstype」:ファイルシステムタイプ設定
- 「--size」:パーティションサイズ設定
- 「--name」:ロジカルボリューム名設定
- 「--vgname」:ボリュームグループ名設定
パッケージ設定
本記事内での構築環境は、全サーバーへ同一パッケージのインストールを想定しています。
※ x-windows-systemを同時にインストールし、GUI環境での操作を可能とします。
「%packages」コマンドを使用して、インストールしたいパッケージをリストするキックスタートファイルのセクションを開始します 。
1 2 3 4 5 6 7 8 9 10 11 12 |
# Install Packages %packages --ignoremissing @^graphical-server-environment @base @core @gnome-desktop @x-window-system @development-and-creative-workstation @graphical-administration-tools @fonts @server-with-gui %end |
また、このセクションは 「%end」 コマンドで終了する必要があります。
サービス設定
サービス設定の有効化/無効化の設定を行います。
本記事では、全サーバーに「chronyd」サービスを有効化の設定をしておきます。
1 2 |
# System services services --enabled="chronyd" |
serviceコマンドオプション
- 「--enabled」:有効化設定
- 「--disabled」:無効化設定
rootパスワードの設定
「root」のパスワードを設定します。その際、パスワードを暗号化して設定します。
1 2 |
# Root password rootpw --iscrypted $6$Klx7Gh3kAf9sF62O$Ovyb0aKKtMg/O1bumBg6MpZx5zegh4IanKS5tp2qh8nffsLPe0nMOVfBOcUJrTCv.z4Fuimz/8UIFLVSmti/w. |
パスワードの暗号化にはいくつかの方法がありますが、ここでは「Python」による暗号化設定を行います。
下記のコマンドを使用して、パスワード:「P@ssW0rd」を暗号化します。
# python -c 'import crypt; print(crypt.crypt("P@ssW0rd", crypt.METHOD_SHA512))'
1 2 3 |
[root@node0 ~]# python -c 'import crypt; print(crypt.crypt("P@ssW0rd", crypt.METHOD_SHA512))' $6$hmwcGEb4ASxPg5RN$KCn0pqrQV/CKkEdADWXciXI6fONWsob2pX2bZtMBG7vl01oKydVXlG.FPq/Gz/xYYSuA4LL.6.ySLDEnGAO2J1 [root@node0 ~]# |
※ KickStartの設定ファイルへは、上記の2行目(暗号化されたパスワード)を設定します。
rootpwコマンドオプション
- 「--iscrypted」:暗号化パスワード設定
ユーザー設定
ユーザーとグループの設定を行います。
本記事では、「root」以外に構築専用のユーザ「infusr(infusr,wheel )」を作成します。
1 2 3 4 |
#Add Groups # Add user user --name=infusr --groups=wheel --password=P@ssW0rd |
※ ユーザー追加の際、パスワードが平文で記述されるため注意してください!
例)Oracle
1 2 3 4 5 6 7 8 9 10 11 12 |
#Add Groups group --name=dba --gid=1300 group --name=oinstall --gid=1310 group --name=backupdba --gid=1320 group --name=oper --gid=1330 group --name=dgdba --gid=1340 group --name=kmdba --gid=1350 group --name=racdba --gid=1360 # Add user user --name=infusr --groups=wheel --password=P@ssW0rd user --name=oracle --groups=dba,backupdba,oper,dgdba,kmdba,racdba --password=P@ssW0rd --uid=1310 --gid=1310 |
※ 複数グループを設定する場合は、カンマ区切りで設定します。
実行モード
インストールを行う際の実行モードを設定します。
本記事では、ターミナルからの遠隔インストールを想定しているため、実行モードは「text」モードを採用します。
1 2 3 4 |
# Use install # graphical # Use test install text |
※ 上記では、「テキスト」モードでインストール実行を想定しているため、「 graphical 」をコメント化しています。
SELINUX無効化設定
selinuxを無効化に設定します。
1 2 |
# Disable SElinux selinux --disabled |
selinuxコマンドオプション
- 「--enabled」:有効化設定
- 「--disabled」:無効化設定
- 「--permissive」:警告出力設定
設定ファイル例
例)wb01
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
#version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage # Use CDROM installation media cdrom # Use graphical install # graphical # Use test install text # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=jp --xlayouts='jp' # System language lang ja_JP.UTF-8 # Network information network --bootproto=static --device=ens33 --ip=192.168.109.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 network --bootproto=static --device=ens34 --ip=192.168.110.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 network --bootproto=static --device=ens35 --ip=192.168.111.150 --netmask=255.255.255.0 --onboot=on --nodefroute --nodns --noipv6 --activate --hostname=wb01 # Root password rootpw --iscrypted $6$Klx7Gh3kAf9sF62O$Ovyb0aKKtMg/O1bumBg6MpZx5zegh4IanKS5tp2qh8nffsLPe0nMOVfBOcUJrTCv.z4Fuimz/8UIFLVSmti/w. # System services services --enabled="chronyd" # System timezone timezone Asia/Tokyo --isUtc # System bootloader configuration bootloader --append=" crashkernel=auto elevator=noop audit=1" --location=mbr --boot-drive=sda # autopart --type=lvm # Partition clearing information clearpart --all --initlabel # Partition Setting part /boot --fstype="ext4" --ondisk=sda --size=1024 part pv.01 --fstype="lvmpv" --ondisk=sda --size=100000 volgroup root_vg --pesize=4096 pv.01 logvol swap --fstype="swap" --size=4096 --name=lv_swap --vgname=root_vg logvol / --fstype="ext4" --size=15360 --name=lv_root --vgname=root_vg logvol /var --fstype="ext4" --size=4096 --name=lv_var --vgname=root_vg logvol /var/crash --fstype="ext4" --size=4096 --name=lv_crash --vgname=root_vg logvol /home --fstype="ext4" --size=5120 --name=lv_home --vgname=root_vg logvol /work --fstype="ext4" --size=10240 --name=lv_work --vgname=root_vg # Disable SElinux selinux --disabled #Add Groups # Add user user --name=infusr --groups=wheel --password=P@ssW0rd # Install Packages %packages --ignoremissing @^graphical-server-environment @base @core @gnome-desktop @x-window-system @development-and-creative-workstation @graphical-administration-tools @fonts @server-with-gui %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty %end |
仮想サーバー構築(全9記事)[追加記事作成中]
├─KickStartを使ってVmWare Player上へLinuxを導入する!
├─KickStart設定ファイルについて!
├─httpd(Apache)サーバーの導入
├─NICチーミングを設定する!
├─サーブレットコンテナ(JBOSS)の導入
├─JBoss-EAPを設定する!
├─Web-AP間連携の設定を行う!
├─VmWare Playerのディスク共有設定を行う!
└─共有ディスク上へデータ格納領域を作成する