拾光

拾光

首页
分类
网络数通Linux资源分享记录
动态
关于
登录 →
拾光

拾光

首页 分类
网络数通Linux资源分享记录
动态 关于
登录
  1. 首页
  2. Linux
  3. 云计算
  4. debian12安装KVM介绍

debian12安装KVM介绍

0
  • 云计算
  • 发布于 2025-04-27
  • 37 次阅读
后山看日出
后山看日出

一、什么是KVM

KVM红帽官方介绍

红帽官方介绍的真的简单全面,请点击上方链接查看

二、安装KVM

debian安装wiki

# 第一步、换源 参考清华源官网
https://mirrors.tuna.tsinghua.edu.cn/help/debian/

# 第二步、检查虚拟化开启
LC_ALL=C lscpu | grep Virtualization
# 检查输出结果,例如:
Virtualization:                  VT-x
Virtualization:                  AMD-Vapt update

# 第三步、安装KVM相关组件
apt update
apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon -y

# 第四步、验证 KVM 安装
# 安装完成后,可通过以下命令查看 KVM 模块是否已加载:
lsmod | grep -i kvm
# 检查输出结果,例如:
kvm_intel             380928  0
kvm                  1146880  1 kvm_intel
irqbypass              16384  1 kvm


# 启动并启用 libvirtd 服务
systemctl enable libvirtd --now
# 查看状态
systemctl status libvirtd


# 第五步、安装 Cockpit 可以把Cockpit的组件全装上,组件功能在web页面里显示
# 注意 Cockpit 是web管理组件。 我这里因为是服务器没有桌面所以没安装virt-manager 
# 如果你需要用virt-manager  安装即可
apt install cockpit cockpit-machines cockpit-podman
systemctl enable cockpit.socket --now
systemctl status cockpit.socket

# 为特定用户设置权限,可以先创建用户和组。例如,创建一个名为 cockpituser 的用户,并将其加入到 sudo 组
sudo adduser cockpituser
sudo usermod -aG sudo cockpituser
或者
/usr/sbin/usermod -a -G sudo cockpituser

# 添加
sudo vim /etc/sudoers
root    ALL=(ALL:ALL) ALL
cockpituser      ALL=(All:AAL) ALL
# 访问网页
ip:9090



# 桥接网络快速(不一定生效,详细的见下边的)
vim /etc/network/interfaces
注释 iface ens333 inet dhcp

# 网页添加网桥 重启服务,不行重启机器

opensuse安装wiki

直接看文档就好

三、如何使用 KVM 管理虚拟机

3.1、libvirt 和 virsh

libvirt 项目提供了用于管理虚拟化平台的 API。libvirt 中的 virsh 是一种命令行实用程序,用于创建、启动、列出和停止虚拟机,以及进入虚拟化 shell。

3.2、虚拟机管理器

虚拟机管理器(称为 VMM 或 virt-manager)为虚拟机提供了一个桌面界面,适用于主流的 Linux 发行版。

3.3、Web 控制台

虚拟机管理员可以选择使用基于 Web 的界面来管理虚拟机。例如,借助 Cockpit 提供的解决方案,用户可以从 Web 界面管理虚拟机。红帽企业 Linux 提供了一个针对虚拟化的 Web 控制台插件。

3.4、KubeVirt

KubeVirt 是用于管理 Kubernetes 环境中大量虚拟机的一种解决方案,可将虚拟机与容器化应用一同管理。Kubevirt 为红帽 OpenShift® 虚拟化奠定了基础。

四、安装管理虚拟机GuestOS

4.1、安装虚拟机

4.1.1、图形界面安装
4.1.2、文本方式安装
# 例子1
virt-install --connect qemu:///system -n vm6 -r 512 --disk
path=/virhost/vmware/vm6.img,size=7 --os-type=linux --os-variant=rhel6 --
vcpus=1 --network bridge=br0 --location=http://127.0.0.1/rhel6u4 -x
console=ttyS0 --nographics
# 例子2
virt-install --connect qemu:///system -n vm9 -r 2048 --disk
path=/var/lib/libvirt/images/vm9.img,size=7 --os-type=linux --osvariant=centos7.0 --vcpus=1 --location=ftp://192.168.100.230/centos7u3 -x
console=ttyS0 --nographics
4.1.3、命令行模式安装
ls /etc/libvirt/qemu
ls /var/lib/libvirt/images/


# 1.需要有磁盘镜像⽂件:
cp vm1.img vm2.img
# 2.需要有配置⽂件
cp vm1.xml vm2.xml
# 3.配置⽂件需要修改必要的内容
# 4.创建虚拟机:
virsh define /etc/libvirt/qemu/vm2.xml


# 例子 配置⽂件需要修改必要的内容
vim /etc/libvirt/qemu/vm3.xml

<domain type='KVM'>
<name>vm3</name>
<uuid>a2f62549-c6b7-4b8f-a8e2-c14edda35a78</uuid>
<memory unit='KiB'>2099200</memory>
<currentMemory unit='KiB'>2099200</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
 <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
 <boot dev='hd'/>
</os>
<features>
 <acpi/>
 <apic/>
</features>
<cpu mode='custom' match='exact' check='partial'>
 <model fallback='allow'>Haswell-noTSX</model>
</cpu>
<clock offset='utc'>
 <timer name='rtc' tickpolicy='catchup'/>
 <timer name='pit' tickpolicy='delay'/>
 <timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
 <suspend-to-mem enabled='no'/>
 <suspend-to-disk enabled='no'/>
</pm>
<devices>
 <emulator>/usr/libexec/qemu-KVM</emulator>
 <disk type='file' device='disk'>
 <driver name='qemu' type='qcow2'/>
 <source file='/var/lib/libvirt/images/vm3.im'/>
 <target dev='vda' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
function='0x0'/>
 </disk>
 <disk type='file' device='disk'>
 <driver name='qemu' type='qcow2'/>
 <source file='/var/lib/libvirt/images/vm3-1.img'/>
 <target dev='vda' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x16'
function='0x0'/>
 </disk>
 <controller type='usb' index='0' model='ich9-ehci1'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x7'/>
 </controller>
 <controller type='usb' index='0' model='ich9-uhci1'>
 <master startport='0'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0' multifunction='on'/>
 </controller>
 <controller type='usb' index='0' model='ich9-uhci2'>
 <master startport='2'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x1'/>
 </controller>
 <controller type='usb' index='0' model='ich9-uhci3'>
 <master startport='4'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x2'/>
 </controller>
 <controller type='pci' index='0' model='pci-root'/>
 <controller type='virtio-serial' index='0'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0'/>
 </controller>
 <interface type='network'>
 <mac address='52:54:00:f2:28:6f'/>
 <source network='default'/>
 <model type='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
 </interface>
 <serial type='pty'>
 <target type='isa-serial' port='0'>
 <model name='isa-serial'/>
 </target>
 </serial>
 <console type='pty'>
 <target type='serial' port='0'/>
 </console>
 <channel type='unix'>
 <target type='virtio' name='org.qemu.guest_agent.0'/>
 <address type='virtio-serial' controller='0' bus='0' port='1'/>
 </channel>
 <input type='mouse' bus='ps2'/>
 <input type='keyboard' bus='ps2'/>
 <memballoon model='virtio'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
function='0x0'/>
 </memballoon>
</devices>
</domain>
4.1.4、Web方式安装

4.2、管理虚拟机

# 开启nat网络
virsh net-start default
# 开机自启
virsh net-autostart default

 virsh net-list --all


# 开启桥接网络
# 1、系统创建桥街网卡即可, 2、网页里增加网桥网络
vim /etc/network/interfaces.d/br0 
auto br0 
iface br0 inet static 
    address 192.168.2.172
    broadcast 192.168.2.255 
    netmask 255.255.255.0 
    gateway 192.168.2.1 
    bridge_ports enp5s0 
    bridge_stp off 
    bridge_waitport 0 
    bridge_fd 0
    dns-nameserver 223.5.5.5 223.6.6.6







查看虚拟机:
[root@qfedu.com ~]# virsh list
 Id Name State
 ----------------------------------------------------
 2 vm1 running

[root@qfedu.com ~]# virsh list --all
 Id Name State
 ----------------------------------------------------
 2 vm1 running
查看KVM虚拟机配置⽂件(X):
[root@qfedu.com ~]# virsh dumpxml name
将node4虚拟机的配置⽂件保存⾄node6.xml(X):
[root@qfedu.com ~]# virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml
修改node6的配置⽂件(X):
[root@qfedu.com ~]# virsh edit node6 
如果直接⽤vim编辑器修改配置⽂件的话,需要重启libvirtd服务
启动:
[root@qfedu.com ~]# virsh start vm1
Domain vm1 started
暂停虚拟机:
#virsh suspend vm_name 
恢复虚拟机:
#virsh resume vm_name 
关闭:
 ⽅法1:
 [root@qfedu.com ~]# virsh shutdown vm1
 Domain vm1 is being shutdown
 ⽅法2(X):
 [root@qfedu.com ~]# virsh destroy vm1
 Domain vm1 destroyed
重启:
 [root@qfedu.com ~]# virsh reboot vm1
 Domain vm1 is being reboote
重置:
 [root@qfedu.com ~]# virsh reset vm1
 Domain vm1 was reset
删除虚拟机:
2、虚拟机克隆
1.图形界⾯
Applications (左上⻆)-----> System Tools ------>Virtual Machine Manager
 关闭要克隆的虚拟机,右键点击虚拟机选择Clone
2.字符终端,命令克隆
 [root@qfedu.com ~]# virsh undefine vm2
 Domain vm2 has been undefined
注意:虚拟机在开启的情况下undefine是⽆法删除的,但是如果再destroy会直接被删除掉
虚拟机开机⾃动启动:
 [root@qfedu.com ~]# virsh autostart vm1
 
域 vm1标记为⾃动开始
 [root@qfedu.com ~]# ls /etc/libvirt/qemu/autostart/ //此⽬录默认不存在,在
有开机启动的虚拟机时⾃动创建
 vm1.xml
 [root@qfedu.com ~]# virsh autostart --disable vm1
 域 vm1取消标记为⾃动开始
查看所有开机⾃启的guest os:
 [root@qfedu.com ~]# ls /etc/libvirt/qemu/autostart/
 [root@qfedu.com ~]# virsh list --all --autostart

相关文章

Linux-硬盘设备的命名 2025-04-29 15:27

硬盘在Linux系统中的变现形式就是一个设备文件,设备文件通常存在于/dev 目录下 c开头的为字符设备,b开头的为块设备。查询命令 ll -s 列出所有块设备及设备的其他信息。 lsblk sd开头-大部分硬盘接口(SATA/SAS/USB)都是使用SCSI模块驱动,所以sd其实是SCSI Dis

debian12安装KVM介绍 2025-04-24 12:27

一、什么是KVM KVM红帽官方介绍 红帽官方介绍的真的简单全面,请点击上方链接查看 二、安装KVM debian安装wiki # 第一步、换源 参考清华源官网 https://mirrors.tuna.tsinghua.edu.cn/help/debian/ # 第二步、检查虚拟化开

目录
Copyright © 2024 拾光笔记 All Rights Reserved. Powered by 10light.

ddd