Scientific Linux 6
Sponsored Link

仮想マシン作成#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 \
-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'
Starting install...
# インストールが開始される
 
上で指定しているオプションの意味です。他にもいろいろあるので「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:
# rootユーザーでログイン
Password:
[root@localhost ~]#
[3] ゲストOS側からホストOS側へのコンソールの切り替えは Ctrl + ] キーです。
ホストOS側からゲストOS側へのコンソールの切り替えは 「virsh console (ゲストの名前)」とコマンドをうちます。
[root@localhost ~]#
# Ctrl + ] キーを押す

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

Connected to domain www
Escape character is ^]
# Enterキーを押す
[root@localhost ~]#
# ゲスト側のコンソールに切り替わった
[4] テキストモードでインストールすると、キーボード設定がUSになっているので直しておきます。 また、テキストモードでインストールしたゲストOSは最小構成となっているので、 作成直後のクリーンな段階で、後々仮想マシンを増やす時用のテンプレートとして、ディスクイメージをコピーしておけば便利です。 テンプレートとしてとっておいたディスクイメージから新たな仮想マシンを作成する場合は次項を参照ください。
[root@localhost ~]#
vi /etc/sysconfig/keyboard
# 修正

KEYTABLE="
jp106
"
MODEL="
jp106
"
LAYOUT="
jp
"
[root@localhost ~]#
# 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

関連コンテンツ