【Linux】虚拟机

在这里插入图片描述

个人主页:Guiat
归属专栏:Linux

在这里插入图片描述

正文

1. 虚拟化技术基础

1.1 核心概念

物理主机
Hypervisor
虚拟机1
虚拟机2
Guest OS
Guest OS
  • Type-1 Hypervisor (裸金属架构): KVM/Xen/ESXi
  • Type-2 Hypervisor (宿主架构): VirtualBox/VMware Workstation

1.2 技术选型对比

特性KVMVirtualBoxVMware ESXi
性能接近物理机中等最优
资源消耗较高最低
开源支持部分开源商业闭源
快照功能支持支持企业级支持

2. KVM环境搭建

2.1 安装验证

# Ubuntu/Debian
sudo apt install qemu-kvm libvirt-daemon-system virtinst bridge-utils

# CentOS/RHEL
sudo yum install @virtualization

# 验证模块加载
lsmod | grep kvm
# 预期输出应包含kvm_intel或kvm_amd

2.2 创建虚拟机

# 创建20G磁盘镜像
qemu-img create -f qcow2 ubuntu-server.qcow2 20G

# 启动安装(需ISO镜像)
virt-install \
--name ubuntu-server \
--ram 2048 \
--vcpus 2 \
--disk path=ubuntu-server.qcow2 \
--os-type linux \
--os-variant ubuntu22.04 \
--network bridge=virbr0 \
--graphics spice \
--cdrom /path/to/ubuntu-22.04-live-server.iso

3. 网络配置管理

3.1 网络模式对比

模式IP分配外部访问典型应用
NAT私有地址单向出站个人测试环境
桥接物理网络地址双向通信生产服务器
隔离网络自定义地址仅主机间通信安全测试环境

3.2 配置桥接网络

# 编辑网络配置(Ubuntu示例)
sudo nano /etc/netplan/01-netcfg.yaml

# 添加桥接配置
network:
  version: 2
  renderer: networkd
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

4. 存储管理技巧

4.1 磁盘扩容操作

# 扩展qcow2镜像到30G
qemu-img resize ubuntu-server.qcow2 +10G

# 虚拟机内部操作
sudo fdisk /dev/vda   # 删除重建分区
sudo resize2fs /dev/vda1

4.2 快照管理

# 创建快照
virsh snapshot-create-as ubuntu-server snap1

# 恢复快照
virsh snapshot-revert ubuntu-server snap1

# 列出快照
virsh snapshot-list ubuntu-server

5. 性能优化策略

5.1 资源分配建议

80% 20% CPU分配原则 物理核心80% 保留20%宿主机
  • 内存优化:启用KSM(合并相同内存页)

    echo 1 > /sys/kernel/mm/ksm/run
    
  • 磁盘IO优化:使用virtio驱动+writeback缓存

    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/path/to/disk.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    

6. 高级运维操作

6.1 虚拟机迁移

# 冷迁移(关机状态)
virsh dumpxml ubuntu-server > vm-config.xml
scp vm-config.xml root@newhost:/etc/libvirt/qemu/
scp ubuntu-server.qcow2 root@newhost:/var/lib/libvirt/images/

# 热迁移(需共享存储)
virsh migrate --live ubuntu-server qemu+ssh://newhost/system

6.2 监控诊断

# 实时性能监控
virt-top

# 查看虚拟机控制台
virsh console ubuntu-server

# 日志定位
journalctl -u libvirtd -f

7. 常见问题处理

7.1 故障排查表

现象解决方案
虚拟机无法启动检查XML配置virsh edit vm
网络连接失败验证防火墙规则和桥接状态
磁盘空间不足使用qemu-img resize扩容
性能异常下降检查virtio驱动是否加载

7.2 安全加固建议

  1. 定期更新宿主系统安全补丁

  2. 禁用不必要的虚拟机服务

  3. 使用AppArmor/SELinux隔离

  4. 配置虚拟机访问白名单

    # /etc/libvirt/qemu.conf
    access_drivers = [ "polkit" ]
    

8. 学习路径推荐

  1. 掌握基本virsh命令操作
  2. 学习libvirt API开发
  3. 研究OpenStack云平台架构
  4. 探索容器与虚拟机混合部署
  5. 参与oVirt管理平台实践

结语
感谢您的阅读!期待您的一键三连!欢迎指正!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Guiat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值