ウェブサイト検索

仮想マシンとコンテナをインストールおよび管理する方法


今日の IT 業界では仮想化コンテナが注目のトピックです。この記事では、Linux システムで両方を管理および構成するために必要なツールをリストします。

何十年にもわたって、仮想化は IT プロフェッショナルが運用コストを削減し、エネルギー節約を促進するのに役立ちました。仮想マシン ( 略してVM) は、ホストと呼ばれる別のシステム上で実行される、エミュレートされたコンピューター システムです。

VM は、ホストのハードウェア リソース (CPU、メモリ、ストレージ、ネットワーク インターフェイス、USB デバイスなど) へのアクセスが制限されています。仮想マシン上で実行されているオペレーティング システムは、ゲスト オペレーティング システムと呼ばれることがよくあります。

CPU 拡張機能

続行する前に、CPU で仮想化拡張機能が有効になっているかどうかを確認する必要があります。これを行うには、次のコマンドを使用します。vmxsvm は、それぞれ Intel プロセッサと AMD プロセッサの仮想化フラグです。

grep --color -E 'vmx|svm' /proc/cpuinfo

出力がない場合は、拡張機能が利用できないか、BIOS で有効になっていないことを意味します。これらを使用せずに続行することもできますが、パフォーマンスに悪影響が生じます。

Linux に仮想化ツールをインストールする

まず、必要なツールをインストールしましょう。 CentOS では、次のパッケージが必要です。

yum install qemu-kvm libvirt libvirt-client virt-install virt-viewer

一方、Ubuntuでは:

sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin libvirt-dev

次に、後で使用するためにCentOS 7 の最小 ISO ファイルをダウンロードします。

wget http://mirror.clarkson.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

この時点で、次の仕様で最初の仮想マシンを作成する準備が整いました。

  • RAM: 512 MB (ホストには少なくとも 1024 MB が必要であることに注意してください)
  • 1 つの仮想 CPU
  • 8GBディスク
  • 名前: centos7vm
virt-install --name=centos7vm --ram=1024 --vcpus=1 --cdrom=/home/user/CentOS-7-x86_64-Minimal-1804.iso --os-type=linux --os-variant=rhel7 --network type=direct,source=eth0 --disk path=/var/lib/libvirt/images/centos7vm.dsk,size=8

ホストで利用可能なコンピューティング リソースによっては、上記のコマンドで仮想化ビューアが起動するまでに時間がかかる場合があります。このツールを使用すると、ベア メタル マシン上で実行しているかのようにインストールを実行できます。

Linux で仮想マシンを管理する方法

仮想マシンを作成した後、それを管理するために使用できるコマンドをいくつか示します。

すべての VM をリストします。

virsh --list all

VM (この場合は centos7vm) に関する情報を取得します。

virsh dominfo centos7vm

デフォルトのテキスト エディタで centos7vm の設定を編集します。

virsh edit centos7vm

自動起動を有効または無効にして、ホストが次の操作を行うときに仮想マシンを起動するかどうかを指定します。

virsh autostart centos7vm
virsh autostart --disable centos7vm

centos7vm を停止します。

virsh shutdown centos7vm

停止したら、centos7vm2 という新しい仮想マシンにクローンを作成できます。

virt-clone --original centos7vm --auto-clone --name centos7vm2

以上です。この時点から、詳細についてはvirt-installvirsh、およびvirt-cloneのマニュアル ページを参照してください。