flagflag  
Page Top

Rokcy Linux 8.5 (2022/2/17) anchor.png

Page Top

br0 の作成 anchor.png

# nmcli con add type bridge con-name br0 ifname br0
# nmcli con mod bridge.stp no
# nmcli con mod br0 bridge.stp no
# nmcli con mod br0 ipv4.method manual ipv4.address "202.26.150.50/24" ipv4.gateway "202.26.150.254" ipv4.dns "202.26.144.11"
# nmcli con mod br0 autoconnect yes
# nmcli con add type bridge-slave ifname ens10f0 master br0
# nmcli con down ens10f0
# vi /etc/sysconfig/network-scripts/ifcfg-ens10f0
    NBOOT=no
Page Top

Install anchor.png

# export VM_NAME=rocky-8.5
# virt-install \
--name ${VM_NAME} \
--hvm \
--arch x86_64 \
--os-type linux \
--os-variant centos7.0 \
--vcpus 2 \
--ram 2048 \
--disk path=/opt/vm/images/${VM_NAME}.img,format=qcow2,size=50 \
--network bridge=br0 \
--graphics vnc,keymap=ja \
--noautoconsole \
--location /opt/iso/Rocky-8.5-x86_64-boot.iso
 
Page Top

OLD anchor.png

Page Top

Create anchor.png

# qemu-img create -f qcow2 /data/websystem-0.img 30G
# qemu-kvm -hda /data/websystem-0.img -m 1024 -boot d -cdrom /root/CentOS-6.4-x86_64-bin-DVD1.iso -k ja -vnc :0
  •  -vnc :0 がリモートコントロール接続用ポート番号を示す. オフセットは 5900 (-vnc :1 なら 5901)
     
Page Top

リモートコントロール用クライアント anchor.png

Page Top

ネットワーク anchor.png

  • Guest OS(eth0) => Host OS(tap# → br0 → eth0) => external
  • Host OS の tap インターフェイスは Guest OS 毎に必要
     
Page Top
tap インターフェイスの起動と停止スクリプト (ホスト側) anchor.png
  • /etc/qemu-ifup
    #!/bin/sh
    /sbin/ifconfig $1 0.0.0.0 promisc up
    /usr/sbin/brctl addif br0 $1
  • /etc/qemu-ifdown
    /usr/sbin/brctl delif br0 $1
    /sbin/ifconfig $1 down
  • $1 には tap# が入る
     
Page Top
Macアドレスが変化しても,ネットワークインターフェイスを見失わない方法 (ゲスト側) anchor.png
  • 最近のディストリビューションは NICのMacアドレスが変化すると,別のインターフェイスを作って対応させる.その結果,インターフェイスを見失う
  • 対策
    • /etc/udev/rules.d/70-persistent-net.rule​s を削除して,/dev/null にシンボリックリンクを張る.(起動時にワーニングがでる)
    • /etc/sysconfig/network-scripts/ifcfg-eth​# の HWADDR を削除する.
       
Page Top

起動 anchor.png

Page Top
起動例 anchor.png
# /usr/libexec/qemu-kvm -hda /data/centos-base-1.img -m 1024 -k ja -vnc none -net nic,macaddr=52:54:00:12:34:00 -net tap,ifname=tap0,script=/etc/qemu-ifup
  • macaddr は Guest OS のMACアドレスになる.設定し直すと /etc/udev/rules.d/70-persistent-net.rule​​s で eth の名前が変わるので,合わせる必要がある.また /etc/sysconfig/network-scripts/ifcfg-eth​# の HWADDR は削除した方が面倒くさくない. (上記参照)
Page Top
起動用スクリプト (kvm-start) anchor.png
  • kvm-start xxxx.img 512
    #!/bin/sh
    #
    
    function get_interface_num()
    {
       TAPLST=`/sbin/ifconfig | grep '^tap[0-9]' | awk -F" " '{print $1}'`
       NUM=0
       while [ $NUM -lt 100 ]; do
           FLG=1
           for TAP in $TAPLST ; do
               if [ "tap$NUM" = "$TAP" ]; then
                   FLG=0
                   break
               fi
           done
           if [ $FLG = 1 ]; then
               echo $NUM
               return 0
           fi
           NUM=`expr $NUM + 1`
       done
       return 0
    } 
    
    
    if [ ! -f "$1" ]; then
       echo "Not found image file $1 !!"
       exit 1
    fi
    
    IFNUM=`get_interface_num`
    if [ "$IFNUM" = "" ]; then
       echo "Can not get Interface Number!!"
       exit 1
    fi
    
    HWADDR=`/usr/local/bin/macgen.py`
    if [ "$HWADDR" = "" ]; then
       MACNUM=`printf "%02d" $IFNUM`
       HWADDR="00:16:3e:00:00:$MACNUM"
    fi
    
    MEM=$2
    if [ "$MEM" = "" ]; then
       MEM=1024
    fi
    
    echo "macaddr   = $HWADDR"
    echo "interface = tap$IFNUM"
    echo "vnc num   = $IFNUM"
    echo "memory    = ${MEM}M"
    echo "start qemu-kvm"
    
    /usr/libexec/qemu-kvm -hda $1 -m $MEM -k ja -vnc :${IFNUM} -net nic,macaddr=$HWADDR -net tap,ifname=tap${IFNUM},script=/etc/qemu-ifup
Page Top
MACアドレスの自動生成 by RedHat カスタマーポータル anchor.png
  • /usr/local/bin/macgen.py
    #!/usr/bin/python
    # macgen.py script to generate a MAC address for virtualized guests on Xen
    #
    import random
    #
    def randomMAC():
       mac = [ 0x00, 0x16, 0x3e,
           random.randint(0x00, 0x7f),
           random.randint(0x00, 0xff),
           random.randint(0x00, 0xff) ]
       return ':'.join(map(lambda x: "%02x" % x, mac))
    #
    print randomMAC()
     
Page Top

Error anchor.png

Page Top
cpu0 unhandled rdmsr anchor.png
  • デバッグメッセージなので無視しても良いらしい.
     
Page Top

P2V by macsatou :-D anchor.png

物理マシンから仮想マシンへまるっと移行.#br 自宅サーバで実施した.

Page Top
手順1 anchor.png

適当なBootCD等で対象マシンを起動.#br DDコマンドを使って全体を抽出. 以下例) 対象ディスクが/dev/sdaの場合

# dd if=/dev/sda of=/tmp/output.img bs=10M
(CNTL+Tで進捗状況を見れる)
Page Top
手順2 anchor.png

抽出したファイルをKVMの入った仮想化基盤へ何らかの方法で転送済とする.

# qemu-img convert -f raw -O qcow2 output.img kvm_ver_output.qcow2

変換後のファイルは無駄に大きい可能性もあるため、最適化.

# qemu-img convert -O qcow2 kvm_ver_output.qcow2 kvm_ver_output.qcow2.new

Front page   Freeze Diff Backup Copy Rename Reload   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 3273, today: 1, yesterday: 0
Last-modified: 2022-02-18 (Fri) 15:49:43 (JST) (805d) by iseki

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

87 user(s) are online (22 user(s) are browsing xpwiki)

Members: 0
Guests: 87

more...

Access Counter

Today : 7132713271327132
Yesterday : 1753317533175331753317533
Total : 2347027523470275234702752347027523470275234702752347027523470275
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com