diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/1. KVM 概述.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/1. KVM 概述.md index 395ca940..13a8842d 100644 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/1. KVM 概述.md +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/1. KVM 概述.md @@ -1,10 +1,16 @@ --- -title: 标题 -description: 描述 +title: KVM 概述 +description: KVM(Kernel-based Virtual Machine)是Linux内核的一部分,提供开源的虚拟化技术。它支持全虚拟化和硬件辅助虚拟化,允许在Linux上运行多个隔离的虚拟机。KVM以其高性能、模块化设计、开源特性、与Linux紧密集成、支持多种操作系统而广泛应用于数据中心、云计算、开发和测试等领域。 keywords: - - 关键字 + - KVM + - 虚拟化 + - 硬件辅助 + - 开源 + - 云计算 + - 数据中心 tags: - - 标签 + - 技术/操作系统 + - 虚拟化/KVM author: 仲平 date: 2024-07-15 --- diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/2. KVM 安装配置.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/2. KVM 安装配置.md index 8b137891..d70ae2ce 100644 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/2. KVM 安装配置.md +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/2. KVM 安装配置.md @@ -1 +1,63 @@ +--- +title: KVM 安装配置 +description: KVM 安装配置 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- +## 环境准备 + +### 硬件要求 + +- 检查 CPU 是否支持虚拟化技术(Intel VT-x 或 AMD-V) +- 启用 BIOS/UEFI 中的虚拟化支持 + +### 操作系统要求 + +- 支持的 Linux 发行版(如 Ubuntu, CentOS, RHEL 等) + +## 安装 KVM 及相关工具 + +### 安装 KVM 和 QEMU + +- 在 Ubuntu 上安装 +- 在 CentOS/RHEL 上安装 +- 在其他 Linux 发行版上安装 + +### 安装虚拟机管理工具 + +- `libvirt` +- `virt-manager` + +### 验证安装 + +- 检查 KVM 模块是否已加载 (`kvm`, `kvm-intel` 或 `kvm-amd`) +- 确认虚拟化功能可用 (`kvm-ok` 工具) + +## 基本配置 + +### 配置网络桥接 + +- 创建虚拟网络桥接(桥接模式) +- 配置桥接网络的详细步骤 + +### 配置存储池和存储卷 + +- 创建存储池(目录、LVM、NFS 等) +- 管理存储卷 + +## 创建和管理虚拟机 + +### 使用命令行工具创建虚拟机 + +- 使用 `virt-install` 创建虚拟机 +- 使用 `virsh` 管理虚拟机 + +### 使用图形化工具创建虚拟机 + +- 安装和使用 `virt-manager` +- 通过 `virt-manager` 创建和配置虚拟机 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理套件.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理套件.md deleted file mode 100644 index e1a10292..00000000 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理套件.md +++ /dev/null @@ -1 +0,0 @@ -## 2.2_ 使用 Libvirt 和 Virt-manager 管理虚拟机 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理工具.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理工具.md new file mode 100644 index 00000000..4d6f923a --- /dev/null +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/3. KVM 管理工具.md @@ -0,0 +1,142 @@ +--- +title: KVM 管理工具 +description: KVM 管理工具 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- + +## KVM 管理工具 + +- 什么是 KVM 管理工具? +- KVM 管理工具的作用和重要性 +- 常见的 KVM 管理工具简介 + +## Libvirt + +### Libvirt 概述 + +- libvirt 的功能和特点 +- 支持的虚拟化后端 + +### Libvirt 安装与配置 + +- 安装 libvirt +- 配置 libvirt + +### 使用 Libvirt 管理虚拟机 + +- 创建和管理虚拟机 +- 网络和存储的配置 +- 快照和迁移 + +### Libvirt API 和开发 + +- 使用 libvirt API +- libvirt 与其他工具的集成 + +## Virt-manager + +### Virt-manager 概述 + +- virt-manager 的功能和特点 +- 图形化管理界面简介 + +### Virt-manager 安装与配置 + +- 安装 virt-manager +- 配置 virt-manager + +### 使用 Virt-manager 管理虚拟机 + +- 创建和配置虚拟机 +- 监控和管理虚拟机 +- 使用 virt-manager 进行快照和迁移 + +## Virsh + +### Virsh 概述 + +- virsh 的功能和特点 +- 常用的 virsh 命令 + +### 使用 Virsh 管理虚拟机 + +- 创建和删除虚拟机 +- 启动、停止和重启虚拟机 +- 配置虚拟机资源(CPU、内存、网络等) + +### 高级 Virsh 命令 + +- 快照管理 +- 虚拟机迁移 +- 网络和存储管理 + +## oVirt + +### oVirt 概述 + +- oVirt 的功能和特点 +- oVirt 的架构 + +### oVirt 安装与配置 + +- 安装 oVirt +- 配置 oVirt 环境 + +### 使用 oVirt 管理虚拟机 + +- 创建和管理虚拟机 +- 配置网络和存储 +- 高可用性和负载均衡 + +## Cockpit + +### Cockpit 概述 + +- Cockpit 的功能和特点 +- Cockpit 的架构 + +### Cockpit 安装与配置 + +- 安装 Cockpit +- 配置 Cockpit 环境 + +### 使用 Cockpit 管理虚拟机 + +- 创建和管理虚拟机 +- 配置网络和存储 +- 使用 Cockpit 进行监控和管理 + +## Proxmox VE + +### Proxmox VE 概述 + +- Proxmox VE 的功能和特点 +- Proxmox VE 的架构 + +### Proxmox VE 安装与配置 + +- 安装 Proxmox VE +- 配置 Proxmox VE 环境 + +### 使用 Proxmox VE 管理虚拟机 + +- 创建和管理虚拟机 +- 配置网络和存储 +- 高可用性和备份 + +### 其他管理工具 + +- Virtual Machine Manager (VMM) +- OpenNebula + +- KVM 管理工具的选择 + - 根据需求选择合适的工具 + - 各工具的优缺点比较 +- 未来发展趋势 + - KVM 管理工具的发展方向 + - 新兴技术和工具 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/4. KVM 网络配置.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/4. KVM 网络配置.md index 8b137891..dbb3419b 100644 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/4. KVM 网络配置.md +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/4. KVM 网络配置.md @@ -1 +1,139 @@ +--- +title: 标题 +description: 描述 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- +## KVM 网络基础 + +### KVM 网络的基本概念 + +### 虚拟网络的类型 + +- NAT 网络 +- 桥接网络 +- 内部网络 +- 仅主机网络 + +## KVM 网络安装与准备 + +### 安装必要的软件包 + +- `libvirt` +- `bridge-utils` + +### 配置系统网络支持 + +- 启用并配置网络管理器 +- 确认内核模块加载情况 + +## 配置 NAT 网络 + +### 默认 NAT 网络配置 + +- 启用和配置默认网络 +- 验证 NAT 网络的连通性 + +### 创建自定义 NAT 网络 + +- 使用 `virsh` 创建和配置 NAT 网络 +- 配置 DHCP 和 IP 地址范围 + +## 配置桥接网络 + +### 创建桥接网络接口 + +- 配置网桥文件 +- 绑定物理接口到网桥 + +### 配置虚拟机使用桥接网络 + +- 使用 `virt-manager` 配置桥接网络 +- 使用 `virsh` 配置桥接网络 + +## 配置内部网络 + +### 创建内部网络 + +- 使用 `virsh` 创建内部网络 +- 配置网络名称和范围 + +### 配置虚拟机使用内部网络 + +- 连接虚拟机到内部网络 +- 验证虚拟机间的连通性 + +## 配置仅主机网络 + +### 创建仅主机网络 + +- 使用 `virsh` 创建仅主机网络 +- 配置仅主机网络的名称和范围 + +### 配置虚拟机使用仅主机网络 + +- 连接虚拟机到仅主机网络 +- 验证主机与虚拟机间的连通性 + +## 配置高级网络功能 + +### 配置 VLAN + +- 创建 VLAN 网络 +- 配置虚拟机使用 VLAN 网络 + +### 配置虚拟机的多网卡 + +- 添加多个网卡到虚拟机 +- 配置不同网卡的网络类型 + +### 配置网络带宽限制 + +- 使用 `virsh` 配置带宽限制 +- 验证网络带宽限制效果 + +## 管理和监控虚拟网络 + +### 使用 `virsh` 命令管理网络 + +- 列出网络和查看网络详情 +- 启动和停止虚拟网络 + +### 使用 `virt-manager` 管理网络 + +- 图形化界面查看和管理网络 +- 创建和删除虚拟网络 + +### 监控网络性能 + +- 使用 `iftop` 和 `vnstat` 等工具 +- 分析网络流量和性能 + +## 故障排查 + +### 常见网络问题及解决方法 + +- 虚拟机无法连接网络 +- 网络性能问题 + +### 日志查看与分析 + +- 查看 `libvirt` 网络日志 +- 使用系统日志进行排查 + +## 安全配置 + +### 配置防火墙规则 + +- 使用 `iptables` 配置防火墙 +- 配置 `firewalld` 管理规则 + +### 网络隔离与访问控制 + +- 使用 VLAN 实现网络隔离 +- 配置虚拟机访问控制列表(ACL) diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/5. KVM 存储管理.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/5. KVM 存储管理.md index 8b137891..43641ba8 100644 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/5. KVM 存储管理.md +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/5. KVM 存储管理.md @@ -1 +1,101 @@ +--- +title: 标题 +description: 描述 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- +## KVM 存储基础 + +### KVM 存储的基本概念 + +### 虚拟机存储类型 + +- 磁盘映像文件(qcow2, raw 等) +- 逻辑卷管理(LVM) +- 网络存储(NFS, iSCSI) + +## KVM 存储安装与准备 + +### 安装必要的软件包 + +- `libvirt` +- `qemu-kvm` + +### 配置系统存储支持 + +- 确认存储驱动加载情况 +- 准备存储设备和挂载点 + +## 配置存储池 + +### 什么是存储池 + +- 存储池的概念 +- 存储池的类型 + +### 创建和管理目录存储池 + +- 使用 `virsh` 创建目录存储池 +- 配置目录存储池 + +### 创建和管理逻辑卷存储池 + +- 使用 `virsh` 创建 LVM 存储池 +- 配置 LVM 存储池 + +### 创建和管理网络存储池 + +- 使用 `virsh` 创建 NFS 存储池 +- 使用 `virsh` 创建 iSCSI 存储池 + +## 配置存储卷 + +### 什么是存储卷 + +- 存储卷的概念 +- 存储卷的类型 + +### 创建和管理磁盘映像文件 + +- 使用 `virsh` 创建磁盘映像文件 +- 配置磁盘映像文件的大小和格式 + +### 创建和管理逻辑卷 + +- 使用 `virsh` 创建逻辑卷 +- 配置逻辑卷的大小和格式 + +## 虚拟机的存储配置 + +### 添加和删除虚拟机磁盘 + +- 使用 `virt-manager` 添加和删除虚拟机磁盘 +- 使用 `virsh` 添加和删除虚拟机磁盘 + +### 配置虚拟机的启动磁盘 + +- 设置启动磁盘顺序 +- 配置虚拟机 BIOS 设置 + +## 高级存储管理 + +### 快照管理 + +- 创建和管理磁盘快照 +- 使用 `virt-manager` 管理快照 +- 使用 `virsh` 管理快照 + +### 存储池的扩展和缩减 + +- 扩展存储池容量 +- 缩减存储池容量 + +### 磁盘镜像和克隆 + +- 创建磁盘镜像 +- 克隆虚拟机磁盘 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化.md new file mode 100644 index 00000000..79d0a054 --- /dev/null +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化.md @@ -0,0 +1,112 @@ +--- +title: 标题 +description: 描述 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- + +## 性能优化概述 + +### 为什么需要性能优化? + +### 性能优化的基本原则 + +### 性能优化的常见挑战 + +## CPU 性能优化 + +### CPU 分配和超线程 + +- 分配虚拟 CPU (vCPU) +- 启用和配置超线程 + +### CPU 亲和性设置 + +- 配置 CPU 亲和性 +- 使用 `virsh` 设置 vCPU 亲和性 + +### 优化 CPU 调度策略 + +- 使用 cgroups 控制 CPU 使用 +- 调整调度策略 + +## 内存性能优化 + +### 内存分配和大页支持 + +- 分配合适的内存大小 +- 启用和配置大页(HugePages) + +### 内存过量使用和气球驱动 + +- 启用内存过量使用 +- 使用气球驱动动态调整内存 + +### NUMA 配置优化 + +- 什么是 NUMA? +- 配置虚拟机的 NUMA 节点 + +## 存储性能优化 + +### 使用 Virtio 驱动提升性能 + +- Virtio 驱动的优势 +- 安装和配置 Virtio 驱动 + +### 磁盘 I/O 调度策略 + +- 选择合适的 I/O 调度器 +- 使用 `ionice` 控制 I/O 优先级 + +### 使用缓存策略 + +- 配置缓存模式 +- 使用 directsync 和 none 模式 + +## 网络性能优化 + +### 使用 Virtio 网卡 + +- Virtio 网卡的优势 +- 配置 Virtio 网卡 + +### 网络带宽限制和优先级 + +- 配置网络带宽限制 +- 使用 `tc` 命令设置优先级 + +### 调整网络缓冲区和队列 + +- 优化网络缓冲区大小 +- 配置多队列支持 + +## 虚拟机快照和备份的性能优化 + +### 快照性能影响 + +- 快照的创建和管理 +- 减少快照对性能的影响 + +### 备份策略 + +- 使用增量备份减少影响 +- 配置备份窗口和策略 + +## 性能问题的故障排查 + +### 常见性能问题及解决方法 + +- 虚拟机运行缓慢 + +- 网络性能不佳 + +### 性能日志分析 + +- 查看和分析 KVM 日志 + +- 使用系统日志进行排查 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化与监控.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化与监控.md deleted file mode 100644 index 8b137891..00000000 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/6. KVM 性能优化与监控.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 系统监控.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 系统监控.md new file mode 100644 index 00000000..7c9cd90b --- /dev/null +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 系统监控.md @@ -0,0 +1,66 @@ +--- +title: 标题 +description: 描述 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- + +## 监控概述 + +为什么需要监控? + +监控的基本原则 + +常用的监控工具 + +## 使用内置工具监控 + +### 使用 `virsh` 进行监控 + +- 查看虚拟机信息 + +- 监控资源使用情况 + +### 使用 `virt-top` 监控 + +- 安装和配置 `virt-top` + +- 使用 `virt-top` 查看虚拟机性能 + +## 使用系统监控工具 + +### 使用 `top` 和 `htop` + +- 查看系统整体性能 + +- 监控虚拟机的资源占用 + +### 使用 `iotop` + +- 监控磁盘 I/O 性能 + +- 找出性能瓶颈 + +### 使用 `iftop` + +- 监控网络流量 + +- 分析网络性能问题 + +## 高级监控工具 + +### 使用 `Nagios` 和 `Zabbix` + +- 安装和配置 `Nagios`/`Zabbix` + +- 配置 KVM 虚拟机监控 + +### 使用 `Prometheus` 和 `Grafana` + +- 安装和配置 `Prometheus` + +- 使用 `Grafana` 可视化监控数据 diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 虚拟机创建管理实例.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 虚拟机创建管理实例.md deleted file mode 100644 index 8b137891..00000000 --- a/Tech/operating-system/Virtualization/2.KVM虚拟化/7. KVM 虚拟机创建管理实例.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Tech/operating-system/Virtualization/2.KVM虚拟化/8. KVM 虚拟机创建管理实例.md b/Tech/operating-system/Virtualization/2.KVM虚拟化/8. KVM 虚拟机创建管理实例.md new file mode 100644 index 00000000..4916027e --- /dev/null +++ b/Tech/operating-system/Virtualization/2.KVM虚拟化/8. KVM 虚拟机创建管理实例.md @@ -0,0 +1,120 @@ +--- +title: 标题 +description: 描述 +keywords: + - 关键字 +tags: + - 标签 +author: 仲平 +date: 2024-07-16 +--- + +## 环境准备 + +### 安装和配置 KVM + +- 安装必要的软件包(libvirt, qemu-kvm, virt-manager 等) +- 启用并配置 KVM 模块 + +### 验证 KVM 安装 + +- 检查 KVM 模块是否已加载 +- 确认虚拟化功能可用 (`kvm-ok` 工具) + +## Linux 虚拟机创建与管理 + +### 下载 Linux ISO 镜像 + +- 下载合适的 Linux 发行版镜像(如 Ubuntu, CentOS) + +### 使用 Virt-manager 创建 Linux 虚拟机 + +1. 启动 virt-manager 并连接到本地主机 +2. 创建新的虚拟机 + - 选择安装介质(ISO 镜像) + - 分配虚拟机名称和存储位置 + - 分配内存和 CPU + - 配置虚拟硬盘 + - 配置网络接口 +3. 启动虚拟机并进行 Linux 系统安装 + - 引导安装程序 + - 安装操作系统 + - 配置基本设置(用户、时区、网络等) + +### 使用命令行工具创建 Linux 虚拟机 + +- 使用 `virt-install` 创建虚拟机 + - 完整的 `virt-install` 命令示例 +- 使用 `virsh` 管理虚拟机 + - 启动、停止和重启虚拟机 + - 查看虚拟机状态和配置信息 + +### 高级配置和管理 + +- 配置虚拟机自动启动 +- 配置虚拟机快照 + - 创建、恢复和删除快照 +- 调整虚拟机资源 + - 动态调整 CPU 和内存 + - 添加和删除虚拟硬盘 + +## Windows 虚拟机创建与管理 + +### 下载 Windows ISO 镜像 + +- 下载合法的 Windows 发行版镜像 + +### 使用 Virt-manager 创建 Windows 虚拟机 + +- 启动 virt-manager 并连接到本地主机 +- 创建新的虚拟机 + - 选择安装介质(ISO 镜像) + - 分配虚拟机名称和存储位置 + - 分配内存和 CPU + - 配置虚拟硬盘 + - 配置网络接口 +- 启动虚拟机并进行 Windows 系统安装 + - 引导安装程序 + - 安装 Virtio 驱动程序 + - 安装操作系统 + - 配置基本设置(用户、时区、网络等) + +### 使用命令行工具创建 Windows 虚拟机 + +- 使用 `virt-install` 创建虚拟机 + - 完整的 `virt-install` 命令示例 +- 使用 `virsh` 管理虚拟机 + - 启动、停止和重启虚拟机 + - 查看虚拟机状态和配置信息 + +### 高级配置和管理 + +- 配置虚拟机自动启动 +- 配置虚拟机快照 + - 创建、恢复和删除快照 +- 调整虚拟机资源 + - 动态调整 CPU 和内存 + - 添加和删除虚拟硬盘 + +## 故障排查 + +### 常见问题及解决方法 + +- 虚拟机无法启动 +- 网络连接问题 + +### 查看和分析日志 + +- 使用 `virsh` 查看虚拟机日志 +- 分析系统日志 + +## 备份与恢复 + +### 虚拟机快照管理 + +- 创建、恢复和删除快照 + +### 虚拟机备份与恢复 + +- 备份虚拟机磁盘映像 +- 从备份恢复虚拟机