摘自:https://blog.51cto.com/mfc001/6408159
KVM安装部署
KVM做单机管理虚拟机,Openstack集群管理虚拟机
docker单机管理容器,k8s集群管理容器
宿主机环境准备
在vmware安装linux系统,并在设置中开启虚拟化
CPU开启虚拟化
一:开启虚拟化引擎两项内容
二:提高内存和处理器至8G
验证开启虚拟化
grep -Em 1 "vmx|svm" /proc/cpuinfo
Inter CPU对应vmx
AMD CPU对应svm
验证是否开启虚拟化支持
[root@ubunt ~]# grep -Em 1 "vmx|svm" /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat md_clear flush_l1d arch_capabilities
ubuntu安装KVM相关包
[root@ubunt ~]#apt update
[root@ubunt ~]#apt -y install qemu-kvm virt-manager libvirt-daemon-system
ubuntu自动起来libvirtd服务,启动服务后多virbr0桥接网卡
安装bridge-utils
[root@ubunt ~]#yum -y install bridge-utils
[root@ubunt ~]#brctl show
访问10.0.0.100:9090
输入linux的root和密码
#如果没有开启CPU虚拟化功能会提示以下信息
[root@ubunt ~]#kvm-ok
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
#添加CPU的虚拟化支持再执行
[root@ubunt ~]#kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
红帽安装KVM相关包
[root@rocky8 ~]#yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer
[root@rocky8 ~]#systemctl start --now libvirtd
CentOS 8 还提供基于Web的虚拟机管理方式
[root@rocky8 ~]#yum -y install cockpit cockpit-machines
[root@rocky8 ~]#systemctl enable --now cockpit.socket
[root@rocky8 ~]#systemctl start --now libvirtd #启动服务多virbr0网卡
安装bridge-utils
[root@rocky8 ~]#yum -y install bridge-utils
[root@rocky8 ~]#brctl show
访问10.0.0.8:9090
输入linux的root和密码
启动libvirtd服务后生成virbr0桥接网卡
当每安装一个虚拟机,虚拟机的eth0网卡会自动桥接在virbr0上,virbr0的dhcp服务会自动给虚拟机分配IP,获取的地址是192.168.122.1地址段,最后数字随机生成的
虚拟机网段地址是由/etc/libvirt/qemu/networks/default.xml决定的,可由此修改网段
virt-manager图形化工具安装虚拟机(ubuntu和rocky)
[root@ubunt ~]# virt-manager 打开图形管理页面 #字符集是中文产生乱码,把字符集改成英文
修改字符集
[root@ubunt ~]# localectl set-locale LANG=en_US.utf8
[root@ubunt ~]# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
[root@ubunt ~]# virt-manager
[root@ubunt ~]# virt-manager
[root@ubunt ~]# Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
(virt-manager:11546): Gtk-WARNING **: 03:31:52.289: cannot open display: localhost:11.0
出现以上问题,需要更改变量
[root@rocky8 ~]#export DISPLAY=10.0.0.1:0.0
[root@ubunt ~]# virt-manager
准备安装系统的ISO相关文件
将需要安装的系统的ISO文件上传到宿主机
[root@ubunt ~]# mkdir -pv /data/isos/
[root@ubunt isos]# ls
CentOS-7-x86_64-Minimal-2207-02.iso
cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso
Rocky-8.6-x86_64-minimal.iso
ubuntu创建虚拟机
[root@ubunt ~]# virt-manager打开图形页面
file--New Virtual Machine
点击Local install media(ISO image or CDROM)--forward
取消自动监测(把√去掉)
点击Browse Local浏览,/var/lib/libvirt/images这个目录是放磁盘镜像的默认路径
再点击Browse Local选择/data/isos目录下的镜像
也可add pool创建镜像池,它会自动找到镜像,点击左下角小电脑
name:isos-pool对应/data/isos
选择镜像,然后点击choose volume
选择centos7,forward
根据需要配置内存cpu和硬盘大小
硬盘大小(写20GiB,会立即分配20GiB,不太好,如果想用多少就分配多少,可使用命令实现。可先创建10GiB,创建之后,会在宿主机/var/lib/libvirt/images/下立即生成10GiB的文件)
其生成的文件再宿主机的/目录下,/目录可设置逻辑卷,不够可以扩
点击Begin Installation 开始安装
选择install centos7
选择语言
调整时区DATE & TIME 上海时区
点击KDUMP关闭enable kdump(开启会额外消耗资源),Done更改
点击NETWORK & HOST NAME 开启网络并修改主机名
在虚拟机的宿主机ping 192.168.122.161可以ping通,但远程通不了,因为是桥接的
修改主机名后Apply
Done保存
开始安装 Begin Installation 并设置root密码 Done更改
创建好虚拟机,查看镜像默认路径,会发现多了个10G的硬盘文件
[root@ubunt ~]# ll /var/lib/libvirt/images/ -h
total 1.3G
drwx--x--x 2 root root 4.0K Oct 13 06:51 ./
drwxr-xr-x 7 root root 4.0K Oct 13 03:03 ../
-rw------- 1 libvirt-qemu kvm 11G Oct 13 07:10 centos7.9.qcow2
以上是虚拟机的磁盘文件,虚拟机的其他配置(cpu 、内存等)在这个文件
[root@ubunt ~]# ls /etc/libvirt/qemu/centos7.9.xml
rocky创建虚拟机(把上面ubuntu安装镜像拷贝到rocky上)
在rocky上创建目录
[root@rocky8 ~]#mkdir -pv /data
把ubuntu机器上的安装镜像拷贝到rocky上
[root@ubunt ~]# scp -r /data/isos/ 10.0.0.8:/data/
[root@rocky8 isos]#ls
CentOS-7-x86_64-Minimal-2207-02.iso
cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso
Rocky-8.6-x86_64-minimal.iso
[root@ubunt ~]# virt-manager打开图形页面
创建方法与ubuntu一样
使用命令行工具virt-install创建虚拟机(需要提前准备好虚拟磁盘,磁盘按需增长)
利用 qemu-img命令创建虚拟磁盘
注意: qemu-img create 一定要确认对应路径下没有此文件,如果存在将覆盖原文件
虚拟磁盘存放位置/var/lib/libvirt/images/
第一步:
利用 osinfo-query命令查看支持的OS版本
ubuntu没有这个命令,需要安装
[root@ubunt ~]# apt install libosinfo-bin
[root@ubunt ~]# osinfo-query os| grep -i centos|rhel (支持的版本)
第二步:
创建虚拟磁盘文件(文件很小,按需增长,如指定20GiB,并不立即占用20GiB,按需增长)
[root@rocky8 isos]#qemu-img create -f qcow2 /var/lib/libvirt/images/rocky8.qcow2 20G
Formatting '/var/lib/libvirt/images/rocky8.qcow2', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16 磁盘按需分配
第三步:
创建虚拟机使用光盘启动并手动安装
[root@rocky8 isos]#virt-install --virt-type kvm --name rocky8 --ram 1024 --vcpus 2 --cdrom=/data/isos/Rocky-8.6-x86_64-minimal.iso --disk path=/var/lib/libvirt/images/rocky8.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-variant=rhel8.2
[root@rocky8 isos]#virt-manager打开图形页面查看安装
选择语言--调整时区,选择上海--software选择最小化安装--关闭enable kdump--连接网络并更改主机名--设置root密码,开始安装
其实也是手动安装,可查看bilibiliPXE实现自动化安装教程
运行虚拟机
[root@ubunt ~]#virt-manager
安装好之后可用命令行查看安装好的虚拟机
[root@ubunt ~]# virsh list --all
Id Name State
---------------------------
5 centos7.9 running
[root@ubunt ~]# virsh list只能看到启动的虚拟机
标签:--,virt,虚拟机,ubunt,root,安装,rocky8
From: https://www.cnblogs.com/LiuYanYGZ/p/17876835.html