CentOS7安裝KVM虛擬機

檢測是否支持KVM

KVM 是基於 x86 虛擬化擴展(Intel VT 或者 AMD-V) 技術的虛擬機軟件,所以查看 CPU 是否支持 VT 技術,就可以判斷是否支持KVM。有返回結果,如果結果中有vmx(Intel)或svm(AMD)字樣,就說明CPU的支持的。

<code>cat /proc/cpuinfo | egrep 'vmx|svm'/<code>
<code>flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear spec_ctrl intel_stibp flush_l1d/<code>

關閉SELinux,將 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改為 SELinux=disabled

<code>cat /etc/selinux/config/<code>
<code># This file controls the state of SELinux on the system./<code>
<code># SELINUX= can take one of these three values:/<code>
<code>#     enforcing - SELinux security policy is enforced./<code>
<code>#     permissive - SELinux prints warnings instead of enforcing./<code>
<code>#     disabled - No SELinux policy is loaded./<code>
<code>SELINUX=disabled/<code>
<code># SELINUXTYPE= can take one of three two values:/<code>
<code>#     targeted - Targeted processes are protected,/<code>
<code>#     minimum - Modification of targeted policy. Only selected processes are protected./<code>
<code>#     mls - Multi Level Security protection./<code>
<code>SELINUXTYPE=targeted/<code>

安裝 KVM 環境

通過 yum 安裝 kvm 基礎包和管理工具

kvm相關安裝包及其作用:

  • qemu-kvm 主要的KVM程序包
  • python-virtinst 創建虛擬機所需要的命令行工具和程序庫
  • virt-manager GUI虛擬機管理工具
  • virt-top 虛擬機統計命令
  • virt-viewer GUI連接程序,連接到已配置好的虛擬機
  • libvirt C語言工具包,提供libvirt服務
  • libvirt-client 為虛擬客戶機提供的C語言工具包
  • virt-install 基於libvirt服務的虛擬機創建命令
  • bridge-utils 創建和管理橋接設備的工具

# 安裝 kvm

<code># yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install/<code>
<code>yum -y install qemu-kvm libvirt virt-install bridge-utils/<code>

# 重啟宿主機,以便加載 kvm 模塊

<code>reboot/<code>

# 查看KVM模塊是否被正確加載

<code>lsmod | grep kvm/<code>
<code>kvm_intel             162153  0/<code>
<code>kvm                   525259  1 kvm_intel/<code>

開啟kvm服務,並且設置其開機自動啟動

<code>systemctl start libvirtd/<code>
<code>systemctl enable libvirtd/<code>

查看狀態操作結果,如Active: active (running),說明運行情況良好

<code>systemctl status libvirtd/<code>
<code>systemctl is-enabled libvirtd/<code>
<code>libvirtd.service - Virtualization daemon   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)   Active: active (running) since 二 2001-01-02 11:29:53 CST; 1h 41min ago     Docs: man:libvirtd(8)           http://libvirt.org/<code>

安裝虛擬機

安裝前要設置環境語言為英文LANG="en_US.UTF-8",如果是中文的話某些版本可能會報錯。CentOS 7 在這裡修改 /etc/locale.conf。

kvm創建虛擬機,特別注意.iso鏡像文件一定放到/home 或者根目錄重新創建目錄,不然會因為權限報錯,無法創建虛擬機。

1、準備鏡像

<code>wget https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso/<code>

2、鏡像放在/home/目錄

<code>mv CentOS-7-x86_64-Minimal-1810.iso /home//<code>

3、硬盤操作(可能不需要的)

<code>qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G/<code>

4、安裝

<code>virt-install --virt-type=kvm --name=centos78 --vcpus=2 --memory=4096 --location=/home/CentOS-7-x86_64-Minimal-1810.iso --disk path=/home/centos78.qcow2,size=40,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force/<code>
<code>網絡橋接配置/<code>
<code>#cat ifcfg-em1/<code>
<code>TYPE=Ethernet/<code>
<code>BOOTPROTO=none/<code>
<code>NAME=em1/<code> 
<code>DEVICE=em1/<code>
<code>UUID=27ec0d0b-72b3-41aa-8b3a-f654078755ef/<code>
<code>ONBOOT=yes/<code>
<code>BRIDGE="br0/<code>


<code>#cat ifcfg-br0/<code>
<code>BOOTPROTO=none/<code>
<code>DEFROUTE=yes/<code>
<code>PEERDNS=yes/<code>
<code>PEERROUTES=yes/<code>
<code>IPV4_FAILURE_FATAL=no/<code>
<code>IPV6INIT=no/<code>
<code>IPV6_AUTOCONF=no/<code>
<code>IPV6_DEFROUTE=no/<code>
<code>IPV6_PEERDNS=no/<code>
<code>IPV6_PEERROUTES=no/<code>
<code>IPV6_FAILURE_FATAL=no/<code>
<code>NAME=br0/<code>
<code>UUID=27ec0d0b-72b3-41aa-8b3a-f654078755ef/<code>
<code>DEVICE=br0/<code>
<code>ONBOOT=yes/<code>
<code>TYPE=bridge/<code>
<code>IPADDR=192.168.40.222/<code>
<code>PREFIX=23/<code>
<code>GATEWAY=192.168.40.1/<code>

虛擬機其它管理

<code>virsh start centos72     # 虛擬機開啟(啟動):/<code>
<code>virsh reboot centos72    # 虛擬機重新啟動/<code>
<code>virsh shutdown centos72  # 虛擬機關機/<code>
<code>virsh destroy centos72   # 強制關機(強制斷電)/<code>
<code>virsh suspend centos72   # 暫停(掛起)KVM 虛擬機/<code>
<code>virsh resume centos72    # 恢復被掛起的 KVM 虛擬機/<code>
<code>virsh undefine centos72  # 該方法只刪除配置文件,磁盤文件未刪除/<code>
<code>virsh autostart centos72 # 隨物理機啟動而啟動(開機啟動)/<code>
<code>virsh autostart --disable centos72 # 取消標記為自動開始(取消開機啟動)/<code>


CentOS7安裝KVM虛擬機


分享到:


相關文章: