热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.4系统中在命令行下安装配置KVM虚拟机

KVM作为linux内核的一部分,有着无法比拟的优势,相信KVM的大范围企业应用指日可待。一、KVM宿主服务器环境配置1.查看CPU是否支持VT技术cat/proc/cpuinfo|egrepvmx|svmflags:fpuvmedepsetscmsrpaemcecx8apicmtrrpgemcacmovpatpse3
KVM作为linux内核的一部分,有着无法比拟的优势,相信KVM的大范围企业应用指日可待。

一、KVM宿主服务器环境配置
1. 查看CPU是否支持VT技术
cat /proc/cpuinfo | egrep 'vmx|svm' 
flags : fpu vme de pse tsc msr pae mce cx8 apic
mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2
ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts
rep_good aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16
xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
如果执行指令后有类似返回,则证明CPU支持VT

2. 安装KVM组件
yum groupinstall Virtualization 
yum groupinstall "Virtualization Platform" 

3. 检查KVM模块加载
lsmod | grep kvm 
    kvm_amd                37434  4  
    kvm                   292815  1 kvm_amd 
如果执行指令后有类似返回,则证明KVM模块加载正常,否则检查BIOS中是否开启了CPU VT支持
4. 安装virtsh virt-install 管理工具
yum install libvirt-client python-virtinst 

二、虚拟机安装
1. 建立虚拟机磁盘镜像文件
qcow2格式是kvm支持的标准格式,raw格式为虚拟磁盘文件通用格式。有测试数据表明raw格式的I/O性能略高于qcow2格式,但是在加密,容量,快照方面qcow2格式有优势
qemu-img create -f qcow2 test.qcow2 20G //建立qcow2格式磁盘文件
qemu-img create -f raw test.raw 20G  //建立raw格式磁盘文件
qemu-img info test.qcow2 //查看已经创建的虚拟磁盘文件

2. 建立虚拟机示例
创建1G内存、2核CPU、单网卡,磁盘和网络驱动使用virtio的linux虚拟机
virt-install --name rhel5.4 \ 
--boot network,cdrom,menu=on \ 
--ram 1024 --vcpus=2 \ 
--os-variant=rhel5.4 \ 
--accelerate \ 
--cdrom=/troodon/ISO/CentOS-6.2-x86_64-bin-DVD1.iso \ 
--disk path=/troodon/KVM/test01/test01.img,size=30,format=qcow2,bus=virtio \ 
--bridge=br0,model=virtio --mac=54:52:00:01:79:e9 \ 
--vnc --vncport=5991 --vnclisten=0.0.0.0. 

创建8G内存、4核CPU、双网卡,磁盘和网络驱动使用virtio的linux虚拟机
virt-install --name rhel5.2 \ 
--boot network,cdrom,menu=on \ 
--ram 8192 --vcpus=4 \ 
--os-variant=rhel6 \ 
--cdrom=/troodon/ISO/CentOS-6.2-x86_64-bin-DVD1.iso \ 
--disk path=/troodon/KVM/test01/test01.img,format=qcow2,bus=virtio \ 
--bridge=br0,model=virtio --mac=54:52:00:0b:8b:79 \
--bridge=br1,model=virtio --mac=54:52:00:7e:8e:cd \
--vnc --vncport=5991 --vnclisten=0.0.0.0 

创建1G内存、1核CPU、单网卡,磁盘和网络驱动使用virtio的windows虚拟机
virt-install --name win2k3 \ 
--ram 1024 --vcpus=1 \ 
--os-variant=win2k3 \ 
--accelerate \ 
--cdrom=/troodon/ISO/Windows/2003/win2k3sp1.iso \ 
--disk path=/troodon/KVM/win2k3/win2k3.img,size=5,format=qcow2,bus=virtio \ 
--bridge=br0,model=virtio \ 
--vnc --vncport=5991 --vnclisten=0.0.0.0 

一些解释:

virtio驱动对于磁盘和网络I/O性能有很大提升(默认qemu驱动),linux虚拟机安装完成后自动加载virtio驱动,windows虚拟机需要下载virtio驱动后安装
--mac参数指定网卡mac地址,如果不指定系统会自动分配
虚拟机配置文件存储在 /etc/libvirt/qemu 目录,配置文件为XML格式
开机自启动的虚拟机配置可以通过链接放到 /etc/libvirt/qemu/autostart 目录,配置文件为XML格式

3. 虚拟机安装指令 virt-install 简介
--name 指定虚拟机名称,virsh操作指定虚拟机时所需要的参数,不可以重复。 
--ram 分配内存大小,安装完成后可以用 virsh 调整。 
--vcpus 分配CPU核心数,最大与实体机CPU核心数相同,安装完成后也可以用 virsh 调整。 
--disk 指定虚拟机镜像, size 指定分配大小单位为G。 
--network 网络类型,此处用的是默认,一般用的应该是 bridge 桥接。 
--os-variant 指定操作系统类型,此处使用的是标准Linux 2.6,其他的可以通过 man virt-install 详细查看。 
--accelerate 加速,具体什么原理还不太清楚。 
--cdrom 指定安装镜像所在。 
--vnc 启用VNC远程管理,一般安装系统都要启用。 
--vncport 指定 VNC 监控端口,默认端口为 5900,端口不能重复。 
--vnclisten 指定 VNC 绑定IP,默认绑定127.0.0.1,这里将其改为 0.0.0.0 以便可以通过外部连接。 

4. 虚拟机管理指令 virsh 简介
virsh list 列出当前虚拟机列表,不包括未启动的
virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机
virsh start domain-name 启动指定虚拟机
virsh shutdown domain-name 停止指定虚拟机 
virsh reboot domain-name 重新启动指定虚拟机
virsh autostart domain-name 指定虚拟机开机自动启动 

推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
author-avatar
Hydhuyfh________
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有