kvm(一)

Centos7上安装KVM

  1. 处理器开启虚拟化

在这里插入图片描述

  1. 添加 50G的硬盘,格式化,挂载
mkfs.ext4 /dev/sdb
mkdir /kvm_data
echo "/dev/sdb /kvm_data ext4 defaults 0 0" >> /etc/fstab
mount -a
  1. 桥接模式
  2. 安装 kvm相关的包

(1)查看是否支持虚拟化

grep -Ei 'vmx|svm' /proc/cpuinfo

(2) 安装相关包

yum install -y virt-* libvirt bridge-utils qemu-img

配置网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=br0

vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE="Bridge"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
DNS1="192.168.1.1"
IPADDR="192.168.1.19"
PREFIX="24"
GATEWAY="192.168.1.1"

启动服务

systemctl restart network
systemctl start libvirtd

在这里插入图片描述

将 CentOS-7-x86_64-DVD-1804.iso 上传到 linux中
cd /tmp/
ctrl + alt + f 键打开xftp
在这里插入图片描述

创建虚拟机安装CentOS7

virt-install --name=apenglinux01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-1804.iso --disk path=/kvm_data/apenglinux01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

虚拟机管理

ps aux|grep kvm  // 查看进程
virsh list   //列出开启的虚拟机
virsh list --all  // 列出所有的虚拟机
virsh console apenglinux01  //进入到指定的虚拟机
virsh shutdown apenglinux01 //关闭指定的虚拟机
virsh start apenglinux01 // 开启指定的虚拟机
virsh destroy apenglinux01 //强制关闭指定的虚拟机,相当于直接关掉电源
virsh autostart apenglinux01 //宿主机开启,虚拟机也开启
virsh autostart --disable apenglinux01  //解除自动开机
virsh suspend apenglinux01 //挂起
virsh resume apenglinux01
cp -p /etc/libvirt/qemu/apenglinux01.xml /etc/libvirt/qemu/apenglinux01.xml.bak //备份配置文件
virsh undefine apenglinux01 // 销毁虚拟机,同时删除配置文件

cd /etc/libvirt/qemu/
mv apenglinux01.xml.bak apenglinux01.xml
virsh define apenglinux01.xml
### KVM虚拟化技术概述 KVM(Kernel-based Virtual Machine)是种基于内核的虚拟机解决方案,适用于x86架构且硬件支持虚拟化技术(如Intel VT或AMD-V)的Linux平台[^2]。其核心组件包括可加载的核心模块`kvm.ko`以及针对不同处理器优化的子模块`kvm-intel.ko`或`kvm-AMD.ko`。这些模块为处理器提供了底层虚拟化的支持。 为了实现完整的虚拟化功能,KVM依赖于经过修改的QEMU软件(即`qemu-kvm`),用于提供虚拟机的上层控制和用户界面交互。通过这种组合方式,KVM能够在不更改操作系统镜像的前提下同时运行多个虚拟机实例,并允许每个虚拟机拥有独立配置的硬件资源,例如网络接口、存储设备和显示适配器等。 此外,在现代主流Linux发行版中,自2.6.20版本起已默认集成了KVM的支持,这使得部署更加便捷高效。 以下是关于如何构建基于KVM的技术文档或者具体实施方案的些指导: #### 使用Libvirt简化管理和自动化流程 对于希望快速搭建并维护大量虚拟机的企业来说,可以考虑采用libvirt库来统管理整个生命周期内的操作过程。此工具不仅能够跨多种hypervisor工作(比如除了KVM之外还有Xen),而且具备丰富的API接口供开发者调用开发定制应用服务端程序[^1]。 下面是个简单的Python脚本例子展示怎样利用libvirt API连接到本地KVM hypervisor 并列举当前活动中的域(domain): ```python import libvirt conn = libvirt.open("qemu:///system") if conn is None: print('Failed to open connection to qemu:///system') else: domains = conn.listAllDomains() if len(domains) != 0: for domain in domains: print(f"Domain Name: {domain.name()}") else: print("No active domains.") conn.close() ``` 以上代码片段展示了基础的功能——获取所有正在运行状态下的虚拟机名称列表。实际生产环境中还可以扩展更多特性诸如启动/停止特定机器、调整资源配置参数等等复杂任务皆可通过类似的手段完成。 #### 高级特性和最佳实践建议 当深入研究KVM时, 用户可能会遇到些更复杂的主题领域: - **性能优化**: 如何合理分配CPU时间片给各个guest OS? 是否存在I/O瓶颈需要解决? - **安全性考量**: 数据隔离措施是否到位?能否防止恶意攻击者从台受感染的Guest突破至Host系统? - **备份恢复策略制定**: 定期保存快照还是增量复制更为合适? 这些问题都需要结合具体的业务需求和技术背景综合分析得出结论。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值