Ubuntu 12.04
Sponsored Link

仮想マシン作成#12012/05/07

 
ゲストOSをインストールして仮想マシンを作成します。ここではホストOSと同じ Ubuntu 12.04 をインストールしてみます。
[1] ここではネットワーク経由のテキストモードでインストールをすることにします。 直接コンソールからでも、リモートからPutty等のエミュレータ経由からでも実行できます。 また、デフォルトでは仮想マシンのイメージの保管場所(ストレージプール)は /var/lib/libvirt/images となっていますが、 ここでは別の場所に新たにストレージプールを作成して進めていくことにします。
# ストレージプールとするディレクトリ作成

root@dlp:~#
mkdir -p /var/kvm/images

root@dlp:~#
virt-install \
-n www \
-r 2048 \
-f /var/kvm/images/www.img \
-s 20 \
--vcpus=2 \
--os-type linux \
--os-variant=ubuntuprecise \
--network bridge=br0 \
--nographics \
--location='http://jp.archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/' \
--extra-args='console=tty0 console=ttyS0,115200n8 serial'
Starting install...    
# インストールが開始される
 
上で指定しているオプションの意味です。他にもいろいろあるので「man virt-install」で確認してみてください。
-n 仮想マシンの名前を指定
-r 仮想マシンのメモリ容量を指定
-f 仮想マシンのディスクの場所を指定
-s 仮想マシンのディスク容量を指定。単位はG
--vcpus=
仮想マシンの仮想CPU数を指定
--os-type
ゲストOSのタイプを指定
--network=
仮想マシンのネットワークタイプを指定。 ここではゲストOSにブリッジ接続させたいため、「--network bridge=br0」とした。 br0 はインストールの項の[3]で設定したブリッジインターフェースを指定している。 物理マシンがNICを複数枚もっていて、且つブリッジインターフェースを複数設定しており、仮想マシンからも同様に複数の ネットワークインターフェースを使いたい場合は、改行して複数指定する。
--nographics
グラフィクスを使わない
--location=
インストール元を指定
--extra-args=
インストール時にカーネルに渡すパラメータを指定

[2] 後はテキストモードでインストール作業をするだけです。
インストールが完了すると、いつものように一旦再起動がかかり、以下のようにターミナル上にゲストOSのログインプロンプトが表示されます。
Ubuntu 12.04 LTS temp ttyS0
www login:    
# インストール中に設定したユーザーでログイン
[3] ゲストOS側からホストOS側へのコンソールの切り替えは Ctrl + ] キーです。
ホストOS側からゲストOS側へのコンソールの切り替えは 「virsh console (ゲストの名前)」とコマンドをうちます。
pangolin@www:~$
# Ctrl + ] キーを押す

root@dlp:~#
# ホスト側のコンソールに切り替わった
root@dlp:~#
virsh console www
 
# ゲストOS 'www' のコンソールに切り替え

Connected to domain www
Escape character is ^]
# Enterキーを押す
pangolin@www:~$
# ゲスト側のコンソールに切り替わった
[4] インストールしたゲストOSは作成直後のクリーンな段階で、後々仮想マシンを増やす時用のテンプレートとして、ディスクイメージをコピーしておけば便利です。 テンプレートとしてとっておいたディスクイメージから新たな仮想マシンを作成する場合は次項を参照ください。
root@dlp:~#
# ホスト側のコンソール

root@dlp:~#
virt-clone --original www --name template --file /var/kvm/images/template.img

Cloning www.img     | 20 GB 01:39
Clone 'template' created successfully.
root@dlp:~#
ll /var/kvm/images/template.img

-rwxr-xr-x 1 root root 21474836480 May 7 20:58 /var/kvm/images/template.img*
root@dlp:~#
ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 1519 May 7 20:32 /etc/libvirt/qemu/template.xml
[5]
後は、作成したゲストOSにホストOS側と同様にネットワーク等の基本的な初期設定をしておきます。
[6] ストレージプールを新たに追加したので定義しておきます。
root@dlp:~#
mkdir /etc/libvirt/storage/

root@dlp:~#
vi /etc/libvirt/storage/disk01.xml
# 新規作成

<pool type='dir'>
# 任意の名前

   <name>disk01</name>
   <capacity>0</capacity>
   <allocation>0</allocation>
   <available>0</available>
   <source>
   </source>
   <target>
# プールディレクトリ指定

      <path>/var/kvm/images</path>
      <permissions>
         <mode>0700</mode>
         <owner>-1</owner>
         <group>-1</group>
      </permissions>
   </target>
</pool>

root@dlp:~#
virsh pool-define /etc/libvirt/storage/disk01.xml

Pool disk01 defined from /etc/libvirt/storage/disk01.xml
root@dlp:~#
virsh pool-start disk01

Pool disk01 started
root@dlp:~#
virsh pool-autostart disk01

Pool disk01 marked as autostarted
root@dlp:~#
virsh pool-list

Name                 State      Autostart
-----------------------------------------
disk01               active     yes

root@dlp:~#
virsh pool-info disk01

Name:           disk01
UUID:           294bd446-1544-7434-35e6-9c9b1b8ae902
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       906.32 GB
Allocation:     16.42 GB
Available:      889.91 GB
関連コンテンツ