KVM
をテンプレートにして作成
[
トップ
] [
タイトル一覧
|
ページ一覧
|
新規
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* KVM [#v2d4e0f8]
- http://www10.atwiki.jp/noel1008/pages/44.html#id_b2b002a6
** 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...
# nmcli con mod br0 autoconnect yes
# nmcli con add type bridge-slave ifname ens10f0 master ...
# nmcli con down ens10f0
# vi /etc/sysconfig/network-scripts/ifcfg-ens10f0
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,format=qcow2,s...
--network bridge=br0 \
--graphics vnc,keymap=ja \
--noautoconsole \
--location /opt/iso/Rocky-8.5-x86_64-boot.iso
** 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 -c...
- -vnc :0 がリモートコントロール接続用ポート番号を示す....
*** リモートコントロール用クライアント [#e0f0304e]
- Ultra Vnc: http://www.uvnc.com/
- Real Vnc: http://www.realvnc.com/products/vnc/ (Windows...
*** ネットワーク [#ec3d818f]
- Guest OS(eth0) => Host OS(tap# → br0 → eth0) => external
- Host OS の tap インターフェイスは Guest OS 毎に必要
**** tap インターフェイスの起動と停止スクリプト (ホスト側...
- /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# が入る
**** Macアドレスが変化しても,ネットワークインターフェイ...
- 最近のディストリビューションは NICのMacアドレスが変化す...
- 対策
-- /etc/udev/rules.d/70-persistent-net.rules を削除して...
-- /etc/sysconfig/network-scripts/ifcfg-eth# の HWADDR を...
*** 起動 [#f1023067]
**** 起動例 [#mb397d99]
# /usr/libexec/qemu-kvm -hda /data/centos-base-1.img -m ...
- macaddr は Guest OS のMACアドレスになる.%%設定し直すと...
- qemu-kvm オプション: http://opensuse-man-ja.berlios.de...
**** 起動用スクリプト (kvm-start) [#v9cf6a20]
- kvm-start xxxx.img 512
#!/bin/sh
#
function get_interface_num()
{
TAPLST=`/sbin/ifconfig | grep '^tap[0-9]' | awk -F" "...
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 :${IFNU...
**** MACアドレスの自動生成 by [[RedHat カスタマーポータル...
- /usr/local/bin/macgen.py
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtual...
#
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()
*** Error [#tf8b1bfc]
**** cpu0 unhandled rdmsr [#vd317aa5]
- デバッグメッセージなので無視しても良いらしい.
***P2V by macsatou :-D [#s5b7d465]
物理マシンから仮想マシンへまるっと移行.
自宅サーバで実施した.
****手順1 [#d6412ca2]
適当なBootCD等で対象マシンを起動.
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_ou...
変換後のファイルは無駄に大きい可能性もあるため、最適化.
# qemu-img convert -O qcow2 kvm_ver_output.qcow2 kvm_ver...
終了行:
* KVM [#v2d4e0f8]
- http://www10.atwiki.jp/noel1008/pages/44.html#id_b2b002a6
** 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...
# nmcli con mod br0 autoconnect yes
# nmcli con add type bridge-slave ifname ens10f0 master ...
# nmcli con down ens10f0
# vi /etc/sysconfig/network-scripts/ifcfg-ens10f0
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,format=qcow2,s...
--network bridge=br0 \
--graphics vnc,keymap=ja \
--noautoconsole \
--location /opt/iso/Rocky-8.5-x86_64-boot.iso
** 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 -c...
- -vnc :0 がリモートコントロール接続用ポート番号を示す....
*** リモートコントロール用クライアント [#e0f0304e]
- Ultra Vnc: http://www.uvnc.com/
- Real Vnc: http://www.realvnc.com/products/vnc/ (Windows...
*** ネットワーク [#ec3d818f]
- Guest OS(eth0) => Host OS(tap# → br0 → eth0) => external
- Host OS の tap インターフェイスは Guest OS 毎に必要
**** tap インターフェイスの起動と停止スクリプト (ホスト側...
- /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# が入る
**** Macアドレスが変化しても,ネットワークインターフェイ...
- 最近のディストリビューションは NICのMacアドレスが変化す...
- 対策
-- /etc/udev/rules.d/70-persistent-net.rules を削除して...
-- /etc/sysconfig/network-scripts/ifcfg-eth# の HWADDR を...
*** 起動 [#f1023067]
**** 起動例 [#mb397d99]
# /usr/libexec/qemu-kvm -hda /data/centos-base-1.img -m ...
- macaddr は Guest OS のMACアドレスになる.%%設定し直すと...
- qemu-kvm オプション: http://opensuse-man-ja.berlios.de...
**** 起動用スクリプト (kvm-start) [#v9cf6a20]
- kvm-start xxxx.img 512
#!/bin/sh
#
function get_interface_num()
{
TAPLST=`/sbin/ifconfig | grep '^tap[0-9]' | awk -F" "...
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 :${IFNU...
**** MACアドレスの自動生成 by [[RedHat カスタマーポータル...
- /usr/local/bin/macgen.py
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtual...
#
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()
*** Error [#tf8b1bfc]
**** cpu0 unhandled rdmsr [#vd317aa5]
- デバッグメッセージなので無視しても良いらしい.
***P2V by macsatou :-D [#s5b7d465]
物理マシンから仮想マシンへまるっと移行.
自宅サーバで実施した.
****手順1 [#d6412ca2]
適当なBootCD等で対象マシンを起動.
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_ou...
変換後のファイルは無駄に大きい可能性もあるため、最適化.
# qemu-img convert -O qcow2 kvm_ver_output.qcow2 kvm_ver...
ページ名: