Hyper-Vは、Microsoftによって開発されたタイプ1ハイパーバイザーであり、Windowsマシンで有効にするか、スタンドアロンのオペレーティングシステムとしてインストールすることができます(たとえば、Hyper-V Server 2016など)。Hyper-VはWindowsだけでなく、Linux仮想マシンも実行できます。Linuxディストリビューションの大部分が無料でオープンソースであるため、Hyper-Vサーバー上で無制限の数のLinux VMを実行できます。Hyper-V VMにLinuxをインストールすることには、Windowsをインストールする場合と比較していくつかの特徴があります。
Hyper-VでLinuxを実行する理由
Linuxの人気は高まっており、このオペレーティングシステムは時間の経過とともに検証されています。次に、Hyper-V上にLinuxをインストールする必要性を生じさせる可能性のある最も一般的な理由を見てみましょう:
- Hyper-V仮想環境で特定のLinuxディストリビューションをテストする必要があります。たとえば、新しいLinuxバージョンが最近リリースされ、このバージョンを物理サーバーにインストールする前にこのバージョンをテストしたいとします。
- コンテナを実行したい場合。Linuxは優れたコンテナサポートを提供しており、これがHyper-V上でLinuxを仮想マシンとしてインストールする理由になる可能性があります。
- マルチプラットフォームのソフトウェアまたは同様の機能を提供するソフトウェアをテストしたい場合。これは、開発者がアプリケーションを複数のオペレーティングシステム(たとえば、Windows、Linux、Solaris)で実行できるようにする場合の素晴らしい選択肢です(たとえば、Oracle Databaseなど)。Linuxに適切なソフトウェアをインストールしてテストできます。実験が成功した場合、Linuxとサポートされているソフトウェアを本番環境にインストールできます。
- ライセンス。このポイントは前のポイントと関連しています。Windowsは有料で、Linuxは無料です。Windows ServerのDatacenter Editionライセンスがない場合、ホストWindowsシステムのエディションに含まれるWindowsライセンスの数を超えるHyper-V VMにインストールされたそれぞれに支払わなければなりません。
- LinuxはWindowsよりも少ないハードウェアリソースを必要とします。Windowsはリソースを多く消費するオペレーティングシステムですが、Linuxは軽量です。
- Linuxはセキュアです。ユーザーはWindowsシステムがさまざまな有害なウイルスに対して脆弱であることを認識すべきですが、Linuxユーザーは、特にシステムが正しく構成されている場合は安全であると感じるかもしれません。たとえウイルスをダウンロードしても、Linuxで実際にウイルスを実行するには多大な努力が必要です。たとえば、ファイルのアクセス権を構成する必要があります。Linuxを使用すると、プライバシーが尊重されます。
- bashなどのLinuxシェルは、タスクの自動化に不可欠です。正規表現、スクリプト、および他のトリックを使用してLinuxを管理できます。あなたがLinuxを管理します。コミュニティの開発者は素晴らしいです – 開発者はLinuxが好きです。脆弱性が見つかった場合、それらは常に迅速に修正されます。
- Linuxを学び、WindowsからLinuxに移行したいと思います。
ユーザーさん、以下は日本語への翻訳です:
—
もし物理サーバーをHyper-VのVMに変換したい場合、コンバーターを使用してください。物理的なLinuxマシンをHyper-Vの形式のVMに変換するには、2つの手順があります。まず、VMware vCenter Converterを使用して物理マシンをVMware VMに変換し、次にMicrosoft Virtual Machine Converterを使用してVMware VMをHyper-V VMに変換します。
開始する前に
Ubuntu Linuxのインストールは、今日のブログ投稿の焦点とされています。GUI(グラフィカルユーザーインターフェース)が不要な場合は、Ubuntu Serverをインストールできます。インストールの原則は同様です。Linuxディストリビューションは数多くあり、好みのディストリビューションを選択し、説明されたロジックを使ってインストールできます。異なるLinuxファミリー間の主な違いの1つは、使用する必要があるパッケージマネージャーの違いです。パッケージマネージャーは、Linuxシステム上でプログラムをインストール、設定、アップグレード、削除することを目的としています。
パッケージマネージャーは次のようなタスクの解決を支援します:
- パッケージのダウンロード。特定の必要なパッケージやアプリケーションをインストールするためのコマンドを入力すると、パッケージは最適なソフトウェアリポジトリから自動的にダウンロードされます。パッケージには、ソフトウェアのバージョン、パッケージが構築されたアーキテクチャ、チェックサム、正常に動作するために必要な他のパッケージなどのメタデータが含まれています。
- 依存関係の解決。ソフトウェアをインストールする際、そのソフトウェアにはライブラリを含む適切なパッケージが必要な場合があります。これらを手動ですべて見つけて、ダウンロードして、インストールするのは多くの時間と労力を消費します。パッケージマネージャーは、依存関係があり、必要な依存パッケージを自動でインストールするよう提案します。
- 品質管理。公式のソフトウェアリポジトリに格納されているソフトウェアパッケージは、高品質、安定性、およびバグのないことを確認するためにテストされています。
- ファイルの場所の標準を尊重する。Linuxには多数のファイルとディレクトリが含まれています。時々、異なるLinuxディストリビューションは、ファイルを保存するために異なるパスを使用し、異なる構成ファイル名を使用します。パッケージマネージャーを使用すると、各Linuxディストリビューションに必要な場所にファイルを保存するための標準に従うことができます。
Hyper-VにインストールするLinuxディストリビューションを選択する前に、Linuxパッケージマネージャーに関する情報を把握しておくことができます。最も人気のあるLinuxディストリビューションとパッケージマネージャーの一部は、以下の表にリストされています。
Linuxディストリビューション | 使用されるパッケージマネージャー |
Debian、Ubuntu、Kubuntu、Xubuntu、Lubuntu、Mint | APT(Advanced Packaging Tool)、DPKG(Debian Package Management System) |
OpenSUSE、SLES(SUSE Linux Enterprise Server) | Zypper、YaST |
Red Hat、CentOS、Fedora | RPM(Red Hat Package Manager)、YUM(Yellowdog Updater Modified) |
Gentoo | Portage |
このブログ記事の冒頭で述べたように、LinuxをHyper-Vにインストールする手順をUbuntu Linuxの例を使ってデモします。Ubuntu 18 LTSのISOイメージを公式サイトからダウンロードしてください。
新しい Hyper-V VM を作成する
まず、WindowsマシンでHyper-Vロール(機能)が有効になっていることを確認してください(コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化に移動し、Hyper-Vの横にあるチェックボックスがチェックされているかどうかを確認してください)。新しい仮想マシンを作成するには、Hyper-Vマネージャーを開き、アクション > 新規 > 仮想マシンをクリックします。新しい仮想マシンウィザードが表示されます。
開始する前に。このステップでは設定するものはありません。
名前と場所を指定します。VM の名前を入力してください、例えば、Ubuntu18 とし、新しい VM を保存するフォルダーを選択します。システムのボリューム C: とは異なるボリュームを使用してください。この場合、ディスク D: 上のディレクトリが使用されます (D:\Virtual\Hyper-V)。パスを手動で入力するか、参照ボタンをクリックして場所を選択できます。
世代を指定します。この仮想マシンの世代を選択してください – 第1世代または第2世代。この例では、互換性の向上のために第1世代が選択されています。
メモリを割り当てます。GUI を備えた Ubuntu Linux マシンに少なくとも 1 GB のメモリを指定してください。VM 作成後にメモリ設定を編集できます。この仮想マシンで動的メモリを使用するチェックボックスをオンにして、ハードウェアのメモリリソースをより合理的に使用できます。
ネットワークの構成。VM の仮想ネットワークアダプターが接続される仮想スイッチを選択してください。この場合、デフォルト スイッチが使用されています。後で、他の仮想スイッチを作成して構成し、VM を適切なネットワークに接続できます。
仮想ハードディスクに接続。仮想ハードディスクを作成オプションを選択します。デフォルトでは、動的 VHDX 仮想ディスクが作成されます。仮想ディスクの名前を入力してください(例:Ubuntu18.vhdx)、場所を選択し、仮想ディスクのサイズを設定してください(少なくとも 16 GB)。
インストールオプション。ブート可能なCD/DVD-ROMからオペレーティングシステムをインストールします。 イメージファイル(.iso)を選択し、以前にダウンロードしたUbuntu18のISOインストールイメージを参照します。
概要。インストール概要で設定を確認し、新しい仮想マシンを作成するには、完了をクリックします。
静的MACアドレスの設定
。新しい空の仮想マシンが作成され、MACアドレスなどの異なるVM設定を編集できるようになりました。特にLinuxがHyper-Vで実行される場合は、Linux VMがHyper-Vホスト間で移行する必要がある場合には、静的MACアドレスを使用する方が良いです。 VM名を右クリックし、設定をクリックします。設定ウィンドウでネットワークアダプタを選択し、+アイコンをクリックしてネットワークアダプタオプションを展開します。 高度な機能をクリックし、ウィンドウの右側で静的MACアドレスを選択します。変更を保存するには、OKをクリックします。
VM上でUbuntu Linuxをインストール
。Hyper-Vマネージャーで、Ubuntu仮想マシンを選択し、VM名を右クリックしてコンテキストメニューから接続を選択してVMConnectを開きます。代替として、VMを選択した後、Hyper-Vマネージャーウィンドウのメニューバーでアクション>接続をクリックすることもできます。
。VMConnectウィンドウで、スタートボタンをクリックしてVMの電源を入れます。仮想マシンはISOイメージから読み込まれるはずです。その後、Ubuntuインストーラーのグラフィカルユーザインターフェイスが表示されます。インストーラーはウィザードモードで複数の構成ステップを提供します。
ようこそ。この画面で、お好みの言語(英語)を選択し、Ubuntu をインストールしてください。
キーボードレイアウト。キーボードレイアウトを選択してください(たとえば、英語 US)、続行をクリックしてください。
更新とその他のソフトウェア。通常のインストールと最小のインストールの間で選択できます。通常のインストールは、より多くのアプリケーションがインストールされます。最小のインストール。
その他のオプションでは、Ubuntu のインストール中にアップデートのダウンロードや、グラフィックス、Wi-Fi ハードウェア、追加のメディア形式のためのサードパーティのソフトウェアのインストールができます。
インストールの種類。今度は Ubuntu をインストールするためのディスクを準備する必要があります。新しいパーティションスキームを作成し、パーティションをフォーマットする必要があります。
ディスクを消去して Ubuntu をインストール。このオプションは、ディスクのパーティションを自動的に作成するために使用できます。Ubuntu Linux を初めてインストールする場合は、このオプションを選択できます。
新しい Ubuntu インストールをセキュリティのために暗号化。このオプションは、現在の例では有効になりません。
新しいUbuntuインストールでLVMを使用します。LVMは、抽象化レイヤーを使用してボリュームグループを作成し、2つの論理または物理ディスク(またはLinuxをHyper-V上のVMとして実行している場合は2つの仮想ディスク)を使用してボリュームグループを作成できるLogical Volume Managerです。さらに、ボリュームに空き容量がない場合は、1つ以上のディスクをボリュームグループに追加してボリュームグループのサイズを拡張できます。このアプローチは、ファイルサーバーやデータベースサーバーなどに役立つ柔軟性を大幅に追加します。LVMを使用すると、Linuxマシンをオフにせずにボリュームグループのサイズ変更やその他の操作を行うことができます。
別の方法。このオプションを選択すると、必要なサイズのパーティションを手動で作成し、適切なディレクトリにマウントできます。このオプションは、熟練したユーザーによって広く利用されています。
Linuxでは、ディスクパーティションはWindowsのようにC:やD:のようなディスクレターとして名前が付けられません。Linuxでは、ディスクは/dev/sda、/dev/sdb、/dev/sdcなどのように名前が付けられます。ディスクが/dev/sdaと名前が付けられ、3つのパーティションがある場合、パーティションの名前は/dev/sda1、/dev/sda2、/dev/sda3となります。
sdaはSATA Diskの意味です。以前はIDE(パラレルATA)ディスクが使用されていた時代、ハードディスクデバイスは/dev/hda、/dev/hdbなどと名前が付けられ、パーティションはそれに応じて/dev/hda1、/dev/hda2、/dev/hdb1と名前が付けられました。
ディスクパーティションは、この場合にはマウントポイントと呼ばれるディレクトリにマウントされます。Linuxファイルシステムのメインディレクトリは、/シンボルで名前が付けられたルートディレクトリです。Linuxのパーティション設定を手動で作成する際の推奨事項は、以下のテーブルに表示されます。LinuxをHyper-Vにインストールする際にも、似たようなパーティション設定を使用できます。
マウントポイント | ディスクパーティション | 推奨サイズ | コメント |
/boot | /dev/sda1 | 500 MB – 1 GB | GRUBなどのブートローダーが含まれます |
/ | /dev/sda2 | 最低でも12-20 GB | 最も重要なパーティションで、必須です |
/home | /dev/sda3 | ユーザーファイルとシステムファイルを分離するために使用されます | |
swap | /dev/sda4 | RAMの量に応じて4-8 GB | Windowsのスワップファイルと同じ目的でスワップパーティションが使用されます |
/var/log/ | /dev/sdb1 | ログを保存するための別々のパーティションを作成する必要はありませんが、サーバーでは推奨されます。ログファイルを強く書き込むアプリケーションがある場合、ディスクがいっぱいになる可能性があります。その結果、オペレーティングシステムとアプリケーションがクラッシュする可能性があります。 |
MBR(マスターブートレコード)パーティションスキームを使用する場合、4つのパーティションしか作成できません。GPT(GUIDパーティションテーブル)を使用すると、4つ以上のパーティションを作成できます。
今すぐインストールをクリックして続行します。
ディスクに変更を書き込みますか?警告メッセージが表示されます。新しいディスクパーティショニングスキームを適用するには、続行をクリックします。
どこにいますか?地理的な位置とタイムゾーンを選択してください。地域にあるソフトウェアリポジトリを使用すると、利用可能性とダウンロード速度が向上します。
あなたは誰ですか?お名前、コンピューターの名前(この場合はVMのホスト名)、ユーザー名を選択し、パスワードを定義してください。必要に応じて自動ログインを選択できます。デフォルトではログインにパスワードが必要です。これは最も安全なオプションであり、推奨されるオプションです。ファイルのコピーとインストールプロセスの開始には、続行をクリックしてください。
インストールプロセスが完了するまでお待ちください。ファイルがコピーされている間に、便利なヒントやOSの説明を読むことができます。
インストールが完了しました。新しいインストールを使用するには、コンピューターを再起動する必要があります。今すぐ再起動をクリックします。
Hyper-V Linux仮想マシンを再起動した後、ログイン画面が表示されます。ユーザー名を選択し、パスワードを入力してログインします。インストール済みのHyper-VにUbuntu Linuxの新しいバージョンの新機能をデモンストレーションするウィンドウが表示されます。
Linuxの設定
UbuntuをHyper-V VMにインストールしましたが、Ubuntuは他のLinuxと同様に、快適な使用のために構成する必要があります。設定の大部分はLinuxコンソール(ターミナル)で構成できます。ターミナルを開くには、左下隅の九つの点をクリックして(アプリケーションを表示)し、表示されるメニューでターミナルアイコンをクリックします。ターミナルを開く別の方法は、デスクトップで右クリックしてコンテキストメニューでターミナルを開くをクリックするか、Ctrl+Alt+Tのホットキーコンビネーションを押すことです。
これで、美しいUbuntu Linuxのターミナルウィンドウが表示されます。Linuxのコマンドとファイル名は大文字と小文字を区別することに注意してください。ReadMe.txtとreadme.txtはLinuxでは異なるファイル名ですが、Windowsではこれらのファイル名の違いはありません。
ネットワーク設定の確認
ネットワーク構成を確認するには、以下のコマンドを使用してネットワーク構成を確認できるように
net-toolsをインストールします。sudo apt-get install net-tools
sudoはコマンドをrootユーザー(代替ユーザー)として実行できるようにします。
ifconfigを入力して、Hyper-V VMで実行されているUbuntuのネットワーク構成を確認します。
A default virtual DHCP server connected to the default virtual switch has distributed the IP configuration for the virtual network adapter of the current Ubuntu Linux VM running on Hyper-V. The name of the virtual Ethernet adapter in Linux is eth0. The obtained IP address is 172.25.151.20, netmask is 255.255.255.240 and the default gateway is 172.25.151.31 in this case.
ネットワーク設定の手動変更
DHCPを介してIPアドレスを取得するのは便利ですが、LinuxをHyper-Vでサーバーとして使用する場合は、ネットワーク設定を手動で構成する必要があります。さらに、サーバーとして使用されるLinux VMをクローンしたい場合は、IPアドレスとマシン名を変更することが不可欠です。また、Hyper-V仮想スイッチの再構成後や仮想ネットワークアダプタを別の仮想スイッチに接続した後には、Linux VMのIPアドレスを変更する必要があります。Linux VMのネットワーク設定を手動で構成する方法を見てみましょう。
ネットワーク設定などのシステム設定を変更するには、root権限が必要です。コンソールでroot権限を取得するには、sudo -iと入力してセッション中にroot権限を取得します(パスワードを入力する必要があります)。必要に応じてルートモードを終了するには、セッション中にCtrl+Dを押します。コマンドラインプロンプトで$が#に変わることに気づくでしょう。新しいIPアドレスを入力し、ネットワークインターフェースを再読み込みします:
ifconfig eth0 172.25.151.21 netmask 255.255.255.240
ifconfig eth0 down
ifconfig eth0 up
設定はマシンを再起動するまで適用されます。
静的IPアドレスを永続的に設定するには、Ubuntu Linuxのバージョン17以降でネットワークを構成するために使用されるnetplan構成を使用します。以前のバージョンのUbuntuや一部の他のLinuxディストリビューションでは、/etc/network/interfaces構成ファイルを編集してIPアドレスの構成を編集できます。.yamlファイルをvimを使用して編集しましょう。
vim /etc/netplan/01-network-manager-all.yaml
この場合、ファイルには以下の構成が含まれています:
network:
version: 2 renderer: NetworkManager |
このファイルを編集することで、IPアドレス、ネットマスク、ゲートウェイ、およびDNSサーバーを変更できます。ファイルの構造は、スペースの数を含めて保存する必要があります。
注意: ネットマスクはビット数で記述できます。
255.255.255.0 は 11111111.11111111.11111111.00000000 と等しく、24ビットマスクです(10進数の形式で24個の1が表示されます)。
255.255.255.240 は 11111111.11111111.11111111.11110000 と等しく、28ビットマスクです(10進数の形式で28個の1が存在します)。
IPアドレスとネットマスクは4つのオクテットで構成されます。各オクテット(8ビット)は10進数形式に変換できます(以下の表を参照)。
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1+1+1+1+1+1+1+1=8 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128+64+32+16+8+4+2+1=255 |
次のテキストを日本語に翻訳します。翻訳結果のみを返します。説明は含まれません。ネットワークマスクを1つの形式から別の形式に変換するための表を使用できます。クラスCネットワークに分類されるネットワークに接続できる最大ホスト数が右列に表示されています。
ビット | ネットマスク | ホスト |
/30 | 255.255.255.252 | 2 |
/29 | 255.255.255.248 | 6 |
/28 | 255.255.255.240 | 14 |
/27 | 255.255.255.224 | 30 |
/26 | 255.255.255.192 | 62 |
/25 | 255.255.255.128 | 126 |
/24 | 255.255.255.0 | 254 |
上記のロジックを使用することで、任意のマスクを手動で別の形式に変換することができます。ネットワークに接続できる最大ホスト数を計算したい場合は、次の式を使用してください:
2(32-m) – 2
ここで、mはネットマスクに使用されるビット数です。たとえば、/29ネットワークがある場合、このネットワークの最大ホスト数は次のとおりです:
2(32-29) – 2 = 23 – 2 = 8 – 2 = 6
-2は、ネットワークアドレスとブロードキャストアドレスを除外する必要があります(たとえば、192.168.1.0/24ネットワークの場合、192.168.1.0および192.168.1.255アドレスを除外する必要があります)。他のネットワークに接続するためにデフォルトゲートウェイとして少なくとも1つのIPアドレスを使用する必要があることを忘れないでください。ネットワークをサブネットに分割することもできますが、今のところ、Hyper-V VMで実行されているUbuntuのネットワークの設定に戻りましょう。
レンダラーをNetworkManagerからnetworkdに変更し、次に示すようにUbuntuのネットワーク構成を編集します。構成形式を保持するためにスペース文字を追加する際に注意してください。
network:
version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [172.25.151.21/24] gateway4: 192.168.151.17 nameservers: addresses: [192.168.151.17,8.8.8.8] |
編集モードからナビゲーションモードに移行するには、Escを押します。テキストエディタを終了して変更を保存するには、:wqと入力してEnterを押します。
注意。もし複数のネットワークアダプタ(たとえば、eth0 と eth1)をお持ちの場合は、同様の eth1: ブロックを .yaml ファイルの eth0: ブロックの下に追加してください。
編集後に次のコマンドを使用して設定ファイルの形式が正しいかどうかを確認してください:
netplan try
すべてが正しい場合は、Enter キーを押してこれらの設定を維持してください。
Ubuntu でホスト名を変更する方法は?
変更する前に現在のホスト名を確認しましょう。
hostnamectl
以下のスクリーンショットに示されているように、Linux マシンの現在のホスト名は Ubuntu-VM です。新しい VM-Ubuntu ホスト名を設定します:
hostnamectl set-hostname VM-Ubuntu
ホスト名が /etc/hostmane ファイルで変更されたことを確認してください。
less /etc/hostname
また、/etc/hosts ファイルでホスト名も編集する必要があります。
vim /etc/hosts
vimは、Windows PowerShellに類似した強力なコンソールテキストエディタです。デフォルトでは、ナビゲーションモードになります。ナビゲートするには、h(左)、L(右)、j(下)、k(上)、または矢印キーを押します。aを押してカーソルの後に文字を追加するために編集モードに入ります。iを押すと、カーソルで強調表示されている既存の文字の代わりに文字を挿入できます。 Ubuntu-VMをVM-Ubuntuに変更し、編集モードからナビゲーションモードに戻るにはEscを押します。
変更をファイルに書き込んで終了するには、:wqと入力します。
変更が適用されるように、Linuxマシンを再起動するにはinit 6コマンドを使用してください。
Ubuntu LinuxでSSHサーバーを構成する
より便利にするために、SSH経由でのリモートアクセスを有効にする必要があります。SSHサーバーは、暗号化されたSSH(セキュアシェル)プロトコルを介してリモートでLinuxコンソールにアクセスするために使用されます。これを行うには、Hyper-Vで実行されているUbuntu VMにSSHサーバーをインストールし、Hyper-Vホストとして使用されているWindowsマシンにSSHクライアントをインストールする必要があります。
Ubuntuマシンで端末を開き、rootユーザーとして次のコマンドを実行します:
apt-get install -y openssh-server
SSHサーバーの設定はsshd_configファイルに保存されています。このファイルを編集して、必要な設定でSSH接続を有効にします。
vim /etc/ssh/sshd_config
この行のコメントを外します(#文字を削除します)
PasswordAuthentication はい
ファイルを保存して終了します。
SSH サーバーデーモン(サービス)を再起動します。
/etc/init.d ssh stop
/etc/init.d ssh start
Windows マシン用の SSH クライアント(例:PuTTY)をダウンロードします。Windows マシンで PuTTY を開き、Hyper-V 上で実行されている Ubuntu VM の IP アドレスを入力し、開く をクリックします。
ユーザー名とパスワードを入力します。これで Ubuntu コンソールにリモートでアクセスできます。
Linux VM と Windows ホストマシン間でのファイル転送
VMware とは異なり、Hyper-V では Windows ホストと Linux ゲスト間でファイルをドラッグアンドドロップすることはできません。SSH サーバーを構成しているため、Ubuntu VM から Hyper-V ホストにファイルを転送し、その逆も SCP(Secure Copy Protocol)を使用してファイルを転送することができます。WinSCP のような SFTP(Secure File Transfer Protocol)クライアントを使用します。WinSCP は安全な接続に SSH を使用し、ファイル転送には SCP も使用します。
Windows マシンで WinSCP を実行します。ファイルプロトコルとして SFTP を選択し、ホスト名または IP アドレス、ユーザー名、パスワードを入力します。
ログインすると、Windows マシンのファイルと Linux マシンのファイルが表示されるウィンドウが表示されます。ソースおよび宛先マシンの指定されたディレクトリに移動し、ファイルとディレクトリを選択します。選択したオブジェクトをパネル間でドラッグアンドドロップしてコピーします。
Linux に Hyper-V 統合サービスをインストールする方法は?
Ubuntu のバージョン 12.04 以降では、Hyper-V Linux 統合サービスが組み込まれています。お使いの Linux ディストリビューションに Hyper-V 統合サービスが含まれていない場合は、それらを Microsoft のサイトからダウンロードすることができます。
PowerShell で、Hyper-V ホスト上で実行されている Ubuntu VM の有効化された統合サービスを確認できます。以下のコマンドを Hyper-V ホスト上の PowerShell で入力してください:
get-vmintegrationservice -VMName “Ubuntu18”
GUI で、この VM に Hyper-V が提供するサービスを選択することもできます。Hyper-V マネージャーを開き、VM 名を右クリックし、設定をクリックします。設定ウィンドウで、左ペインの 統合サービス を選択し、必要なサービスのチェックボックスをオンにします(この例では、ゲストサービス を有効にする必要があります)。
変更を保存するために OK をクリックしてください。
PowerShell で有効なサービスを再確認できます(以下のスクリーンショットを参照してください)。
get-vmintegrationservice -VMName “Ubuntu18”
Ubuntu Linux に Hyper-V 統合サービスがインストールされると、これらはアクティブ化される必要があります。/etc/initramfs-tools/modules ファイルには、initramfs に含めたいモジュールのリストが含まれています。
initramfsは、ルートファイルシステム(/)をマウントするための初期RAMファイルシステムです。その結果、初期ルートファイルシステムとイニシャルデーモン(これはLinuxで実行される最初のプロセスです)は、カーネルメモリキャッシュに存在することができます(initrdファイルシステムとは異なり、固定サイズのブロックデバイスとして機能し、より多くのメモリをキャッシュに消費します)。Linuxカーネル2.6以降、initrdは、柔軟性、効率性、およびシンプルさなどの利点からinitramfsに置き換えられました。 initramfsは、ルートファイルシステムに表示される完全なディレクトリセットであり、gzipでcpioアーカイブに圧縮されます。
Linuxカーネルはモノリシックまたはモジュール化されることがあります。ほとんどの場合、モジュールカーネルが使用されます。必要なモジュールのロードを有効にしましょう。
vim /etc/initramfs-tools/modules
ファイルを編集し、適切なモジュールのロードを有効にするためにこれらの文字列を追加します。
hv_vmbus
hv_storvsc hv_blkvsc hv_netvsc |
initramfsの更新:
update-initramfs -u
Ubuntuを実行しているHyper-V VMを再起動します:
init 6
Linuxカーネルに関連するHyper-Vモジュールがロードされていることを確認します。
lsmod | grep hv
Linuxディスクオプティマイザーの調整
Linuxには、デフォルトでディスクI/O(入出力)を最適化するI/Oスケジューラーモードがあり、これは特に磁気(回転)ハードディスクドライブにとって便利です。Hyper-Vには、仮想ディスクI/Oパフォーマンスを最適化するための独自のメカニズムがあります。2つのディスク最適化ツールを使用する必要はなく、組み込みのLinuxディスク最適化ツールを無効にすることができます。Linuxカーネルでは、異なるI/Oスケジューラーを使用できますが、それぞれが異なるアルゴリズムを使用しています。この場合、NOOPスケジューラーを使用する必要があります。NOOPは、キューに対してFirst In First Out(FIFO)の概念を使用する最も単純なI/Oスケジューラーです。これがUbuntuをHyper-Vで実行するために必要なことです。
Linuxカーネルが使用するI/Oスケジューラーを編集するには、次のコマンドを使用してgrub設定ファイルを編集します。
vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT文字列を見つけます。この場合、この文字列は次のようになります。
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
この文字列を次のように編集します。
GRUB_CMDLINE_LINUX_DEFAULT=”elevator=noop”
これらのGRUB設定ファイルを保存します。
GRUBブートローダーの設定を更新します。
update-grub2
Ubuntu Hyper-V VMを再起動します。
init 6
結論
Linuxを使用したことがない場合、UbuntuをHyper-VにインストールすることはLinuxの世界への入り口を開く最初のステップとなるかもしれません。新しい仮想マシンを作成するのは簡単ですが、インストールが完了した後にいくつかの手動設定を行う必要があります。
Linux VMをHyper-Vホストで実行すると、VMを簡単にクローンおよび移行できます。2台のマシンは同じホスト名とIPアドレスを持ってはいけません。このため、基本的なネットワーク構成が説明されました。Hyper-V Linux Integration Servicesは、VMのパフォーマンスを向上させることができます。
オペレーティングシステムがVMで実行されている間、WindowsおよびWindows仮想マシンの両方をバックアップして、貴重なデータを保護する必要があります。NAKIVO Backup & Replicationは、Hyper-V VMを最良の方法でバックアップできます。