背景:在一台刚装好的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