1. 程式人生 > >libvirt 虛擬機器遷移配置

libvirt 虛擬機器遷移配置



感謝朋友支援本部落格,歡迎共同探討交流,由於能力和時間有限,錯誤之處在所難免,歡迎指正!
如果轉載,請保留作者資訊。
部落格地址:http://blog.csdn.net/qq_21398167

原博文地址:http://blog.csdn.net/qq_21398167/article/details/46347837

CentOS7+KVM上實現伺服器的遷移

目錄

注:本文使用的virt-manager版本為0.8.4

1.使用virt-manager管理多臺虛擬機器在一臺機器上的virt-manager可以通過add connection管理其它機器上的虛擬機器,一般通過

"remote tunnel over ssh"就可以了,前提是建立SSH連線,為了簡單起見,最好配置金鑰證書認證模式,採用無密碼登入。簡單配置如下:

$ ssh-keygen -trsa產生SSH公鑰及私鑰
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] #
拷貝公鑰到需要管理的機器上。

配置好以後命令列輸入virt-manager開啟管理介面。選擇fileà Add Connecttion..

依次填入文字框中內容如下:

Hypervisor: QEMU/KVM

Method:SSH

Username:root

Hostname:192.168.0.123

(需要被操作的伺服器地址)

然後點選connect連線即可,此時就會出現另一臺伺服器上的虛擬機器供操作。

2.使用virt-manager進行虛擬機器動態遷移

共享儲存的動態遷移實驗配置圖圖 3. 共享儲存的動態遷移實驗配置圖

1.確保網路連線正確,源主機、目的主機和 NFS伺服器之間可以互相訪問。

2.確保源主機和目的主機上的 VMM執行正常。

3.設定 NFS伺服器的共享目錄。

NFS伺服器安裝

# yum install nfs*

# yum install rpcbind-*

NFS服務的配置檔案為/etc/exports,這個檔案是NFS的主要配置檔案,不過系統並沒有預設值,所以這個檔案不一定會存在,可能要使用vim

手動建立,然後在檔案裡面寫入配置內容。

/etc/exports檔案內容格式:

<輸出目錄>

[客戶端1選項(訪問許可權,使用者對映,其他)]

[客戶端2選項(訪問許可權,使用者對映,其他)]

輸出目錄:

輸出目錄是指NFS系統中需要共享給客戶機使用的目錄。

客戶端:

客戶端是指網路中可以訪問這個NFS輸出目錄的計算機

客戶端常用的指定方式

指定ip地址的主機:192.168.0.200

指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0

指定域名的主機:david.bsmart.cn

指定域中的所有主機:*.bsmart.cn

所有主機:*

選項:

選項用來設定輸出目錄的訪問許可權、使用者對映等。

NFS主要有3類選項:

訪問許可權選項

設定輸出目錄只讀:ro

設定輸出目錄讀寫:rw

使用者對映選項

all_squash:將遠端訪問的所有普通使用者及所屬組都對映為匿名使用者或使用者組(nfsnobody);

no_all_squash:與all_squash取反(預設設定);

root_squash:將root使用者及所屬組都對映為匿名使用者或使用者組(預設設定);

no_root_squash:與rootsquash取反;

anonuid=xxx:將遠端訪問的所有使用者都對映為匿名使用者,並指定該使用者為本地使用者(UID=xxx);

anongid=xxx:將遠端訪問的所有使用者組都對映為匿名使用者組賬戶,並指定該匿名使用者組賬戶為本地使用者組賬戶(GID=xxx);

其它選項

secure:限制客戶端只能從小於1024tcp/ip埠連線nfs伺服器(預設設定);

insecure:允許客戶端從大於1024tcp/ip埠連線伺服器;

sync:將資料同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證資料的一致性;

async:將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟;

wdelay:檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率(預設設定);

no_wdelay:若有寫操作則立即執行,應與sync配合使用;

subtree:若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權(預設設定)

no_subtree:即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;

/home/image*(rw,sync,no_root_squash)(這裡有多少臺伺服器就需要給每臺伺服器配置)

重新啟動 nfsserver服務

# service nfsserver restart

首先在源主機和目的主機上新增共享儲存。這裡以源主機為例,目的主機做相同的配置。

新增 NFS儲存池到源主機和目的主機的 vit-manager中:點選 Edit menu->HostDetails->Storage tab儲存池配置圖
圖 4. 儲存池配置圖

新增一個新的儲存池。點選左下角的“+”號,彈出一個新的視窗。輸入以下引數:

Name:儲存池的名字。

Type:選擇 netfsNetwork Exported Directory。因為本文使用了 NFS 作為共享儲存協議。

新增共享儲存池
圖 5. 新增共享儲存池

點選“Forward”後,輸入以下引數:

Target Path:共享儲存在本地的對映目錄。本文中這個目錄在源主機和目的主機上必須一致。

Format:選擇儲存型別。這裡必須是 nfs

Host Name:輸入共享儲存伺服器,也就是 NFS伺服器的 IP地址或 hostname

Source PathNFS伺服器上輸出的共享目錄。儲存池設定
圖 6. 儲存池設定

點選“Finish”後,共享儲存新增成功。此時在物理機上檢視 Linux系統的檔案系統列表,可以看到共享儲存對映的目錄。

源主機上建立基於共享儲存的 KVM虛擬機器。

選擇共享儲存池,點選”New Volume”建立新的儲存卷。

輸入儲存卷引數。本例為虛擬機器建立了大小為10G,格式為 qcow2的儲存卷。新增儲存卷
圖 7. 新增儲存卷

在這個共享儲存捲上建立虛擬機器。本文建立了一個基於 Window 2008 R2系統的虛擬機器。

連線遠端物理主機上的 VMM。這裡以源主機為例,目的主機做相同的配置。

在源主機上開啟 virt-manager應用程式,連線localhost本機虛擬機器列表。點選 File->Add Connection,彈出新增連線視窗,輸入以下各項:

Hypervisor:選擇 QEMU

Connection:選擇連線方式 。本文選擇 SSH連線。

Hostname:輸入將要連線的主機名或 IP地址,這裡填寫目的主機名 victory4新增遠端 VMM 連線
圖 8. 新增遠端 VMM 連線

點選 Connect,輸入 SSH連線的密碼後,將顯示源主機和目的主機上的虛擬機器列表。

管理遠端 VMM
圖 9. 管理遠端 VMM

從源主機動態遷移 KVM虛擬機器到目的主機。

在源主機上啟動虛擬機器 Windwos2008 R2

在虛擬機器中,開啟實時網路服務(用來驗證遷移過程中服務的可用性)。

準備動態遷移,確保所有的虛擬儲存裝置此時是共享的,包括 ISO CDROM

在源主機的 virt-manager視窗中,右鍵點選等待遷移的虛擬機器,選擇“Migrate ”

New host:選擇目的主機的 hostname

Address:填入目的主機的 IP地址。

Port and Bandwith:指定連線目的主機的埠和傳輸頻寬,本文中沒有設定,使用預設設定。虛擬機器遷移設定
圖 10. 虛擬機器遷移設定

點選“Migrate”“Yes”開始動態遷移虛擬機器。 11. 虛擬機器遷移進度
圖 11. 虛擬機器遷移進度

3.使用virt-manager進行虛擬機器靜態遷移

關閉server02上的虛擬機器vm02-win2003,然後將虛擬磁碟映象vm02-win2003se.img檔案上傳到server01

  [[email protected] home]# sftp 10.8.0.124

Connecting to 10.8.0.124...

  [email protected]'s password:

sftp> put vm02-win2003se.img

Uploading wm02-win2003 to/root/vm01-wi2003se.img

vm02-win2003se.img 100% 10G11.1MB/s 15:21 

  sftp> exit

方法一、圖形介面匯入磁碟映象

  在server01上匯入vm02-win2003se.img檔案,

  整個過程跟建立新VM差不多,與新建不一同的是,這裡選擇匯入從server02上傳過來的img映象。

其他設定的資訊同server02img虛擬機器的資訊一致

單擊“Finish”,VMM便自動執行該虛擬機器了。

  遷移過程中,server02 vm02-win2003se的靜態網路配置在server01vm11-win2003se中變成了動態獲取。

方法二、使用命令匯入磁碟映象

/etc/libvirt/qemu目錄下,有與虛擬機器相對應的xml配置檔案。

  如果使用命令匯入磁碟映象的話,從源主機拷貝映象檔案和 XML 配置檔案到目的主機中。也就是說,除了vm02-win2003se.img映象檔案外,還需要將server02 /etc/libvirt/qemu目錄下的vm02-win2003se.xml檔案也傳到server01上,並且放到/etc/libvirt/qemu目錄下。然後對 xml 進行適當的修改並激活。

  由於vm02-win2003se.img映象檔案放在/root目錄下,故需將vm02-win2003se.xmlsource file的值改為/root/vm02-win2003se.img

  <disk type='file' device='disk'>

  <driver name='qemu' type='raw' cache='none'/>

  <source file='/root/ vm02-win2003se.img '/>

  <target dev='hda' bus='ide'/>

 <address type='drive' controller='0' bus='0' unit='0'/>

  </disk>

  啟用虛擬機器配置檔案

  # virsh define /etc/libvirt/vm02-win2003se.xml

  至此,便完成的虛擬機器的遷移,server01上有一個名為vm02-win2003se的虛擬機器。如何要將此虛擬機器改名為vm11-win2003se的話,需在xml檔案中的第二行對name時行修改,xml檔案和映象檔案也修改也一致比較好。

  啟動該虛擬機器

  #virsh start vm02-win2003se

4.動態遷移遇到的問題以及解決方案

動態遷移的一些必要條件:

1.關閉防火牆Iptable –F

2.配置檔案/etc/hosts新增對應的IP和主機名(192.168.0.121hostname

3關閉 selinux服務

問題1
error: internal error hostname on destination resolved to localhost, butmigration requires an FQDN 

因為預設情況下hostname localhost,我們需要把目標的hostname修改一下,臨時的也可以。
#hostname target 
問題2
error: internal error Attempt to migrate guest to the same host00020003-0004-0005-0006-000700080009 
這個在mail list中有大牛說是伺服器提供商的問題,你可以用#dmidecode -s system-uuid檢視一下這個ID,理論上是#virsh sysinfo | grep uuid# virsh capabilities | grep uuid,這三個ID是一樣的。

修改一下libvirtd的配置檔案
#sed -i "/#host_uuid/ahost_uuid = \"`uuidgen`\""/etc/libvirt/libvirtd.conf 
重啟一下libvirtd服務
# /etc/init.d/libvirtd restart 
然後再檢視一下
# virsh capabilities | grep uuid 

問題3
error: unable to set user and group to '107:107' on '/image/vmtest/disk.img':No such file or directory 
如果順利進入到這步的話,就很簡單了,沒有directory直接建立一個就可以,沒有disk.img直接create一個注:建立的磁碟應該和源虛擬機器的磁碟是一樣的大小(更大應該是可以)和格式(raw還是qcow2

qemu-img create /image/vmtest/disk.img+sizeG 

問題4
error: Unable to resolve address 'target' service '49155': Name or service notknown 
/etc/hosts新增解析的iptarget的域名即可

相關推薦

libvirt 虛擬機器遷移配置

 感謝朋友支援本部落格,歡迎共同探討交流,由於能力和時間有限,錯誤之處在所難免,歡迎指正! 如果轉載,請保留作者資訊。 部落格地址:http://blog.csdn.net/qq_2139816

Libvirt虛擬機器網路配置

一、libvirt預設NAT模式 在安裝啟動libvirt之後,系統會自動建立一個名為virbr0的網橋,其IP地址為192.168.122.1。具體資訊如下: virbr0    Link encap:乙太網  硬體地址 7a:b3:07:b3:47:e7        

虛擬機器電腦之間的遷移以及靜態IP的配置,以及虛擬機器遷移後重啟網絡卡報錯:Error:No suitable device found: no device found for connection "S

1.虛擬機器遷移後網絡卡的配置:‘ 自己電腦容量不夠了,準備將資料遷移到公司電腦,但是虛擬機器中做了好多配置,重新安裝會很麻煩,感覺虛擬機器是不是可以直接匯出匯入,保留配置。百度後找到了解決方法。 VMware虛擬機器遷移過程: ’右鍵選擇vmware中的虛擬機器,選擇開啟虛擬機器目錄,

Esxi 6.0虛擬機器遷移Linux遇到網路配置錯誤

在使用vmware遷移linux系統過程中(遷移方式是匯出OVF模板和部署OVF模板),發現部署後的linux系統無法啟動網絡卡 報錯為 Bringing up interface eth0: Device eth0 does not seem to be present,d

linux虛擬機器網路配置

本文網路配置以CentOS-6.9系統為例  1.輸入命令vim  /etc/sysconfig/network-scripts/ifcfg-eth0 開啟配置檔案,沒有vim的可用vi或者nano 2.將ONBOOT=no改成yes,NM_CONTROLLED=yes改為no 3.

Mac搭建CentOS7虛擬機器配置網路使之能夠SSH

參考文章:http://weslyxl.coding.me/2018/04/06/2018/4/Mac搭建虛擬CentOS伺服器環境/ 一、安裝時 在Parallels Desktop上安裝centOS時,軟體選擇:用KDE影象版本(這個主的還是裝個圖形介面吧,以後的小

運維實習小技能1——虛擬機器網路配置

1、前言 突然忙碌的6月份,再不寫一篇就成功打臉了 T^T (說好的每月至少一篇出來裝逼呢!!!)。六月份的出差基本就是開發臨時轉運維實習崗……最大的收穫可能就是對於linux下敲命令啥的這樣子的事情一點也不怕了,因為本寶寶學會了裝機(裝機後又是一條好漢)!!!哈哈哈……

將VMware Workstation中的虛擬機器遷移到VirtualBox

文章目錄 軟體版本 遷移的原因 遷移虛擬機器 遷移思路 遷移 安裝VBoxSolarisAdditions 在VirtualBox中虛擬機器與物理機互傳檔案 軟體版本   VMware W

Linux學習--虛擬機器網路配置

一、橋接模式   橋接利用的是物理機的真實網絡卡。只要選擇橋接,並把虛擬機器的IP地址設定成和物理機同樣網段的IP地址,就能和物理機以及和物理機在同一區域網內的其他物理機通訊。此時虛擬機器佔用了該網段的一個IP地址。 二、NAT模式   NAT模式利用的是安裝虛擬機器後自動生成的兩個虛擬網絡卡之一&

VMware虛擬機器配置nginx後,本機無法訪問問題(轉載)

  轉自:http://www.server110.com/nginx/201407/10794.html 把nginx裝在CentOS上,用本機訪問虛擬機器的時候卻出現了不能訪問的問題,查了資料以後,原來是防火牆的問題。具體情況如下:防火牆可以ping通虛擬機器,虛擬機器也可以ping通防火牆

虛擬機器上網配置問題

Time:2014/09/06 問題描述:根據自身情況選擇NAT工作模式(VMWare三種工作模式),但是最後的結果是虛擬機器裡面能夠上網,而且能夠ping通宿主主機,但是問題是宿主主機能夠卻ping不通虛擬機器, 解決辦法: 首先,在網上搜索了一下,大概有兩個解決辦法: (1

virtualBox虛擬機器網路配置

複雜的網路 新增兩個網絡卡一個用於訪問外網,一個用來虛擬機器之間互相連線 1 建立虛擬機器時注意下網路設定 如下圖,新增兩個網絡卡,網絡卡一選擇網路地址轉換(nat),網絡卡而選擇 VirtualBox Host-Only Ethernet Adapter# 2 路由設定 兩個網絡卡不在一個網段,對應兩

解析Cloudsim中,獲取虛擬機器遷移之前的時間的函式:getTimesBeforeVmMigration()

public static List<Double> getTimesBeforeVmMigration(List<Vm> vms) { //獲取虛擬機器遷移之前的時間。引數:虛擬機器列表。返回:虛擬機器遷移之前的時間列表

centos7-虛擬機器手動配置靜態IP

一、 進入ip配置檔案 1.一般是在 /etc/sysconfig/network-scripts/ 這個目錄下面的ifcfo-xxx檔案,不同的機子、網絡卡和系統會導致名字稍微有一點不一樣,大致是這樣的 二、編輯配置檔案 1.將配置檔案配置如下格式即可 TYPE

Linux虛擬機器聯網配置

一開始虛擬機器是上不了網的 因為還沒有進行網路配置,可以輸入ifconfig檢視,它連IP都沒有,怎麼聯網 開始進行配置之前得知道宿主機的ip,在宿主機上按win+R輸入cmd,回車跳出小黑窗,輸入ipconfig就可以看到宿主機的ip、閘道器等資訊了

KVM——以橋接的方式搭建虛擬機器網路配置

 以橋接的方式搭建虛擬機器網路,其優勢是可以將網路中的虛擬機器看作是與主機同等地位的伺服器。 在原本的區域網中有兩臺主機,一臺是win7(IP: 192.168.0.236),一臺是CentOS7(IP: 192.168.0.251),現在要在CentOS(以下簡稱HOST

Linux入門小抄-part3-Linux基礎-vi/vim和虛擬機器網路配置

vi/vim編輯器 學會使用vi編輯器是學習Linux系統的必備技術之一,因為一般的Linux伺服器是沒有GUI介面的,Linux運維及開發人員基本上都是通過命令列的方式進行文字編輯或程式編寫的。vi編輯器是Linux內建的文字編輯器,幾乎所有的類unix系統中都內建了vi

11.3 虛擬機器配置

1.開啟虛擬機器管理 2.新增新的虛擬機器 3.選擇映象源 4.配置cpu和記憶體 5.配置硬碟 6.虛擬機器的名字 7.安裝redhat7.0 8.選擇語言 9.配置系統 1)配置時間 2)配置圖形介面 其中Mi

#Centos7.4#Linux虛擬機器KVM配置CPU、記憶體

【修改kvm虛擬機器的資源大小cpu、記憶體、硬碟】 # virsh list --all  Id    Name         State-------------------------------------

#Centos7.4#Linux虛擬機器KVM配置網絡卡【Requested operation is not valid: network 'br0' is not active】

案例: 【20181218 10:25 事故描述】 jump宿主機伺服器172.16.20.16宕機,聯絡機房管理員重啟,撥通機房vpn後ssh連線不上 【20181219 11:25 現場問題排查】 網絡卡顯示ip是172.16.20.161,沒有kvm橋接網絡卡br0, 啟動kvm虛擬機器報錯: