查看是否支持虚拟机,
egrep '(vmx|svm)' /proc/cpuinfo
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp spec_ctrl intel_stibp flush_l1d
执行结果有vmx或svm字样,就是支持
安装依赖及软件:
依赖
yum install epel-release net-tools vim unzip zip wget ftp -y
软件
yum install qemu-kvm libvirt virt-install bridge-utils -y
开始kvm服务
systemctl start libvirtd
systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since 四 2022-03-17 10:03:08 CST; 24min ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 2862 (libvirtd)
Tasks: 19 (limit: 32768)
CGroup: /system.slice/libvirtd.service
├─2862 /usr/sbin/libvirtd
├─3317 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
└─3318 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
3月 17 10:03:09 oracle dnsmasq[3312]: listening on virbr0(#4): 192.168.122.1
3月 17 10:03:09 oracle dnsmasq[3317]: started, version 2.76 cachesize 150
3月 17 10:03:09 oracle dnsmasq[3317]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth nettlehash no-DNSSEC loop-detect inotify
3月 17 10:03:09 oracle dnsmasq-dhcp[3317]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
3月 17 10:03:09 oracle dnsmasq-dhcp[3317]: DHCP, sockets bound exclusively to interface virbr0
3月 17 10:03:09 oracle dnsmasq[3317]: reading /etc/resolv.conf
3月 17 10:03:09 oracle dnsmasq[3317]: using nameserver 192.168.102.1#53
3月 17 10:03:09 oracle dnsmasq[3317]: read /etc/hosts - 4 addresses
3月 17 10:03:09 oracle dnsmasq[3317]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
3月 17 10:03:09 oracle dnsmasq-dhcp[3317]: read /var/lib/libvirt/dnsmasq/default.hostsfile
配置网桥br0:
新建网卡
vi /etc/sysconfig/network-scripts/ifcfg-bro
TYPE=bridge
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.102.100
PREFIX=24
GATEWAY=192.168.102.1
DNS1=192.168.102.1
ZONE=public
修改原网卡:
vi /etc/sysconfig/network-scripts/ifcfg-enp4s0
TYPE=Ethernet
BOOTPROTO=none
NM_CONTROLLED=no
NAME=enp4s0
DEVICE=enp4s0
ONBOOT=yes
BRIDGE=br0
重启网络:
systemctl restart network
安装虚拟机:
virt-install \
--name centos7_kvm_201 \
--memory 1024 \
--vcpus=1 \
--disk /home/kvm/centos7_kvm.img,format=qcow2,size=20 \
--network bridge=br0 \
--os-type=linux \
--os-variant=centos7.0 \
--cdrom /usr/local/software/CentOS-7-x86_64-Minimal-1810.iso \
--vnc \
--vncport=5910 \
--vnclisten=0.0.0.0 \
--noautoconsole
开始安装......
正在分配 'centos7_kvm.img' | 20 GB 00:00:00
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。
使用vnc viewer客户端连接:
连接地址:192.168.102.100:5910
vnc-view.png
image.png
配置主机名(centos7-201),网络IP(192.168.102.201 与宿主机一个网段)。
安装之后重启。
kvm启动centos虚拟机:
virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7_kvm_201 关闭
virsh start centos7_kvm_201
域 centos7_kvm_201 已开始
virsh list --all
Id 名称 状态
----------------------------------------------------
5 centos7_kvm_201 running
宿主机进入虚拟机:
修改虚拟机centos系统配置:
echo ttyS0 >> /etc/securetty
echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab
vi /etc/grub2.cfg
添加:"console=ttyS0" 至行:
linux16 /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
添加后:
linux16 /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 console=ttyS0
重启虚拟机:
virsh reboot centos7_kvm_201
进入虚拟机:
virsh console centos7_kvm_201
CentOS Linux 7 (Core)
Kernel 3.10.0-957.el7.x86_64 on an x86_64
centos7-201 login:
退出虚拟机:
ctrl+]
修改虚拟机配置:
virsh # list --all
Id 名称 状态
----------------------------------------------------
5 centos7_kvm_201 running
查看配置
dominfo centos7_kvm_201
Id: 11
名称: centos7_kvm_201
UUID: b430da70-755f-43a0-be66-4a80b916ac6e
OS 类型: hvm
状态: running
CPU: 2
CPU 时间: 51.3s
最大内存: 2097152 KiB
使用的内存: 2097152 KiB
持久: 是
自动启动: 禁用
管理的保存: 否
安全性模式: selinux
安全性 DOI: 0
安全性标签: system_u:system_r:svirt_tcg_t:s0:c495,c627 (enforcing)
virsh # shutdown centos7_kvm_201
域 centos7_kvm_201 被关闭
修改内存或cpu
virsh edit centos7_kvm_201
<domain type='qemu'>
<name>centos7_kvm_201</name>
<uuid>b430da70-755f-43a0-be66-4a80b916ac6e</uuid>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>