flagflag  If you want to see English page, please click "English" Button at Left.
1: 2013-05-18 (土) 13:15:51 iseki ソース 現: 2022-02-18 (金) 15:49:43 iseki ソース
Line 1: Line 1:
** KVM [#v2d4e0f8] ** KVM [#v2d4e0f8]
 +- http://www10.atwiki.jp/noel1008/pages/44​.html#id_b2b002a6
 +#br
 +** Rokcy Linux 8.5 (2022/2/17) [#d17bae5d]
 +
 +*** br0 の作成 [#c0fde3c4]
 + # 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-ens​10f0
 +     NBOOT=no
 +
 +*** Install [#p7c59867]
 + # 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,forma​t=qcow2,size=50 \
 + --network bridge=br0 \
 + --graphics vnc,keymap=ja \
 + --noautoconsole \
 + --location /opt/iso/Rocky-8.5-x86_64-boot.iso
 +#br
 +
 +** OLD [#u00f7f08]
 +*** Create [#lff9c573]
 + # 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)
 +#br
 +
 +*** リモートコントロール用クライアント [#e0f0304e]
 +- Ultra Vnc: http://www.uvnc.com/
 +- Real Vnc: http://www.realvnc.com/products/vnc/ (Windows7で起動せず 2015/2/6)
 +#br
 +
*** ネットワーク [#ec3d818f] *** ネットワーク [#ec3d818f]
-GuestOS(eth0) => HostOS(tap0 → br0 → eth0) => external+- Guest OS(eth0) => Host OS(tap# → br0 → eth0) => external 
 +- Host OS の tap インターフェイスは Guest OS 毎に必要 
 +#br 
 +**** tap インターフェイスの起動と停止スクリプト (ホスト側) [#a889f964] 
 +- /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# が入る 
 +#br 
 + 
 +**** Macアドレスが変化しても,ネットワークインターフェイスを見失わない方法 (ゲスト側) [#bb7bbfac] 
 +- 最近のディストリビューションは NICのMacアドレスが変化すると,別のインターフェイスを作って対応させる.その結果,インターフェイスを見失う 
 +- 対策 
 +-- /etc/udev/rules.d/70-persistent-net.rule​s を削除して,/dev/null にシンボリックリンクを張る.(起動時にワーニングがでる) 
 +-- /etc/sysconfig/network-scripts/ifcfg-eth​# の HWADDR を削除する. 
 +#br 
 + 
 +*** 起動 [#f1023067] 
 +**** 起動例 [#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 
 +- 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 
 +#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() 
 +#br 
 +*** Error [#tf8b1bfc] 
 +**** cpu0 unhandled rdmsr [#vd317aa5] 
 +- デバッグメッセージなので無視しても良いらしい.
#br #br
 +
 +***P2V by macsatou :-D [#s5b7d465]
 +物理マシンから仮想マシンへまるっと移行.#br
 +自宅サーバで実施した.
 +
 +****手順1 [#d6412ca2]
 +適当なBootCD等で対象マシンを起動.#br
 +DDコマンドを使って全体を抽出.
 +以下例) 対象ディスクが/dev/sdaの場合
 + # dd if=/dev/sda of=/tmp/output.img bs=10M
 + (CNTL+Tで進捗状況を見れる)
 +
 +****手順2 [#ra4f848b]
 +抽出したファイルを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

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

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

オンライン状況

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

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

もっと...

アクセスカウンタ

今日 : 1262712627126271262712627
昨日 : 7722772277227722
総計 : 2344410823444108234441082344410823444108234441082344410823444108
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com