不動の鳥の勉強記録

時間があるときに勉強したことをメモします。

VirtualBoxでAnsible環境を整える-VirtualBox操作編

先の記事で検討した構成に沿うようにVirtualBoxを操作していきたいと思います。

■記事の最終目標

最終的なゴールはAnsibleの実験がしたいので3つゲストOSを構築していきたいと思います。記事の構成としては1つの記事だと長くなりそうなので下記構成で作っていきたいと思います。

■はじめに

VirtualBoxを含め今回の環境は下記となります。VirtualBoxのインストール方法などはいろいろな方がまとめてくださっているので、そちらの記事をご覧ください。 また、今回3台ゲストOSを作成しますが、1台を作成した後はクローン機能を用いて1台目のVMイメージから2台目、3台目を作っていきたいと思います。

■環境

〇NATネットワークの作成

最初にNATネットワークを作成していきます。VirtualBox マネージャーから作成します。 マネージャー画面にある「環境設定(P)」を押下します。 f:id:hiyo-ac:20190504144248p:plain

環境設定ウィンドウから「ネットワーク」を選択し、画面右側のネットワークカードのようなアイコンを押下します。

f:id:hiyo-ac:20190504144451p:plain

先の手順でNATネットワークが作成できました。作成したNATネットワークの詳細を確認するためにダブルクリックします。

f:id:hiyo-ac:20190504144807p:plain

ネットワーク名は特に考えていなかったのでデフォルトのまま変更しないようにします。ネットワークCIDRは設計図通りになっていること、ネットワークオプションでDHCPのサポートにチェックを入れます。IPv6は今回利用しませんのでチェックなしのままにしておきます。

f:id:hiyo-ac:20190504145013p:plain

CentOS仮想マシンの作成-1台目

仮想マシンを作成していきます。新規で仮想マシンを作成するときは、VirtualBox マネージャーから「新規(N)」をクリックします。

f:id:hiyo-ac:20190504160740p:plain

今回はエキスパートモードで設定をしていきます。そのためウィンドウ下部の「エキスパートモード(E)」を選択した画面で入力していきます。まずは仮想マシンの設定です。構成設計で定義した名前にし、マシンフォルダーにVMのファイルを配置するフォルダーを指定します。タイプとバージョンについては、今回CentOSのマシンを作成するので、タイプはLinux、タイプはRed Hat(64bit)を選択します。サーバのスペックについては、ホストOSのスペックによりけりですが最小構成にし、ウィンドウ下部の「作成」をクリックします。

f:id:hiyo-ac:20190504161452p:plain

次に仮想ハードディスクの作成です。ファイルサイズはディスクに余裕があるので20GBを設定します。ハードディスクのファイルタイプなどは変更せずにそのままウィンドウ下部「作成」の作成をクリックします。VMDKファイルってVMWare用のフォーマットな記憶があるので、ここでイメージを作ってVMWareの環境にそのまま持っていけるのでしょうか。

f:id:hiyo-ac:20190504182822p:plain

ここまで出来たらウィンドウは閉じてVirtualBoxマネージャーの画面に戻りました。 作成した仮想マシンの設定をしていきます。作成した仮想マシンを選択し「設定(S)」をクリックします。

f:id:hiyo-ac:20190504163438p:plain

ネットワークの設定がデフォルトだと「NAT」になっていると思うので、これを先に作成したNATネットワークに変更して、「OK」をクリックします。

f:id:hiyo-ac:20190504163811p:plain

仮想マシンを起動します。VirtualBox マネージャーから「起動(T)」をクリックします。

f:id:hiyo-ac:20190504164107p:plain

初回起動時は起動ハードディスクを選択するウィンドウが表示されます。フォルダのアイコンをクリックして、CentOSのサイトからダウンロードしてきたisoファイルを選択して「起動」をクリックします。

f:id:hiyo-ac:20190504164321p:plain

画面キャプチャが取れなかったのですが、CentOSのisoファイルから何するか選択する画面が出てくるので、「Install CentOS 7」を選択します。ここからはCentOSのインストール設定なので画面キャプチャなどはなく、淡々と描きパラメータシートに従ってインストールしていきます。その際ネットワークとホスト名のネットワーク構成情報は念のため画面キャプチャを取得しておきます。インストールが完了すると再起動を行います。VirtualBoxの画面をクリックするとカーソルが仮想マシン上に移ってしまいホストOSに戻ってきません。Windows OSではデフォルトで右側のCtrlキーを押下することでホストOSの操作ができるようになりますので覚えておくこと必須です。

CentOSパラメータシート

項目 設定値
言語 日本語(日本)
日付と時刻(T) アジア/東京 タイムゾーン
キーボード(K) 日本語
言語サポート(L) 日本語(日本)
インストールソース ローカルメディア
ソフトウェアの選択-ベース環境 インフラストラクチャーサーバー
ソフトウェアの選択-選択した環境のアドオン ☑ 開発ツール
インストール先 ローカルの標準ディスク ATA VBOX HARDDISK
KDUMP ☑kdumpを有効にする
KDUMP-Kdumpメモリー予約 自動
ネットワークとホスト名-ホスト名(H) ansiblecontrol
ネットワークとホスト名-enp0s3 オン
SECURITY POLICY プロファイル未選択
ROOTパスワード(R) 任意のパスワードを設定
ユーザーの作成(U) ユーザは作成されません

再起動が完了したら、先ほど作成したrootアカウントでログインできるはずです。ログインできたらインストールまでは問題なく完了です。

CentOS仮想マシンの作成-2台目, 3台目

先ほど作成したVMイメージをもとに2台目、3台目を構築していきます。1台目のVMイメージを静的な状態にしたいこととクローンした後にサーバのIPアドレスとホスト名がバッティングするので、1台目のVMが起動しているようでしたらshutdownします。shutdownが完了したらVirtualBox マネージャーからクローンを作成する仮想マシンを右クリックし、出てきたメニューから「クローン(O)」を選択しクリックします。

f:id:hiyo-ac:20190504184438p:plain

先ほどと同じくエキスパートモードで設定を行います。名前は構成設計通りに「CentOS01」とし、パスはクローンした仮想ファイルを配置する任意のフォルダを選択します。クローンのタイプはディスクに余裕があるので、「すべてをクローン(F)」、スナップショットは「現在のマシンの状態(M)」を選択します。追加オプションのMACアドレスのポリシーについては、MACアドレスは重複しないようにしたいので、「すべてのネットワークアダプターでMACアドレスを生成」を選択します。今回クローン元と同じドライブに配置するので追加オプションは何もチェックしないまま、「クローン」をクリックします。

f:id:hiyo-ac:20190504185530p:plain

無事にクローンが完了するとクローンして作成した仮想マシンが表示されます。このマシンを起動します。

f:id:hiyo-ac:20190504185824p:plain

サーバにログインするとホスト名とipアドレスがクローン元と一緒なので、ホスト名を下記コマンドで変更して再起動します。ipアドレスDHCP設定で固定化できないので時間があったら固定したいと思います。

% nmtui
% reboot

OS再起動後にhostnameコマンドでホスト名が変わっていれば完了です。同様にもう一台クローンを作成します。

〇ポートフォワーディング設定

ここまでで3台の仮想マシンが作成できました。Ansible管理用サーバにホストOSからssh接続できるようにポートフォワーディング設定を行います。ポートフォワーディングはNATネットワークに設定します。NATネットワーク作成時と同様に「環境設定」>「ネットワーク」>NATネットワークを選択し、詳細ウィンドウで「ポートフォワーディング」をクリックします。

f:id:hiyo-ac:20190504201219p:plain

画面右側の緑の十字のボタンをクリックし、ホストOSのIPアドレスと、ゲストOSのIPアドレスを確認してルールを記載し、「OK」をクリックします。

f:id:hiyo-ac:20190504201550p:plain

ホストOSからTeraTermで自身のIPアドレスの22番ポートに接続すると、対象のゲストOSへssh接続することができました。ここまででひとまずVirtualBox操作編は終了とします。IPアドレスの固定化ができていないのが残念ですが、一度きりの環境の構築はできました。

おわりに

記事を書きながら操作しているので、後続の過程でうまくいかなかった時は内容を修正することがありますのでご容赦ください。また、内容に誤りなどありましたらコメントにてご指摘お願いします。

■参考

これらの記事がとても参考になりました。製作者の皆様に感謝です。