flagflag  If you want to see English page, please click "English" Button at Left.
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

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 3270, today: 1, yesterday: 0
最終更新: 2022-02-18 (金) 15:49:43 (JST) (795d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 4月翌月
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
<今日>

オンライン状況

58 人のユーザが現在オンラインです。 (3 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 58

もっと...

アクセスカウンタ

今日 : 2142214221422142
昨日 : 6596659665966596
総計 : 2331964223319642233196422331964223319642233196422331964223319642
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com