113.kvm介紹、centos上安裝kvm、橋接網卡、kvm安裝centos7

28.4 kvm介紹linux

28.5 Centos7上安裝KVMvim

28.6 配置網卡centos

28.7 建立虛擬機安裝CentOS7網絡

 

 

 

28.4 kvm介紹工具

 

 

KVM是以色列初創公司Qumranet開發,2008年9月RedHat公司收購了Qumranet性能

KVM是Linux內核的一個模塊,它把Linux內核變成了一個Hypervisorui

#linux內核就是一個一個的模塊組成,不少功能centos7

KVM是徹底開源的,RedHat基於KVM的虛擬化解決方案叫作RHEV操作系統

KVM在Linux操做系統裏面以進程的形式出現,由標準的Linux調度程序進行調度,這使得KVM可以使用Linux內核的已有功能命令行

只有一個KVM內核模塊還不能實現虛擬化的所有功能,就比如操做系統只有內核還不能成爲一個完整的操做系統同樣

QEMU是一個開源的虛擬化軟件,純軟件,能夠虛擬化因此的硬件,性能不強

KVM基於QEMU開發了一個可以運行在用戶空間的工具QEMU-KVM

磁盤、網絡設備等都是經過QEMU-KVM這個工具模擬出來的

KVM和QEMU-KVM通訊是經過/dev/kvm實現的

libvirt是用來管理KVM虛擬機的API,其命令爲virsh

 

 

 

 

kvm做爲linux內核的模塊在內核空間,利用/dev/kvm與用戶空間通訊。Qemu-kvm虛擬出虛擬硬件,在這基礎上,咱們安裝GuestOS(虛擬機上的操做系統)

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

28.5 Centos7上安裝KVM

 

 

 

實驗是在vmware虛擬機裏的,至關於在虛擬機裏(vmware)安裝虛擬機(kvm)

前提是CPU支持虛擬化

1.虛擬機設置內存2G,增長一個50G的虛擬磁盤,處理器2核,虛擬化引擎兩個虛擬化相關的選項打上對勾

2.關閉iptables或者firewalld

3.關閉selinux

4.格式化新磁盤,掛載到/kvm_data

5.下載一個centos7的鏡像文件

6.檢查cpu參數是否支持虛擬化

grep -Ei 'vmx|svm' /proc/cpuinfo

7.安裝kvm

yum install -y virt-* libvirt bridge-utils qemu-img

 

 

實例:

先將虛擬機關機,調整硬件資源

 

 

 

[root@axinlinux-01 ~]# free -h

total used free shared buff/cache available

Mem: 3.7G 1.2G 1.9G 9.0M 581M 2.2G

Swap: 1.9G 0B 1.9G

[root@axinlinux-01 ~]# cat /proc/cpuinfo

processor : 1

[root@axinlinux-01 ~]# grep -Ei 'vmx|svm' /proc/cpuinfo #有無vmx的字樣,表明cpu是否支持虛擬化。vmx和svm分別表明因特爾芯片或arm芯片

[root@axinlinux-01 ~]# fdisk -l #查看一下咱們新配置的虛擬磁盤

磁盤 /dev/sda:32.2 GB, 32212254720 字節,62914560 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標籤類型:dos

磁盤標識符:0x00000d20

 

設備 Boot Start End Blocks Id System

/dev/sda1 * 2048 391167 194560 83 Linux

/dev/sda2 391168 4390911 1999872 82 Linux swap / Solaris

/dev/sda3 4390912 62914559 29261824 83 Linux

 

磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

 

 

磁盤 /dev/sdc:53.7 GB, 53687091200 字節,104857600 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

 

[root@axinlinux-01 ~]# mkfs.ext4 /dev/sdc #直接格式化成ext4,能夠沒必要分區

[root@axinlinux-01 ~]# blkid /dev/sdc #查看這塊磁盤

/dev/sdc: UUID="18ac701a-f6f3-4f80-9180-40133150672d" TYPE="ext4"

[root@axinlinux-01 ~]# mkdir /kvm_data #建立目錄

[root@axinlinux-01 ~]# mount /dev/sdc /kvm_data/ #掛載磁盤到這個目錄

[root@axinlinux-01 ~]# vim /etc/fstab #編輯/etc/fstab,開機直接掛載新增長的硬盤

/dev/sdc /kvm_data ext4 defaults 0 0

[root@axinlinux-01 ~]# systemctl stop firewalld

[root@axinlinux-01 ~]# systemctl stop iptables

[root@axinlinux-01 ~]# systemctl disable firewalld

[root@axinlinux-01 ~]# systemctl disable iptables

[root@axinlinux-01 ~]# iptables -F #若是還有的話,就清空掉

[root@axinlinux-01 ~]# iptables -nvL #隨着kvm的使用或啓動,會產生kvm的規則

[root@axinlinux-01 ~]# yum install -y virt-* libvirt bridge-utils qemu-img #安裝kvm

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

28.6 配置網卡

 

 

可選擇橋接或NAT,亦或者其餘

1.配置網卡,增長橋接網卡

先要虛擬一個橋接網卡出來,這個橋接網卡就是提供你的虛擬機和宿主機(物理機),相互鏈接起來的中間橋樑

2.設置一個br0網卡,TYPE爲Bridge,IP地址設置爲ens33的ip

ens33配置文件裏把IP地址去掉,增長BRIDGE=br0

3.檢查KVM模塊是否加載

lsmod|grep kvm

4.啓動libvirtd服務

systemctl start libvirtd

brctl show能夠看到兩個網卡br0和virbr0

 

 

 

實例:

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

[root@axinlinux-01 network-scripts]# cp ifcfg-ens33 ifcfg-br0

[root@axinlinux-01 network-scripts]# vim ifcfg-br0

TYPE=Bridge

BOOTPROTO=none

NAME=br0

DEVICE=br0

ONBOOT=yes

IPADDR=192.168.208.128

GATEWAY=192.168.208.2

DNS1=119.29.29.29

DNS2=8.8.8.8

PREFIX=24

[root@axinlinux-01 network-scripts]# vim ifcfg-ens33

TYPE=Ethernet

BOOTPROTO=none

NAME=ens33

DEVICE=ens33

ONBOOT=yes

BRIDGE=br0

[root@axinlinux-01 network-scripts]# systemctl restart network

[root@axinlinux-01 network-scripts]# ifconfig

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

inet 192.168.208.128 netmask 255.255.255.0 broadcast 192.168.208.255

inet6 fe80::20c:29ff:fe87:4224 prefixlen 64 scopeid 0x20<link>

ether 00:0c:29:87:42:24 txqueuelen 1000 (Ethernet)

RX packets 58 bytes 4337 (4.2 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 23 bytes 2334 (2.2 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

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

ether 00:0c:29:87:42:24 txqueuelen 1000 (Ethernet)

RX packets 52339 bytes 69754805 (66.5 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 25404 bytes 2265315 (2.1 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@axinlinux-02 network-scripts]# systemctl start libvirtd #axin到這一步報錯,libvirtd服務起不來,換了臺虛擬機就行了。報錯信息是這樣的「Job for libvirtd.service failed because the control process exited with error code. See "systemctl status libvirtd.service" and "journalctl -xe" for details.」

[root@axinlinux-02 ~]# ps aux |grep libvirt

[root@axinlinux-02 ~]# brctl show #查看橋接網卡的

bridge name bridge id STP enabled interfaces

br0 8000.000c290dd692 no ens33

virbr0 8000.525400f1a5ba yes virbr0-nic

virbro是libvirtd服務所啓動的橋接網卡,相似於VM ware的vmnet8的nat的橋接網卡

在kvm無法用鼠標點選擇橋接仍是nat,由於是命令行的。他的網絡類型是哪個,取決於目標橋接網卡是哪個。若是是br0就是橋接模式,virbr0就是NAT模式

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

28.7 建立虛擬機安裝CentOS7

 

 

 

 

首先要有centos7的鏡像文件

命令行安裝centos7

virt-install --name=aminglinux01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-17081.iso --disk path=/kvm_data/aminglinux01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"

--name 定義你虛擬機的名字

--memory 定義它的內存大小,就是安裝完就是512

maxmemory 定義它的最大內存多大,就是可調整到1024(支持熱調整)

--vcpus 定義cpu核數

maxvcpus 最大cpu爲2核

--os-type 操做類型是linux

--os-variant 版本是rhel7(centos7)

--location 指定ISO文件的路徑(能夠是http:xxxxx,也就是能夠在線安裝)

--disk path 虛擬硬盤所在路徑,包括名字、大小

--bridge 橋接網卡名字

--graphics 是否開啓圖形

--console 定義開啓的終端、屬性

--extra-args 也是終端的屬性

 

 

實例:

 

 

Installation

 

1) [x] Language settings 2) [!] Time settings

(English (United States)) (Timezone is not set.)

3) [!] Installation source 4) [!] Software selection

(Processing...) (Processing...)

5) [!] Installation Destination 6) [x] Kdump

(No disks selected) (Kdump is enabled)

7) [ ] Network configuration 8) [!] Root password

(Not connected) (Password is not set.)

9) [!] User creation

(No user will be created)

Please make your choice from above ['q' to quit | 'b' to begin installation |

'r' to refresh]:

#按1 語言選擇 回車 68 回車 1回車

#按2 時區 回車 1 回車 64(shanghai) 回車

#按5 分區 回車 1 回車 c(繼續) 回車 c 回車 2(後面x表明默認) 回車 c 回車 1(標準分區) 回車 c 回車

#按8 root密碼 wangxin789 回車 兩遍

完成設置後,按b+回車

Installation

 

1) [x] Language settings 2) [x] Time settings

(Simplified Chinese (China)) (Asia/Shanghai timezone)

3) [x] Installation source 4) [x] Software selection

(Local media) (Minimal Install)

5) [x] Installation Destination 6) [x] Kdump

(Automatic partitioning (Kdump is enabled)

selected) 8) [x] Root password

7) [ ] Network configuration (Password is set.)

(Not connected)

9) [ ] User creation

(No user will be created)

Please make your choice from above ['q' to quit | 'b' to begin installation |

'r' to refresh]:

以上爲設置完成後的,x表明爲已設置的

最後按ctrl+],退出終端就能夠了。到這一步,阿銘的宿主機(vmware虛擬機)也跟着重啓了,阿鑫作的時候沒有出現重啓的現象。因此,在上面的設置完成之後,不要按回車退出,而是按ctrl+]退出終端,而後再針對axinlinux-02這一臺虛擬機重啓

相關文章
相關標籤/搜索