はじめに
現在の開発現場において、Hyper-Vを利用して仮想環境を構築することがあり、実際に触っていて面白いと感じたので、備忘録的にまとめてみようと思います。
Hyper-Vとは
まずHyper-Vとは、Microsoftが提供するサーバー・デスクトップ仮想化技術のことで、ハイパーバイザー型ソフトウェア(仮想マシンを作ったり動かしたりするソフトウェアのこと)です。
Windows ServerやWindows10/11のProに標準で搭載されているものなので、基本的にWindowsのHomeEditionでは使用することができません。(強制的にインストールすることはできますが動作保証されていないのでご注意ください)
このソフトウェアを使用すると、仮想上でWindowsやLinuxなどを動かして、その中でソフトやOSの動作テストを行うことができます。
チェックポイントの作成さえ行っていればいくらでも元に戻すことができるので多少乱暴に扱ってもいいのがうれしいですね。
競合しているソフトウェアとしてVMwareというものも存在します。導入目的などによって使い分けるのが良いでしょう。
仮想環境を作ってみる
1. 仮想環境で動かすOSの準備
仮想環境を作るのであれば仮想で動かすOSを準備する必要があります。
とりあえず動かしてみたい、というのであれば無料で使えるLinuxを用意するのが良いでしょう。私の環境ではCentOS-7を利用しています。(CentOS-7は公式サポートが終了しているのでセキュリティ的リスクが心配な方はおすすめしません)
2. 仮想マシンの作成
OSの準備は出来たらさっそく環境の作成を行っていきます。
まずは右上あたりにある新規=>仮想マシンを選択して画像のようなウィンドウが出るようにしましょう。
名前と場所の指定は、わかりやすい名前を付けて次に進めば問題ないと思います。

世代の指定については、調べてみるといくつか違いはありますが、対応しているのであれば性能面等で優れている第2世代をおすすめします。
メモリの割り当てについては、ホストPCの性能にもよりますが、仮想環境として動かすOSで推奨されているメモリ量より大きい値を指定すれば問題ないと思います。今回は少し余裕をもって2048MBとしておきました。
ネットワークの構成では、スイッチと呼ばれるものを割り当てることができます。
これを設定するとホストOSで利用しているネットワークを仮想OSでも使えるようにできます。
こちらは後ほど設定するのでここでは飛ばします。

仮想ハードディスクの接続では、仮想OSで利用するハードディスクを選択します。
特に用意していないのであれば新しく作成することになるでしょう。
サイズに関してはメモリの割り当て同様、使用するOSで推奨されている容量程度を割り当てておくほうが無難です。

2番目の"ブートイメージファイルからオペレーティングシステムをインストールする"を選択し、用意したOSを選択し完了しましょう。
(要約で今まで選択した内容を確認することもできます)
3. ネットワークアダプター
このまま動かすでもなんの問題もないのですが、せっかくですしネットワークの方も設定してみましょう。
ここで作成できるスイッチは、外部、内部、ネットワークの3種類があります。
詳しくは省きますが、
-
外部スイッチ
ホスト、ほかの仮想マシンとの通信はもちろん、設定すればホストOSのNICを使ってインターネットにアクセスできる。 -
内部スイッチ
ホスト、ほかの仮想マシンとの通信はできるが、ホストOSのNICを使ってインターネットにアクセスすることができない。 -
プライベートスイッチ
仮想マシンとの通信はできるが、ホストや外部との通信ができない。
という感じです。今回はネットワークとの通信は必要ないので内部スイッチを作ってみます。

この画面ではわかりやすいように名前だけ入力しておきましょう。

スイッチの設定は先ほど作成した仮想マシンを選択して、設定から行うことができます。

ハードウェアの一番下、ネットワークアダプターで先ほど作成した仮想スイッチを割り当てます。
割り当てられたら、この仮想マシンを起動してみましょう。
設定等行い、期待した画面がウィンドウで表示されれば、完了です。
4. ホストとの疎通
せっかくなので疎通も試してみましょう。
私の環境であればnmtuiコマンドを利用してネットワークアドレス等を設定できます。

例えば画像のように設定をします。
DNS ServerとしてGoogleのパブリックDNSを利用しています。
(設定したらActivate a connectionで有効にするのを忘れずに)
ホスト側でも設定を行いましょう。
設定はネットワークの詳細設定=>先ほど作った仮想スイッチ=>その他のアダプターオプションの編集から行うことができます。
ネットワーク部は同じもの、ホスト部は先ほど設定したものとは別のものを設定しましょう。
最後に
需要はわかりませんが、仮想環境作成、また未来の自分への参考になれば幸いです。




