背景:在一台剛裝好的centos7.6物理機離線部署KVM
一.准備環境
關閉防火牆並設置為開機自動關閉 systemctl stop firewalld systemctl disable firewalld 關閉selinux vi /etc/selinux/config 掛載鏡像到/mnt並配置本地的yum源 vi /etc/yum.repos.d/base.repo [base] name=BASE baseurl=file:///mnt enabled=1 gpgcheck=0
二. 對添加的磁盤進行分區並掛載到/data目錄
1.利用parted工具進行分區(大於2個T的選擇此方式進行分區) parted /dev/sdb 2.格式化分區 mklabel gpt 3.分區 mkpart primary 0% 100% 4.退出 q 5.格式化分區 mkfs.ext4 /dev/sdb1 6.查看磁盤信息 mount /dev/sdb1 /data/
附圖

三 .物理機和虛擬機配置

四。安裝服務
1.檢查當前檢查當前物理機是否支持虛擬化技術:
egrep 'vmx|svm' /proc/cpuinfo
如果輸出的結果包含VMX,它是Intel處理器虛擬機技術標志:如果包含SVM,它是AMD處理器虛擬機技術的標志,如果你什么都沒有得到,那應你的系統並沒有支持虛擬化的處理,不能使用KVM,另處linux發行版本必須在64bit環境中才能使用KVM。
2.准備相應程序包
下載centos7的鏡像
https://vault.centos.org/7.6.1810/isos/x86_64/
3.找一台可以上網的Centos7-minimal的環境,需要跟目標服務器的系統一致,可以自己創建一個虛擬機,使用yum的下載命令,將安裝kvm所需要的rpm包和依賴包下載
yum install --downloadonly --downloaddir=/opt/kvm kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v tunctl tigervnc-server 將下載好的rpm包拷貝到目標服務器上,使用yum本地安裝命令安裝 yum localinstall -y /opt/kvm/*.rpm systemctl start libvirtd systemctl enable libvirtd
安裝的時候會遇到一個版本依賴的問題,需要安裝cryptsetup-libs-2.0.3-6.el7.x86_64.rpm,下載鏈接
https://centos.pkgs.org/7/centos-x86_64/cryptsetup-libs-2.0.3-6.el7.x86_64.rpm.html
五. 檢查kvm模塊是否加載:
1. lsmod | grep kvm
kvm_intel 55464 8
kvm 345038 1 kvm_intel
2.檢查kvm應用是否正常:
virsh list --all
Id 名稱 狀態
----------------------------------------------------
此處應為空,因為還未安裝任何虛擬機。
3. 修改qemu配置內vnc監聽端口:
# vi /etc/libvirt/qemu.c.onf.
vnc_listen = "0.0.0.0"
4. 重啟libvirtd
systemctl restart libvirtd
六 .配置橋接網絡
vi /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge BOOTPROTO=static NM_CONTROLLED=yes DEFROUTE=yes NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=172.30.201.64 NETMASK=255.255.255.0 GATEWAY=172.30.201.254
vi /etc/sysconfig/network-scripts/ifcfg-eth1 (em1)
TYPE=Ethernet NAME=eno2 UUID=b72fd5ec-8538-470c-9fc4-005f8ce3669f DEVICE=eno2 ONBOOT=yes BRIDGE=br0 NM_CONTROLLED=yes
重啟網絡
systemctl restart network
檢查網橋配置 (本機物理機ip地址)
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.30.201.64 netmask 255.255.255.0 broadcast 172.30.201.255
inet6 fe80::4adc:2dff:fe0a:d81e prefixlen 64 scopeid 0x20<link>
ether 48:dc:2d:0a:d8:1e txqueuelen 1000 (Ethernet)
RX packets 114 bytes 13206 (12.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 69 bytes 9598 (9.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 48:dc:2d:0a:d8:1e txqueuelen 1000 (Ethernet)
RX packets 1950049 bytes 2135868171 (1.9 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3257702 bytes 4020628844 (3.7 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
brctl show

七、安裝第一台kvm虛擬機
1、建立img路徑文件夾
mkdir /data/kvming -p
2、執行初始化虛擬機操作(在vnc里邊執行)
磁盤有兩種格式,分別是qcow2和raw
區別是 用qcow2格式創建的虛擬機不會立即使用磁盤;
但是用raw格式創建的虛擬機會立即使用磁盤;物理機磁盤容量的增長會很快,但是qcow2格式的磁盤會慢慢增長,但不會超過總共給他分配的容量。
這里介紹其中的一種安裝方式
先yum remove virt-viewer virt-install --name vm01 --boot network,hd,cdrom,menu=on --ram 65536 --vcpus=1 --os-variant=rhel7 --accelerate --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1810.iso --disk path=/data/kvmimg/vm01.img,size=100,bus=virtio --bridge=br0,model=virtio --autostart --vnc --vncport=5901 --vnclisten=0.0.0.0
3.使用vnc客戶端連接虛擬機安裝界面,進行安裝,打開vnc,訪問IP:端口(5901)

4. 安裝完之后在虛機配置自己所需要的靜態IP
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=d84c2776-911c-4f17-93de-2c91f0964782 DEVICE=eth0 ONBOOT=yes IPADDR=172.30.201.48 NETMASK=225.225.225.0 GATEWAY=172.30.201.254
5. 檢查虛擬機運行情況:
virsh list --all

后續繼續更新呢,,,,,,,,,,,,,,,,,
參考文檔
https://www.cnblogs.com/lixinliang/p/8377132.html
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install#sect-Guest_virtual_machine_import
磁盤分區文檔
http://www.360doc.com/content/13/0617/20/4171006_293562254.shtml
