虛擬化就是把硬件資源從物理方式轉變爲邏輯方式,打破原有物理結構,使用戶能夠靈活管理這些資源,而且容許1臺物理機上同時運行多個操做系統,以實現資源利用最大化和靈活管理的一項技術。windows
kvm自Linux2.6.20版本後就直接整合到Linux內核中,它依託CPU虛擬化指令集實現高性能的虛擬化支持。因爲與Linux內核高度整合,所以在性能、安全性、兼容性、穩定性上都有很好的表現。centos
在KVM環境中運行的每個虛擬化操做系統都將表現爲單個獨立的系統進程。所以它能夠很方便地與Linux系統中的安全模塊進行整合(SELinux),能夠靈活地實現資源的管理及分配。如圖所示,簡單的描繪了KVM虛擬化架構:
安全
採用CentOS-7.4-x86_64,開啓CPU虛擬化支持
服務器
1.添加一塊新的磁盤,磁盤大小40G(自定義),進行分區並掛載到/opt/vdir目錄中。網絡
[root@localhost ~]# mkdir /opt/vdir #建立掛載目錄(可自定義) [root@localhost ~]# fdisk /dev/sdb 命令(輸入 m 獲取幫助):n #建立分區 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1):1 起始 扇區 (2048-83886079,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,默認爲 83886079): 將使用默認值 83886079 分區 1 已設置爲 Linux 類型,大小設爲 40 GiB 命令(輸入 m 獲取幫助):w #保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 [root@localhost ~]# mkfs -t xfs /dev/sdb1 #磁盤格式化 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=2621376 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10485504, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5119, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mount /dev/sdb1 /opt/vdir #掛載磁盤 [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 10G 8.7G 1.4G 87% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 9.0M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda6 9.0G 33M 9.0G 1% /opt /dev/sda2 16G 37M 16G 1% /home /dev/sda1 1014M 158M 857M 16% /boot tmpfs 394M 20K 394M 1% /run/user/0 /dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb1 40G 33M 40G 1% /opt/vdir #掛載成功
2.在已有的系統基礎上,安裝KVM所需軟件。架構
[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
註釋: qemu-kvm 虛擬化軟件 虛擬網絡和硬盤等 用戶態 libvirt 虛擬化工具統一接口 virsh virt-manager virt-viewer virt-install other-tools是libvirt用戶態的工具
3.查看是否支持虛擬化ide
[root@localhost ~]# egrep '(vmx|svm)' /proc/cpuinfo
4.建立虛擬機的磁盤鏡像工具
[root@localhost opt]# qemu-img create -f raw /opt/CentOS-7.4-x86_64.img 10G [root@localhost opt]# lsmod | grep kvm #檢查kvm模塊是否安裝 kvm_amd 69849 0 kvm 566340 1 kvm_amd irqbypass 13503 1 kvm
5.開啓libvirtd服務(默認狀況下libvirtd服務是開啓的)性能
[root@localhost opt]# systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since 一 2018-08-06 16:10:19 CST; 1h 22min ago .....//省略 [root@localhost opt]# systemctl restart libvirtd.service [root@localhost opt]# systemctl stop firewalld.service [root@localhost opt]# setenforce 0
6.把CentOS-7-x86_64-DVD-1708.iso鏡像文件複製到/opt目錄下ui
[root@localhost KM]# cp CentOS-7-x86_64-DVD-1708.iso /opt/
7.安裝虛擬機
[root@localhost opt]# virt-install --name CentOS7.4-x86_64 \ #名稱 > --virt-type kvm \ # 指定建立類型 > --ram 2048 \ #內存 > --cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \ #鏡像文件 > --disk path=/opt/CentOS-7.4-x86_64.img \ #指定磁盤文件 > --network network=default \ #默認網卡類型 > --graphics vnc,listen=0.0.0.0 \ #啓用圖像化加載,監聽地址。 > --noautoconsole #支持console鏈接 開始安裝...... 域安裝仍在進行。您能夠從新鏈接 到控制檯以便完成安裝進程。
8.在windows上安裝TightVNC Viewer工具,使用TightVNC Viewer工具完成安裝虛擬機。
1)設置內核參數
9.重啓後 須要去centos7上開啓這個虛擬機 才能使用VNC鏈接。
[root@localhost opt]# virsh start CentOS7.4-x86_64 #啓動虛擬機 域 CentOS7.4-x86_64 已開始
安裝成功