2013/08/15(木)仮想環境を作る

余計なことしているかもだけど、まあ動くからいいことにする
今回は、debianを入れてみる

下準備

  • NICの設定

    • bridgeを作っておく
      [/etc/sysconfig/network-scripts]の[ifcfg-eth1]を開いて、ブリッジで設定

      DEVICE=eth1
      HWADDR=**:**:**:**:**:**
      TYPE=Ethernet
      UUID=********-****-****-****-************
      ONBOOT=yes
      NM_CONTROLLED=yes
      BOOTPROTO=static
      IPADDR=192.168.100.4
      NETMASK=255.255.255.0
      GATEWAY=192.168.100.1
      NETWORK=192.168.100.0
      BROADCAST=192.168.100.255
      BRIDGE=br0
      

      同じく[/etc/sysconfig/network-scripts]の[ifcfg-br0]を開いて、ブリッジを作成

      DEVICE=br0
      HWADDR=**:**:**:**:**:**
      TYPE=Bridge
      UUID=********-****-****-****-************
      ONBOOT=yes
      NM_CONTROLLED=yes
      BOOTPROTO=static
      IPADDR=192.168.100.4
      NETMASK=255.255.255.0
      GATEWAY=192.168.100.1
      NETWORK=192.168.100.0
      BROADCAST=192.168.100.255
      

仮想化環境のインストール

  • 仮想化ソフト環境を入れる

    yum groupinstall "Virtualization" "Virtualization Platform" "Virtualization Client" "Virtualization Tools"
    
    groupinstallで一括インストールできるっぽい。便利だね
  • モジュール読み込ませて、起動させておく

    # modprobe kvm
    # modprobe kvm_intel
    # chkconfig libvirtd on
    # service libvirtd start
    

仮想マシンを作ってみる

  • インストール先を用意
    仮想マシンをいくつか作る予定があるので、適当なフォルダを切って、imgファイルを作る。
    今回はdebian入れるのでわかるようにしておいた。

    $ mkdir -p /path/to/image
    $ cd /path/to/image
    $ qemu-img create www-debian.img 20G
    
  • debian のイメージをDL
    今回は、amd64のnetinstイメージを利用
    実際のパスについては、http://www.debian.org/CD/netinst/を参考にする

    $ wget http://cdimage.debian.org/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-netinst.iso
    
  • debianのインストール

    • virt-installする
      wwwという名前で作成。CPUは1で、メモリは1G、ネットワークは、先ほど作ったbr0を利用。
      nographicでやったら、あまりにも反応悪すぎたので、vncオプションつけて、直接QEMUに接続。

      # virt-install -n www -r 1024 --vcpus=1 \
      --cdrom=/path/to/image/debian-7.1.0-amd64-netinst.iso --os-type=linux --os-variant=debiansqueeze \
      --disk=/path/to/image/www-debian.img -w bridge=br0 \
      --connect qemu:///system --hvm \
      --virt-type=kvm --vnc --vncport=5901 --vnclisten=0.0.0.0 --keymap=ja
      
      "ディスプレイをオープンできません"ってエラーが出ても、気にしない。
      ポートがぶつかるようなら5902とか適当に決める
    • vnc立ち上げて接続
      192.168.100.4:5901に接続して、debianをインストール。
      接続できない場合、ホスト側のiptablesではじいている可能性あり。
      この場合、5900番台の接続を許可してあげてください。
    • もし失敗したら
      仮想端末強制終了(destroy)して、端末削除(undefine)。端末停止(destroy)だけでは、止めただけなので定義は残ってます。

      # virsh destroy www
      # virsh undefine www
      
  • インストール後
    インストールが無事終わるとvnc切断されます。
    ホストOSで仮想環境の確認

    # virsh list --all
     Id    名前                         状態
    ----------------------------------------------------
     -     www                            シャットオフ
    
    のように出れば無事インストール成功
    端末が一覧に出ない場合、sshを切って、再接続して、もう一度virshを実行。
    それでも出てこない場合は、どこかおかしい

debianの設定

まずは、ゲストを起動して接続

  • ゲストの起動

    # virsh start www
    
  • vncで接続
    ネットワークの設定だけする
    ...インストール時にネットワークの設定があった気もするけど...
  • IPの設定
    [ifdown eth0]でインターフェースを落とす。
    [/etc/network]の[interfaces]を開いて、eth0の設定を書く

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    allow-hotplug eth0
    #iface eth0 inet dhcp
    auto eth0
    iface eth0 inet static
    address 192.168.100.11
    netmask 255.255.255.0
    network 192.168.100.0
    broadcast 192.168.100.255
    gateway 192.168.100.1
    
    書き換えたら
    [ifup eth0]
    で、eth0を起動して、sshでつなぎ直し

[/etc/libvirt/qemu/www.xml]書き直してvncをoffにする(予定)

こまごまとした設定

aptitudeでインストール

  • chkconfig
  • ntp

[/etc/ntp.conf]の[server]付近を変更

server 192.168.100.4	# ホストOSのntpに同期させる
#server 0.debian.pool.ntp.org iburst このへんコメントアウト
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst

変更したら、

# chkconfig ntp on
# service ntp start

で起動

適当にサーバを入れる

あとは自由に使う
先ほど設定した 192.168.100.11 にsshで接続可能
もしくは、ホスト側 192.168.100.4:5901 にvncで接続可能
使いやすい方使ってください

OK キャンセル 確認 その他