💭

Hyper-Vのインストールと軽量サーバLinux(Alpine Linux)のセットアップ 21日目

2024/11/29に公開

Hyper-Vのインストールと軽量サーバLinux(Alpine Linux)のセットアップ

記事の概要

生成AIにAnsbleのプレイブックを書かせて動かすための軽量サーバの準備記事になります。仮想マシンにHyper-Vを利用してAlpine Linuxを立ち上げて、ローカルPCからpingが通ることを確認するまでの内容です。

Hyper-Vはちょっと癖がありましたが、ポイントがわかると使いやすいツールだと思います。

はじめに

今回は生成AIと会話するChatアプリを作ろうの過去記事総集編を考えていましたが、記事を作るときただただ作業でつまらなく没としました。生成AIでAnsibleを通してサーバを動かしてみようと思い、取り急ぎ仮想マシンの準備に着手することにしました。

1. Hyper-Vの概要

Hyper-Vは、Windowsに組み込まれた仮想化プラットフォームで、複数の仮想マシンを効率的に管理することができます。以下のステップでセットアップを進めていきます。


2. Hyper-Vのインストール

必要条件

  • Windows 10 Pro、Enterprise、またはWindows 11 Pro、Enterprise
  • BIOSで仮想化技術(Intel VTまたはAMD-V)が有効になっていること

ステップ

  1. コントロールパネルを開く
    Windowsキー + Sを押して「コントロールパネル」を検索して開きます。

  2. 「プログラムと機能」を選択
    「プログラムのアンインストール」セクションの左にある「Windowsの機能の有効化または無効化」をクリックします。

  3. 「Hyper-V」を有効化
    表示されるリストから「Hyper-V」にチェックを入れ、「OK」をクリックします。
    再起動を求められるので、PCを再起動します。


3. 仮想マシンの作成

ステップ

  1. Hyper-Vマネージャーを起動
    再起動後、「Hyper-Vマネージャー」を検索して起動します。

  2. 新しい仮想マシンの作成

    1. 右側の「操作」パネルから「新規作成」>「仮想マシン」を選択。
    2. 名前を指定(例: LightweightLinux)。
    3. 必要に応じてストレージの場所をカスタマイズ。
  3. 仮想ハードウェアの設定

    • 世代: 「第2世代」を選択。
    • メモリ: 最低1GB(推奨2GB以上)。
    • ネットワーク: 「Default Switch」を選択。
      ※Default Switch ・・・ Default Switchは、ホストマシンのネットワーク接続を利用して仮想マシンにインターネット接続を提供します。
  4. 完了押下


4. 軽量Linuxサーバのインストール

使用するLinuxディストリビューション

例: Alpine Linux
軽量でリソース消費が少ないため、仮想環境に最適です。
※今回はx86_64 (Extended)を採用

ステップ

  1. ISOファイルをダウンロード
    Alpine Linuxの公式サイトから最新のISOイメージをダウンロードします。

  2. 仮想マシンにISOをマウント

    • Hyper-Vマネージャーで作成した仮想マシンを右クリックして設定を押下。
    • 「SCSIコントローラー」でDVDドライブを追加>「DVDドライブ」>「イメージファイル」> ダウンロードしたisoファイルを参照。
    • 適用、OKを押下
  3. ファームウェアの設定

    • DVDドライブが一番上にくるように設定
  4. セキュリティ

    • 「セキュアブートを有効にする」のチェックを外す
      セキュアブート(Secure Boot)は、UEFI(Unified Extensible Firmware Interface)の機能の1つで、システムの起動時に読み込まれるブートローダーやオペレーティングシステムが正当なものであるかを確認するためのセキュリティ機構です。こいつが邪魔する。
  5. 仮想マシンを起動

    • Hyper-Vマネージャーで仮想マシンを右クリックし、「接続」>「起動」を選択。
    • Alpine Linuxのインストーラーが表示されるので、画面の指示に従ってインストールを進めます。
  6. 基本設定

    • ユーザー作成やネットワーク設定を完了します。

    • インストール後、必要なパッケージを追加してサーバをセットアップします。

      rootでログインし、各質問に回答しながら設定を進めて行きます。


5. 通信確認

ローカルPCからpingが通るかを確認します。

C:\Users\yokoy>ping 172.19.145.60

172.19.145.60 に ping を送信しています 32 バイトのデータ:
172.19.145.60 からの応答: バイト数 =32 時間 <1ms TTL=64
172.19.145.60 からの応答: バイト数 =32 時間 <1ms TTL=64
172.19.145.60 からの応答: バイト数 =32 時間 <1ms TTL=64
172.19.145.60 からの応答: バイト数 =32 時間 <1ms TTL=64

通りましたね。サーバの準備が整いました。


まとめ

以上で、Hyper-Vのインストールから軽量Linuxサーバのセットアップまでの手順が完了しました。当初はこの記事をおまけ程度に添える予定でしたが、思った以上に手間がかかり、個別の記事として公開することにしました。

特に苦労した点は、OSがインストールされなかったことです。ファームウェアの設定でDVDの優先順位を上げる必要があったことや、セキュアブートの設定が原因で問題が発生していたことに気づくまで時間がかかりました。

次回は、生成AIを活用してAnsibleのプレイブックを作成し、実際に実行してみる検証を行いたいと思います。

最後までお読みいただき、ありがとうございました!

Discussion