照抄:虚拟化——KVM(安装Centos7测试)_centos7安装虚拟化组件-CSDN博客
太乱了太乱了,网上就没找到一个可以部署成功的案例,所有的坑都是自己走的
演示案例:CentOS8安装KVM,部署centos7
演示环境:centos8金属机mars-server101,安装centos7虚拟机localhost。
1.前置条件
支持虚拟化技术
cat /proc/cpuinfo | grep vmx
#有输出就OK
#关闭防火墙
systemctl stop firewalld.service
#关闭安全访问控制
```
cat /etc/selinux/config
SELINUX=disabled
```
2.centos8安装KVM
#安装
yum install qemu-kvm libvirt virt-install
#创建目录 镜像和存储
mkdir -p /var/kvm/iso
mkdir -p /var/kvm/vms
#赋权
chown -R qemu:qemu /var/kvm
#启动
systemctl enable --now libvirtd
#创建虚拟网络
virsh net-start default
virsh net-autostart default
virsh net-list --all
#查看网络
```
[root@mars-server101 ~]# virsh net-list --all
名称 状态 自动开始 持久
-----------------------------------
default 活动 是 是
[root@mars-server101 ~]# ip a
7: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:8a:1a:c3 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
8: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:8a:1a:c3 brd ff:ff:ff:ff:ff:ff
```
3.kvm安装Centos7
#创建代码
virt-install --name=centos7 --memory=16384,maxmemory=16384 --vcpus=8,maxvcpus=8 --os-type=linux --os-variant=rhel7 --location=/var/kvm/iso/CentOS-7-x86_64-Minimal-2207-02.iso --disk path=/var/kvm/vms/centos001.qcow2,size=100 --connect qemu:///system --bridge=virbr0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
#解释
●--name:指定虚拟机的名称。
●--memory:指定分配给虚拟机的内存资源大小。
● maxmemory:指定可调节的最大内存资源大小,因为 KVM 支持热调整虚 拟机的资源。
●--vcpus:指定分配给虚拟机的 CPU 核心数量。
●maxvcpus:指定可调节的最大 CPU 核心数量。
●--os-type:指定虚拟机安装的操作系统类型。
● --os-variant:指定系统的发行版本。
● --location:指定 ISO 镜像文件所在的路径,支持使用网络资源路径,也就 是说可以使用 URL。
● --disk path:指定虚拟硬盘所存放的路径及名称,size 则是指定该硬盘的可 用大小,单位是 G。
● --bridge:指定使用哪一个桥接网卡,也就是说使用桥接的网络模式。
●--graphics:指定是否开启图形。
● --console:定义终端的属性,target_type 则是定义终端的类型。
● --extra-args:定义终端额外的参数。
执行命令后的步骤图
1.如图示 ! 的都需要编辑,和vmware创建差不多的,就省略了没什么困难的。
安装完成后,回车会直接进入Centos7虚拟机
4.虚拟机Centos7配置网络
关闭防火墙systemctl stop firewalld
网卡只需要修改ONBOOT=yes
重启生效
systemctl restart network
查看IP地址
5.验收状态
#centos7虚拟机网络功能,宿主机和网络
[root@localhost ~]# ping 192.168.30.101
PING 192.168.30.101 (192.168.30.101) 56(84) bytes of data.
64 bytes from 192.168.30.101: icmp_seq=1 ttl=64 time=0.224 ms
64 bytes from 192.168.30.101: icmp_seq=2 ttl=64 time=0.175 ms
--- 192.168.30.101 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.175/0.199/0.224/0.028 ms
[root@localhost ~]# curl www.google.com
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="zh-HK"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop=***
#宿主机centos8检查
[root@mars-server101 ~]# virsh domiflist centos7
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet1 bridge virbr0 virtio 52:54:00:78:d0:62
[root@mars-server101 ~]# virsh list --all
Id 名称 状态
---------------------------
2 centos7 running
3 centos7-2 running
6.常用命令
virsh shutdown test
//关闭虚拟机
virsh start test
//开启虚拟机
virsh destroy test
//类似 stop,这个是强制停止
virsh undefine test
//彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all 就看不到
virsh autostart test
//宿主机开机该虚拟机也开机
virsh autostart --disable test
//解除开机启动
virsh suspend test
//挂起
virsh resume test
//恢复virsh list -all #查看虚拟机列表
virsh snapshot-create test #创建快照
qemu-img info /kvm_data/test.img #反馈快照信息
virsh snapshot-current test #查看当前快照版本
virsh snapshot-revert test 1691334489 #恢复指定快照
virsh snapshot-delete test 1691334489 #删除指定快照
qemu-img info /kvm_data/test.img #查看虚拟机磁盘格式
qemu-img create -f raw /kvm_data/test_1.img 2G #创建2GB的RAW格式磁盘
qemu-img convert -O qcow2 /kvm_data/test_1.img #RAW格式的磁盘转换为qcow2格式
virsh edit test02 #virsh edit 命令用于编辑虚拟机定义文件
virsh dominfo test #用于查看有关虚拟机的基本信息
virsh setmem test 800m #动态修改内存
virsh setvcpus test 2 #动态修改cpu 只能增加不能减少virsh domiflist test #查看网卡列表
virsh attach-interface test --type bridge --source virbr0 #增加一块新的网卡
virsh console test #进入虚拟机
virsh domblklist test #查看虚拟机磁盘所在目录