flagflag  
4: 2013-05-18 (Sat) 21:21:49 iseki source 5: 2013-05-19 (Sun) 11:08:58 iseki source
Line 20: Line 20:
 /sbin/ifconfig $1 down  /sbin/ifconfig $1 down
- $1 には tap# が入る - $1 には tap# が入る
 +#br
 +**** Macアドレスが変化しても,ネットワークインターフェイスを見失わない方法 [#bb7bbfac]
 +- 最近のディストリビューションは NICのMacアドレスが変化すると,別のインターフェイスを作って対応させる.その結果,インターフェイスを見失う
 +- 対策
 +-- /etc/udev/rules.d/70-persistent-net.rule​s を削除して,/dev/null にシンボリックリンクを張る.(起動時にワーニングがでる)
 +-- /etc/sysconfig/network-scripts/ifcfg-eth​# の HWADDR を削除する.
#br #br
Line 25: Line 31:
**** 起動例 [#mb397d99] **** 起動例 [#mb397d99]
 # /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  # /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 は削除した方が面倒くさくない.+- macaddr は Guest OS のMACアドレスになる.%%設定し直すと /etc/udev/rules.d/70-persistent-net.rule​​s で eth の名前が変わるので,合わせる必要がある.また /etc/sysconfig/network-scripts/ifcfg-eth​# の HWADDR は削除した方が面倒くさくない.%% (上記参照)
- qemu-kvm オプション: http://opensuse-man-ja.berlios.de/opensu​se-html/cha.qemu.running.html#cha.qemu.r​unning.gen_opts - qemu-kvm オプション: http://opensuse-man-ja.berlios.de/opensu​se-html/cha.qemu.running.html#cha.qemu.r​unning.gen_opts
#br #br
 +**** 起動用スクリプト (kvm-start) [#v9cf6a20]
 +- 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
 +**** MACアドレスの自動生成 by [[RedHat カスタマーポータル>https://access.redhat.com/site/document​ation/ja-JP/Red_Hat_Enterprise_Linux/5/h​tml/Virtualization/sect-Virtualization-T​ips_and_tricks-Generating_a_new_unique_M​AC_address.html]] [#wa7bbc0e]
 +- /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()


Front page   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)

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

44 user(s) are online (3 user(s) are browsing xpwiki)

Members: 0
Guests: 44

more...

Access Counter

Today : 6144614461446144
Yesterday : 1361113611136111361113611
Total : 2364455123644551236445512364455123644551236445512364455123644551
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com