KVM 環境でネットワーク インストール (HTTP、FTP、NFS) を使用して複数の仮想マシンをデプロイする方法 - パート 2
これは KVM シリーズのパート 2 です。ここでは、KVM 環境下でネットワーク インストールを使用して Linux 仮想マシンを展開する方法について説明します。 3 種類のネットワーク インストール (FTP、NFS、HTTP) について説明します。それぞれに特別な前提条件があります。
始める前に、このシリーズの最初の部分で説明した前提条件を満たしていることを確認してください。
- KVM (カーネルベースの仮想マシン) を使用した Linux での仮想マシンのセットアップ – パート 1
FTPを使用したネットワークインストール
1. 始める前に、ftp サービス パッケージをインストールする必要があります。
yum install vsftpd
2. vsftpd をインストールしたら、vsftpd を起動してサービスを永続的に有効にします。
systemctl start vsftpd
systemctl enable vsftpd
3. セキュリティの問題のため、ファイアウォールに FTP サービスを追加する必要がある場合があります。
firewall-cmd --permanent --add-service=ftp
firewall-cmd –reload
4. 次に、作業したい Linux ISO を選択します。この部分では RHEL7 ISO を使用します。 ISO イメージをマウント ポイント (つまり /mnt の場所) にマウントしましょう。カスタム マウント ポイントを作成することもできます。
mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso /mnt/iso-mp/
5. これまで、FTP サーバーではまだ何も共有していません。 FTP のデフォルトのデータ パスは /var/ftp/pub/ です。その下に新しいディレクトリを作成します。
mkdir /var/ftp/pub/RHEL7
6. 次に、マウントされた ISO に含まれるファイルをコピーします。コピー中に詳細を表示する「v」オプションを追加することもできます。
cp -r /mnt/iso-mp/* /var/ftp/pub/RHEL7/
7. 最後に、vsftpd サービスを再起動して、サービスのステータスを確認します。
systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd
サンプル出力
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
Active: active (running)
Main PID: 27275 (vsftpd)
8. ここで、GUI ツール virt-manager を起動します。
virt-manager
9. 「virt-manager」を起動した後、新しい仮想マシンを作成し、このウィンドウから [ネットワーク インストール] を選択します。
10. 初めて KVM パッケージをインストールすると、仮想マシンを物理ホストに接続するための仮想ブリッジが作成されます。 ifconfig コマンドを使用してその設定を表示できます。
ifconfig virbr0
サンプル出力
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.124.1 netmask 255.255.255.0 broadcast 192.168.124.255
inet6 fe80::5054:ff:fe03:d8b9 prefixlen 64 scopeid 0x20
ether 52:54:00:03:d8:b9 txqueuelen 0 (Ethernet)
RX packets 21603 bytes 1144064 (1.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 214834 bytes 1108937131 (1.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
IP: 192.168.124.1 が仮想ブリッジ vibr0.Virtual に割り当てられていることがわかります。マシンはこの IP を使用して物理ホストに接続します。したがって、この IP は仮想ネットワーク環境の物理ホストを表すと言えます。
この IP を使用して、ISO のファイルを含む FTP ディレクトリへの URL パスを提供します。 FTP サーバーを別のリモート ホストに展開している場合は、前の IP の代わりに他のサーバーの IP を入力するだけです。
11. 次に、チュートリアルの前の部分と同様に、リソースとストレージについて尋ねられます。結局そこにたどり着くのはこのウィンドウか何かのようなものです。
[完了] を押して、新しい仮想マシンをお楽しみください。
NFSを使用したネットワークインストール
1. ここでもほぼ同じ手順で、nfs サービス パッケージをインストールします。
yum install nfs-utils
2. 次に、nfs サービスを開始し、サービスをファイアウォールに永続的に追加します。
systemctl start nfs
systemctl enable nfs
firewall-cmd --permanent --add-service=nfs
firewall-cmd –reload
3. Linux ISO をマウントします。
mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso /mnt/iso-mp/
4. /etc/exports を編集することで、NFS 共有を使用してこのマウント ポイントを共有できます。
#echo /mnt/iso-mp *(ro) > /etc/exports
5. NFS サービスを再起動し、サービスのステータスを確認します。
systemctl restart nfs
systemctl status nfs
サンプル出力
nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled)
Active: active (exited)
8. GUI ツール「virt-manager」を起動します。
virt-manager
9. 「virt-manager」を起動した後、新しい仮想マシンを作成し、[ネットワーク インストール] を選択して、ISO のファイルを含む NFS ディレクトリの URL パスを入力します。 NFS サーバーを他のリモート マシンに展開している場合は、そのマシンの IP を入力するだけです。
10. 次に、このシリーズの前の部分で説明したのと同じように、リソースとストレージを入力するよう求められます。これらの詳細をすべて入力し、[完了] ボタンをクリックするだけです。
HTTP を使用したネットワーク インストール
1. ここでもほぼ同じ手順を実行します。http サービス パッケージをインストールして開始し、ファイアウォールで永続的に有効にします。
yum install httpd
systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --add-service=httpd
firewall-cmd –reload
2. 次に、ISO イメージを「/mnt/iso-mp」の場所にマウントします。
mount -t iso9660 -o ro /path-to-iso/rhel-server-7.0-x86_64-dvd.iso /mnt/iso-mp/
3. これまで、HTTP サーバーでは何も共有していませんでした。 HTTP のデフォルトのデータ パスは「/var/www/html」です。その下に新しいディレクトリを作成します。
mkdir /var/www/html/RHEL7
4. 次に、マウントされた ISO のファイルをこのディレクトリにコピーします。
cp -r /mnt/iso-mp/* /var/www/html/RHEL7/
5. httpd サービスを再起動し、サービスのステータスを確認します。
systemctl restart httpd
systemctl status httpd
サンプル出力
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
Active: active (running)
Main PID: 3650 (httpd)
6. 次に、「virt-manager」を起動し、新しい仮想マシンを作成して、[ネットワーク インストール] を選択し、ISO イメージのファイルを含む HTTP ディレクトリ パス URL を入力し、次のようにします。手順は上で説明したとおりです。
結論
ネットワーク インストールを使用して Linux 仮想マシンを展開する方法について説明しました。ネットワーク インストールは、1 つの中央インストール ソースを展開するのに役立つ集中化により、ローカル インストールよりも非常に優先され、すべてのサーバー/マシンはそれを使用してオペレーティング システムを展開します。これにより、大規模な環境での無駄なインストール時間が大幅に削減されました。