Установил на deb 6.0 KVM и virt-install ...пробую создавать машину выдает:
root@debian:# virt-install --prompt
What is the name of your virtual machine? test
How much RAM should be allocated (in megabytes)? 2056
What would you like to use as the disk (file path)? /home/user/vms/test.img
How large would you like the disk (/home/user/vms/test.img) to be (in gigabytes)? 100
ERROR Virtual network 'default' has not been started.
Traceback (most recent call last):
File "/usr/bin/virt-install", line 1033, in <module>
main()
File "/usr/bin/virt-install", line 846, in main
options.nonetworks, guest)
File "/usr/bin/virt-install", line 390, in get_networks
map(lambda kwargs: cli.get_network(kwargs, guest), net_kwargs)
File "/usr/bin/virt-install", line 390, in <lambda>
map(lambda kwargs: cli.get_network(kwargs, guest), net_kwargs)
File "/usr/lib/pymodules/python2.6/virtinst/cli.py", line 612, in get_network
n = VirtualNetworkInterface(**net_kwargs)
File "/usr/lib/pymodules/python2.6/virtinst/VirtualNetworkInterface.py", line 65, in __init__
self.network = network
File "/usr/lib/pymodules/python2.6/virtinst/VirtualNetworkInterface.py", line 105, in set_network
"started.") % newnet)
ValueError: Virtual network 'default' has not been started.
и на этом все веселье заканчивается.Что делать не знаю.Буду признателен в помощи...может я что не так делаю...
Проблема с KVM
Создание образа пустого в 3 Гб:
# qemu-img create /путь_до_образа/ваш_образ.img 3G
Запуск машины с 400 Мб оперативной:
# kvm -m 400 /путь_до_образа/ваш_образ.img
Для запуска с загрузкой с iso образа
# kvm -m 400 /путь_до_образа/ваш_образ.img -cdrom /путь_к_установочному_диску.iso
Так не проще?
# man kvm - в помощь.
Вот спасибо.сразу снес эти virtinst и прочую чушь.А то начитался howto в нете
Да не за что, тут про сеть в qemu было: http://linuxforum.ru/viewtopic.php?id=3948
Кстати kvm нормально монтирует /dev/sdXY - можно вторым диском монтировать.
Спасибо,как раз копаю тему по настройке сети в qemu/kvm
http://xgu.ru/wiki/Man:qemu
http://wiki.virtualsquare.org/wiki/index.php/VDE_Basic_Networking
http://xgu.ru/wiki/Virtual_Distributed_Ethernet
aptitude install qemu qemu-utils qemu-kvm etherboot-qemu vde2
Редактируем и добавляем (я добавил два интерфейса):
[console]
# /etc/network/interfaces
auto tap0
iface tap0 inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
pre-up /usr/sbin/vde_tunctl -t tap0
pre-up /usr/bin/vde_switch -x -n 5 -s /var/run/vde2/vde_192.ctl -g vde2-net -m 770 -d -p /var/run/vde2/vde_192.pid -t tap0
pre-up /usr/bin/vde_switch -x -n 10 -s /var/run/vde2/vde_010.ctl -g vde2-net -m 770 -d -p /var/run/vde2/vde_010.pid
pre-up /sbin/iptables-restore < /etc/ip_rulles.lst
post-down /sbin/iptables-save > /etc/ip_rulles.lst
# pre-up /sbin/ip6tables-restore < /etc/ip6_rulles.lst
# post-down /sbin/ip6tables-save > /etc/ip6_rulles.lst
post-down /bin/kill `/bin/cat /var/run/vde2/vde_192.pid`
post-down /bin/kill `/bin/cat /var/run/vde2/vde_010.pid`
post-down /usr/sbin/vde_tunctl -d tap0
auto tap1
iface tap1 inet static
address 10.10.0.1
netmask 255.255.255.0
network 10.10.0.0
broadcast 10.10.0.255
pre-up /usr/sbin/vde_tunctl -t tap1 # -u zion
pre-up /usr/bin/vde_switch -x -n 5 -s /var/run/vde2/vde_010.ctl -g vde2-net -m 770 -d -p /var/run/vde2/vde_010.pid -t tap1
post-down /bin/kill `/bin/cat /var/run/vde2/vde_010.pid`
post-down /usr/sbin/vde_tunctl -d tap1
[/console]
# /etc/init.d/networking restart
Лучше иногда stop / start
После этого сетевые интерфейсы должны появиться, если нет, то
наверное маскарадинг не работает,
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# iptables-save > /etc/ip_rulles.lst
ну и на всякий ребутнутся
Запуск примерно так:
# kvm -m 512 -name Virt-tap0-tap1 \
-net nic -net vde,sock=/var/run/vde2/vde_010.ctl \
-net nic -net vde,sock=/var/run/vde2/vde_192.ctl \
-hda /home/user/qemu/hdd/image.img
ы. У меня поднимается два виртуальных свитча, что нафиг не надо, позже может переделаю, tap1 - можно выкинуть
Вроде ничего не упустил.
я немного по-другому сделал.На машине поднял интрефейс virbr0 ip192.168.100.1.На ВМ интрефейс eth1 ip192.168.100.2 gw192.168.100.1.На самой тачке есть еще интрефес eth0 ip192.168.0.174 .С ВМ на 192.168.0.174 пакеты идут и с тачки на 192.168.100.2 тоже все норм.А вот с ВМ в сеть 192.168.0.0 никак.
на тачке route -n
[console]Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.0.0 192.168.0.174 255.255.255.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.9 0.0.0.0 UG 0 0 0 eth0[/console]
на ВМ route -n
[console]Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 192.168.0.174 255.255.255.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth1
[/console]
Сижу вот туплю что не так
Ну я не мостом делал.
Cейчас поднял vde - по быстрому live запустил, нахрапом что -то не клеится, у меня две сетевые + vde.
eth1 = ppp0
eth0 = 192.168.0.1
tap0 = 192.168.1.1
С тачки на eth1 - пинг на tap0 идет..,
ВМ запускаю, с нее нукуда.... (192.168.1.2)
[console]
>>route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
88.87.84.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
[/console]
Тоже в размышлениях....
Запуск iptables пока так:
Показать
#
iptables -v -P INPUT DROP
iptables -v -P OUTPUT DROP
iptables -v -P FORWARD DROP
iptables -v -A INPUT -i lo -j ACCEPT
iptables -v -A INPUT -i eth0 -j ACCEPT
iptables -v -A INPUT -i tap0 -j ACCEPT
iptables -v -A OUTPUT -o lo -j ACCEPT
iptables -v -A OUTPUT -o eth0 -j ACCEPT
iptables -v -A OUTPUT -o tap0 -j ACCEPT
iptables -v -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -i eth0 -o ppp0 -j ACCEPT
iptables -v -A FORWARD -i tap0 -o ppp0 -j ACCEPT
iptables -v -A FORWARD -i eth0 -o tap0 -j ACCEPT
iptables -v -A FORWARD -i tap0 -o eth0 -j ACCEPT
[/console]
/etc/network/interfaces пока так
Показать
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
# PPPoE
auto eth1
iface eth1 inet manual
auto dsl-provider
iface dsl-provider inet ppp
pre-up ifconfig eth1 up
provider dsl-provider
# VDE
auto tap0
iface tap0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.0.255
pre-up vde_tunctl -t tap0
pre-up vde_switch -x -n 10 -s /var/run/vde2/vde_192.ctl -g vde2-net -m 770 -d -p /var/run/v$
# pre-up vde_switch -x -n 10 -s /var/run/vde2/vde_010.ctl -g vde2-net -m 770 -d -p /var/run/v$
pre-up iptables-restore < /etc/ip_rulles.lst
post-down iptables-save > /etc/ip_rulles.lst
post-down kill `/bin/cat /var/run/vde2/vde_192.pid`
# post-down kill `/bin/cat /var/run/vde2/vde_010.pid`
post-down vde_tunctl -d tap0
[/console]
А почему не стал виртуальный свитч поднимать?
зыж: Пользователя в группу добавил?
Свич не стал поднимать потому как ВМ всего одна,Да и с мостом думал проблем меньше будет.
С ВМ своей кинь /etc/network/interfaces и route -n
Сейчас поставлю что-нибудь на ВМ, не кошерно с live,
И, да меня не было в vde2-net (/etc/group)...
С бриджем там другая группа должна быть.
С ВМ
[console]
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
[/console]
пошел читать маны :(
У меня все заработало .Забыл про iptables
[console]iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE[/console]
может будет в помощь по твоей теме http://www.comp-service.ru/materiali-sayta/5-article/264--------kvm.html
Не меня такой способ не устраивает, короче заработало, все друг друга видят, интернет везде есть две подсети:
192.168.0.0/24 = Локалка
192.168.1.0/24 = VDE switch
Можно конечно и водну подсеть запихнуть, но извращаться с масками надо.
Конфиги - рабочие:
iptables (потом сохраняются/восстанавливаютя по pre-up/post-dowm интерфйса tap0 - вот это правда надо куда-нибудь в другое место отправить....):
Только эта строчка у меня как бэ сомнения вызывает
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -v -A FORWARD -i ${WAN} -o ${WAN} -j REJECT
но все работает отлично в таком варианте
Показать
#!/bin/sh
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
export LAN=eth1
export NAT1=eth0
export NAT2=tap0
export WAN=ppp0
# Сообщаем ядру, что ip-форвардинг разрешен
echo 1 >/proc/sys/net/ipv4/ip_forward
# RESET
iptables -v -P INPUT ACCEPT
iptables -v -P FORWARD ACCEPT
iptables -v -P OUTPUT ACCEPT
# reset the default policies in the nat table.
iptables -v -t nat -P PREROUTING ACCEPT
iptables -v -t nat -P POSTROUTING ACCEPT
iptables -v -t nat -P OUTPUT ACCEPT
# reset the default policies in the mangle table.
iptables -v -t mangle -P PREROUTING ACCEPT
iptables -v -t mangle -P OUTPUT ACCEPT
# flush all the rules in the filter and nat tables.
iptables -v -F
iptables -v -t nat -F
iptables -v -t mangle -F
# erase all chains that's not default in filter and nat table.
iptables -v -X
iptables -v -t nat -X
iptables -v -t mangle -X
# Let's go
iptables -v -P INPUT DROP
iptables -v -P OUTPUT DROP
iptables -v -P FORWARD DROP
iptables -v -A INPUT -i lo -j ACCEPT
iptables -v -A INPUT -i ${NAT1} -j ACCEPT
iptables -v -A INPUT -i ${NAT2} -j ACCEPT
iptables -v -A OUTPUT -o lo -j ACCEPT
iptables -v -A OUTPUT -o ${NAT1} -j ACCEPT
iptables -v -A OUTPUT -o ${NAT2} -j ACCEPT
iptables -v -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -o ${NAT1} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -o ${NAT2} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -i ${NAT1} -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -v -A FORWARD -i ${NAT2} -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -v -A FORWARD -i ${NAT1} -o ${WAN} -j ACCEPT
iptables -v -A FORWARD -i ${NAT2} -o ${WAN} -j ACCEPT
iptables -v -A FORWARD -i ${NAT1} -o ${NAT2} -j ACCEPT
iptables -v -A FORWARD -i ${NAT2} -o ${NAT1} -j ACCEPT
# Включаем NAT
iptables -v -t nat -A POSTROUTING -o ${WAN} -s 192.168.0.0/24 -j MASQUERADE
iptables -v -t nat -A POSTROUTING -o ${WAN} -s 192.168.1.0/24 -j MASQUERADE
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -v -A FORWARD -i ${WAN} -o ${WAN} -j REJECT
# Проброс локального и VPN трафика
iptables -v -t nat -A POSTROUTING -o ${NAT1} -j MASQUERADE
iptables -v -t nat -A POSTROUTING -o ${NAT2} -j MASQUERADE
iptables -v -t nat -I POSTROUTING -o ${WAN} -j MASQUERADE
iptables -v -t nat -I POSTROUTING -o ${LAN} -j MASQUERADE
# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
iptables -v -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
[/console]
interfaces:
Показать
# The loopback network interface
auto lo
iface lo inet loopback
# eth0 - Локальная сеть
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
# PPPoE
auto eth1
iface eth1 inet manual
auto dsl-provider
iface dsl-provider inet ppp
pre-up ifconfig eth1 up
provider dsl-provider
# VDE
auto tap0
iface tap0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
pre-up vde_tunctl -t tap0
pre-up vde_switch -x -n 10 -s /var/run/vde2/vde_192.ctl -g vde2-net -m 770 -d -p /var/run/v$
pre-up iptables-restore < /etc/ip_rulles.lst
post-down iptables-save > /etc/ip_rulles.lst
post-down kill `/bin/cat /var/run/vde2/vde_192.pid`
post-down vde_tunctl -d tap0
[/console]
interfaces - ВМ:
Показать
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
dns-nameserver 192.168.1.1 192.168.0.1
[/console]
newzenon доброго времени суток , вот по вашим словам сделал :
qemu-img create /путь_до_образа/ваш_образ.img 8G
kvm -m 400 /путь_до_образа/ваш_образ.img -cdrom /путь_к_установочному_диску.iso
После этого у меня вываливается следущее
kvm_create_vm: Device or resource busy
Could not initialize KVM, will disable KVM support
kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument
Вывод lsmod | grep kvm
kvm_amd 50543 0
kvm 263288 1 kvm_amd
Права на /dev/kvm в норме?
Set_Me_Free, поддержка kvm есть? Сама kvm установлена?
Попробуй так:
qemu -m 400 /путь_до_образа/ваш_образ.img -cdrom /путь_к_установочному_диску.isoДоустановить полностью:
aptitude install qemu kvm qemu-kvm qemu-utils qemu-system qemu-user vde2 etherboot-qemuПодгрузить модули kvm:
$ modprobe kvm
# Для AMD
$ modprobe kvm-amd
# Для INTEL
$ modprobe kvm-intelMacumazan c правами всё вроде нормально
[console]crw-rw----+ 1 root kvm 10, 232 Май 12 10:33 /dev/kvm[/console]
newzenon с qemu всё запускается , по команде с aptitude всё установленно.Вывод что модули подргужены я вроде в первом сообщении привёл.
Вывод dmesg
[console][ 1046.852640] kvm: Nested Virtualization enabled
[ 1046.852643] kvm: Nested Paging enabled
[ 1056.946689] kvm: enabling virtualization on CPU0 failed
[ 1438.763814] kvm: enabling virtualization on CPU0 failed
[/console]
На ядре 2.6.32 всё работает хорошо.
Вывод lscpu
[console]Architecture: x86_64
CPU op-mode(s): 64-bit
CPU(s): 4
Thread(s) per core: 1
Core(s) per socket: 4
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 16
Model: 4
Stepping: 2
CPU MHz: 800.000
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
L3 cache: 6144K [/console]