操作系統:centos7.3
一、安裝KVM
1. 驗證CPU是否支持KVM;如果結果中有vmx(Intel)或svm(AMD)字樣,就說明CPU的支持的。
egrep '(vmx|svm)' /proc/cpuinfo

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

3. 最小安裝的CentOS安裝一些最基本的包(可選項,因為我是剛安裝好的CentOS,所以為了下面方便點,先把一些必要的工具安裝下)
yum install epel-release net-tools vim unzip zip wget ftp -y

4. 安裝KVM及其依賴項
yum install qemu-kvm libvirt virt-install bridge-utils -y

5. 驗證安裝結果,下圖說明已經成功安裝了
lsmod | grep kvm

6. 開啟kvm服務,並且設置其開機自動啟動
systemctl start libvirtd systemctl enable libvirtd
7. 查看狀態操作結果,如下圖所示,說明運行情況良好
systemctl status libvirtd

systemctl is-enabled libvirtd

8. 配置網橋模式,先將 /etc/sysconfig/network-scripts/ 目錄下的網卡配置文件備份一份
a. 創建 ifcfg-br0 文件,(創建的br0文件的IP地址要和物理網卡的IP地址一致,命令 ipconfig查看物理網卡將不會顯示IP)內容如下:
[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO=none DEFROUTE=yes ONBOOT=yes TYPE=Bridge IPV4_FAILURE_FATAL=yes IPADDR=192.168.1.130 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 DNS1=221.6.4.66 DELAY=0 USERCE=no
ZONE=public
b.修改原網卡配置
vim /etc/sysconfig/network-scripts/ifcfg-eno1s TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="YES" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="eno1" UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61" DEVICE="eno1" ONBOOT="yes" IPADDR="192.168.1.130" NETAMSK=255.255.255.0 GATEWAY="192.168.1.254" DNS1="221.6.4.66" IPV6_PRIVACY="no" BRIDGE=br0
c. 重啟網絡服務
systemctl restart network
使用 ifconfig 驗證操作結果,多了一塊網卡br0,現在訪問 think8848-srv02 使用 192.168.1.120就可以了。

*注釋:如果有防火牆的話在防火牆添加虛擬機IP地址策略 允許源地址訪問目標地址。
1.加入IP地址

2.創建策略。 允許源地址訪問目標地址。

二、安裝虛擬機
1. 准備操作系統安裝鏡像文件,在本文中將使用和宿主環境一樣的CentOS7.2,把該文件放到 /home/iso 目錄下
掛在U盤
[root@nkgtsv01 ~]# yum install fuse-ntfs-3g -y [root@nkgtsv01 ~]# ls /mnt/ udisk usb [root@nkgtsv01 ~]# ls /mnt/udisk/ CentOS-7.2-x86_64-DVD-1611.iso CentOS-7-x86_64-DVD-1708.iso maven_storey2.zip [root@bogon data]# mkdir -p /data/iso [root@bogon data]# ls iso kvm-bak network [root@nkgtsv01 ~]# mount -o loop /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso /data/iso/ mount: /dev/loop0 寫保護,將以只讀方式掛載

2. 創建虛擬機文件存放的目錄
mkdir -p /data/kvm-bak

3.使用 virt-install 創建虛擬機
virt-install --virt-type=kvm --name=njkvm07 --vcpus=4 --memory=6000 --location=/data/iso/CentOS-7-x86-64-DVD-1708.iso --disk path=/data/kvm-images/njkvm07.qcow2,size=200,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force
執行完這段命令
感嘆號為待選項
c保存 q退出 b開始執行安裝

選擇地區時間




選則之后c保存

自動返回主頁面

選則硬盤

選則到硬盤 c保存

全新安裝 C保存

選則添加IP地址和添加主機名稱


輸入 回車

添加IP地址

選則ipv4

添加IP地址回車

添加netmask gateway c 保存

添加密碼

B開始執行安裝

安裝完成

宿主機直接連接到虛擬機


4.等待重啟虛擬機,虛擬機起開之后直接遠程就ok了 。
三、virt-clone克隆虛擬機
使用 virt-clone 克隆njvm01為新的虛擬機(虛擬機需要先關閉)
virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img

克隆完查看 所有的虛擬機以及狀態
virsh list --all

刪除虛擬機njvm01
virsh undefine njvm01
virsh destroy njvm01
######### 取消定義 刪除以后要找到虛擬機文件路徑吧虛擬機文件也刪除掉#########

[root@nkgtsv01 data]# virsh shutdown njvm01
域 njvm01 被關閉
[root@nkgtsv01 data]# virsh start njvm02
域 njvm02 已開始
[root@nkgtsv01 data]# virsh list --all

克隆完以后因為IP地址還是njvm01的IP地址所以我們要修改IP地址
開啟我們克隆的虛擬機
遠程登陸上去
[root@nkgtsv-vm01 ~]# cd /etc/sysconfig/network-scripts/ [root@nkgtsv-vm01 network-scripts]# ls ifcfg-eth0 ifdown-ppp ifup-eth ifup-sit ifcfg-lo ifdown-routes ifup-ippp ifup-Team ifdown ifdown-sit ifup-ipv6 ifup-TeamPort ifdown-bnep ifdown-Team ifup-isdn ifup-tunnel ifdown-eth ifdown-TeamPort ifup-plip ifup-wireless ifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-global ifdown-ipv6 ifup ifup-post network-functions ifdown-isdn ifup-aliases ifup-ppp network-functions-ipv6 ifdown-post ifup-bnep ifup-routes [root@nkgtsv-vm01 network-scripts]# vi ifcfg-eth0


IPADDR=192.168.1.121改為我們想要的IP地址
保存退出
service network restart
重啟網絡
重新鏈接
virsh autostart njvm21
虛擬機 njvm21 開機啟動
