马哥Linux运维 | KVM虚拟化环境部署与性能优化:从入门到生产实践的完整指南

【超详细~KVM】KVM概述、安装及简单操作-------从小白到大神之路之学习运维第91天 围绕KVM虚拟化技术展开,主要内容包括:KVM的基本概念、工作原理及其在云计算、Web托管等场景的应用;CentOS7环境下KVM的安装部署流程;通过virt-manager工具创建虚拟机(包括存储池配置、镜像上传等步骤)的详细操作;以及虚拟机管理(启动/关闭、克隆/快照等)的常用命令。培训通过理论讲解结合实践演示,帮助学员掌握KVM虚拟化技术的核心知识和基本运维技能。 阅读详情

本文来源公众号“马哥Linux运维”,仅用于学术分享,侵权删,干货满满。

原文链接:https://mp.weixin.qq.com/s/FZ6ixa0xDYelLa7QlH5ElA

引言:为什么KVM是你的最佳虚拟化选择

在云计算时代,虚拟化技术已经成为企业IT基础设施的核心组件。作为一名在生产环境管理过上千台虚拟机的运维工程师,我深知选择正确的虚拟化平台对业务的重要性。今天,我将分享我在KVM虚拟化领域的实战经验,帮助你构建一个高性能、高可用的虚拟化环境。

你是否遇到过这些问题:VMware授权费用让公司预算吃紧?Hyper-V与Linux生态集成困难?Docker容器无法满足完整操作系统隔离需求?如果答案是肯定的,那么KVM(Kernel-based Virtual Machine)将是你的理想选择。

KVM不仅是Linux内核的一部分,享受着开源社区的持续支持,更重要的是,它在性能、稳定性和成本效益方面都达到了企业级标准。Google Cloud、阿里云、腾讯云等主流云服务商都在使用KVM作为底层虚拟化技术,这足以证明其可靠性。

第一章:KVM核心架构深度解析

1.1 KVM技术栈全景图

在深入部署之前,理解KVM的技术架构至关重要。KVM采用了独特的设计理念:将Linux内核转换为虚拟机监控器(Hypervisor)。这种设计带来了显著优势:

KVM的核心组件包括三个关键部分。首先是KVM内核模块(kvm.ko),它负责虚拟化核心功能,包括CPU虚拟化和内存管理。其次是QEMU用户空间程序,提供设备仿真和虚拟机管理功能。最后是libvirt管理层,为虚拟机提供统一的API接口和管理工具。

这种分层架构的优势在于模块化和灵活性。内核模块专注于性能关键路径,用户空间程序处理复杂的设备仿真,而libvirt则提供了标准化的管理接口。这种设计使得KVM既能达到接近物理机的性能,又保持了良好的可管理性。

1.2 硬件虚拟化技术原理

现代处理器的硬件虚拟化支持是KVM高性能的基础。Intel VT-x和AMD-V技术通过硬件级别的支持,实现了高效的虚拟机切换和隔离。

在实际环境中,我曾经遇到过一个有趣的案例:某个数据库服务器迁移到KVM虚拟机后,性能反而提升了15%。深入分析后发现,这是因为KVM的NUMA(Non-Uniform Memory Access)感知调度器能够更好地优化内存访问模式,而物理机上的操作系统默认配置没有充分利用NUMA架构。

硬件辅助虚拟化还包括EPT(Extended Page Tables)或NPT(Nested Page Tables)技术,它们通过硬件实现两级地址转换,大幅减少了内存虚拟化的开销。在我的测试中,启用EPT后,内存密集型应用的性能提升可达30%。

第二章:生产环境KVM部署实战

2.1 主机环境准备与优化

在部署KVM之前,正确的主机环境配置是成功的关键。以下是我总结的最佳实践检查清单:

硬件要求验证

首先检查CPU虚拟化支持:

# Intel CPU检查
grep -E 'vmx' /proc/cpuinfo | head -1

# AMD CPU检查  
grep -E 'svm' /proc/cpuinfo | head -1

# 检查内核模块
lsmod | grep kvm

BIOS/UEFI设置优化

进入BIOS设置,确保以下选项已启用:

  • • Intel VT-x 或 AMD-V

  • • Intel VT-d 或 AMD IOMMU(用于设备直通)

  • • SR-IOV(如果需要网络虚拟化)

  • • CPU C-States(根据需求调整)

存储子系统优化

存储性能直接影响虚拟机体验。我的建议是:

# 文件系统选择:XFS for 大文件,ext4 for 通用场景
mkfs.xfs -f -i size=512 -n size=8192 /dev/vg_kvm/lv_images

# 挂载优化参数
mount -o noatime,nodiratime,nobarrier /dev/vg_kvm/lv_images /var/lib/libvirt/images

# 调整IO调度器为deadline或noop
echo deadline > /sys/block/sda/queue/scheduler

2.2 KVM核心组件安装配置

CentOS/RHEL 8系统安装步骤:

# 安装虚拟化组件包
dnf install -y qemu-kvm libvirt libvirt-client virt-install virt-manager

# 安装额外管理工具
dnf install -y virt-top libguestfs-tools virt-viewer

# 启动并设置开机自启
systemctl enable --now libvirtd

# 验证安装
virsh version
virt-host-validate

Ubuntu 20.04/22.04系统安装:

# 更新包索引
apt update

# 安装KVM及相关组件
apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

# 添加用户到libvirt组
usermod -aG libvirt $USER

# 验证KVM模块加载
kvm-ok

2.3 网络架构设计与实施

虚拟机网络配置是KVM部署中最复杂也最重要的部分。我将分享三种主流网络模式的配置方法:

桥接网络(生产环境推荐)

创建桥接网络配置文件 /etc/sysconfig/network-scripts/ifcfg-br0:

TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

修改物理网卡配置 /etc/sysconfig/network-scripts/ifcfg-ens33:

TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

Open vSwitch高级网络(大规模部署)

# 安装Open vSwitch
dnf install -y openvswitch

# 创建OVS网桥
ovs-vsctl add-br ovsbr0
ovs-vsctl add-port ovsbr0 ens33

# 配置VLAN隔离
ovs-vsctl add-port ovsbr0 vnet0 tag=100
ovs-vsctl add-port ovsbr0 vnet1 tag=200

第三章:虚拟机创建与管理进阶

3.1 命令行创建虚拟机最佳实践

在生产环境中,自动化部署是关键。以下是我常用的虚拟机创建脚本:

#!/bin/bash
# 生产环境VM创建脚本

VM_NAME="prod-web-01"
VM_RAM=8192
VM_VCPUS=4
VM_DISK=50
OS_VARIANT="centos8"
ISO_PATH="/var/lib/libvirt/images/CentOS-8.iso"

virt-install \
  --name ${VM_NAME} \
  --ram ${VM_RAM} \
  --vcpus ${VM_VCPUS} \
  --cpu host-passthrough \
  --os-type linux \
  --os-variant ${OS_VARIANT} \
  --disk path=/var/lib/libvirt/images/${VM_NAME}.qcow2,size=${VM_DISK},format=qcow2,bus=virtio,cache=writeback \
  --network bridge=br0,model=virtio \
  --graphics vnc,listen=0.0.0.0,port=5901 \
  --noautoconsole \
  --boot uefi \
  --features kvm_hidden=on \
  --clock offset=utc \
  --location ${ISO_PATH} \
  --extra-args "inst.ks=http://192.168.1.100/ks/${VM_NAME}.cfg"

3.2 存储池管理策略

合理的存储池设计能够显著提升管理效率:

# 创建基于LVM的存储池
virsh pool-define-as vmpool logical \
  --source-dev /dev/sdb \
  --source-name vg_kvm \
  --target /dev/vg_kvm

virsh pool-build vmpool
virsh pool-start vmpool
virsh pool-autostart vmpool

# 创建精简配置卷
virsh vol-create-as vmpool vm01-disk 100G --format qcow2

3.3 虚拟机模板与克隆技术

创建黄金镜像模板是快速部署的关键:

# 准备模板虚拟机
virt-sysprep -d template-centos8 \
  --enable abrt-data,bash-history,crash-data,cron-spool,dhcp-client-state,dhcp-server-state,logfiles,machine-id,mail-spool,net-hostname,net-hwaddr,pacct-log,package-manager-cache,pam-data,passwd-backups,puppet-data-log,rh-subscription-manager,rhn-systemid,rpm-db,ssh-hostkeys,ssh-userdir,sssd-db-log,tmp-files,udev-persistent-net,utmp,yum-uuid

# 创建模板快照
virsh snapshot-create-as template-centos8 --name clean-install

# 基于模板快速克隆
virt-clone --original template-centos8 \
  --name prod-app-01 \
  --file /var/lib/libvirt/images/prod-app-01.qcow2

第四章:性能优化实战技巧

4.1 CPU性能优化

CPU亲和性设置

在运行关键业务时,CPU亲和性设置能够减少上下文切换:

# 查看物理CPU拓扑
lscpu -p

# 设置虚拟机CPU亲和性
virsh vcpupin vm01 0 2
virsh vcpupin vm01 1 3
virsh vcpupin vm01 2 4
virsh vcpupin vm01 3 5

# 设置emulator线程亲和性
virsh emulatorpin vm01 0-1

NUMA优化配置

<!-- 在虚拟机XML配置中添加NUMA拓扑 -->
<cpu mode='host-passthrough'>
  <topology sockets='2' cores='2' threads='1'/>
  <numa>
    <cell id='0' cpus='0-1' memory='4194304' unit='KiB'/>
    <cell id='1' cpus='2-3' memory='4194304' unit='KiB'/>
  </numa>
</cpu>

4.2 内存优化技术

大页内存配置

大页内存可以减少TLB miss,提升内存密集型应用性能:

# 配置2MB大页
echo 2048 > /proc/sys/vm/nr_hugepages

# 挂载hugetlbfs
mount -t hugetlbfs hugetlbfs /dev/hugepages

# 在虚拟机XML中启用
<memoryBacking>
  <hugepages/>
</memoryBacking>

KSM内存去重

# 启用KSM
echo 1 > /sys/kernel/mm/ksm/run

# 调整扫描参数
echo 1000 > /sys/kernel/mm/ksm/sleep_millisecs
echo 2000 > /sys/kernel/mm/ksm/pages_to_scan

4.3 磁盘IO优化

virtio-blk vs virtio-scsi性能对比

根据我的测试数据,不同场景下的最佳选择:

  • • 顺序读写为主:virtio-blk性能更好

  • • 随机IO密集:virtio-scsi with multiqueue

  • • 需要高级特性(如discard):virtio-scsi

<!-- virtio-scsi多队列配置 -->
<controller type='scsi' model='virtio-scsi'>
  <driver queues='4' iothread='1'/>
</controller>

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none' io='native' discard='unmap'/>
  <source file='/var/lib/libvirt/images/vm01.qcow2'/>
  <target dev='sda' bus='scsi'/>
</disk>

4.4 网络性能调优

SR-IOV配置实现近线速性能

# 启用SR-IOV VF
echo 8 > /sys/class/net/ens1f0/device/sriov_numvfs

# 分配VF给虚拟机
virsh attach-interface vm01 hostdev --source 0000:02:10.0 --mode managed

vhost-net加速

# 加载vhost-net模块
modprobe vhost-net

# 验证模块加载
lsmod | grep vhost

第五章:监控与故障排查

5.1 性能监控体系建设

实时监控工具使用

# virt-top实时监控
virt-top -d 1

# 获取虚拟机性能统计
virsh domstats vm01 --perf

# 监控特定指标
virsh domblkstat vm01 vda --human
virsh domifstat vm01 vnet0

Prometheus + Grafana监控方案

部署libvirt_exporter实现指标采集:

# docker-compose.yml
version: '3'
services:
  libvirt-exporter:
    image: alekseizakharov/libvirt-exporter:latest
    volumes:
      - /var/run/libvirt:/var/run/libvirt:ro
    ports:
      - "9177:9177"
    command: --libvirt.uri="qemu:///system"

5.2 日志分析与问题定位

关键日志位置

  • • libvirtd日志:/var/log/libvirt/libvirtd.log

  • • QEMU日志:/var/log/libvirt/qemu/

  • • 审计日志:/var/log/audit/audit.log

常见问题排查命令

# 检查虚拟机状态
virsh list --all
virsh dominfo vm01

# 查看虚拟机控制台
virsh console vm01

# 获取详细错误信息
virsh domblkerror vm01
virsh domjobinfo vm01

# 动态调整日志级别
virt-admin daemon-log-filters "1:libvirt 1:qemu"

5.3 性能瓶颈分析实战

CPU瓶颈识别

# 主机CPU使用分析
mpstat -P ALL 1

# 虚拟机CPU steal time检查
virsh domstats vm01 --cpu-total

# perf分析热点
perf top -p $(pgrep -f vm01)

内存问题诊断

# 检查内存分配
virsh dommemstat vm01

# 分析内存压力
cat /proc/meminfo | grep -E "AnonHugePages|HugePages"

# 检查balloon driver状态
virsh dominfo vm01 | grep memory

第六章:高可用与灾备方案

6.1 实时迁移技术详解

在线迁移前置条件检查

# 网络连通性测试
ping -c 3 destination-host

# 存储可达性验证
ssh destination-host "ls -la /var/lib/libvirt/images/"

# CPU兼容性检查
virsh capabilities | grep -A 5 "host"

执行在线迁移

# 基础迁移命令
virsh migrate --live vm01 qemu+ssh://root@192.168.1.102/system

# 高级迁移选项
virsh migrate --live vm01 \
  --copy-storage-all \
  --persistent \
  --undefinesource \
  --verbose \
  --compressed \
  --auto-converge \
  qemu+ssh://root@192.168.1.102/system

6.2 备份策略与实施

快照备份方案

#!/bin/bash
# 自动化快照备份脚本

VM_NAME="$1"
BACKUP_DIR="/backup/vms"
DATE=$(date +%Y%m%d_%H%M%S)

# 创建外部快照
virsh snapshot-create-as ${VM_NAME} \
  --name backup_${DATE} \
  --diskspec vda,file=${BACKUP_DIR}/${VM_NAME}_${DATE}.qcow2 \
  --disk-only \
  --atomic

# 备份XML配置
virsh dumpxml ${VM_NAME} > ${BACKUP_DIR}/${VM_NAME}_${DATE}.xml

# 块提交合并
virsh blockcommit ${VM_NAME} vda --active --pivot

增量备份实现

# 启用脏页跟踪
virsh qemu-monitor-command vm01 --hmp "drive_mirror -n vda /backup/vm01-inc.qcow2"

# 使用libvirt增量备份API (libvirt 6.0+)
virsh backup-begin vm01 backup.xml

6.3 集群化部署方案

Pacemaker + Corosync高可用集群

# 安装集群软件
dnf install -y pacemaker corosync pcs fence-agents-all

# 配置集群
pcs cluster auth node1 node2 node3
pcs cluster setup --name kvm_cluster node1 node2 node3
pcs cluster start --all

# 创建虚拟机资源
pcs resource create vm01 VirtualDomain \
  config=/etc/libvirt/qemu/vm01.xml \
  hypervisor="qemu:///system" \
  migration_transport=ssh \
  meta allow-migrate=true \
  op monitor interval=30s

第七章:安全加固最佳实践

7.1 虚拟机隔离技术

SELinux/AppArmor配置

# 设置SELinux上下文
semanage fcontext -a -t svirt_image_t "/data/vms(/.*)?"
restorecon -Rv /data/vms

# 验证标签
ls -Z /var/lib/libvirt/images/

网络隔离实施

# 创建隔离网络
virsh net-define isolated-network.xml
virsh net-start isolated
virsh net-autostart isolated

# 配置防火墙规则
firewall-cmd --permanent --zone=libvirt --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 reject'

7.2 加密与认证

磁盘加密配置

# 创建LUKS加密磁盘
qemu-img create -f luks \
  -o key-secret=sec0 \
  -o cipher-alg=aes-256 \
  -o cipher-mode=xts \
  -o ivgen-alg=plain64 \
  -o hash-alg=sha256 \
  encrypted.img 20G

VNC/SPICE安全访问

<graphics type='spice' autoport='yes' listen='127.0.0.1'>
  <listen type='address' address='127.0.0.1'/>
  <channel name='main' mode='secure'/>
  <channel name='inputs' mode='secure'/>
</graphics>

第八章:自动化运维实践

8.1 Ansible自动化部署

Ansible Playbook示例

---
-name:DeployKVMVirtualMachines
hosts:kvm_hosts
become:yes
tasks:
    -name:InstallKVMpackages
      package:
        name:
          -qemu-kvm
          -libvirt
          -virt-install
        state:present

    -name:Startlibvirtdservice
      systemd:
        name:libvirtd
        state:started
        enabled:yes

    -name:CreateVMfromtemplate
      virt:
        name:"{{ vm_name }}"
        state:running
        memory:"{{ vm_memory }}"
        vcpus:"{{ vm_vcpus }}"
        xml: "{{ lookup('template', 'vm-template.xml.j2') }}"

8.2 Terraform基础设施即代码

Terraform配置文件

provider "libvirt" {
  uri = "qemu:///system"
}

resource "libvirt_volume" "centos8" {
  name   = "centos8.qcow2"
  pool   = "default"
  source = "https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.4.2105-20210603.0.x86_64.qcow2"
  format = "qcow2"
}

resource "libvirt_domain" "web_server" {
  name   = "web01"
  memory = "2048"
  vcpu   = 2

  network_interface {
    network_name = "default"
  }

  disk {
    volume_id = libvirt_volume.centos8.id
  }

  cloudinit = libvirt_cloudinit_disk.commoninit.id
}

8.3 CI/CD集成实践

Jenkins Pipeline示例

pipeline {
    agent any
    stages {
        stage('Provision VM') {
            steps {
                sh '''
                    virsh create /templates/test-vm.xml
                    sleep 30
                '''
            }
        }
        stage('Configure VM') {
            steps {
                ansiblePlaybook(
                    playbook:'configure-vm.yml',
                    inventory:'hosts.ini'
                )
            }
        }
        stage('Run Tests') {
            steps {
                sh 'pytest tests/vm_tests.py'
            }
        }
    }
    post {
        always {
            sh 'virsh destroy test-vm || true'
        }
    }
}

第九章:故障案例分析与解决方案

9.1 真实生产故障案例

案例一:虚拟机性能突然下降50%

问题描述:某数据库虚拟机在运行3个月后,性能突然下降,响应时间增加一倍。

排查过程:

  1. 1. 检查CPU steal time,发现高达40%

  2. 2. 分析主机负载,发现NUMA节点不均衡

  3. 3. 检查虚拟机配置,发现未设置CPU亲和性

解决方案:

# 重新分配NUMA节点
virsh numatune vm01 --mode strict --nodeset 0

# 设置CPU亲和性
for i in {0..7}; do
  virsh vcpupin vm01 $i $((i+8))
done

案例二:存储IO延迟飙升

问题现象:虚拟机磁盘写入速度从200MB/s降至20MB/s。

根因分析:

  • • qcow2镜像文件碎片化严重

  • • 未启用discard导致镜像文件膨胀

  • • 文件系统未对齐

优化措施:

# 镜像碎片整理
qemu-img convert -O qcow2 old.qcow2 new.qcow2

# 启用discard
virsh attach-disk vm01 /path/to/disk.qcow2 vdb \
  --driver qemu --subdriver qcow2 --discard unmap

# 检查分区对齐
parted /dev/vdb align-check optimal 1

9.2 性能调优案例集

MySQL数据库虚拟机优化

优化前TPS: 3,000,优化后TPS: 12,000

关键优化点:

  1. 1. 使用hugepages减少内存开销

  2. 2. 绑定vCPU到物理核心

  3. 3. 使用SR-IOV网卡

  4. 4. 调整磁盘调度器为deadline

Kubernetes节点虚拟机优化

将Kubernetes worker节点部署在KVM上的优化经验:

  • • 启用嵌套虚拟化支持容器

  • • 使用virtio-net多队列网络

  • • 配置cgroup资源限制

  • • 优化内核参数支持大量容器

第十章:未来趋势与技术展望

10.1 容器与虚拟机融合

KVM正在向轻量级虚拟化演进。Kata Containers和Firecracker等项目展示了虚拟机可以像容器一样快速启动的可能性。在我的测试中,Firecracker微虚拟机可以在125毫秒内启动,这为Serverless和边缘计算场景开辟了新的可能。

10.2 硬件加速技术发展

Intel和AMD不断推出新的硬件虚拟化特性:

  • • Intel TDX(Trust Domain Extensions)提供机密计算能力

  • • AMD SEV-SNP增强内存加密

  • • SR-IOV演进到Scalable IOV,提供更灵活的设备虚拟化

10.3 AI/ML工作负载优化

GPU虚拟化正成为KVM的重要发展方向。通过vGPU技术,多个虚拟机可以共享物理GPU资源,这对AI训练和推理场景至关重要。

实战检查清单

在部署生产环境前,请确保完成以下检查:

硬件层面

  • • CPU虚拟化扩展已启用

  • • IOMMU已启用(如需设备直通)

  • • 足够的内存和存储空间

  • • 网络带宽满足需求

软件配置

  • • KVM模块正确加载

  • • libvirtd服务正常运行

  • • 网络桥接配置正确

  • • 存储池配置合理

性能优化

  • • CPU亲和性设置

  • • 内存大页配置

  • • IO调度器优化

  • • 网络队列调优

安全加固

  • • SELinux/AppArmor启用

  • • 防火墙规则配置

  • • VNC/SPICE访问限制

  • • 定期安全更新

监控告警

  • • 性能监控部署

  • • 日志收集配置

  • • 告警规则设置

  • • 备份策略实施

结语:开启你的KVM之旅

通过本文的详细讲解,相信你已经掌握了KVM虚拟化从部署到优化的完整流程。KVM不仅仅是一个虚拟化平台,更是现代云计算基础设施的核心组件。无论你是刚接触虚拟化的新手,还是寻求优化方案的资深工程师,KVM都能满足你的需求。

记住,虚拟化技术的精髓不在于技术本身,而在于如何用技术解决实际问题。每个环境都有其独特性,本文提供的是经过验证的最佳实践,但你需要根据实际情况进行调整。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

开源虚拟化KVM极速入门教程-创建虚拟机 立即下载

相关推荐

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 231

Linux运维架构篇 KVM技术详解和部署

文章目录一、虚拟化技术概念概念分类二、KVM虚拟化简介1.概念2.原理3 KVM2种模式4 KVM的工作流程三 部署先修改主机名 将dns改成反向解析 将系统光盘设置自动挂载 关闭防火墙配置在线yum源配置KVM组件设置kvm网络创建目录存放系统镜像使用虚拟机管理器管理虚拟机 一、虚拟化技术概念 概念 将一台服务器资源逻辑分片成多个相互独立的空间,从而提高计算机整体的工作效率 主要解决了两个问题 资源的充分利用 提高生产效率 例如windows中的虚拟机软件vm 可以在上面部署服务 就是利用将宿主机的

weixin_49172531的博客 1009

实战指南:利用 LangGraph 的状态管理实现多轮对话的上下文隔离与持久化

本文详细介绍了如何利用LangGraph的状态管理机制,高效实现多轮对话中的上下文隔离与持久化。通过实战代码演示,从基础的消息历史管理到自定义状态扩展,再到使用SQLite进行生产级持久化,系统讲解了如何借助LangGraph的State和Checkpointer自动化处理对话记忆、用户隔离及数据存储,显著提升开发效率。

weixin_28396629的博客 484

KVM日常运维

一、基本操作 virsh list        列出本机所有正在运行的虚拟机 virsh list --all         列出本机所有的虚拟机 virsh start centos         启动虚拟机 virsh shutdown centos         关闭虚拟机 virsh reboot centos         重启虚拟机 virsh destroy centos

人走茶良的博客 876

别再手动续期SSL证书了!用acme.sh配合阿里云DNS API,实现全自动HTTPS证书管理

本文详细介绍了如何使用acme.sh配合阿里云DNS API实现SSL/TLS证书的全自动管理,彻底解决手动续期带来的风险与不便。通过自动化部署流程,包括环境准备、API集成、多域名证书申请等关键步骤,帮助运维人员构建高效、可靠的HTTPS证书管理体系,显著提升安全性和运维效率。

weixin_29200485的博客 265

BRep实战指南:从理论到文件格式的全面解析

本文全面解析BRep(边界表示法)从基础概念到文件格式的实战应用。详细介绍了BRep的数学定义、工业应用场景,以及STEP、IGES等主流文件格式的对比与使用技巧,帮助读者掌握三维建模核心技术并优化性能。

weixin_29235923的博客 402

kvm 基本运维命令

Kvm基本命令 一、查询命令 1.列出所有的虚拟机 virsh list –all 2.显示虚拟机信息 virsh dominfo kvm-1 3.显示虚拟机内存和cpu的使用情况 yum install virt-top -y virt-top 4.显示虚拟机分区信息 virt-df kvm-1 5.关闭虚拟机(shutodwn) virsh shutdown kv...

weixin_34364135的博客 510

养龙虾经验:OpenClaw用户必看的3个“省token”救命配置

本文分享了3个优化OpenClaw使用成本的配置方案:1)启用上下文压缩功能,可选择全局或单个代理设置,支持safeguard/adaptive两种压缩模式;2)修改SOUL.md提示词,要求模型回答简洁直接;3)限制对话历史长度。方案一效果最佳,可减少长对话的token消耗,但可能影响连贯性。三种方案可单独或组合使用,需根据实际场景调整参数。文章最后邀请读者分享使用痛点,将针对高频问题撰写解决方案。

wpplvhq的专栏 1412

推荐项目:Prometheus libvirt Exporter - 监控虚拟化环境的得力助手

推荐项目:Prometheus libvirt Exporter - 监控虚拟化环境的得力助手 随着云基础设施的日益复杂,对虚拟机性能的监控成为了运维管理不可或缺的一部分。今天,我们将目光聚焦在一款强大而实用的开源工具——Prometheus libvirt Exporter上,尽管目前该项目处于未维护状态,但其强大的功能和广泛的适用性仍然值得我们深入探讨。 项目介绍 Prometheus lib...

gitblog_00641的博客 1196

Vivado固化程序与Flash型号添加实战指南

本文详细介绍了Vivado程序固化到Flash芯片的完整流程,包括基础操作、Flash型号添加方法及疑难问题排查。针对Vivado官方支持列表缺失的Flash型号,提供了手动添加配置的详细步骤和参数说明,并分享了高级技巧与安全操作建议,帮助开发者高效完成FPGA程序固化。

weixin_29291573的博客 553

基于matlab的LFM脉冲压缩仿真

传统雷达测距是通过发射点频脉冲串实现的,通过发射脉冲与回波的时延确定目标的距离。此类方法易于实现,对接收机的要求较低。一般要获取更好的距离分辨力,需要增加发射信号的带宽,对于点频脉冲信号即需要减小发射脉冲宽度;而为获取更大的探测距离,提升雷达威力,则需要发射更大占空比的脉冲串。由于点频信号的时宽带宽积约等于1,因此不能同时增加信号的时宽和带宽。若要保持距离分辨力,增大占空比就需要减少雷达的脉冲重复周期(PRT)。这样会减小雷达的无模糊探测距离,也会造成目标回波频繁被遮挡,损失雷达威力。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 1757

马哥:linux云计算从入门到精通笔记

前言 Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 互联网Linux运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够7×24小时为用户提供高质量的服务。运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期。                               ...

Spring Lee的博客 1万+

BLDC&PMSM电机控制器硬件设计工程(八)72V 10kW电机控制器原理图工程及库文件

电机控制器基本需求:接口类型;MCU平台;通信接口;供电;信号采集;信号输出;功率;EMC或者认证需求。

小幽余生不加糖 363

【影响数万人】Linux学习可分为八大阶段

前言:我们知道,Linux是一种操作系统,广泛应用于服务器和云平台,现在Linux已经成为一门学科。到了云时代,云平台非常火热,很多人想学习Linux,却又不知如何入手。其实,学习一定要系统化,这样才能尽快的掌握要点。Linux学习,可分为八大阶段第一阶段:主要学习Linux云计算网络管理实战。这里面包括网络历史,网络协议,进制转换,IP,MAC等知识,还包括公有云网络知识。这些是起初必须要掌握的...

click_idc的博客 371

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

KVM运维常用命令

virsh是kvm虚拟机常用的管理工具,以下是一些常用的命令。

tiging的博客 1467

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

在Linux系统中安装KVM虚拟机(非常详细)零基础入门到精通,收藏这一篇就够了

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取。因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取。2.5设置虚拟机名称并开启安装前的自定义配置。使用virt-install 创建虚拟机。准备 Kickstart 文件。2.1、通过ISO安装虚拟机。**二、KVM的应用场景。**三、安装KVM虚拟机。2.2选择ISO文件。2.3设置内存CPU。

Python_0011的博客 1754

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

运维新手入门——KVM(Beginner‘s Guide to Operations and Maintenance - kvm)

① 虚拟化是云计算的基础。一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等)做虚拟化、将虚拟化后的整体做为一个可供分割且组合的操作系统。 ② KVM全称是Kernel-Based Virtual Machine。KVM基于Linux内核实现,属于半虚拟化的Hypervisor。KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存,而Qemu则协助提供IO设备半虚拟化,用于虚拟磁盘IO和网络IO等。本章详细介绍kvm虚拟机部署。

Linux运维老纪的博客 1593

虚拟化kvm 极速入门

我整理的一些关于【CI】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1虚拟化KVM极速入门 虚拟化技术是现代数据中心和云计算架构的基石,而KVM(Kernel-based Virtual Machine)是Linux内核中的一种主流虚拟化解决方案。本文将带您快速...

weixin_40500405的博客 274

kvm运维命令总结

KVM命令: 1. 日常管理: virsh list virsh list --all virsh start centos7 #启动服务器 virsh shutdown centos7 #关机比较慢 virsh destroy centos7 #强制关机 virsh reboot centos7 #重启 virsh undefine centos7_1 #...

Kason_iWiki 527

KVM虚拟化深度实战:从入门到生产环境部署的完整指南

文章摘要:KVM是一种基于Linux内核的开源虚拟化技术,可将物理服务器转变为虚拟机监视器。本文介绍了KVM的基本概念、硬件要求、安装配置方法以及网络和存储管理的最佳实践。重点讲解了三种网络模式(NAT、桥接和隔离)的特点及配置方法,对比了qcow2和raw两种存储格式的优劣,并提供了存储池管理方案。作者分享了从基础到生产环境的实践经验,强调细节配置对虚拟化稳定性的重要性,适合系统管理员和云计算工程师参考使用。

qq_31815769的博客 1582

kvm虚拟化技术学习

介绍了kvm虚拟化技术原理和搭建桥接模式以及NAT模式kvm虚拟机的步骤教程

weixin_47063945的博客 1128

openstack1

QEMU能够在x86架构的机器上模拟出一台非x86架构的虚拟机。内核空间:存放内核代码和数据;用户空间:存放用户程序的代码和数据。用户程序不能直接操纵硬盘而是通过系统调用的方式间接操纵硬盘,系统调用造成上下文切换。

dfq737211338的博客 487

运维之道 | KVM 操作虚拟机常用命令

一、KVM 虚拟机常用管理命令 1、列出所有的虚拟机 virsh list --all 2、显示虚拟机信息 virsh dominfo kvm-1 3、显示虚拟机内存和cpu的使用情况 yum install -y virt-top virt-top 4、显示虚拟机分区信息 virt-df kvm-1 5、关闭虚拟机(shutodwn) virsh shutdown kvm-1 6、启动...

VillianTsang 、运维之道 709

虚拟化技术KVM入门学习

KVM虚拟化入门学习笔记,涉及基础安装、分类等。

Mr.Wen的博客 1406

KVM入门

KVM 和KVM类似的程序:ESXI和Xenserver 安装KVM yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y 如果下列命令没有显示就不能开启kvm grep -E '(vmx|svm)' /proc/cpuinfo 分配硬盘 qemu-img create -f raw /opt/Centos...

Jesse技术博客 938

宋宝华- KVM最初的2小时(KVM从入门到入不了门)

接着《Docker最初的2小时(Docker从入门到入门)》继续聊,再花10个小时写出《KVM最初的2小时(KVM从入门到入不了门)》。坦白讲,由于KVM远远比Docker要复杂,还是要2小时爱上KVM,这绝非难事,所以很可能入不了门。原则上,我们继续迭代学习,这篇文章建立你对KVM的最好初印象,但是绝不深入细节。

宋宝华 2万+
上一篇: Coggle数据科学 | 科大讯飞AI大赛:画面指令策略游戏挑战赛 Baseline
下一篇: AI新智力 | 大模型入门15:GraphRAG、LightRAG、AgenticRAG
双木的木
博客等级 码龄8年 1万+粉丝 1458原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值