說明:其實之前我有安裝過KVM,只是但是不知道這個就是KVM,而當時只知道叫做QEMU虛擬機。
安裝:
http://www.cnblogs.com/EasonJim/p/7215836.html
http://www.cnblogs.com/EasonJim/p/7218384.html
配置網橋:
1、關閉防火牆
service ufw stop #永久關閉 update-rc.d ufw remove #關閉之后改成iptables方案
2、配置網橋
1)查看網卡的設置
eth0是自己修改的,可以不用修改成這個名字,使用系統默認的。
ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::21c:25ff:fea1:99fc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:736674 errors:0 dropped:0 overruns:0 frame:0 TX packets:1098750 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:63783787 (63.7 MB) TX bytes:1540374899 (1.5 GB) Interrupt:20 Memory:fc200000-fc220000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1156 errors:0 dropped:0 overruns:0 frame:0 TX packets:1156 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:114090 (114.0 KB) TX bytes:114090 (114.0 KB) virbr0 Link encap:Ethernet HWaddr be:65:ec:88:86:3d inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST 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)
2)已有的網卡
eth0是直接插入網線的以太網卡
lo是本地網絡,本機內部資源
virbr0是剛才我們裝完KVM后,自己生成的虛擬網卡
4)網卡橋接
我們增加一個叫br0的虛擬網卡,讓這個網卡可以和eth0以太網的網卡做橋接
如果是桌面版,停止NetworkManager服務(如果不停止,那么需要手動GUI界面設置網橋,需要重啟reboot)
sudo systemctl stop NetworkManager.service sudo systemctl disable NetworkManager.service
增加網橋
sudo brctl addbr br0
設置IP,綁定網卡到網橋br0
sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
保存,重起網卡設置
sudo /etc/init.d/networking restart
如果不行,需要重啟reboot
設置DNS
sudo su echo "nameserver 192.168.199.1" >> /etc/resolvconf/resolv.conf.d/base /etc/init.d/resolvconf restart #使DNS生效
再查看網卡的設置
ifconfig
br0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::21c:25ff:fea1:99fc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:91 errors:0 dropped:0 overruns:0 frame:0 TX packets:100 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6260 (6.2 KB) TX bytes:15470 (15.4 KB) eth0 Link encap:Ethernet HWaddr 00:1c:25:a1:99:fc UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:605 errors:0 dropped:0 overruns:0 frame:0 TX packets:425 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:112441 (112.4 KB) TX bytes:61529 (61.5 KB) Interrupt:20 Memory:fc200000-fc220000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2100 (2.1 KB) TX bytes:2100 (2.1 KB) virbr0 Link encap:Ethernet HWaddr 2a:b8:36:cf:cc:c6 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST 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)
這個時候eth0,已經沒有具體的IP地址。IP地址出在了br0的虛擬網上面。
我們ping一下公網ip,看看是不是通的。
ping 8.8.8.8
ping 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=51.7 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=50.8 ms
重啟網橋
sudo service libvirt-bin restart
5)配置轉發
#開啟轉發支持forward sudo vi /etc/sysctl.conf 修改為net.ipv4.ip_forward = 1
#生效
sudo sysctrl -p
3、創建虛擬機
圖形界面:virt-manager
命令行:
#新建用於存放虛擬機相關文件的目錄 mkdir /kvm #使用ftp將centos6.5的安裝光盤鏡像復制到/kvm #新建用於存放虛擬機的目錄 mkdir /kvm/vm
#安裝虛擬機 virt-install --name centos --ram 1024 --vcpus=1 --disk path=/kvm/vm/vm1.img,size=10 --network bridge=br0 --os-variant=rhel6 --cdrom /kvm/CentOS-6.5-x86_64-bin-DVD1.iso --vnclisten=0.0.0.0 --vncport=5900 --vnc
參數詳解: --vcpus 分配給虛擬機CPU個數 --disk path 虛擬磁盤所在的路徑 --size 虛擬磁盤大小,單位是GB --network bridge 指定虛擬機使用的橋接網卡 --os-variant 虛擬機的操作系統類型 --cdrom 安裝虛擬機操作系統的光盤鏡像的路徑 --vnclisten vnc的監聽IP --vncport vnc的監聽端口 --vnc 使用vnc進行連接
然后使用vnc-viewer連接虛擬機
使用vnc-viewer連接IP:5900就可以遠程安裝這台虛擬機了
在KVM虛擬機中安裝操作系統和在其他虛擬機上沒有什么不同的地方
安裝完成后,在kvm虛擬機中進行網卡配置后,就可以使用putty進行遠程連接了
下次啟動:
virsh start centos
#virsh語法參考
virsh list 列出運行中的虛擬機
virsh start centos 啟動centos虛擬機
virsh shutdown centos 關閉centos虛擬機
virsh destroy centos 強制關閉centos虛擬機
virsh autostart centos 設置centos自動啟動
virsh undefine centos 刪除centos虛擬機
virsh suspend centos 暫停centos虛擬機
vrish resume centos 恢復centos虛擬機
virsh reboot centos 重啟centos虛擬機
virsh edit centos 編輯centos虛擬機
virsh vncdisplay centos vnc顯示