<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>KVM</title>
    <link>https://llinux.cn/virtualization/kvm/</link>
    <description>阿征的运维笔记</description>
    <language>zh</language>
    <atom:link href="https://llinux.cn/virtualization/kvm/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>openEuler KVM 部署与磁盘扩容实战</title>
      <link>https://llinux.cn/virtualization/kvm/openeuler-kvm-deployment-and-disk-expansion/</link>
      
      <guid>https://llinux.cn/virtualization/kvm/openeuler-kvm-deployment-and-disk-expansion/</guid>
      <description>&lt;p&gt;本文记录 openEuler 24.03 LTS SP4 上使用 KVM 的实践：宿主机单网卡桥接、离线安装、导入 qcow2 镜像，以及虚拟磁盘扩容。示例中的网卡、地址、磁盘、分区和资源大小均需按实际环境调整；不同镜像的启动方式和磁盘布局可能不同。&lt;/p&gt;&#xA;&lt;p&gt;网络切换和分区操作有中断服务或丢失数据的风险。开始前请确认带外管理或物理控制台可用，并完成可恢复的备份。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一单网卡宿主机配置网桥&#34;&gt;一、单网卡宿主机配置网桥&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e4%b8%80%e5%8d%95%e7%bd%91%e5%8d%a1%e5%ae%bf%e4%b8%bb%e6%9c%ba%e9%85%8d%e7%bd%ae%e7%bd%91%e6%a1%a5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;网桥模式下，宿主机 IP 配置在 &lt;code&gt;br0&lt;/code&gt;，物理网卡作为网桥端口；虚拟机通过网桥接入同一二层网络。上游交换机或云平台必须允许同一端口出现多个 MAC 地址。远程操作前，务必准备好带外控制台；后台运行命令只能让命令在 SSH 断开后继续执行，不能保证网络恢复。&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-记录现有网络配置&#34;&gt;1. 记录现有网络配置&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#1-%e8%ae%b0%e5%bd%95%e7%8e%b0%e6%9c%89%e7%bd%91%e7%bb%9c%e9%85%8d%e7%bd%ae&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli -f NAME,UUID,TYPE,DEVICE connection show --active&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip -br address&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip route&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli device show enp94s0f0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;记录物理网卡、原连接名称、IP、网关、DNS、静态路由、MTU 和 VLAN 配置。下例假设原连接名为 &lt;code&gt;原连接名&lt;/code&gt;，物理网卡为 &lt;code&gt;enp94s0f0&lt;/code&gt;，使用静态 IPv4；不要直接照搬示例地址。&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-创建并启用网桥&#34;&gt;2. 创建并启用网桥&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#2-%e5%88%9b%e5%bb%ba%e5%b9%b6%e5%90%af%e7%94%a8%e7%bd%91%e6%a1%a5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;建议在控制台操作，并在维护窗口内切换。先确认 &lt;code&gt;br0&lt;/code&gt; 和 &lt;code&gt;br0-enp94s0f0&lt;/code&gt; 不是已有连接；保留原连接配置以便回退。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli connection add &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; bridge con-name br0 ifname br0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli connection modify br0 bridge.stp no &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ipv4.method manual ipv4.addresses 192.0.2.10/24 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ipv4.gateway 192.0.2.1 ipv4.dns &lt;span class=&#34;s2&#34;&gt;&amp;#34;192.0.2.53&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  connection.autoconnect yes connection.autoconnect-slaves &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli connection add &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; bridge-slave con-name br0-enp94s0f0 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ifname enp94s0f0 master br0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 切换时当前 SSH 可能断开；从控制台确认结果&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli connection up br0-enp94s0f0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmcli connection up br0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;示例关闭了 STP，仅适用于确认不会产生二层环路的网络；IPv6、额外路由、VLAN 和 MTU 需按照原环境单独配置。切换后从另一台机器测试 SSH、网关、DNS 和业务访问，并检查：&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>pve</title>
      <link>https://llinux.cn/virtualization/kvm/pve/pve-installation/</link>
      
      <guid>https://llinux.cn/virtualization/kvm/pve/pve-installation/</guid>
      <description>&lt;h2 id=&#34;一前期准备&#34;&gt;一、前期准备&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e4%b8%80%e5%89%8d%e6%9c%9f%e5%87%86%e5%a4%87&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;下载 pve 安装镜像，下载连接：&lt;a href=&#34;https://enterprise.proxmox.com/iso/proxmox-ve_9.1-1.iso&#34;&gt;Proxmox VE 9.1 ISO&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;将镜像写入 U 盘或 光盘中&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如果使用 U盘作为安装介质，可使用 &lt;a href=&#34;https://rufus.ie/&#34;&gt;Rufus&lt;/a&gt; 工具将镜像写入 U盘&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;二安装-pve&#34;&gt;二、安装 pve&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e4%ba%8c%e5%ae%89%e8%a3%85-pve&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;将安装介质插入目标计算机并启动后，执行以下步骤&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;安装方式选择 Terminal UI&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-1.png&#34; alt=&#34;install-1&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;同意安装协议&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-2.png&#34; alt=&#34;install-2&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择安装目标磁盘后，Next&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-3.png&#34; alt=&#34;install-3&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择和红框中一样的选项后，Next&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-4.png&#34; alt=&#34;install-4&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设置密码、邮箱后，Next&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-5.png&#34; alt=&#34;install-5&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;选择与实际网络环境匹配的IP、网关、DNS&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-6.png&#34; alt=&#34;install-6&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;确认信息无误后，install&#xA;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/install-7.png&#34; alt=&#34;install-7&#34;&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;三验证安装&#34;&gt;三、验证安装&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e4%b8%89%e9%aa%8c%e8%af%81%e5%ae%89%e8%a3%85&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;安装完成后，浏览器访问 http://IP:8006 即可登录 pve 管理界面，账号为 root ，密码为设置的密码。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/pve/images/check-install.png&#34; alt=&#34;check-install&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>虚拟机存储管理</title>
      <link>https://llinux.cn/virtualization/kvm/virtual-machine-storage/</link>
      
      <guid>https://llinux.cn/virtualization/kvm/virtual-machine-storage/</guid>
      <description>&lt;h2 id=&#34;四-进阶磁盘格式选择&#34;&gt;四、 进阶：磁盘格式选择&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%9b%9b-%e8%bf%9b%e9%98%b6%e7%a3%81%e7%9b%98%e6%a0%bc%e5%bc%8f%e9%80%89%e6%8b%a9&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;在创建时，你可能会纠结磁盘格式，对于 SRE 来说，结论很明确：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;RAW&lt;/strong&gt;: 裸格式。性能最好，但不支持快照，占用空间大（不支持稀疏文件）。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;QCOW2&lt;/strong&gt;: &lt;strong&gt;生产首选&lt;/strong&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;支持快照&lt;/strong&gt; (Snapshot)。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;动态扩展&lt;/strong&gt;：写多少占多少。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;后端镜像&lt;/strong&gt;：支持通过一个模板镜像派生出多个虚机（Linked Clone）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;前言&#34;&gt;前言&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;镜像文件可以存储在宿主机文件系统中，如：ext4、xfs 等&lt;/li&gt;&#xA;&lt;li&gt;也可以存储在网络文件系统中，如：NFS、NAS等&lt;/li&gt;&#xA;&lt;li&gt;libguestfs 这样的工具可以实现对镜像文件的管理、备份、监控 等功能&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;kvm存储模式&#34;&gt;KVM存储模式&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#kvm%e5%ad%98%e5%82%a8%e6%a8%a1%e5%bc%8f&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;KVM的存储模式大体分为 存储池 和 存储卷&#xA;&lt;ul&gt;&#xA;&lt;li&gt;存储池：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;把相关的文件放在一个池中，相当于一个集合&lt;/li&gt;&#xA;&lt;li&gt;存储池包含了存储卷，并且可以包含多个存储卷&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;存储卷：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;相当于一个具体的文件&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;虚拟磁盘类型&#34;&gt;虚拟磁盘类型&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e8%99%9a%e6%8b%9f%e7%a3%81%e7%9b%98%e7%b1%bb%e5%9e%8b&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;&lt;strong&gt;固定 fixed&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;常用&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在配置时，预先指定磁盘大小，不管在虚拟磁盘上实际存储多少数据，都将占用相同大小的宿主机磁盘空间&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;相当于 wmwarworkstation 中的立刻分配磁盘空间&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;动态 Dynamic&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;常用&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;初始空间占用大小，随着空间的使用逐渐增长到最大容量，但是只根据需求使用更多的空间&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;相当于 wmwarworkstation 中的不立刻分配磁盘空间&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;差异 Differencing&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;因为创建的是差异磁盘，所以只保存变更的数据&lt;/li&gt;&#xA;&lt;li&gt;例如：将操作系统安装在父盘，然后创建差异化磁盘来执行进一步配置&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;常用虚拟镜像文件格式&#34;&gt;常用虚拟镜像文件格式&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%b8%b8%e7%94%a8%e8%99%9a%e6%8b%9f%e9%95%9c%e5%83%8f%e6%96%87%e4%bb%b6%e6%a0%bc%e5%bc%8f&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;qcow2：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;具有更多的功能，如：快照、压缩、加密等&lt;/li&gt;&#xA;&lt;li&gt;可以用来代表通过模板镜像创建的虚拟机&lt;/li&gt;&#xA;&lt;li&gt;因为只有虚拟机写入的扇区部分才会分配在镜像中，所以 cqow2 文件的网络传输效率较高&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;主要特点：&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;按需分配磁盘空间，不管文件系统是否支持(不依赖于文件系统)&lt;/li&gt;&#xA;&lt;li&gt;支持快照&lt;/li&gt;&#xA;&lt;li&gt;支持zlib的磁盘压缩&lt;/li&gt;&#xA;&lt;li&gt;支持AES的加密&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;优点：&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;空间节约，功能丰富&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;缺点：&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;性能较差，但生产中推荐使用&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;raw：&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>虚拟机基础管理</title>
      <link>https://llinux.cn/virtualization/kvm/virtual-machine-basics/</link>
      
      <guid>https://llinux.cn/virtualization/kvm/virtual-machine-basics/</guid>
      <description>&lt;h2 id=&#34;管理工具&#34;&gt;管理工具&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;realvnc&#34;&gt;RealVNC&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#realvnc&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;下载链接：https://www.realvnc.com/en/connect/download/viewer/&lt;/p&gt;&#xA;&lt;p&gt;命令里写了 &lt;code&gt;--graphics vnc,listen=0.0.0.0&lt;/code&gt;，KVM 会启动一个 VNC 服务。但需要知道它监听在哪个端口（通常是从 5900 开始）。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看虚拟机的 VNC 端口&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virsh vncdisplay ubuntu-01&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 如果输出 :0，对应端口就是 5900。&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 如果输出 :1，对应端口就是 5901，以此类推。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;最后在本地电脑打开 VNC 客户端，输入 宿主机IP:5900 即可看到 Ubuntu 的安装界面。&lt;/p&gt;&#xA;&lt;h3 id=&#34;virsh-命令&#34;&gt;virsh 命令&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#virsh-%e5%91%bd%e4%bb%a4&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;virsh 是基于命令行的虚拟机管理工具，来自 libvirt-client 包；&lt;/li&gt;&#xA;&lt;li&gt;此工具基于 libvirtd 服务，此服务如果关闭或意外停止将无法继续使用 virsh 命令对虚拟机进行管理，但虚拟机本身依旧会正常运行（默认的 iptables规则与虚拟网卡等实现都是由 libvirtd 服务生成的）。&lt;/li&gt;&#xA;&lt;li&gt;virsh 分为交互式与非交互式，交互式直接敲 virsh 后回车即可进入 virsh 命令行界面。非交互式则需要在命令后跟上具体的任务命令：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;可以使用虚拟机名称、编号、UUID 来对虚拟机进行操作，但 UUID 最保险。&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;任务&lt;/th&gt;&#xA;          &lt;th&gt;命令&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;只列出目前在运行的虚拟机&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;查看所有虚拟机（包括已关机）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh list --all&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;启动虚拟机&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh start ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;关闭虚拟机&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh shutdown ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;强制断电&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh destroy ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;暂停虚拟机&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh suspend ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;恢复暂停的虚拟机&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh resume ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;查看虚拟机 UUID&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh domuuid ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;通过 Console 连接&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh console ubuntu-01&lt;/code&gt; (退出按 &lt;code&gt;Ctrl + ]&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;设置开机自启&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh autostart ubuntu-01&lt;/code&gt;（本质上是在 /etc/libvirt/qemu/autostart/ 创建了一个软链接）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;禁止开机自启&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh autostart --disable ubuntu-01&lt;/code&gt;（本质上是删除了 /etc/libvirt/qemu/autostart/ 下的软链接）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;修改配置&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh edit ubuntu-01&lt;/code&gt; (需重启生效)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;查看磁盘信息&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh domblklist ubuntu-01&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;查看虚拟机 XML 配置&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;virsh dumpxml ubuntu-01&lt;/code&gt;（本质上是从 /etc/libvirt/qemu/ 目录下读取 XML 文件）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这份总结已经非常全面，特别是你对“本质上是创建/删除软链接”的理解，说明你已经深入到了 Libvirt 的底层逻辑。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>虚拟机网络管理</title>
      <link>https://llinux.cn/virtualization/kvm/virtual-machine-networking/</link>
      
      <guid>https://llinux.cn/virtualization/kvm/virtual-machine-networking/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;**官方文档：**&lt;a href=&#34;https://wiki.libvirt.org/page/VirtualNetworking&#34;&gt;https://wiki.libvirt.org/page/VirtualNetworking&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;qemu-kvm-网络概述&#34;&gt;QEMU-KVM 网络概述&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#qemu-kvm-%e7%bd%91%e7%bb%9c%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;支持的网络模式&#34;&gt;支持的网络模式&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e6%94%af%e6%8c%81%e7%9a%84%e7%bd%91%e7%bb%9c%e6%a8%a1%e5%bc%8f&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;NAT&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;此为virt-install的默认模式，使用的是IP伪装 而不是 SNAT 或 DNAT&lt;/li&gt;&#xA;&lt;li&gt;使用宿主机的IP与外界通信，从而实现实现虚拟机访问外网，而外网无法访问虚拟机&lt;/li&gt;&#xA;&lt;li&gt;此模式下启动会产生很多iptables规则，请小心。如果 iptables 规则出现问题，您的虚拟机可能会停止正常通信。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Bridge&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;自定义网桥模式&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;直接分配物理网络设备&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;包括VT-d 和 SR-IOV，性能最好&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;自定义网络&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;虚拟机的网卡设备&#34;&gt;虚拟机的网卡设备&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e8%99%9a%e6%8b%9f%e6%9c%ba%e7%9a%84%e7%bd%91%e5%8d%a1%e8%ae%be%e5%a4%87&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;RTL8139、e1000、&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;virtio &lt;strong&gt;生产中常用，性能最好&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;查看qemu-kvm支持的网卡型号：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;root@centos-kvm ~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# /usr/libexec/qemu-kvm -net nic,model=?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Supported NIC models:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;e1000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;e1000e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtl8139&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virtio-net-pci&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virtio-net-pci-non-transitional&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virtio-net-pci-transitional&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;heading&#34;&gt;&amp;mdash;&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#heading&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h1 id=&#34;qemu-与-tap-设备&#34;&gt;QEMU 与 tap 设备&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#qemu-%e4%b8%8e-tap-%e8%ae%be%e5%a4%87&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;qemu 启动时通过 qemu -netdev tap 指定 tap 设备&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://llinux.cn/virtualization/kvm/qemu_tap.png&#34; alt=&#34;qemu tun&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;如图中所示，红色箭头表示数据报文的入方向，步骤：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;网络数据从 Host 上的物理网卡接收，到达网桥；&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
