Compare commits
2 Commits
a631118fad
...
33ebeba767
Author | SHA1 | Date | |
---|---|---|---|
33ebeba767 | |||
174d98055b |
@ -20,6 +20,10 @@ date: 2024-07-09
|
||||
|
||||
[VMware vSphere](https://www.vmware.com/products/vsphere.html) 是 [VMware](https://www.vmware.com/) 公司推出的企业级虚拟化平台,被广泛认为是**市场上最成熟、功能最强大的虚拟化解决方案之一**。vSphere 集成了虚拟化、管理和自动化功能,帮助企业构建灵活、高效的 IT 基础设施。
|
||||
|
||||
**架构图**
|
||||
|
||||
![VMware vSphere ](https://static.7wate.com/2024/07/17/34230c4a1a01e.png)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2001 年**:VMware 发布了其首个虚拟化产品 VMware GSX Server 和 VMware ESX Server。
|
||||
@ -71,6 +75,10 @@ VMware vSphere 是一款功能强大的企业级虚拟化平台,具有高性
|
||||
|
||||
[Microsoft Hyper-V](https://learn.microsoft.com/en-us/training/paths/windows-server-hyper-v-virtualization/) 是微软推出的虚拟化平台,**广泛集成在 Windows Server 操作系统中**,提供企业级虚拟化解决方案。Hyper-V 支持虚拟化 Windows 和 Linux 操作系统,是微软生态系统的重要组成部分。
|
||||
|
||||
**架构图**
|
||||
|
||||
![hv_architecture.png](https://static.7wate.com/2024/07/17/65907c781f05f.gif)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2008 年**:微软发布了 Hyper-V 的第一个版本,作为 Windows Server 2008 的一个功能组件,标志着微软正式进入虚拟化市场。
|
||||
@ -125,6 +133,10 @@ Microsoft Hyper-V 是一款功能强大且成本效益高的企业级虚拟化
|
||||
|
||||
**QEMU 可以独立运行,也可以与 KVM 结合使用,以提供接近原生的性能。**
|
||||
|
||||
**架构图**
|
||||
|
||||
![KVM 架构图](https://static.7wate.com/2024/07/15/b324679637ccd.png)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2003 年**:QEMU 项目由 Fabrice Bellard 启动,最初作为一种用户模式仿真器发布。
|
||||
@ -187,6 +199,10 @@ Microsoft Hyper-V 是一款功能强大且成本效益高的企业级虚拟化
|
||||
|
||||
**[Citrix XenServer](https://www.xenserver.com/) 是基于 [Xen hypervisor](https://xenproject.org/) 的开源虚拟化平台,提供企业级的虚拟化解决方案。**XenServer 以其高性能和高可用性著称,并且能够与 Citrix 的桌面虚拟化和应用虚拟化解决方案无缝集成。
|
||||
|
||||
**架构图**
|
||||
|
||||
![architecture-overview.png](https://static.7wate.com/2024/07/17/45477057b003b.png)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2003 年**:Xen 项目由剑桥大学发起,并迅速成为开源社区的热门项目。
|
||||
@ -241,6 +257,10 @@ Citrix XenServer 是一款高性能、高可用性和易于管理的开源虚拟
|
||||
|
||||
**[OpenStack](https://www.openstack.org/) 是一个开源的云计算平台,支持构建公有云和私有云环境。**它由多个互相依赖的组件组成,提供计算、存储和网络的虚拟化服务。OpenStack 提供了高度可扩展和灵活的云基础设施,适用于各种规模的企业和组织。
|
||||
|
||||
**架构图**
|
||||
|
||||
![map-of-OpenStack-projects.png](https://static.7wate.com/2024/07/17/2be68edb8bb88.png)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2010 年**:OpenStack 项目由 NASA 和 Rackspace 合作发起,旨在提供开源的云计算解决方案,为用户提供自由和灵活的云环境选择。
|
||||
@ -291,6 +311,10 @@ Citrix XenServer 是一款高性能、高可用性和易于管理的开源虚拟
|
||||
|
||||
**[Proxmox VE](https://www.proxmox.com/) (Virtual Environment) 是一个开源的虚拟化管理平台**,支持 KVM(Kernel-based Virtual Machine)和 LXC(Linux Containers)容器。它提供了集成的虚拟化和容器化管理功能,是**中小企业和实验室环境的理想选择。**
|
||||
|
||||
**架构图**
|
||||
|
||||
![proxmox_introduction.svg](https://static.7wate.com/2024/07/17/73e9617275bd9.svg)
|
||||
|
||||
**历史发展**
|
||||
|
||||
- **2008 年**:Proxmox VE 发布第一个版本,提供开源的 KVM 管理平台,为企业和开发者提供了一个免费的虚拟化解决方案。
|
||||
@ -446,7 +470,7 @@ Oracle VM VirtualBox 是**一款功能强大且灵活的开源桌面虚拟化软
|
||||
## 虚拟化平台对比
|
||||
|
||||
| **维度** | **VMware vSphere** | **Microsoft Hyper-V** | **KVM 与 QEMU** | **Citrix XenServer** | **OpenStack** | **Proxmox VE** |
|
||||
| ---------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| ---------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| **技术** | 全虚拟化,裸机型 Hypervisor,支持 vMotion、DRS、HA 等。 | 全虚拟化,裸机型 Hypervisor,支持 Hyper-V Replica。 | 全虚拟化,内核模块,支持高性能计算和虚拟网络。 | 全虚拟化,裸机型 Hypervisor,支持高性能计算和大规模部署。 | 全虚拟化,模块化组件设计,支持计算、存储和网络虚拟化。 | 全虚拟化,支持 KVM 虚拟机和 LXC 容器,集群和备份功能。 |
|
||||
| **分类** | 硬件虚拟化,操作系统虚拟化。 | 硬件虚拟化,操作系统虚拟化。 | 硬件虚拟化,操作系统虚拟化。 | 硬件虚拟化,操作系统虚拟化。 | 硬件虚拟化,操作系统虚拟化,网络虚拟化,存储虚拟化。 | 硬件虚拟化,操作系统虚拟化,容器虚拟化。 |
|
||||
| **特点** | 高性能和高可靠性,先进的管理功能,广泛兼容性,强大安全性。 | 内置于 Windows Server,深度集成 Microsoft 生态系统,高可用性和灾难恢复。 | 开源和社区驱动,高度可扩展,性能优越。 | 高性能和高可用性,集成 Citrix 生态系统,易于管理。 | 模块化设计,高度可扩展,广泛的硬件和软件兼容性。 | 集成虚拟化和容器化管理,易于部署和管理,高可用性和备份功能。 |
|
||||
@ -454,7 +478,7 @@ Oracle VM VirtualBox 是**一款功能强大且灵活的开源桌面虚拟化软
|
||||
| **缺点** | 价格较高,学习曲线较陡。 | 性能可能不如专门的虚拟化平台,功能可能不如 vSphere 强大。 | 需要较高的 Linux 知识,商业支持需付费。 | 社区支持较弱,功能可能不如 vSphere 和 Hyper-V。 | 部署和管理复杂,需高技术水平。 | 不如商业平台功能强大,企业级支持较少。 |
|
||||
| **适用场景** | 大型企业数据中心,私有云和混合云。 | 中小型企业,微软技术栈。 | 开源技术偏好企业,多样化 IT 环境。 | 桌面虚拟化,开源技术偏好企业。 | 大规模云计算环境,企业私有云和公有云。 | 中小型企业和实验室环境,多虚拟化技术集成。 |
|
||||
| **虚拟化软件** | VMware vSphere、ESXi、vCenter Server。 | Windows Server、Hyper-V Manager、System Center。 | Red Hat Enterprise Linux、RHEV、oVirt。 | Citrix XenServer、XenCenter。 | OpenStack Compute (Nova)、Cinder、Neutron。 | Proxmox VE、PVE 管理界面。 |
|
||||
| **Hypervisor 类型** | Type 1 裸机型。 | Type 1 裸机型。 | Type 1 裸机型,集成在 Linux 内核中。 | Type 1 裸机型。 | Type 1 裸机型,模块化架构。 | Type 1 裸机型。 |
|
||||
| **Hypervisor 类型** | Type 1 裸机型。 | Type 1 裸机型。 | Type 1+2 型,KVM 集成在 Linux 内核中。 | Type 1 裸机型。 | Type 1 裸机型,模块化架构。 | Type 1 裸机型。 |
|
||||
| **容器支持** | 通过 vSphere Integrated Containers 支持。 | 通过 Windows Server 容器支持。 | 通过 Docker 和 Podman 支持。 | 支持 LXC 容器。 | 通过 Magnum 支持容器编排。 | 通过 LXC 支持容器。 |
|
||||
| **存储虚拟化** | vSAN、VAAI。 | Storage Spaces Direct。 | GlusterFS、Ceph。 | XenMotion、XenServer StorageLink。 | Cinder、Swift、Ceph。 | ZFS、Ceph。 |
|
||||
| **网络虚拟化** | NSX、vSwitch。 | Hyper-V Virtual Switch、SDN。 | Open vSwitch、Linux Bridge。 | Open vSwitch、SR-IOV。 | Neutron、Open vSwitch。 | Open vSwitch、Linux Bridge。 |
|
||||
|
@ -60,6 +60,8 @@ date: 2024-07-09
|
||||
|
||||
Hypervisor 是虚拟机的管理程序,负责资源分配、调度和隔离。Hypervisor 在物理硬件和虚拟机之间进行协调,确保资源的高效利用和虚拟机的安全隔离。
|
||||
|
||||
![Type 1 vs. Type 2 Hypervisors](https://static.7wate.com/2024/07/15/b506eeb644613.png)
|
||||
|
||||
- **Type 1 Hypervisor(裸机型)**:直接运行在物理硬件上,无需宿主操作系统。例如 VMware ESXi、Microsoft Hyper-V 和 Citrix XenServer。
|
||||
- **Type 2 Hypervisor(托管型)**:运行在宿主操作系统之上。例如 VMware Workstation、Oracle VirtualBox。
|
||||
|
||||
@ -76,6 +78,8 @@ Hypervisor 是虚拟机的管理程序,负责资源分配、调度和隔离。
|
||||
|
||||
容器是一种轻量级的虚拟化方式,通过提供隔离的用户空间环境,实现应用的快速部署和运行。容器技术共享宿主操作系统内核,但每个容器有自己的文件系统、进程空间和网络接口。
|
||||
|
||||
![Containers](https://static.7wate.com/2024/07/17/7b656946d8d95.png)
|
||||
|
||||
- **Docker**:最流行的容器技术,提供简单易用的工具来创建、管理和分发容器化应用。
|
||||
- **Kubernetes**:容器编排平台,用于自动化部署、扩展和管理容器化应用。
|
||||
- **LXC(Linux Containers)**:基于 Linux 的轻量级容器技术。
|
||||
|
@ -23,14 +23,14 @@ date: 2024-07-16
|
||||
|
||||
在部署 KVM 前,需要确保系统的 CPU 支持硬件虚拟化技术。这些技术包括 Intel 的 VT-x 和 AMD 的 AMD-V。以下是检查方法:
|
||||
|
||||
1. Intel CPU:使用命令 `grep -E "vmx" /proc/cpuinfo` 检查 CPU 是否支持 VT-x。
|
||||
2. AMD CPU:使用命令 `grep -E "svm" /proc/cpuinfo` 检查 CPU 是否支持 AMD-V。
|
||||
1. **Intel CPU**:使用命令 `grep -E "vmx" /proc/cpuinfo` 检查 CPU 是否支持 VT-x。
|
||||
2. **AMD CPU**:使用命令 `grep -E "svm" /proc/cpuinfo` 检查 CPU 是否支持 AMD-V。
|
||||
|
||||
如果命令输出中包含 `vmx` 或 `svm`,则表示 CPU 支持相应的虚拟化技术。
|
||||
|
||||
#### 启用 BIOS/UEFI 中的虚拟化支持
|
||||
|
||||
即使 CPU 支持虚拟化技术,也需要在 BIOS/UEFI 中启用相应的功能。以下是通用的启用步骤,具体步骤可能因主板制造商不同而有所差异:
|
||||
**即使 CPU 支持虚拟化技术,也需要在 BIOS/UEFI 中启用相应的功能。**以下是通用的启用步骤,具体步骤可能因主板制造商不同而有所差异:
|
||||
|
||||
1. 启动计算机并进入 BIOS/UEFI 设置界面(通常按 `Delete`、`F2`、`F10` 或 `Esc` 键)。
|
||||
2. 在 BIOS/UEFI 设置中,找到“高级”或“处理器”选项。
|
||||
@ -41,9 +41,9 @@ date: 2024-07-16
|
||||
|
||||
KVM 作为 Linux 内核的一部分,主要在 Linux 操作系统上运行。以下是一些常用的、支持 KVM 的 Linux 发行版:
|
||||
|
||||
- **Ubuntu**:广泛使用的发行版,提供了良好的社区支持和文档。
|
||||
- **CentOS**:企业级发行版,基于 Red Hat Enterprise Linux (RHEL) 的源代码构建,适合服务器环境。
|
||||
- **RHEL**:Red Hat Enterprise Linux,提供商业支持和长期维护,广泛应用于企业环境。
|
||||
- **Ubuntu**:广泛使用的发行版,提供了良好的社区支持和文档。
|
||||
|
||||
## 安装 KVM 和 QEMU
|
||||
|
||||
@ -58,7 +58,7 @@ KVM 作为 Linux 内核的一部分,主要在 Linux 操作系统上运行。
|
||||
2. 安装 KVM、QEMU 和相关工具:
|
||||
|
||||
```bash
|
||||
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
|
||||
apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst libosinfo-bin
|
||||
```
|
||||
|
||||
3. 启用并启动 libvirtd 服务:
|
||||
@ -72,13 +72,13 @@ KVM 作为 Linux 内核的一部分,主要在 Linux 操作系统上运行。
|
||||
1. 更新系统:
|
||||
|
||||
```shell
|
||||
sudo yum update
|
||||
sudo dnf update
|
||||
```
|
||||
|
||||
2. 安装 KVM、QEMU 和相关工具:
|
||||
|
||||
```shell
|
||||
sudo yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install
|
||||
sudo dnf install qemu-kvm libvirt virt-install
|
||||
```
|
||||
|
||||
3. 启用并启动 libvirtd 服务:
|
||||
@ -130,7 +130,7 @@ sudo systemctl enable --now libvirtd
|
||||
- 在 CentOS/RHEL 上安装:
|
||||
|
||||
```shell
|
||||
sudo yum install virt-manager
|
||||
sudo dnf install virt-manager
|
||||
```
|
||||
|
||||
- 在其他 Linux 发行版上安装:
|
||||
@ -206,6 +206,7 @@ sudo systemctl enable --now libvirtd
|
||||
QEMU: Checking for device /dev/kvm: PASS
|
||||
QEMU: Checking for device /dev/vhost-net: PASS
|
||||
QEMU: Checking for device /dev/net/tun: PASS
|
||||
……
|
||||
```
|
||||
|
||||
通过以上步骤,可以确保 KVM 及其相关工具已正确安装并配置好。接下来可以开始创建和管理虚拟机,充分利用 KVM 提供的虚拟化功能。
|
||||
@ -214,7 +215,7 @@ sudo systemctl enable --now libvirtd
|
||||
|
||||
### 配置网络桥接
|
||||
|
||||
网络桥接允许虚拟机直接与主机网络进行通信,使其像物理机一样访问网络。以下是创建和配置虚拟网络桥接的详细步骤:
|
||||
网络桥接允许虚拟机直接与主机网络进行通信,使其像物理机一样访问网络。以下是使用 `nmcli` 创建和配置虚拟网络桥接的详细步骤:
|
||||
|
||||
#### 创建虚拟网络桥接(桥接模式)
|
||||
|
||||
@ -223,75 +224,64 @@ sudo systemctl enable --now libvirtd
|
||||
- 在 Ubuntu 上:
|
||||
|
||||
```shell
|
||||
sudo apt install bridge-utils
|
||||
sudo apt update
|
||||
sudo apt install network-manager
|
||||
```
|
||||
|
||||
- 在 CentOS/RHEL 上:
|
||||
|
||||
```shell
|
||||
sudo yum install bridge-utils
|
||||
sudo dnf install NetworkManager
|
||||
```
|
||||
|
||||
2. **配置网络桥接**:
|
||||
|
||||
- 编辑网络配置文件以添加桥接配置。例如,假设你正在使用 `eth0` 接口。
|
||||
|
||||
- **在 Ubuntu 上**: 编辑 `/etc/netplan/01-netcfg.yaml` 文件(具体文件名可能不同):
|
||||
|
||||
```yaml
|
||||
network:
|
||||
version: 2
|
||||
renderer: networkd
|
||||
ethernets:
|
||||
eth0:
|
||||
dhcp4: no
|
||||
bridges:
|
||||
br0:
|
||||
interfaces: [eth0]
|
||||
dhcp4: yes
|
||||
```
|
||||
|
||||
应用配置:
|
||||
- 创建一个新的网桥接口:
|
||||
|
||||
```shell
|
||||
sudo netplan apply
|
||||
sudo nmcli connection add type bridge ifname br0
|
||||
```
|
||||
|
||||
- **在 CentOS/RHEL 上**: 创建或编辑 `/etc/sysconfig/network-scripts/ifcfg-br0` 文件:
|
||||
|
||||
```ini
|
||||
DEVICE=br0
|
||||
TYPE=Bridge
|
||||
BOOTPROTO=dhcp
|
||||
ONBOOT=yes
|
||||
```
|
||||
|
||||
编辑 `/etc/sysconfig/network-scripts/ifcfg-eth0` 文件:
|
||||
|
||||
```ini
|
||||
DEVICE=eth0
|
||||
BOOTPROTO=none
|
||||
ONBOOT=yes
|
||||
BRIDGE=br0
|
||||
```
|
||||
|
||||
重启网络服务:
|
||||
|
||||
```
|
||||
sudo systemctl restart network
|
||||
```
|
||||
|
||||
#### 配置桥接网络的详细步骤
|
||||
|
||||
1. **验证桥接配置**:
|
||||
- 将物理接口连接到网桥上,例如假设你正在使用 `eth0` 接口:
|
||||
|
||||
```shell
|
||||
ip a
|
||||
sudo nmcli connection add type bridge-slave ifname eth0 master br0
|
||||
```
|
||||
|
||||
应该看到 `br0` 接口与 `eth0` 接口关联,且获得了 IP 地址。
|
||||
- 建议禁用网桥接口 IPv4 和 IPv6,网桥接口仅作为二层设备使用:
|
||||
|
||||
2. **配置 libvirt 使用桥接网络**: 编辑或创建网络配置文件,例如 `/etc/libvirt/qemu/networks/bridged.xml`:
|
||||
```shell
|
||||
sudo nmcli connection modify br0 ipv4.method disable
|
||||
sudo nmcli connection modify br0 ipv6.method disable
|
||||
```
|
||||
|
||||
- 激活网桥和物理接口:
|
||||
|
||||
```shell
|
||||
sudo nmcli connection up br0
|
||||
sudo nmcli connection up eth0
|
||||
```
|
||||
|
||||
#### 验证桥接配置
|
||||
|
||||
1. **检查网桥接口状态**:
|
||||
|
||||
```shell
|
||||
nmcli connection show
|
||||
nmcli device status
|
||||
```
|
||||
|
||||
应该看到类似以下的输出,表示网桥 `br0` 和物理接口 `eth0` 已经配置并启用:
|
||||
|
||||
```text
|
||||
NAME UUID TYPE DEVICE
|
||||
br0 12345678-1234-1234-1234-123456789abc bridge br0
|
||||
eth0 87654321-4321-4321-4321-abcdefabcdef ethernet eth0
|
||||
```
|
||||
|
||||
#### 配置 Libvirt 使用桥接网络
|
||||
|
||||
1. **编辑或创建网络配置文件**:例如 `/etc/libvirt/qemu/networks/bridged.xml`:
|
||||
|
||||
```xml
|
||||
<network>
|
||||
@ -301,7 +291,7 @@ sudo systemctl enable --now libvirtd
|
||||
</network>
|
||||
```
|
||||
|
||||
定义并启动该网络:
|
||||
2. **定义并启动该网络**:
|
||||
|
||||
```shell
|
||||
sudo virsh net-define /etc/libvirt/qemu/networks/bridged.xml
|
||||
@ -309,6 +299,8 @@ sudo systemctl enable --now libvirtd
|
||||
sudo virsh net-autostart bridged
|
||||
```
|
||||
|
||||
通过这些步骤,您可以在 Ubuntu 和 CentOS 系列系统中使用 `nmcli` 来统一配置和管理网络桥接。这确保了配置的一致性,并简化了网络管理。
|
||||
|
||||
### 配置存储池和存储卷
|
||||
|
||||
存储池和存储卷管理是 KVM 中虚拟机存储管理的重要组成部分。存储池可以是目录、LVM 或 NFS 等类型,存储卷则是具体的磁盘映像文件。
|
||||
@ -371,7 +363,7 @@ sudo systemctl enable --now libvirtd
|
||||
- 在 CentOS/RHEL 上:
|
||||
|
||||
```shell
|
||||
sudo yum install nfs-utils
|
||||
sudo dnf install nfs-utils
|
||||
```
|
||||
|
||||
- 定义存储池:
|
||||
@ -520,7 +512,7 @@ sudo systemctl enable --now libvirtd
|
||||
- 在 CentOS/RHEL 上:
|
||||
|
||||
```shell
|
||||
sudo yum install virt-manager
|
||||
sudo dnf install virt-manager
|
||||
```
|
||||
|
||||
2. **启动 `virt-manager`**:
|
||||
|
Loading…
Reference in New Issue
Block a user