仮想マシン作成#12011/03/15 |
ゲストOSをインストールして仮想マシンを作成します。ここではホストOSと同じ Scientific Linux 6 をインストールしてみます。
|
|
[1] | ここではネットワーク経由のテキストモードでインストールをすることにします。
直接コンソールからでも、リモートからPutty等のエミュレータ経由からでも実行できます。 また、デフォルトでは仮想マシンのイメージの保管場所(ストレージプール)は /var/lib/libvirt/images となっていますが、 ここでは別の場所に新たにストレージプールを作成して進めていくことにします。 |
[root@dlp ~]# mkdir -p /var/kvm/images # ストレージプールとするディレクトリ作成 [root@dlp ~]# virt-install \
Starting install...
-n www \ -r 1024 \ -f /var/kvm/images/www.img \ -s 20 \ --vcpus=2 \ --os-type linux \ --os-variant=rhel6 \ --network bridge=br0 \ --nographics \ --location='http://ftp.jaist.ac.jp/pub/Linux/scientific/6/x86_64/os/' \ --extra-args='console=tty0 console=ttyS0,115200n8 serial' # インストールが開始される |
上で指定しているオプションの意味です。他にもいろいろあるので「man virt-install」で確認してみてください。
-n 仮想マシンの名前を指定-r 仮想マシンのメモリ容量を指定 -f 仮想マシンのディスクの保管場所を指定 ( デフォルトは /var/lib/libvirt/images 配下 ) -s 仮想マシンのディスク容量を指定。単位はG --vcpus=
仮想マシンの仮想CPU数を指定
--os-type
ゲストOSのタイプを指定
--network=
仮想マシンのネットワークタイプを指定。
ここではゲストOSにブリッジ接続させたいため、「--network bridge=br0」とした。
br0 はインストールの項の[2]で設定したブリッジインターフェースを指定している。
物理マシンがNICを複数枚もっていて、且つブリッジインターフェースを複数設定しており、仮想マシンからも同様に複数の
ネットワークインターフェースを使いたい場合は、もう1行増やして「--network bridge=br1」のように複数行で指定する。
--nographics
グラフィクスを使わない
--location=
インストール元を指定
--extra-args=
インストール時にカーネルに渡すパラメータを指定
|
[2] | 後はテキストモードでインストール作業をするだけです。テキストモードでも基本はGUIと変わらないのでインストール過程は割愛します。 インストールが完了すると、いつものように一旦再起動がかかり、以下のようにターミナル上にゲストOSのログインプロンプトが表示されます。 |
Scientific Linux release 6.0 (Carbon)
Kernel 2.6.32-71.el6.x86_64 on an x86_64
localhost.localdomain login:
Password:# rootユーザーでログイン [root@localhost ~]# |
[3] | ゲストOS側からホストOS側へのコンソールの切り替えは Ctrl + ] キーです。 ホストOS側からゲストOS側へのコンソールの切り替えは 「virsh console (ゲストの名前)」とコマンドをうちます。 |
[root@localhost ~]#
[root@dlp ~]# # Ctrl + ] キーを押す [root@dlp ~]# # ホスト側のコンソールに切り替わった virsh console www # ゲストOS 'www' のコンソールに切り替え Connected to domain www
Escape character is ^]
[root@localhost ~]# # Enterキーを押す # ゲスト側のコンソールに切り替わった |
[4] | テキストモードでインストールすると、キーボード設定がUSになっているので直しておきます。
また、テキストモードでインストールしたゲストOSは最小構成となっているので、
作成直後のクリーンな段階で、後々仮想マシンを増やす時用のテンプレートとして、ディスクイメージをコピーしておけば便利です。
テンプレートとしてとっておいたディスクイメージから新たな仮想マシンを作成する場合は次項を参照ください。
|
[root@localhost ~]#
vi /etc/sysconfig/keyboard # 修正 KEYTABLE=" jp106 "MODEL=" jp106 "LAYOUT=" jp "
# Ctrl + ] キー
[root@dlp ~]#
# ホスト側のコンソール # インストール直後のクリーンな状態をテンプレートとしてコピーしておく [root@dlp ~]# virt-clone --original www --name template --file /var/kvm/images/template.img
Allocating 'template.img'
| 20 GB 01:44
Clone 'template' created successfully.
[root@dlp ~]# ll /var/kvm/images/template.img # ディスクイメージ確認 -rwxr-xr-x. 1 root root 21474836480 Apr 25 21:21 /var/kvm/images/template.img [root@dlp ~]# ll /etc/libvirt/qemu/template.xml # 定義ファイル確認 -rw-------. 1 root root 1775 Apr 25 21:13 /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: c7e34241-1a81-79f1-e081-671858f0eb24 State: running Persistent: yes Autostart: yes Capacity: 283.33 GB Allocation: 84.90 GB Available: 198.43 GB |
Sponsored Link |
|