一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法。
【背景技術(shù)】
[0002] PCI 和 PCI 設(shè)備
[0003] PCI (Peripheral Component Interconnect)是一種由英特爾(Intel)公司1991 年 推出的用于定義局部總線的標(biāo)準(zhǔn)。此標(biāo)準(zhǔn)允許在計(jì)算機(jī)內(nèi)安裝多達(dá)10個(gè)遵從PCI標(biāo)準(zhǔn)的擴(kuò) 展卡。從1992年創(chuàng)立規(guī)范到如今,PCI總線已成為了計(jì)算機(jī)的一種標(biāo)準(zhǔn)總線。PCI總線取代了 早先的ISA總線。當(dāng)然與在PCI總線后面出現(xiàn)專門用于顯卡的AGP總線,與現(xiàn)在PCI Express 總線相比,速度要慢,但是PCI能從1992用到現(xiàn)在,說明他有許多優(yōu)點(diǎn),比如即插即用(Plug and Play)、中斷共享等。PCI設(shè)備則是指遵循該總線標(biāo)準(zhǔn)的一種設(shè)備,如磁盤、網(wǎng)卡等。
[0004] 熱插拔
[0005] 熱插拔(hot-plugging或Hot Swap)即帶電插拔,熱插拔功能就是允許用戶在不關(guān) 閉系統(tǒng),不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部件,從而提高了系統(tǒng) 對(duì)災(zāi)難的及時(shí)恢復(fù)能力、擴(kuò)展性和靈活性等,例如一些面向高端應(yīng)用的磁盤鏡像系統(tǒng)都可 以提供磁盤的熱插拔功能。具體用學(xué)術(shù)的說法就是:熱替換(Hot replacement)、熱添加 (hot expansion)和熱升級(jí)(hot upgrade)。
[0006] 在云計(jì)算時(shí)代,虛擬機(jī)替代物理機(jī)被大量使用,某些時(shí)候,我們需要為運(yùn)行著的虛 擬機(jī)添加多塊網(wǎng)卡以便虛擬機(jī)上運(yùn)行的業(yè)務(wù)能夠正常運(yùn)行,一般常用的方法是先關(guān)閉虛擬 機(jī),然后通過增加多張網(wǎng)卡配置文件重新啟動(dòng)虛擬機(jī)來實(shí)現(xiàn),這種增加虛擬機(jī)網(wǎng)卡的方式 必須要終端虛擬機(jī)上運(yùn)行的業(yè)務(wù),實(shí)現(xiàn)的效果并不是很好,所以需要一種虛擬機(jī)能夠?qū)崿F(xiàn) 網(wǎng)卡熱插拔的方法。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明解決的技術(shù)問題在于提供一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,能夠 解決虛擬機(jī)根據(jù)業(yè)務(wù)需要添加新的網(wǎng)卡時(shí)必須斷電關(guān)機(jī)的麻煩和不可取性。
[0008] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0009] 所述的方法包括如下步驟:
[0010]步驟1:在虛擬機(jī)里面加載acpiphp模塊,并事先激活虛擬網(wǎng)卡;
[0011] 步驟2:在宿主機(jī)中創(chuàng)建編輯虛擬機(jī)網(wǎng)卡熱插拔配置文件;
[0012] 步驟3:在宿主機(jī)中執(zhí)行掛載命令為虛擬機(jī)新增網(wǎng)卡;
[0013] 步驟4:網(wǎng)卡使用完成后在宿主機(jī)中執(zhí)行卸載命令刪除虛擬機(jī)網(wǎng)卡。
[0014] 所述的熱插拔是指虛擬機(jī)在運(yùn)行的過程中動(dòng)態(tài)的給虛擬機(jī)添加網(wǎng)卡使用,使用完 后動(dòng)態(tài)的將其刪除,整個(gè)過程無需進(jìn)行虛擬機(jī)的開關(guān)機(jī)、重啟等操作。
[0015] 所述的在虛擬機(jī)里面事先激活虛擬網(wǎng)卡是創(chuàng)建linux系統(tǒng)中持久化網(wǎng)卡配置文 件,然后啟動(dòng)虛擬網(wǎng)卡設(shè)備;
[0016] 所述的持久化是指當(dāng)虛擬機(jī)重啟系統(tǒng)之后,虛擬網(wǎng)卡依然存在;
[0017] 所述的網(wǎng)卡配置文件是ifcfg-ethl,里面指定了網(wǎng)卡設(shè)備的別名、啟動(dòng)方式等信 息,所述的網(wǎng)卡配置文件可以是一個(gè)或多個(gè),其分別對(duì)應(yīng)后面可以同時(shí)增加一張或多張網(wǎng) 卡。
[0018] 所述的網(wǎng)卡熱插拔配置文件是一個(gè)XML格式的文件,里面配置了虛擬機(jī)虛擬網(wǎng)卡 的MAC地址、網(wǎng)卡名稱、橋接方式等參數(shù)信息。
[0019] 所述的掛載命令是一種libvirt工具命令,具體的為virsh attach-device命令;
[0020] 所述的卸載命令是一種libvirt工具命令,具體的為virsh detach-device命令。 [0021 ]本發(fā)明方案的有益效果如下:
[0022] 1、本發(fā)明設(shè)計(jì)的方法能夠使linux虛擬機(jī)以熱插拔的形式使用網(wǎng)卡,即無需關(guān)閉 重啟虛擬機(jī)即可實(shí)現(xiàn)網(wǎng)卡的添加和刪除。
[0023] 2、本發(fā)明方法具有通用性,實(shí)現(xiàn)原理及方法簡(jiǎn)單易用,能夠快速的在第三方云平 臺(tái)上實(shí)現(xiàn)。
【附圖說明】
[0024]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說明:
[0025]圖1為本發(fā)明的流程圖。
【具體實(shí)施方式】
[0026] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0027] 請(qǐng)參見圖1,為本發(fā)明實(shí)施例提供的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法的流 程示意圖,所述方法包括:
[0028]在虛擬機(jī)里面加載acpiphp模塊,并事先激活虛擬網(wǎng)卡。
[0029]具體的我們首先登陸運(yùn)行著的虛擬機(jī),執(zhí)行如下命令加載acpiphp模塊:
[0030] #modprobe acpiphp
[0031 ] 在/etc/sysconf ig/network-scripts/目錄下面添加一個(gè)或多個(gè)網(wǎng)卡配置文件 ifcfg-ethl,ifcfg_eth2等,其中配置文件內(nèi)容如下:
[0032] DEVICE = ethl
[0033] B00TPR0T0 = dhcp
[0034] 0NB00T = yes
[0035] 執(zhí)行命令ifup ethl/eth2激活虛擬網(wǎng)卡。這里當(dāng)我們將本發(fā)明的方法運(yùn)用到云平 臺(tái)上時(shí),我們可以在虛擬機(jī)模板鏡像上面配置好上面這些步驟。
[0036]接著在宿主機(jī)中創(chuàng)建編輯虛擬機(jī)網(wǎng)卡熱插拔配置文件,當(dāng)宿主機(jī)里虛擬機(jī)管理程 序不同(如KVM或XEN)時(shí)想要的配置文件格式及參數(shù)會(huì)有所區(qū)別,這里我們以KVM環(huán)境為例, 我們新增網(wǎng)卡熱插拔配置文件 &(1(1-116化&1(1.11111其配置文件內(nèi)容如下:
[0038] 如上我們配置了虛擬機(jī)網(wǎng)卡以橋接的方式連接到宿主機(jī)brO網(wǎng)橋上,且虛擬網(wǎng)卡 MAC地址為dl: Id :00:25 :8c: 23。當(dāng)需要給虛擬機(jī)添加多張網(wǎng)卡時(shí),則可以重復(fù)上述〈 interface〉· · .〈/interface〉多次,并修改對(duì)應(yīng)的MAC地址即可。
[0039] 接著在宿主機(jī)中執(zhí)行掛載命令為虛擬機(jī)新增網(wǎng)卡,具體的執(zhí)行如下命令即可:
[0040] #virsh attach-device i-〇0:25:8C:23 add-netcard.xml
[0041 ] 如上i-00:25: 8c: 23為虛擬機(jī)名稱,執(zhí)行完上述命令后虛擬機(jī)即完成了虛擬網(wǎng)卡 的新增,且網(wǎng)卡處于可用狀態(tài)。
[0042] 最后,當(dāng)網(wǎng)卡使用完成后,可用在宿主機(jī)中執(zhí)行卸載命令來刪除虛擬機(jī)網(wǎng)卡,具體 命令如下:
[0043] #virsh detach-device i-00:25:8C:23 add-netcard.xml。
【主權(quán)項(xiàng)】
1. 一種1 inux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征在于,所述的方法包括如下步驟: 步驟1:在虛擬機(jī)里面加載acpiphp模塊,并事先激活虛擬網(wǎng)卡; 步驟2:在宿主機(jī)中創(chuàng)建編輯虛擬機(jī)網(wǎng)卡熱插拔配置文件; 步驟3:在宿主機(jī)中執(zhí)行掛載命令為虛擬機(jī)新增網(wǎng)卡; 步驟4:網(wǎng)卡使用完成后在宿主機(jī)中執(zhí)行卸載命令刪除虛擬機(jī)網(wǎng)卡。2. 根據(jù)權(quán)利要求1所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征在于:所述 的熱插拔是指虛擬機(jī)在運(yùn)行的過程中動(dòng)態(tài)的給虛擬機(jī)添加網(wǎng)卡使用,使用完后動(dòng)態(tài)的將其 刪除,整個(gè)過程無需進(jìn)行虛擬機(jī)的開關(guān)機(jī)、重啟等操作。3. 根據(jù)權(quán)利要求1所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征在于,所述 的在虛擬機(jī)里面事先激活虛擬網(wǎng)卡是創(chuàng)建linux系統(tǒng)中持久化網(wǎng)卡配置文件,然后啟動(dòng)虛 擬網(wǎng)卡設(shè)備; 所述的持久化是指當(dāng)虛擬機(jī)重啟系統(tǒng)之后,虛擬網(wǎng)卡依然存在; 所述的網(wǎng)卡配置文件是ifcfg-ethl,里面指定了網(wǎng)卡設(shè)備的別名、啟動(dòng)方式等信息,所 述的網(wǎng)卡配置文件可以是一個(gè)或多個(gè),其分別對(duì)應(yīng)后面可經(jīng)同時(shí)增加一張或多張網(wǎng)卡。4. 根據(jù)權(quán)利要求2所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征在于,所述 的在虛擬機(jī)里面事先激活虛擬網(wǎng)卡是創(chuàng)建linux系統(tǒng)中持久化網(wǎng)卡配置文件,然后啟動(dòng)虛 擬網(wǎng)卡設(shè)備; 所述的持久化是指當(dāng)虛擬機(jī)重啟系統(tǒng)之后,虛擬網(wǎng)卡依然存在; 所述的網(wǎng)卡配置文件是ifcfg-ethl,里面指定了網(wǎng)卡設(shè)備的別名、啟動(dòng)方式等信息,所 述的網(wǎng)卡配置文件可以是一個(gè)或多個(gè),其分別對(duì)應(yīng)后面可以同時(shí)增加一張或多張網(wǎng)卡。5. 根據(jù)權(quán)利要求1至4任一項(xiàng)所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征 在于,所述的網(wǎng)卡熱插拔配置文件是一個(gè)XML格式的文件,里面配置了虛擬機(jī)虛擬網(wǎng)卡的 MAC地址、網(wǎng)卡名稱、橋接方式等參數(shù)信息。6. 根據(jù)權(quán)利要求1至4任一項(xiàng)所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征 在于,所述的掛載命令是一種libvirt工具命令,具體的為virsh attach-device命令; 所述的卸載命令是一種libvirt工具命令,具體的為virsh detach-device命令。7. 根據(jù)權(quán)利要求5所述的一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法,其特征在于,所述 的掛載命令是一種1 ibvirt工具命令,具體的為virsh attach-device命令; 所述的卸載命令是一種libvirt工具命令,具體的為virsh detach-device命令。
【專利摘要】本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是一種linux虛擬機(jī)實(shí)現(xiàn)網(wǎng)卡熱插拔的方法。本發(fā)明的方法首先在虛擬機(jī)里面加載acpiphp模塊,并事先激活虛擬網(wǎng)卡;然后在宿主機(jī)中創(chuàng)建編輯虛擬機(jī)網(wǎng)卡熱插拔配置文件;接著執(zhí)行掛載命令為虛擬機(jī)新增網(wǎng)卡;最后網(wǎng)卡使用完成后執(zhí)行卸載命令刪除虛擬機(jī)網(wǎng)卡。本發(fā)明提供一種通用且簡(jiǎn)單有效的方法來實(shí)現(xiàn)linux虛擬機(jī)對(duì)網(wǎng)卡的動(dòng)態(tài)使用;可以用于虛擬機(jī)網(wǎng)卡的管理。
【IPC分類】G06F9/455, G06F9/445
【公開號(hào)】CN105573791
【申請(qǐng)?zhí)枴緾N201510939713
【發(fā)明人】熊夢(mèng), 楊松, 季統(tǒng)凱
【申請(qǐng)人】國(guó)云科技股份有限公司
【公開日】2016年5月11日
【申請(qǐng)日】2015年12月15日