kvm橋接eth0
Ⅰ 怎樣在 Ubuntu 和 Debian 中通過命令行管理 KVM
第一步:確認你的硬體平台支持虛擬化
第一步,首先要確認你的 CPU 支持硬體虛擬化擴展(e.g.,Intel VT 或者 AMD-V),這是 KVM 對硬體的要求。下面的命令可以檢查硬體是否支持虛擬化。
第二步:安裝KVM
使用 apt-get 安裝 KVM 和相關的用戶空間工具。
$ sudo apt-get install qemu-kvm libvirt-bin
安裝期間,libvirtd 用戶組(在 debian 上是 libvirtd-qemu 用戶組)將會被創建,並且你的用戶 id 將會被自動添加到該組中。這樣做的目的是讓你可以以一個普通用戶而不是 root 用戶的身份去管理虛擬機。你可以使用 id 命令來確認這一點,下面將會告訴你怎麼去顯示你的組 id:
$ id <your-userID>
如果因為某些原因,libvirt(在 debian 中是 libvirt-qemu)沒有在你的組 id 中被找到,你也可以手動將你自己添加到對應的組中,如下所示:
在 ubuntu 上:
$ sudo adser [youruserID] libvirtd
在 debian 上:
$ sudo adser [youruserID] libvirt-qemu
按照如下命令重新載入更新後的組成員關系。如果要求輸入密碼,那麼輸入你的登陸密碼即可。
$ exec su -l $USER
這時,你應該可以以普通用戶的身份去執行 virsh 了。做一個如下所示的測試,這個命令將會以列表的形式列出可用的虛擬機(當前的列表是空的)。如果你沒有遇到許可權問題,那意味著到目前為止一切都是正常的。
$ virsh list
Id Name State
第三步:配置橋接網路
為了使 KVM 虛擬機能夠訪問外部網路,一種方法是通過在 KVM 宿主機上創建 Linux 橋來實現。創建之後的橋能夠將虛擬機的虛擬網卡和宿主機的物理網卡連接起來,因此,虛擬機能夠發送和接收由物理網卡傳輸的數據包。這種方式叫做網路橋接。
下面將告訴你如何創建並且配置網橋,我們創建一個網橋稱它為 br0。
首先,安裝一個必需的包,然後用命令行創建一個網橋。
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0
下一步就是配置已經創建好的網橋,即修改位於 /etc/network/interfaces 的配置文件。我們需要將該橋接網卡設置成開機啟動。為了修改該配置文件,你需要關閉你的操作系統上的網路管理器(如果你在使用它的話)。跟隨操作指南的說明去關閉網路管理器。
關閉網路管理器之後,接下來就是通過修改配置文件來配置網橋了。
#auto eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
在上面的配置中,我假設 eth0 是主要網卡,它也是連接到外網的網卡,同樣,我假設 eth0 將會通過 DHCP 協議自動獲取 ip 地址。注意,之前在 /etc/network/interfaces 中還沒有對 eth0 進行任何配置。橋接網卡 br0 引用了 eth0 的配置,而 eth0 也會受到 br0 的制約。
重啟網路服務,並確認網橋已經被成功的配置好。如果成功的話,br0 的 ip 地址將會是 eth0 自動分配的 ip 地址,而且 eth0 不會被分配任何 ip 地址。
$ sudo /etc/init.d/networking restart
$ ifconfig
如果因為某些原因,eth0 仍然保留了之前分配給了 br0 的 ip 地址,那麼你可能必須手動刪除 eth0 的 ip 地址。
第四步:用命令行創建一個虛擬機
對於虛擬機來說,它的配置信息被存儲在它對應的xml文件中。因此,創建一個虛擬機的第一步就是准備一個與虛擬機對應的 xml 文件。
第五步:使用命令行啟動虛擬機
在啟動虛擬機之前,我們需要創建它的初始磁碟鏡像。為此,你需要使用 qemu-img 命令來生成一個 qemu-kvm 鏡像。下面的命令將會創建 10 GB 大小的空磁碟,並且它是 qcow2 格式的。
$ qemu-img create -f qcow2 /home/dev/images/alice.img 10G
使用 qcow2 格式的磁碟鏡像的好處就是它在創建之初並不會給它分配全部大小磁碟容量(這里是 10 GB),而是隨著虛擬機中文件的增加而逐漸增大。因此,它對空間的使用更加有效。
現在,你可以通過使用之前創建的 xml 配置文件啟動你的虛擬機了。下面的命令將會創建一個虛擬機,然後自動啟動它。
$ virsh create alice.xml
Domain alice created from alice.xml
注意: 如果你對一個已經存在的虛擬機執行了了上面的命令,那麼這個操作將會在沒有任何警告的情況下抹去那個已經存在的虛擬機的全部信息。如果你已經創建了一個虛擬機,你可能會使用下面的命令來啟動虛擬機。
$ virsh start alice.xml
使用如下命令確認一個新的虛擬機已經被創建並成功的被啟動。
$ virsh list
Id Name State
----------------------------------------------------
3 alice running
同樣,使用如下命令確認你的虛擬機的虛擬網卡已經被成功的添加到了你先前創建的 br0 網橋中。
$ sudo brctl show
遠程連接虛擬機
為了遠程訪問一個正在運行的虛擬機的控制台,你可以使用VNC客戶端。
需要解決更多linux問題,詳情請看 http://www.linuxprobe.com/chapter-00.html
望採納
Ⅱ 2、kvm網路篇---網路配置Bridge方式、NAT方式
NAT方式和Bridge方式。
Bridge方式的配置原理和步驟。
Bridge方式適用於伺服器主機的虛擬化。
NAT方式適用於桌面主機的虛擬化。
選擇:當需要外界能定位(找)到虛機時使用Bridge方式、當不需要外界定位到虛機時使用NET方式。
安裝完kvm後默認網卡的工作方式為NET
適用范圍:伺服器主機虛擬化
原理:即虛擬網橋的網路連接方式,是客戶機和子網裡面的機器能夠互相通信。
好處:可以使虛擬機成為網路中具有獨立IP的主機。
上圖,網橋的基本原理就是創建一個橋接介面br0,在物理網卡和虛擬網路介面之間傳遞數據。
下圖,對應計算機上真實的route表。其中br0為橋接網卡。
網橋方式配置步驟:
一、命令模式
1、編輯修改網路設備腳本文件,增加網橋設備br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=static
IPADDR=192.168.12.118
GATEWAY=192.168.12.1
DNS1=180.76.76.76
DNS2=114.114.114.114
DEFROUTE=yes
備註:如不需要靜態地址,可以使用如下配置
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=dhcp
2、編輯修改網路設備腳本文件,修改網卡設備eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
BOOTPROTO=none
BRIDGE="br0"
NAME="System eth0"
HWADDR=44:37:E6:4A:62:AD
備註:NM_CONTROLLED這個屬性值,根據 RedHat 公司的文檔是必須設置為「no」的(這個值為「yes」表示可以由服務NetworkManager來管理。NetworkManager服務不支持橋接,所以要設置為「no」。),但實際上發現設置為「yes」沒有問題。通訊正常。
3、重啟網路服務
#service network restart
4、校驗橋接介面
#brctl show
適用范圍:不需要外網訪問虛擬機情況、桌面主機虛擬化。
原理:NAT方式是kvm安裝後的默認方式。它支持主機與虛擬機的互訪,同時也支持虛擬機訪問互聯網,但不支持外界訪問虛擬機。
好處:無法從網路上定位和訪問虛擬主
上圖可以看出,虛擬介面和物理介面之間沒有連接關系,所以虛擬機只能在通過虛擬的網路訪問外部世界。
下圖,對應計算機上真實的route表。其中virbr0為虛擬網卡。
Bridge方式的影響
Bridge方式配置出來的介面對NAT方式沒有影響,因為NAT方式並沒有使用物理網卡。
但作為客戶機,只能選擇其中的一種。
實踐經驗:
當將虛擬機網卡方式更改為Briage後需要注意幾點
1、關閉宿主機與虛機的NetworkManager服務並設置開機不自啟。不然將會影響兩者的網路功能,甚至出現虛機無法啟動的情況。
2、虛機網卡已設置為啟動開啟,但實際情況為開機後宿主機網卡啟動了,而虛擬機網卡不能啟動,即使手動啟動也將失敗。這種情況為網卡的啟動順序造成,因為Briage橋接方式虛擬網卡需要在宿主機網卡啟動之前啟動。而在開機時Network服務啟動順序高於libvirtd服務,所以才會有該現象。解決方式有兩個:1、更改服務啟動順序並重啟。 2、停止br0網卡,啟動虛擬網卡後再啟動br0網卡。
3、配置正常並關閉沖突服務後依然無法使用Briage正常上網。此時可以從route表信息開始排查,一般第一次啟動Briage方式之後默認的路由表會遭到更改,使得無法連接外網,而內網正常的情況。
1、http://www.linuxidc.com/Linux/2012-05/61445p2.htm
2、 http://blog.csdn.net/hzhsan/article/details/44098537/
Ⅲ kvm虛擬機啟動之後如何配置IP地址
linux系統安裝完成後啟動網卡會自動獲取一個ip。
如果需要靜態ip,則需要用vim 編輯器修改配置文件,重啟網路後生效。
#vim /etc/sysconfig/network-script/ifcfg-eth0
然後對網卡文件修改
DEVICE=eth0 #物理設備名
IPADDR=192.168.1.100 #IP地址
NETMASK=255.255.255.0 #掩碼值
NETWORK=192.168.1.0 #網路地址(可不要)
BROADCAST=192.168.1.255 #廣播地址(可不要)
GATEWAY=192.168.1.1 #網關地址
ONBOOT=yes # [yes|no](引導時是否激活設備)
USERCTL=no #[yes|no](非root用戶是否可以控制該設備)
BOOTPROTO=static #[none|static|bootp|dhcp](引導時不使用協議|靜態分配|BOOTP協議|DHCP協議)
Ⅳ centos7創建kvm虛擬機有幾種方法
步驟
一、准備環境:
1、檢查是否支持虛擬化
Centos6.2_x864
KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安裝 KVM 之前檢查一下 CPU 是否提供了虛擬技術的支持:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo有顯示, 有顯示則說明處理器具有VT功能
2、檢查BIOSS是否開啟虛擬化
二、安裝KVM相關軟體
1、復制即可(首先確認yum配置是否正常)
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
2、檢查kvm模塊是否安裝
[root@localhost ~]# lsmod |grep kvm
kvm_intel 55496 32
kvm 337772 1 kvm_intel
三、啟動服務並開機啟動
/etc/init.d/libvirtd
chkconfig libvirtd on
#以上就是KVM的安裝,很簡單。但是我們需要通過桌面去安裝系統和偶爾的配置。所以需要在Server端安裝桌面:Gnome
四、安裝gonme桌面 並配置VNC桌面連接到 virtual-server伺服器上
1、安裝virtual-server 桌面
yum -y groupinstall "Gnome" "Desktop"
如果不安裝桌面在使用svn登錄伺服器的時候會報錯:
2、安裝VNC-server端軟體
yum -y install vnc *vnc-server*
3、修改VNCServer主配置文件
vim /etc/sysconfig/vncservers
跳至最後並去掉倒數第二行注釋符,然後修改為
VNCSERVERS="1:root"
4、使用vncpasswd設置VNC登錄密碼
如下:輸入兩次密碼即可
[root@localhost ~]# vncpasswd
Password:
Verify:
[root@localhost ~]#
設置完密碼會在root宿主目錄下生成.vnc開頭的隱藏目錄,該目錄下面的文件就是root用戶的VNC桌面配置文件。打開xstartup配置桌面
#vim /root/.vnc/xstartup
將最後一行改為
gnome & #這將啟用gnome桌面
6、啟動vncserver服務並設置為開機啟動
/etc/init.d/vncserver start
chkconfig vncserver on
7、通過VNC客戶端連接virtual-server
下載一個小的VNC客戶端,如下圖:
輸入IP和埠,這個埠是在當時設置VNC-server時設置的!
結果如下:
五、配置橋接
這樣安裝完了之後就可以使用了,但是虛擬機不能和外面通信,只能和virtual-server內的虛擬機通信。
如果需要和外面的伺服器通信需要配置橋接很簡單。
臨時:設置橋接網卡:KVM#設置br0與eth0橋接brctl addif br0 eth0#清空eth0IP地址ifconfig eth0 0.0.0.0#設置br0地址ifconfig br0 192.168.7.241 255.255.252.0 up
永久:
永久設置DEVICE=br0ONBOOT=yesBOOTPROTO=staticTYPE=BridgeIPADDR=192.168.9.47NETMASK=255.255.248.0GATEWAY=192.168.8.1DEVICE=eth0ONBOOT=yesBOOTPROTO=staticTYPE=EthernetBRIDGE=br0
IPV6INIT=no
註:
在橋接網卡里設置是需要注意:TYPE=Bridge
在屋裡網卡要指定橋接的網卡名:BRIDGE=br0