当前位置: 首页> 文旅> 酒店 > 我厂有大量手袋订单外发_网上有哪些购物网站_长沙网络营销咨询费用_搜狗搜索引擎推广

我厂有大量手袋订单外发_网上有哪些购物网站_长沙网络营销咨询费用_搜狗搜索引擎推广

时间:2025/7/11 17:29:21来源:https://blog.csdn.net/if_Echo_else/article/details/143229398 浏览次数:0次
我厂有大量手袋订单外发_网上有哪些购物网站_长沙网络营销咨询费用_搜狗搜索引擎推广

Ubuntu20.04.6系统下安装kvm并创建虚拟机

KVM虚拟化架构

KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术。在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式)。

KVM 与QEMU

KVM仅仅是 Linux 内核的一个模块。管理和创建完整的 KVM 虚拟机,需要更多的辅助工具。

在 Linux 系统中,可以使用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装 KVM软件包,系统会在启动时自动加载模块。加载了模块后,才能进一步通过其它工具创建虚拟机。

但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块进行操作,因而必须有一个用户空间的工具。关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU

QEMU 是一个强大的虚拟化软件,它可以虚拟不同的CPU构架。比如说在x86的CPU上虚拟一个Power的CPU,并利用它编译出可运行在Power上的程序。

KVM 使用了 QEMU 的基于x86的部分,并稍加改造,形成可控制KVM内核模块的用户空间工具QEMU-KVM

所以Linux发行版中分为kernel部分的KVM内核模块和QEMU-KVM工具。这就是 KVM 和 QEMU 的关系。

KVM虚拟机管理工具

虽然QEMU-KVM工具可以创建和管理KVM虚拟机,但是由于QEMU 工具效率不高,不易于使用,RedHat 为 KVM 开发了更多的辅助工具,比如 libvirtlibguestfs 等。

Libvirt 是一套提供了多种语言接口的 API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。

使用 libvirt,只需要通过libvirt提供的函数连接到KVM或Xen宿主机,便可以用同样的命令控制不同的虚拟机了。

Libvirt 不仅提供了 API,还自带一套基于文本的管理虚拟机的命令virsh,可以通过使用 virsh 命令来使用 libvirt 的全部功能。

如果用户希望通过图形用户界面管理KVM,这就是virt-manager工具使用的功能。他是一套用python编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。Virt-manager就是利用 libvirt 的 API 实现的。

宿主机与虚拟机

宿主机是虚拟机的物理基础,虚拟机存在于宿主机中,与宿主机共享使用硬件。宿主机的运行是虚拟机运行的前提与基础。也称宿主机为主机(host)。

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。也称虚拟机为客户机(guest)。

1.安装环境可行性检测

① 验证CPU是否支持硬件虚拟化:

$ egrep '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 ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip pku ospke gfni vaes vpclmulqdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip pku ospke gfni vaes vpclmulqdq movdiri movdir64b md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities# 或者
$ egrep -c '(vmx|svm)' /proc/cpuinfo
8

如果看到有输出结果,即证明cpu支持虚拟化。vmx属于inter处理器,svm属于amd处理器。

② 检查 VT 是否在 BIOS 中启用

# apt install cpu-checker //检查 VT 是否在 BIOS 中启用kvm-ok //如果处理器虚拟化能力没有在 BIOS 中被禁用,命令将会打印出,否则,这个命令将会打印一个失败信息。INFO: /dev/kvm existsKVM acceleration can be used

2.安装KVM内核模块以及管理工具

安装 KVM 和相关工具

apt update
apt upgrade
apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager -y

启动并启用 Libvirt 服务

sudo systemctl start libvirtd
sudo systemctl enable libvirtd

验证 KVM 安装

virsh --version
systemctl list-unit-files |grep libvirtd.service //打印启动虚拟化和设置开机自启情况

加载kvm内核

$ modprobe kvm
$ modprobe kvm-intel$ lsmod | grep kvm
kvm_intel             372736  0
kvm                  1032192  1 kvm_intel

3.网络环境配置

方式一、NAT网卡

当安装好kvm,会自动新建一个虚拟网卡,这个虚拟网卡就是NAT模式的网卡

$ ip a show virbr0 
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:aa:f7:0c brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever

如果希望主机的网卡是NAT模式,直接指定这个网卡就可以了

方式二、网卡桥接模式

① 配置网卡桥接模式

# apt install bridge-utils

② 使用命令ifconfig查看自己的ip等

③新建enp0s3网卡的桥接网卡

# vim /etc/netplan/01-network-manager-all.yaml //找到打开文件
# Let NetworkManager manage all devices on this system
network:ethernets:enp3s0:dhcp4: falseenp1s0f0:dhcp4: trueenp1s0f1:dhcp4: trueenp1s0f0:dhcp4: truewlp4s0:dhcp4: truebridges:br0:addresses: [10.1.22.122/24]gateway4: 10.1.22.254nameservers:addresses: [8.8.8.8]interfaces: [enp3s0]version: 2#renderer: NetworkManager

④ 生效

netplan apply
# systemctl restart network-manager.service
# systemctl restart network	

⑤ 查看网络

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.1.22.122  netmask 255.255.255.0  broadcast 10.1.22.255inet6 240c:caa1:1:1122::23  prefixlen 128  scopeid 0x0<global>inet6 240c:caa1:1:1122:da5e:d3ff:fe51:84ab  prefixlen 64  scopeid 0x0<global>inet6 fe80::da5e:d3ff:fe51:84ab  prefixlen 64  scopeid 0x20<link>ether d8:5e:d3:51:84:ab  txqueuelen 1000  (Ethernet)RX packets 1133314  bytes 315295153 (315.2 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 1796872  bytes 144286985 (144.2 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0enp1s0f0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet6 fe80::6a91:d0ff:fe66:8d6e  prefixlen 64  scopeid 0x20<link>ether 68:91:d0:66:8d:6e  txqueuelen 1000  (Ethernet)RX packets 71801  bytes 12665215 (12.6 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 6026  bytes 985946 (985.9 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0enp1s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500ether 68:91:d0:66:8d:6f  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500ether d8:5e:d3:51:84:ab  txqueuelen 1000  (Ethernet)RX packets 1554328  bytes 847867559 (847.8 MB)RX errors 23  dropped 0  overruns 0  frame 23TX packets 1867354  bytes 150031561 (150.0 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 23device memory 0x51400000-514fffff

4.安装虚拟机

新建磁盘文件

qemu-img create -f qcow2 ubuntu-image.qcow2 20G

新建一个20G的磁盘,格式为qcow2

上传镜像

-rw-r--r--  1 libvirt-qemu kvm  1487339520 10月 23 15:59 ubuntu-20.04.6-live-server-amd64.iso

在这里插入图片描述

新建虚拟机

virt-install --name=ubuntukvm --ram=10240 --vcpus=8  --disk path=/home/rpki/vm/ubuntu-image.qcow2 --cdrom /home/rpki/vm//ubuntu-20.04.6-live-server-amd64.iso  --vnc  --vnclisten=0.0.0.0 --network bridge=br0,model=virtio

此时,可通过vnc viewer连接此安装进程开启的vnc连接端口(默认是5900端口)

查看端口

$ netstat -ntlp | grep qemu
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      1875/qemu-system-x8

参数说明

  • –name 指定虚拟机名称
  • –memory 分配内存大小,单位M。
  • –vcpus 分配CPU核心数,最大与实体机CPU核心数相同
  • –disk 指定虚拟机镜像,size 指定分配大小单位为G。
  • –network 网络类型,此处用的是默认,一般用的都是bridge桥接,这个br0就是在之前宿主机上创建好的一个桥接设备。
  • –accelerate 加速参数,在linux系统安装开始就要注意添加提高性能的一些参数,后面就不需要做一些调整了。
  • –cdrom 指定安装镜像iso
  • –vnc 启用VNC远程管理,一般安装系统都要启用。
  • –vncport 指定VNC 监控端口,默认端口为5900,端口不能重复。一般不设置此参数。
  • –vnclisten 指定VNC 绑定IP,默认绑定127.0.0.1,这里改为 0.0.0.0。
  • –noautoconsole 使用本选项指定不自动试图连接到客户机控制台。默认行为是调用一个VNC客户端显示图形控制台,或者运行 “virsh” "console"命令显示文本控制台。

5.连接虚拟机

通过VNC Viewer连接宿主机的5900端口

img

img

点击连接,就可以连接到虚拟机,看到安装页面

img

注意

在安装完成系统后,会提示重启,但是,但是,但是,虚拟机并不会重启,而是关机

$ virsh listId   Name   State
--------------------

可以看到,虚拟机已经看不到了

但是可以通过查看所有虚拟机来查看

$ virsh list --allId   Name       State
----------------------------    ubuntukvm  shut off

可以看到,是关机的

这个时候,只要开机就好了

$ virsh start mylinux1 
Domain 'ubuntukvm' started

6.KVM虚拟化常用管理命令

1、查看KVM虚拟机配置文件及运行状态

(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/

autostart目录是配置kvm虚拟机开机自启动目录

(2) virsh命令帮助
$ virsh -help

或直接virsh命令(进入交互模式)

然后再执行子命令。

如下所示。

$ virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
(3) 查看kvm虚拟机状态

显示虚拟机列表:

virsh # list --all

2、KVM虚拟机开机

启动虚拟机:

virsh # start [name]

3、KVM虚拟机关机或断电

(1) 关机

在安装KVM linux虚拟机必须配置此服务。

#关闭虚拟机:
$ virsh shutdown [name]
(2) 强制关闭电源
$ virsh destroy wintest01
(3)重启虚拟机

重启虚拟机:

$ virsh reboot [name]
(4)查看kvm虚拟机配置文件
$ virsh dumpxml [name]

4、通过配置文件启动虚拟机

$ virsh create /etc/libvirt/qemu/wintest01.xml

5、配置开机自启动虚拟机

$ virsh autostart oeltest01

autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。

6、导出KVM虚拟机配置文件

$ virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml

KVM虚拟机配置文件可以通过这种方式进行备份。

7、添加与删除KVM虚拟机

(1) 删除kvm虚拟机
# 先关机
$ virsh shutdown wintest01
# 再删除
$ virsh undefine wintest01

说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。

(2) 重新定义虚拟机配置文件

通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。

$ mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
$ virsh define /etc/libvirt/qemu/wintest01.xml

8、编辑KVM虚拟机配置文件

# 先关机
$ virsh shutdown wintest01
# 在修改
$ virsh edit wintest01# 启动检查是否生效
$ virsh start wintest01

virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
可以但不建议直接通过vi编辑。

9、其它virsh命令

(1) 挂起服务器
$ virsh suspend oeltest01
(2) 恢复服务器
$ virsh resume oeltest01
关键字:我厂有大量手袋订单外发_网上有哪些购物网站_长沙网络营销咨询费用_搜狗搜索引擎推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: