CentOS7之KVM虛擬化(一)


一、KVM介紹

KVM,基於內核的虛擬機(英語:Kernel-based Virtual Machine,縮寫為 KVM),

是一種用於Linux內核中的虛擬化基礎設施,可以將Linux內核轉化為一個hypervisor。

KVM在2007年2月被導入Linux 2.6.20核心中,以可加載核心模塊的方式被移植到FreeBSD及illumos上。

KVM在具備Intel VT或AMD-V功能的x86平台上運行。它也被移植到S/390,PowerPC與IA-64平台上。在Linux內核3.9版中,加入ARM架構的支持。

KVM目前由Red Hat等廠商開發,對CentOS/Fedora/RHEL等Red Hat系發行版支持極佳。

二、KVM部署及使用

1.系統環境查詢

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64
[root@localhost ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

8月 12 17:42:59 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
8月 12 17:42:59 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
8月 12 18:01:18 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
8月 12 18:01:19 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@localhost ~]# hostname -I
192.168.137.103 192.168.122.1

驗證CPU是否支持虛擬化,輸入有vmx或svm就支持,支持虛擬化則就支持KVM
[root@
localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
有vmx或svm內容輸出就支持,支持虛擬化則就支持KVM

查看是否加載KVM

 [root@promote images]# lsmod | grep kvm

 kvm_intel 174841 0
 kvm 578518 1 kvm_intel
 irqbypass 13503 1 kvm


 已經加載,如果沒有加載,則執行以下命令,加載KVM

 [root@localhost ~]#modprobe kvm

 

2.安裝KVM虛擬化軟件

安裝依賴包(使用本地yum源)

# yum install libvirt* virt-* qemu-kvm* -y

說明:

libvirt    # 虛擬機管理
virt       # 虛擬機安裝克隆
qemu-kvm   # 管理虛擬機磁盤

啟動KVM

# systemctl start libvirtd.service
# systemctl status libvirtd.servic

2.安裝第一台KVM虛機

[root@localhost ~]# virt-install 
--virt-type kvm
--os-type=linux
--os-variant rhel7
--name centos7
--memory 1024
--vcpus 1
--disk (虛擬硬盤絕對路徑),format=raw,size=10
--cdrom (iso鏡像文件絕對路徑)
--network network=default
--noautoconsole

注意:需要先將鏡像文件拷貝到 設置的路徑下

參數說明

參數

參數說明

--virt-type HV_TYPE

要使用的管理程序名稱 (kvm, qemu, xen, ...)

--os-type

系統類型

--os-variant DISTRO_VARIANT

在客戶機上安裝的操作系統,例如:'fedora18'、'rhel6'、'winxp' 等。

-n NAME, --name NAME

客戶機實例名稱

--memory MEMORY

配置客戶機虛擬內存大小

--vcpus VCPUS

配置客戶機虛擬 CPU(vcpu) 數量。

--disk DISK

指定存儲的各種選項。

-cdrom CDROM   

光驅安裝介質

-w NETWORK, --network NETWORK

配置客戶機網絡接口。

--graphics GRAPHICS

配置客戶機顯示設置。

虛擬化平台選項:

-v, --hvm         

這個客戶機應該是一個全虛擬化客戶機

-p, --paravirt    

這個客戶機應該是一個半虛擬化客戶機

--container       

這個客戶機應該是一個容器客戶機

--virt-type HV_TYPE

要使用的管理程序名稱 (kvm, qemu, xen, ...)

--arch ARCH       

模擬 CPU 架構

--machine MACHINE

機器類型為仿真類型

其它選項:

--noautoconsole

不要自動嘗試連接到客戶端控制台

--autostart

主機啟動時自動啟動域。

--noreboot 

安裝完成后不啟動客戶機。

3.KVM虛機管理

virsh命令常用參數總結

參數

參數說明

基礎操作

list

查看虛擬機列表,列出域

start

啟動虛擬機,開始一個(以前定義的)非活躍的域

shutdown

關閉虛擬機,關閉一個域

destroy(危險)

強制關閉虛擬機,銷毀(停止)域

vncdisplay

查詢虛擬機vnc端口號

配置管理操作

dumpxml

導出主機配置信息

undefine

刪除主機

define

導入主機配置

domrename

對虛擬機進行重命名

掛起與恢復

suspend

掛起虛擬機

resume

恢復虛擬機

自啟動管理

autostart

虛擬機開機啟動

autostart --disable

取消虛擬機開機啟動

以上參數通過  “virsh  --help” 獲得。

查看虛擬機配置文件

[root@localhost ~]# cat /etc/libvirt/qemu/test01.xml

修改KVM虛擬機配置的方法

[root@localhost ~]# virsh edit test01    (使用該命令修改可以對文件進行語法校驗)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM