前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >统信服务器操作系统V20 1060e【KVM 虚拟化】

统信服务器操作系统V20 1060e【KVM 虚拟化】

作者头像
Kevin song
发布于 2024-04-28 05:01:45
发布于 2024-04-28 05:01:45
93100
代码可运行
举报
运行总次数:0
代码可运行

KVM(Kernel-based Virtual Machine)是一个基于Linux内核的开源虚拟化解决方案,它允许在单个物理服务器上运行多个虚拟机。每个虚拟机都可以运行自己的操作系统和应用程序。KVM利用了Linux内核的虚拟化功能,通过将物理主机的资源(如CPU、内存和网络接口)动态分配给虚拟机,实现了对虚拟机的隔离和资源管理。

操作系统版本信息

查看服务器是否支持虚拟化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -E -o 'vmx|svm' /proc/cpuinfo
vmx
vmx
vmx
vmx

BIOS开启虚拟化功能,查看kvm模块

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lsmod |grep kvm
kvm_intel             372736  5
kvm                   970752  1 kvm_intel
irqbypass              16384  4 kvm

加载kvm模块

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
modprobe kvm
modprobe kvm-intel

内核模块/dev/kvm设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ll -ls  /dev/kvm
0 crw-rw---- 1 root kvm 10, 232 Apr 22 06:35 /dev/kvm

安装kvm软件包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dnf install libvirt qemu-kvm qemu-img  virt-install bridge-utils  libguestfs-tools

启动libvirtd服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl  start libvirtd && systemctl  enable libvirtd

虚拟机列表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh -c qemu:///system list
 Id   Name           State
------------------------------

virsh版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh --version
6.2.0

virt-install工具版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virt-install --version
2.1.0

qemu-kvm程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -ll /usr/bin/qemu-kvm
lrwxrwxrwx 1 root root 21 Mar 14  2023 /usr/bin/qemu-kvm -> /usr/libexec/qemu-kvm

qemu-kvm版本信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-kvm --version
QEMU emulator version 4.1.0 (qemu-4.1.0-76.up2.uel20)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

创建虚拟网桥

网卡ens192

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=static
NAME=ens192
DEVICE=ens192
ONBOOT=yes
BRIDGE=br192

网桥br192

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/sysconfig/network-scripts/ifcfg-br192
TYPE=Bridge
BOOTPROTO=static
NAME=br192
DEVICE=br192
ONBOOT=yes
IPADDR=192.168.100.235
PREFIX=24
GATEWAY=192.168.100.1
DNS1=223.5.5.5

重启网络

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nmcli  connection reload
nmcli  connection up ens192
nmcli  connection up br192

查看网络

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ip add show

查看网桥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brctl  show

添加网卡到网桥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brctl  addif br0 vnet0

创建虚拟磁盘

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-img create -f qcow2 /var/lib/libvirt/images/uosv20-1060a.qcow2 50G

查看虚拟磁盘信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-img info /var/lib/libvirt/images/uosv20-1060a.qcow2

虚拟机开机查看磁盘信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-img info /var/lib/libvirt/images/uosv20-1060a.qcow2  --force-share
qemu-img info /var/lib/libvirt/images/uosv20-1060a.qcow2  -U

virt-install 创建虚拟机

virt-install --name=uosv20-1060a --memory=4096 --vcpus=2 --disk path=/var/lib/libvir/images/uosv20-1060a.qcow2,format=qcow2,bus=virtio --cdrom /mnt/cdrom/uos-server-20-1060a-amd64.iso --network bridge=br192,model=virtio --noautoconsole --accelerate --graphics vnc,listen=0.0.0.0,port=5910

创建虚拟机参数介绍

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
--virt-type kvm      指定虚拟化类型(qemu/kvm) 
--os-type=linux     系统类型 
--os-variant rhel8  系统版本 
--name   虚拟机的名字 
--memory             内存大小 
--vcpus 2            处理器数量
硬盘类型(qcow2,raw),存放位置,以及大小(G--disk /var/lib/libvir/images/uosv20-1060a.qcow2,format=raw,size=6   
--disk path=/var/lib/libvir/images/uosv20-1060a.qcow2,format=qcow2,bus=virtio 
 指定光驱文件
--cdrom /mnt/cdrom/uos-server-20-1060a-amd64.iso
指定网络类型,默认是nat模式
--network bridge=br192,model=virtio 
--graphics vnc,listen=0.0.0.0,port5910  指定终端输出设备vnc端口
--noautoconsole  不自动尝试连接到客户端控制台
--accelerate    内核加速器,选项默认参数
--video   cirrus     指定video类型,默认qxl

VNC控制台登录虚拟机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh  vncdisplay  uosv20-1060a
:10

Windows VNC Viewer 工具连接5910端口安装操作系统

virsh qemu-img qemu-kvm 命令不补全

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dnf  install bash-completion
重启系统生效

virt-manager

virt-manager是一个基于KVM的虚拟机管理工具,它提供了一个图形用户界面(GUI),用户更加直观和方便地管理虚拟机。virt-manager 提供了直观的图形界面,用户可以通过它来创建、配置、启动、停止和监控虚拟机。实现对虚拟机的整个生命周期管理,包括创建、修改、删除虚拟机,以及对虚拟机进行快照和迁移等操作。存储管理允许用户配置虚拟机的存储和网络设置,包括添加虚拟硬盘、配置网络接口和网络源等。远程管理,通过SSH连接到远程服务器上的libvirt守护进程,从而实现远程虚拟机管理。

安装virt-manager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dnf  install virt-manager

启动virt-manager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virt-manager

虚拟机操作

virsh console

当操作系统内核崩溃时会报出内核系统crash出错信息,通常启动的时候一闪而过, 而此时系统还没有起来,不能通过远程工具(比如ssh)进入系统查看,通过配置grub,把日志重定向到Serial Console中,通过Serial console来访问错误信息。

方法1

grubby --update-kernel 命令不会更新`/etc/default/grub`文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grubby --update-kernel=ALL --args="console=tty0 console=ttyS0,115200n8"

重启系统生效 rebbot

方法2

编辑/etc/default/grub文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200n8"

执行grub2-mkconfig 加载生效grub配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grub2-mkconfig -o /boot/grub2/grub.cfg
  • Legacy模式 grub2-mkconfig -o /boot/grub2/grub.cfg
  • UEFI模式 grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg

重启系统生效

console控制台登录虚拟机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh console  uosv20-1060a

acpid 部署

acpid是一个用户空间的服务进程, 用来处理电源相关事件,比如将kernel中的电源事件转发给应用程序,告诉应用程序安全的退出,防止应用程序异常退出导致数据损坏。

安装acpid软件包,并设置开机启动服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dnf  install -y acpid 
systemctl start acpid && systemctl enable acpid

虚拟机克隆

虚拟机克隆是在KVM虚拟化环境中复制一个虚拟机到另一个新虚拟机的过程,通常包括停止源虚拟机、复制其磁盘文件、修改配置文件以区分新旧虚拟机,然后将新虚拟机注册到虚拟化平台并启动。

克隆设备必须暂停或关闭虚拟机

virt-clone 命令克隆生成磁盘文件和xml文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh destroy uosv20-1060a 
virt-clone --auto-clone -o uosv20-1060a  -n  uosv20-1060a_clone
  • -o 被克隆虚拟机
  • -n 克隆后新的虚拟机
  • -f 克隆后新虚拟机的磁盘
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh  list --all
 Id   Name                 State
-------------------------------------
 -    uosv20-1060a         shut off
 -    uosv20-1060a_clone   shut off

虚拟机快照备份恢复

虚拟机快照是虚拟化技术中的一项功能,它允许用户在虚拟机的当前状态创建一个完整的、静态的副本。这个状态包括了操作系统、应用程序、配置以及数据等所有信息。

(1) uosv20-1060a虚拟机创建快照

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-create uosv20-1060a
Domain snapshot 1713750569 created

默认快照的名称为随机指定分配,可使用snapshot-create-as命令指定快照名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh snapshot-create-as 【虚拟机名】 【快照名】
virsh snapshot-create-as  uosv20-1060a uosv20-1060a_202404

(2)查看虚拟机快照的版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-list  uosv20-1060a
Name         Creation Time               State
---------------------------------------------------
 1713750569   2024-04-22 09:49:29 +0800   running

(3)查看当前虚拟机镜像快照的版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-current uosv20-1060a

(4)查看当前虚拟机镜像文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# ll /var/lib/libvirt/qemu/snapshot/uosv20-1060a/
total 12
-rw------- 1 root root 8883 Apr 22 09:50 1713750569.xml

(5)恢复虚拟机快照

确认恢复快照的时间恢复到1713750569

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-list uosv20-1060a
Name         Creation Time               State
---------------------------------------------------
 1713750569   2024-04-22 09:49:29 +0800   running

(6)执行恢复,并确认恢复版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-revert  uosv20-1060a 1713750569

(7)删除虚拟机快照,查看虚拟机快照

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# qemu-img info /var/lib/libvirt/images/uosv20-1060a.qcow2 --force-share
image: /var/lib/libvirt/images/uosv20-1060a.qcow2
file format: qcow2
virtual size: 50 GiB (53687091200 bytes)
disk size: 4.64 GiB
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         1713750569          936 MiB 2024-04-22 09:49:29   03:14:18.744
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false

(8)删除快照

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@uosv20-1060e ~]# virsh snapshot-delete uosv20-1060a 1713750569
Domain snapshot 1713750569 deleted

[root@uosv20-1060e ~]# qemu-img info /var/lib/libvirt/images/uosv20-1060a.qcow2 --force-share
image: /var/lib/libvirt/images/uosv20-1060a.qcow2
file format: qcow2
virtual size: 50 GiB (53687091200 bytes)
disk size: 3.72 GiB
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false

虚拟机管理命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh list --all                   # 查看所有的虚拟机
virsh start uosv20-1060a           # 启动虚拟机
virsh shutdown uosv20-1060a        # 正常关机虚拟机
virsh destroy uosv20-1060a         # 强制关机(相当于拔电源)
virsh reboot uosv20-1060a          # 重启虚拟机
virsh undefine uosv20-1060a        # 删除虚拟机
virsh domrename uosv20-1060a  uosv20-1060a-server
# 虚拟机重命名(注意:必须关机重命名,开机状态下重命名会失败)
virsh suspend uosv20-1060a   # 挂起虚拟机
virsh resume uosv20-1060a    # 从挂起状态恢复
virsh autostart uosv20-1060a # 设置kvm虚拟机开机自启动(.xml文件创建软连接 /etc/libvirt/qemu/autostart/)
virsh autostart --disable uosv20-1060a   
# 取消虚拟机开机自启动(删除创建的软连接)

虚拟机配置文件管理命令

导出虚拟机配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh dumpxml uosv20-1060a  >/data/uosv20-1060a-server.xml

注册虚拟机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh define /data/uosv20-1060a-server.xml

注意:拷贝xml配置文件和磁盘文件来克隆,删除uuid,修改name,网卡mac,硬盘source file,vnc端口号等,避免与被克隆虚拟机冲突。

修改虚拟机的配置文件(虚拟磁盘文件路径)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh edit uosv20-1060a-server

启动虚拟机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virsh start uosv20-1060a-server
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
基于硅光芯片的光学扫描器
日本一个研究组最近在Optics Express报道了他们基于硅光芯片实现光学扫描器(optical scanner)的工作。这里详细介绍下这篇工作。
光学小豆芽
2020/08/13
1.3K0
OFC2022: Intel的硅光版图
今年的OFC会议上,Intel有多个报告,报道了其在硅光领域的核心器件进展以及未来的布局,小豆芽这里简单整理下,供大家参考。
光学小豆芽
2022/03/29
4.7K1
OFC2022: Intel的硅光版图
下一代硅光路线图
几位硅光大佬最近合作撰写了一篇文章,贴在了arXiv上。文章整理总结了当前硅光技术的技术难点与发展趋势,并展望了下一代硅光技术,高屋建瓴,非常值得一读, 原文链接https://arxiv.org/abs/2305.15820。站在大佬们的肩膀上,小豆芽这里整理下相关论点以及自己的一些思考,供大家参考。
光学小豆芽
2023/09/02
2.7K0
下一代硅光路线图
IEDM 2024:台积电的硅光(高性能工艺平台、CPO、光计算) 进展(三)
生成式人工智能(GAI)的普及使得基于光子学的计算成为一种有吸引力的方法,因为它有可能满足对更高能效性能(EEP)的需求。然而,先前用于乘累加(MAC)操作的光学解决方案要么侧重于模拟架构,其受精度和数据转换的限制,要么侧重于可扩展性有限的自由空间光学架构。本文报道了世界上首个用于GAI训练的片上大规模数字光计算系统(DOC)。
光芯
2025/04/08
1050
IEDM 2024:台积电的硅光(高性能工艺平台、CPO、光计算) 进展(三)
Broadcom的CPO进展(续)
前面根据ECTC 2023的会议文章,介绍了Broadcom的CPO技术(Broadcom的CPO进展)。但文中的CPO产品并不是Broadcom最新一代CPO,最近凑巧在Linkin上划水时看到了一张图片,涉及到了博通最新一代51.2T CPO产品的一些技术细节,这里和大家分享一下。
光学小豆芽
2023/11/03
2K0
Broadcom的CPO进展(续)
GlobalFoundry的300mm硅光子工艺平台
这篇笔记主要参考GlobalFoudry(以下简称GF)最近发表的文章"300mm Monolithic Silicon Photonics Foundry Technology"(https://ieeexplore.ieee.org/document/8678809) ,介绍下GF的硅光子工艺平台。
光学小豆芽
2020/08/13
2.3K0
光芯片中的adiabatic型结构
Adiabatic,意思是绝热,这一概念来源于量子力学中的绝热近似(adiabatic approximation)。所谓绝热定理,是指对于一个量子系统,如果所受的微扰变化得非常缓慢,系统仍然处于当前时刻的本征态。这个定理有点像“温水煮青蛙”,把青蛙的“平静”与“躁动”看成两个本征态,水慢慢煮开,而青蛙一直很平静,没有察觉到水温的变化。
光学小豆芽
2020/08/13
4.3K0
光芯片中的分束器
这一篇笔记聊一聊集成光路中的重要基本单元——光分束器。顾名思义,光分束器,就是将光场以一定比例分开至不同的路径中。常用的片上光分束器有三种类型,即Y型分束器、MMI以及定向耦合器。以下分别介绍这三种分束器,并进行比较。
光学小豆芽
2020/08/13
5.2K0
硅光芯片中的偏振相关器件
硅波导的典型尺寸为500nm*220nm,这主要是为了满足单模条件的要求。该尺寸同时支持TE0模和TM0模式,模场分布如下图所示,
光学小豆芽
2020/08/13
4.3K0
IEDM 2024:台积电的硅光(高性能工艺平台、CPO、光计算) 进展(一)
台积电在IEDM 2024会议上有好多论文,其中硅光的也有好几篇,看了之后还是很震撼的。
光芯
2025/04/08
1870
IEDM 2024:台积电的硅光(高性能工艺平台、CPO、光计算) 进展(一)
3dB分束器进展——adiabatic型定向耦合器
这篇笔记主要介绍下最近的一篇硅光器件进展,韩国一课题组基于adiabatic型定向耦合器,实现了超低损耗0.06dB和超高光学带宽100nm的3dB分束器,相关文章发表于Applied Sciences, 文章标题为"Low-Loss and Broadband Silicon Photonic 3-dB Power Splitter with Enhanced Coupling of Shallow- Etched Rib Waveguides"。
光学小豆芽
2020/08/13
2.5K0
多层氮化硅波导
这篇笔记延续上篇笔记关于氮化硅波导体系的讨论,整理下基于多层氮化硅波导体系的典型光器件。
光学小豆芽
2020/08/13
3K0
OFC 2021: GlobalFoundries的硅光工艺进展
去年OFC 2020, GlobalFoundries报道了其45nm工艺节点的硅光平台45CLO。今年OFC, GF又带来了很多新的进展,小豆芽这里简单整理一下。
光学小豆芽
2021/08/26
2.7K0
硅基光波导
从这一篇笔记开始,小豆芽将顺着各个硅光器件的发展历程,捋一捋思路与脉络(以上是COO的建议),一方面夯实自己在硅光方面的基础,加深认识,另一方面也方便大家参考。第一篇就从最最基本的单元——硅波导说起。硅波导的主要功能是连接不同的光器件,有些类似电路中的导线。
光学小豆芽
2020/08/13
8.7K4
光学引线键合技术 (photonic wire bonding)
前一篇笔记 硅光芯片的光源 提到通常将III-V族LD直接倒装焊到SOI芯片上,但是该方法对贴装的精度要求较高,需要花费较多的时间进行对准调节。本篇笔记主要介绍一种新的解决方案,用于解决贴装对准的问题。
光学小豆芽
2020/08/13
6.1K0
Mellanox公司的硅光子技术
前段时间,Mellanox公司宣布关闭1550nm的硅光部门,引起了大家广泛的关注。笔者收集了一些Mellanox硅光子相关的资料与文章,在这里整理总结一下。
光学小豆芽
2020/08/13
2.5K0
版图设计
是对半导体晶片表面的掩蔽物(如二氧化硅)进行开孔,以便进行杂质的定域扩散的一种加工技术。
全栈程序员站长
2022/09/19
1.3K0
版图设计
3D 硅光芯片
这一篇笔记主要分享一篇硅光的文献进展,个人觉得很有意思,High-Density Wafer-Scale 3-D Silicon-Photonic Integrated Circuits。该工作由加州Davis分校研究小组完成,他们实现了基于3-D光芯片的LIDAR系统。关于LIDAR, 感兴趣的读友可以参看这篇笔记 光学相控阵列, 这里不做赘述。
光学小豆芽
2020/08/13
1.7K0
交叉波导(waveguide crossing)
交叉波导(waveguide crossing), 也就是两个不同方向的波导发生交叉,类似一个十字架(crossing),如下图所示。
光学小豆芽
2020/11/10
4K0
交叉波导(waveguide crossing)
硅光芯片与电芯片的封装
上周中国科协发布了2020重大科学问题和工程技术难题,硅光技术榜上有名,“硅光技术能否促成光电子和微电子的融合?”。这篇笔记聊一聊硅光芯片与电芯片的封装方案。
光学小豆芽
2020/08/27
4.5K0
硅光芯片与电芯片的封装
相关推荐
基于硅光芯片的光学扫描器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档