KVM網頁:http://www.linux-kvm.org
作業系統環境需求:CentOS x86_64 ( 一定是要 64 位元,不能是i386 )
硬體環境需求:CPU 具有 Intel VT or AMD-V
指令 grep -E 'vmx|svm' /proc/cpuinfo
如果有結果輸出代表 CPU
有
支援
一 、介紹
KVM:Kernel-based Virtual Machine特色:hardware-assisted, fully virtualized
二、安裝
環境需求:
載入KVM 的 module
yum install kvm (qemu-kvm)
yum install virt-manager libvirt libvirt-python python-virtinst
指令: modprobe kvm-intel
( 如果是 intel的 CPU,AMD 用 modprobe kvm-amd )
啟動 libvirtd daemon
指令:/etc/init.d/libvirtd start
libvirt
d
啟動後
,會產生1片預設的網卡virbr0
。
如果每次重新開機要啟動libvirtd指令:chkconfig libvirtd on說明:
預設虛擬網卡(virbr0)只有兩個功能:
You will only access the guest from the KVM host.
You will access the outside network from the guests.
透過ifconfig 指令可以看到
virbr0 Link encap:Ethernet HWaddr 52:54:00:98:9B:2F
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
三、設定
NetworkManager另外產生一個橋接的網路卡
方式:
在/etc/sysconfig/networking-script中 複製 名稱叫做 br0
指令:cp ifcfg-eth0 ifcfg-br0修改前範例
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:14:5E:C2:1E:40
IPADDR=10.10.1.152
NETMASK=255.255.255.0
ONBOOT=yes
修改後範例DEVICE=eth0
TYPE=Ethernet
HWADDR=00:14:5E:C2:1E:40
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0 ( 注意有大小寫有差別)
br0 的設定
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.1.152
NETMASK=255.255.255.0
ONBOOT=yes
說明:
ethernet bridge administration
指令 :
brctl show
CentOS6 以後用NetworkManager 來管理網路介面
TYPE 的類型有 Bridge、Ethernet、IPsec
BOOTPROTO 的類型有
- none — No boot-time protocol should be used.
- bootp — The BOOTP protocol should be used.
- dhcp — The DHCP protocol should be used.
四、使用
有兩種方式建立 Guest
virt-manager: a GUI tool
virt-install: a command line tool.
Virtual Ethernet Port Aggregator/VEPA mode
Virtual Ethernet Bridge/VEB mode
要關閉 selinux
在GUI網路介面中
有兩種介面可以選
Virtual network : 使用 virbr0 的 nat
選擇 Shared physical device. 挑選br0
為網路卡帶 vlan tag
確認module有沒有
指令
:lsmod | grep 8021q
如果沒有module
指令
:
modprobe 8021q
設定範例:如果VLAN ID 是10,介面名稱是 eth0, 在/etc/sysconfig/network-scripts/中的名稱要變更為ifcfg-eth0.10。內容如下
DEVICE=eth0.10
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.1
NETMASK=255.255.255.0
USERCTL=no
NETWORK=192.168.1.0
VLAN=yes
沒有留言:
張貼留言