今日のITインフラを取り巻く状況を見てみると、「仮想化」は、その言葉を聞かない日はないくらい一般に浸透してきています。
仮想化とは、コンピュータリソースを物理的構成にとらわれずに論理的に統合や分割、または変換することを指しています。サーバーの仮想化は、1台の物理的なサーバーを複数の論理的なサーバーに分割したり、複数の物理的なサーバーを1台の論理的なサーバーに統合したりする技術です。
本記事では、この仮想化技術を用いて自前のPCの中へ、エンジニアとしての技術習得環境を作成することを目的としています。
前提条件
仮想サーバを構築するホストPCのスペックが「Workstation Player のホスト システム要件」の要件を満たしていること。
下記メディアがダウンロード済みであること!
今回の環境構築にはVmWare Workstation Player上にLinuxOSをインストールしていきます。
「VmWare Workstation Player」 の詳細については、こちらをご覧ください。
はじめに
本環境では、OS(RHEL7.5)の自動インストール(KicStart)を行います。KickStartとは、RHEL系Linuxに備わっているサイレントインストール機能を指します。通常、商用プロジェクトでのサーバー構築では、 下記の理由からGUIを用いたOSのインストール作業は行いません。
GUIインストールのデメリット
- ターミナルを使用した遠隔インストールに対応していない
- 作業環境によっては(KVM等)操作がストレスになる
- 一画面マルマル占有されるため、同時平行で作業が行いづらい
- インストール担当者が付きっ切りになる
本記事では、下記の理由から実践同様にKickStartを用いた設定ファイルからの自動インストールでOS環境を構築していきます。
KickStartのメリット
- 無人によるインストールが可能。
- キックスタートファイルを使ってインストールの設定が可能。
- インストールシステムを起動したあとはユーザーが介入することなくキックスタートファイルが自動的に読み込まれインストールプロセスが開始されます。
要は、キックスタート用の設定ファイルさえ作成しておけば、あとは無人で自動実行してくれると言う事です。構築するサーバが大量にあればあるほど効果を期待できます。
KickStart設定ファイルとは
RedHat系Linuxのインストールプロセスでは、インストールしたシステムの設定ファイルが自動的に「/root」配下へ「anaconda-ks.cfg」というファイル名で保存されます。
同一設定のインストールを繰り返したり、別のシステム用にコピー or 修正を加えて使用することができます。 つまり、普通にRHEL/CentOSをインストールすると、そのサーバー内の「/root」ディレクトリ配下へ「anaconda-ks.cfg(設定ファイル)」と言うファイルが作成されるので、それを修正してKickStartに利用します。
この記事では、既に「node0」サーバーへ、RedHat系LinuxがDVDから手動インストールされているものとして話を進めます。
コンフィグファイルの編集
通常インストールによって作成された「/root」配下の「anaconda-ks.cfg」設定ファイルを編集します。詳しい設定内容については、下記のリンクページを参照してください。
※ 下記の設定は「ks.wb01.cfg(webサーバー)」用の設定。
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 |
構築環境概略図
各サーバは、http経由で「node0」から、サーバー毎に作成されたKickStart設定ファイルを読み込みます。
前提として既に通常のメディアインストールにより、Linuxが導入されたサーバー「node相当」のマシンが存在するものとして話を進めます。
※ node0は、httpd(Apache)サーバーとして動作するものとします。
簡単なKickStartの流れ
- 「node0」から「/root/anaconda-ks.cfg」を取得する
- 「/root/anaconda-ks.cfg」を構築予定のサーバー用にカスタマイズする
- カスタマイズ済みファイルを参照可能なマシンのディレクトリへ格納する
- 「node0」のhttpd(Apache)サービスを起動する
ブラウザからカスタマイズ内容が参照可能なことを確認する - VmWarePlayerを起動して、作成対象の新規仮想マシン設定を行う
- VmWarePlayer上で新規仮想マシン作成の実行を行う
- 実行途中で「TAB」キーを押下し、起動オプションを設定してKickStartを実行する
- 終了すると、自動的に再起動が行われログイン画面が表示される
VmWare PlayerへLinuxを導入しよう
下準備は整いました。早速「Vmware Player」へLinuxを導入してみましょう。今回は、商用Webサーバーで最も使用頻度の高いサーバーOS「RHEL7.5(iso版)」を導入します。
事前準備
事前準備では、新規仮想マシン作成前にKickStart設定ファイルがブラウザから参照できるように、下記の準備を行います。なお、KickStart設定ファイルについては、既に作成されているものとします。作成方法については、下記のリンクを参照してください。
KickStart設定ファイルの配置
サーバー「node0」内の「/var/www/html」配下へ「KickStart設定ファイル」ファイルが格納されていることを確認します。
httpdサービスの起動確認
KickStart設定ファイルをhttpdで参照すため「httpd」サービスの確認を行います。
# systemctl status httpd
KickStart設定ファイルの表示確認
URL:「http://<node0のアドレス>/ks.wb01.cfg」
ブラウザから「node0」内に格納されたKickStart設定ファイルが参照できることを確認します。
※ 正しく疎通できていれば、ブラウザに「KickStart設定ファイル」の内容が表示されます。
新規仮想マシン作成手順
「VmWare Workstation Player」を起動し、下記の手順に従ってサーバーを構築していきます。
①新規仮想マシンの作成
「新規仮想マシンの作成」をクリックします。
② 新規仮想マシン作成ウィザード
「後でOSをインストール」を選択します。
③ 「ゲストOSの選択」画面
ゲストOSに「Linux」を選択します。
バージョンは「RedHatEnterpriseLinux 7 64ビット」を選択します。
※ OSの選択は、実際のOS情報に合わせてください。
④ 「仮想マシンの名前」画面
仮想マシン名に「wb01」を指定します。
※ イメージ例は「wb01」を指定していますが、任意のサーバー名を指定します。
場所は、任意のディレクトリを指定します。
⑤ 「ディスク容量の指定」画面
ディスク最大サイズを「100GB」に指定します。
※ イメージ例では100GBを指定していますが、学習目的なら20GB程度でも十分使えます。
「仮想ディスクを単一ファイルとして格納」を選択します。
※単一ファイルとして格納した方が、パフォーマンスが上がります。
⑥ 「仮想マシンを作成する準備完了」画面
「ハードウェアをカスタマイズ」ボタンをクリックします。
ハードウェアをカスタマイズ
構築に必要なハードウェアのカスタマイズを行います。
① 「ハードウエア」の選択(ネットワークアダプタ)
ネットワークアダプタを選択します。
※ 複数のネットワークへ接続する、またはチーミング設定を行うには、VmWareの設定で必要とする数分、ネットワークアダプタを作成しておく必要があります。
例)
「ens33」「ens34」「ens35」等、3つのアダプタを使用するには、以下の様にネットワークアダプタ三つ分を同様に作成します。
ネットワークアダプタ1
ネットワークアダプタ2
ネットワークアダプタ3
② 「ハードウエアの種類」画面
「ネットワークアダプタ」を選択します。
※ 学習目的ならネットワークアダプタは1つ(デフォルト)あれば十分です。
③ 「ネットワーク アダプタタイプ」画面
基本はデフォルト(イメージ例)でかまいません。
④ 「ハードウェア」選択(ISOメディア)
デバイス蘭で「新規 CD/DVD」を選択します。
接続蘭で「ISOイメージファイルを使用する」を選択し、メディアパスを指定します。
⑤ 「仮想マシンを作成する準備完了」画面
一通り設定が終了したら、「完了」ボタンをクリックし画面を閉じます。
仮想マシン作成実行
仮想マシンの作成を実行します。KickStartを使用してインストールを行うため、通常の手順とは異なります。
①「VmWare Workstation Player」の起動
「 VmWare Workstation Player 」を起動して、左のサーバ選択蘭から「wb01」を選択し「仮想マシンの再生」をクリックします。
※ 先ほどの設定が正常に行われていれば「wb01」のアイコンが左のサーバ選択蘭に表示されているはずです。
② 「仮想マシンの再生」実行
実行すると「RHEL7.5」のインストール画面が立ち上がります。
③ 「仮想マシンの再生」 オブション設定
「RHEL7.5」のインストール画面が立ち上がった状態で「TAB」キーを押下し、下記の「ファイルオプション」を入力します。
boot:linux ks=http://<node0のIPアドレス>/<KickStart設定ファイル>
本記事では、boot:linux ks=http://<192.168.109.145>/ks.wb01.cfg と入力しています。
④ 「ディスクチェック」のエスケープ
暫くすると、実行画面に「Checking:●●%」と表示され、次に進まなくなります。
※ これは正常にディスクの状態をチェックしているだけなのでスキップします。
ディスクの状態チェックを行っている状態で「ESC」ボタンを押下し、状態チェックをスキップします。
画面上にズラズラインストールの状態が表示されていくので、しばらく待ちます。
※ 時間がかかるので別の事でもしていましょう。
インストールが完了すると、再起動してログイン画面が表示されます。
これでOSのインストールは完了です。
お疲れさまでした!
関連
仮想サーバー構築(全9記事)[追加記事作成中]
├─KickStartを使ってVmWare Player上へLinuxを導入する!
├─KickStart設定ファイルについて!
├─httpd(Apache)サーバーの導入
├─NICチーミングを設定する!
├─サーブレットコンテナ(JBOSS)の導入
├─JBoss-EAPを設定する!
├─Web-AP間連携の設定を行う!
├─VmWare Playerのディスク共有設定を行う!
└─共有ディスク上へデータ格納領域を作成する