仮想マシン作成#12016/05/15 |
ゲストOSをインストールして仮想マシンを作成します。ここではホストOSと同じ Ubuntu をインストールします。
|
|
[1] | ここではネットワーク経由のテキストモードでインストールします。 直接コンソールからでも、リモートから Putty 等のエミュレータ経由からでも実行できます。 また、デフォルトでは仮想マシンのイメージの保管場所(ストレージプール)は /var/lib/libvirt/images となっていますが、ここでは別の場所に新たにストレージプールを作成して進めます。 なお、/etc/libvirt/storage 配下にあるストレージプールの定義ファイルは仮想マシンを作成すると自動生成されます。 |
root@dlp:~#
apt-get -y install libosinfo-bin libguestfs-tools virt-top # ストレージプールとするディレクトリ作成 root@dlp:~# mkdir -p /var/kvm/images root@dlp:~# virt-install \
--name template \
--ram 4096 \ --disk path=/var/kvm/images/template.img,size=30 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu16.04 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location 'http://jp.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/' \ --extra-args 'console=ttyS0,115200n8 serial'
Starting install... # インストールが開始される # インストール終了直後、一旦ホスト側に戻り、ゲストをシャットダウンする root@dlp:~# virsh shutdown template Domain template is being shutdown # ゲスト領域をマウントしてサービスを有効にする root@dlp:~# guestmount -d template -i /mnt root@dlp:~# ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service root@dlp:~# umount /mnt
# 再度起動し、コンソールに接続できればインストール完了 root@dlp:~# virsh start template --console Domain template started Connected to domain template Escape character is ^] Ubuntu 16.04 LTS ubuntu ttyS0 ubuntu login: |
上で指定しているオプションの意味です。その他は「man virt-install」で確認してください。
--name
仮想マシンの名前を指定
--ram
仮想マシンのメモリ容量を指定。単位は M
--disk path=xxx ,size=xxx
「path=」で仮想マシンのディスクの保管場所を指定 ( デフォルトは /var/lib/libvirt/images 配下 )
--vcpus「size=」で仮想マシンのディスク容量を指定。単位は G
仮想マシンの仮想CPU数を指定
--os-type
ゲストOSのOSタイプを指定
--os-variant
ゲストOSの種類を指定 - 下記コマンドで指定可能な種類を確認可能
--network# osinfo-query os
仮想マシンのネットワークタイプを指定。
ここではゲストOSにブリッジ接続させたいため、「--network bridge=br0」とした。
br0 はインストールの項の[3]で設定したブリッジインターフェースを指定している。
物理マシンがNICを複数枚もっていて、且つブリッジインターフェースを複数設定しており、仮想マシンからも同様に複数の
ネットワークインターフェースを使いたい場合は、改行して複数指定する。
--graphics
グラフィクスを指定。「none」指定でグラフィックスは使わない
--console
コンソールタイプを指定
--location
インストール元を指定
--extra-args
インストール時にカーネルに渡すパラメータを指定
|
[2] | ゲストOS側からホストOS側へのコンソールの切り替えは Ctrl + ] キーです。 ホストOS側からゲストOS側へのコンソールの切り替えは 「virsh console (ゲストの名前)」とコマンド入力します。 |
xerus@ubuntu:~$
# Ctrl + ] キー root@dlp:~# # ホスト側のコンソールに切り替わった
root@dlp:~#
xerus@ubuntu:~$ virsh console template # ゲストOS 'template' のコンソールに切り替え Connected to domain template Escape character is ^] # Enterキーを押す
# ゲスト側のコンソールに切り替わった
|
[3] | インストールしたゲストOS は作成直後のクリーンな段階で、後々仮想マシンを増やす時用のテンプレートとして、ディスクイメージをコピーしておくと便利です。
テンプレートとしてとっておいたディスクイメージから新たな仮想マシンを作成する場合は同じように「virt-clone」で複製できます。
|
# ホスト側のコンソール root@dlp:~# virt-clone --original template --name ubuntu1604 --file /var/kvm/images/ubuntu1604.img Allocating 'ubuntu1604.img' | 30 GB 01:02Clone 'ubuntu1604' created successfully. root@dlp:~# ll /var/kvm/images/ubuntu1604.img -rw------- 1 root root 1899888640 May 16 21:05 /var/kvm/images/ubuntu1604.img root@dlp:~# ll /etc/libvirt/qemu/ubuntu1604.xml -rw------- 1 root root 2694 May 16 21:05 /etc/libvirt/qemu/ubuntu1604.xml |
Sponsored Link |