Centos7.4安裝kvm虛擬機(使用virt-manager管理)

 

以前介紹了使用WebVirtMgr或Openstack來部署及管理kvm虛擬機,下面簡單介紹centos7.4下使用virt-manager部署及管理kvm虛擬機的作法:html

0)KVM是什麼java

1python

2ios

3vim

4centos

5服務器

6網絡

7工具

8學習

9

10

KVM(Kernel-based Virtual Machine, 即內核級虛擬機) 是一個開源的系統虛擬化模塊。它使用Linux自身的調度器進行管理,因此相對於Xen,其核心

源碼不多。目前KVM已成爲學術界的主流VMM之一,它包含一個爲處理器提供底層虛擬化 可加載的核心模塊kvm.ko(kvm-intel.ko 或 kvm-amd.ko)。kvm

還須要一個通過修改的QEMU 軟件(qemu-kvm),做爲虛擬機上層控制和界面。KVM的虛擬化須要硬件支持(如 Intel VT技術或者AMD V技術)。是基於硬件的

徹底虛擬化。 KVM能夠運行多個其自己運行未改動的鏡像的虛擬機,例如Windows,Mac OS X ,每一個虛擬機都有各自的虛擬硬件,好比網卡、硬盤核圖形適配

器等。

  

KVM和QEMU的關係

QEMU是個獨立的虛擬化解決方案,從這個角度它並不依賴KVM。而KVM是另外一套虛擬化解決方案,不過由於這個方案實際上只實現了內核中對處理器(Intel VT)

, AMD SVM)虛擬化特性的支持,換言之,它缺少設備虛擬化以及相應的用戶空間管理虛擬機的工具,因此它借用了QEMU的代碼並加以精簡,連同KVM一塊兒構成了

另外一個獨立的虛擬化解決方案:KVM+QEMU。

1)kvm相關安裝包及其做用

1

2

3

4

5

6

7

8

9

qemu-kvm          主要的KVM程序包

python-virtinst   建立虛擬機所須要的命令行工具和程序庫

virt-manager      GUI虛擬機管理工具

virt-top          虛擬機統計命令

virt-viewer       GUI鏈接程序,鏈接到已配置好的虛擬機

libvirt           C語言工具包,提供libvirt服務

libvirt-client    虛擬客戶機提供的C語言工具包

virt-install      基於libvirt服務的虛擬機建立命令

bridge-utils      建立和管理橋接設備的工具

2)centos7安裝VNC環境

1

請參考:http://www.cnblogs.com/kevingrace/p/5821450.html

3)安裝kvm

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

1)檢查cpu是否支持虛擬化

[root@kevin ~]# grep vmx /proc/cpuinfo

若是有vmx信息輸出,就說明支持VT;若是沒有任何的輸出,說明你的cpu不支持,將沒法使用KVM虛擬機。

 

2)確保BIOS裏開啓虛擬化功能,即查看是否加載KVM模塊

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

若是沒有加載,運行如下命令:

[root@kevin ~]# modprobe kvm

[root@kevin ~]# modprobe kvm-intel

[root@kevin ~]# lsmod | grep kvm

kvm_intel             170086  0

kvm                   566340  1 kvm_intel

irqbypass              13503  1 kvm

=========================================================

 

內核模塊導出了一個名爲/dev/kvm的設備,這個設備將虛擬機的的地址空間獨立於內核或者任何應用程序的地址空間。

[root@kevin ~]# ll /dev/kvm

crw-rw-rw-. 1 root kvm 10, 232 1月  29 11:56 /dev/kvm

 

3)橋接網絡

若是沒有brctl命令(用來管理網橋的工具),則須要安裝bridge-utils ,

[root@kevin ~]# yum -y install bridge-utils

[root@kevin ~]# systemctl restart network

 

配置KVM的網橋模式

[root@kevin ~]# cd /etc/sysconfig/network-scripts/

[root@openstack network-scripts]# cp ifcfg-eno1 ifcfg-br0

[root@openstack network-scripts]# cat ifcfg-br0

TYPE="Bridge"                                        //這一行修改成Bridge

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="br0"                                           //修改設備名稱爲br0

#UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"         //這一行註釋

DEVICE="br0"                                         //修改設備爲br0

ONBOOT="yes"

IPADDR="192.168.10.210"

PREFIX="24"

GATEWAY="192.168.10.1"

DNS1="8.8.8.8"

 

[root@openstack network-scripts]# cat ifcfg-eno1

TYPE="Ethernet"

BRIDGE=br0                                           //添加這一行

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="no"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="eno1"

UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0"

DEVICE="eno1"

ONBOOT="yes"

#IPADDR="192.168.10.210"                          //註釋掉這幾行

#PREFIX="24"

#GATEWAY="192.168.10.1"

#DNS1="8.8.8.8"

 

重啓網卡服務

[root@openstack network-scripts]# systemctl restart network

 

查看網卡

[root@openstack network-scripts]# brctl show

bridge name bridge id   STP enabled interfaces

br0   8000.0894ef518b22 no    eno1

virbr0    8000.52540095d7c2 yes   virbr0-nic

 

查看ip信息

[root@openstack network-scripts]# ifconfig |head -20

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.10.210  netmask 255.255.255.0  broadcast 192.168.10.255

        inet6 fe80::a94:efff:fe51:8b22  prefixlen 64  scopeid 0x20<link>

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 856  bytes 52981 (51.7 KiB)

        RX errors 0  dropped 2  overruns 0  frame 0

        TX packets 120  bytes 23450 (22.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:22  txqueuelen 1000  (Ethernet)

        RX packets 10077  bytes 793083 (774.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1184  bytes 228415 (223.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 16 

 

eno2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 08:94:ef:51:8b:23  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

 

 

[root@openstack network-scripts]# ping www.baidu.com

PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=2.08 ms

64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=1.80 ms

........

 

4)安裝libvirt及kvm

libvirt是管理虛擬機的API庫,不只支持KVM虛擬機,也能夠管理Xen等方案下的虛擬機。

[root@kevin ~]#  yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64  libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64

libvirt-java.noarch  libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

 

因爲要用virt-manager圖形化安裝虛擬機,因此還須要安裝X-window(這個在前面部署VNC環境裏就已經安裝了)

[root@kevin ~]# yum groupinstall "X Window System"

 

安裝中文字符,解決界面亂碼問題

[root@kevin ~]# yum install -y dejavu-lgc-sans-fonts

[root@kevin ~]# yum groupinstall -y "Fonts"

 

啓用libvirt

[root@kevin ~]# systemctl enable libvirtd

[root@kevin ~]# systemctl start libvirtd

4)使用virt-manager管理kvm(經過VNC鏈接服務器)

1

2

3

4

5

提早將ISO系統鏡像存放到服務器的一個目錄裏,好比/data/iso

[root@openstack ~]# mkdir /data/iso

[root@openstack ios]# ll

總用量 3356384

-rw-r--r--. 1 qemu qemu 3436937216 1月  29 11:41 win-server2008_R2.iso

5)解決KVM虛擬機在使用vnc鏈接時鼠標不一樣步的問題

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

在VNC界面中感受virt-manager管理的虛擬機界面老是鼠標跟不上,指到哪兒也看不出來,界面上一直顯示press control_l+a/t_l來移動鼠標!十分鬱悶!

想要修改鼠標和宿主機界面同步方法以下:

[root@openstack ~]# cd /etc/libvirt/qemu

[root@openstack qemu]# ls

networks  test-win2008.xml

[root@openstack qemu]# cp test-win2008.xml /opt/

[root@openstack qemu]# vim test-win2008.xml               //在<devices>標籤中添加下面這段配置

<devices>   

......                                      

  <input type='tablet' bus='usb'/>                        //即添加這句話便可!

......    

</devices>

 

[root@openstack qemu]# virsh define /etc/libvirt/qemu/test-win2008.xml

定義域 test-win2008(從 /etc/libvirt/qemu/test-win2008.xml)

 

而後重啓虛擬機後,發現虛擬機中的鼠標就會好事了,打開VNC查看虛擬機界面後默認狀況下虛擬機中的鼠標指針和實體機的鼠標指針就是重合的,且二者運動速度也是同步的,

這下就完全解決了鼠標指針漂移/不一樣步的狀況了!

6)重定向USB設備(即將宿主機上的USB設備指定到目標虛擬機上)。適合掛載銀行前置機設備!

先將USB設備插到宿主機上,接着在virt-manager界面裏打開虛擬機,而後虛擬機界面上欄裏打開"虛擬機"->"重定向USB設備(R)"。(特別注意:以下選擇將usb設備掛載到虛擬機上後,不要關閉這個掛載界面,不然usb掛載動做就會結束!)

 

查看虛擬機,發現指定的USB設備已經掛載到該虛擬機上了!

若是要卸載該虛擬機上掛載的這個USB設備,即在"重定向設備usb(R)"裏將這個USB設備去掉,而後"肯定"便可!

kvm虛擬機平常操做命令梳理:http://www.cnblogs.com/kevingrace/p/5570504.html

***************當你發現本身的才華撐不起野心時,就請安靜下來學習吧***************

相關文章
相關標籤/搜索