CentOS7中部署KVM虛擬化平臺
虛擬化介紹
虛擬化就是把硬件資源從物理方式轉變爲邏輯方式,打破原來的物理結構,使用戶可以靈活管理這些資源,並允許1臺物理機上同時運行多個操作系統,以實現資源利用率最大化和靈活管理的一項技術。
虛擬化優勢:
- 減少了服務器的數量,降低了硬件採購成本
- 資源利用率最大化
- 降低機房空間、散熱、用電消耗的成本
- 硬件資源可以動態調整,提高了企業IT業務的靈活性
- 高可用性
- 在不中斷服務的情況下進行物理硬件調整
- 具備更高效的容災能力
KVM虛擬化:
KVM自從Linux2.6.20版本後就直接整合到Linux內核中,它依託CPU虛擬化指令集(如Intel-VT,AMD-V)實現高性能的虛擬化支持,模擬虛擬機監視器和CPU。KVM不提供硬件虛擬化操作,其IO操作等都藉助QEMU來完成。由於與Linux內核高度整合,因此在性能、安全性、兼容性、穩定性上都有很好的表現。
每一個虛擬機(guest)在Host上都被模擬爲一個QEMU進程,即emulation進程。
KVM部署
安裝環境包和依賴包
注意宿主虛擬機內存最好4G以上,否則會十分卡頓
[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
#qemu-kvm KVM模塊
#qemu-kvm-tools KVM調試工具
#virt-manager 圖形化界面管理虛擬機
#libvirt 虛擬機管理工具
#virt-install 虛擬機安裝工具
查看CPU是否支持虛擬化
查看CPU是否支持虛擬化,隊醫Intel的服務器可以通過以下命令查看,只要有輸出結果就說明支持CPU虛擬化,對於AMD的服務器可以用cat /proc/cpuinfo | grep smv查看。
[root@localhost vir]# egrep '(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
patpse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm
constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq
vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer
aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi
ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx s
map clflushopt xsaveopt xsavec arat
這裏注意如果是在虛擬機中安裝的話,需要將下面幾個選項勾選起來。
創建硬盤
這裏需要重新在虛擬機上再添加一塊硬盤,用於安裝KVM。
[root@localhost ~]# mkfs -t xfs /dev/sdb1
#將新創建的磁盤格式化成xfs類型的
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 ~]# mkdir /vdir
#創建掛在目錄
[root@localhost ~]# mount /dev/sdb1 /vdir/
#將磁盤掛載到/vdir目錄中
創建安裝KVM的磁盤
[root@localhost ~]# qemu-img create -f raw /vdir/c01.img 20G
#創建安裝KVM的磁盤,大小爲20G
Formatting '/vdir/c01.img', fmt=raw size=21474836480
啓動libvirt服務
[root@localhost ~]# systemctl start libvirtd.service
複製光盤鏡像
需要將Centos7系統的iso文件保存到本地虛擬機上用於安裝。這步可以採用很多方式,我使用的是用Xftp直接拷貝過來。
[root@localhost ~]# ls /opt/
CentOS-7-x86_64-DVD-1708.iso rh
開始安裝KVM
[root@localhost ~]# virt-install --name C01 \
> --virt-type kvm \
> --ram 2048 \
> --cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \
> --disk path=/vdir/c01.img \
> --network network=default \
> --graphics vnc,listen=0.0.0.0 \
> --noautoconsole
開始安裝......
域安裝仍在進行。您可以重新連接
到控制檯以便完成安裝進程。
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
#關閉防火牆和增強安全功能