以下为本篇文章全部内容:
最近几天有个朋友公司买了十台服务器,说要做虚拟化,需要我帮忙解决一下这方面的问题。我就想起了以前做过kvm的虚拟化,这次也准备推荐给他用上,于是就有了本次这个教程,首先什么是kvm我就简单的介绍一下,Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
高清下载地址:链接: http://pan.baidu.com/s/1gduA3g3 密码: x27m
http://yunpan.cn/cHA6rBqmD4Q7i (提取码:14ea)
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。想要更详细的了解的话,各位就需要自行脑补了。我们获得kvm有多种方式,可以从官方下载源代码进行编译,也可以通过yum进行安装,当然啦用yum是最省事的,依赖什么的也都不需要我们一一安装了。
我们需要对一台服务器进行虚拟化需要以下步骤,我们就直接进入教程,大家看文字不懂可以查看视频教程。
准备工作:
1、centos6.6操作系统服务器一台(需要cpu支持kvm虚拟化)
2、需要安装的系统镜像,linux、ubuntu、windows都可以
3、连接服务器的工具
4、把软件源更新一下(yum update)
kvm官方网站:http://www.linux-kvm.org/page/Main_Page
1、安装virtual
yum groupinstall Virtual*
2、检查是否开启成功
lsmod | grep kvm
3、安装所需软件
yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v tunctl
4、启动libvirtd
service libvirtd start
5、关闭selinux
vim /etc/selinux/config SELINUX=disabled#关闭selinux /usr/sbin/setenforce 0#执行这条命令selinux就不需要重启才生效了,会立即生效
6、关闭iptables
service iptables stop
7、配置网卡信息设置桥接
vim /etc/sysconfig/network-scripts/ifcfg-eth0 eth0的网卡信息 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes BRIDGE=br0#桥接网卡br0 vim /etc/sysconfig/network-scripts/ifcfg-br0 br0的网卡信息 DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
8、重启网络
service network restart
9、检查桥接
brctl show
10、转发
echo 1 > /proc/sys/net/ipv4/ip_forward
11、开启监听vnc
vim /etc/libvirt/qemu.conf vnc_listen = “0.0.0.0"#修改vnc监听端口
12、安装虚拟机
virt-install --name=win7 --ram 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/win7,size=40 --accelerate --cdrom /mnt/win7.iso --graphics vnc,listen=0.0.0.0,password=123456,port=5920 --network bridge=br0 --force --autostart 参数说明: -n --name= 客户端虚拟机名称 -r --ram= 客户端虚拟机分配的内存 -u --uuid= 客户端UUID 默认不写时,系统会自动生成 --vcpus= 客户端的vcpu个数 -v --hvm 全虚拟化 -p --paravirt 半虚拟化 -l --location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装 --vnc 使用vnc ,另有--vnclient=监听的IP --vncport =VNC监听的端口 -c --cdrom= 光驱 安装途径 --disk= 使用不同选项作为磁盘使用安装介质 -w NETWORK, --network=NETWORK 连接客户机到主机网络 -s --file-size= 使用磁盘映像的大小 单位为GB -f --file= 作为磁盘映像使用的文件 --cpuset=设置哪个物理CPU能够被虚拟机使用 --os-type=OS_TYPE 针对一类操作系统优化虚拟机配置(例如:‘linux’,‘windows’) --os-variant=OS_VARIANT 针对特定操作系统变体(例如’rhel6’, ’winxp’,'win2k3')进一步优化虚拟机配置 --host-device=HOSTDEV 附加一个物理主机设备到客户机。HOSTDEV是随着libvirt使用的一个节点设备名(具体设备如’virsh nodedev-list’的显示的结果) --accelerate KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。 -x EXTRA, --extra-args=EXTRA 当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序 --nographics "virt-install" 将默认使用--vnc选项,使用nographics指定没有控制台被分配给客户机
常用命令:
生成kvm虚拟机:virt-install 查看在运行的虚拟机:virsh list 查看所有虚拟机:virsh list –all 查看kvm虚拟机配置文件:virsh dumpxml name 启动kvm虚拟机:virsh start name 停止:virsh destroy name 删除:virsh undefine name 根据配置文件定义虚拟机:virsh define file-name.xml console虚拟机:virsh console name
题外话:大家除了手动创建和更改kvm的虚拟机当然还可以通过安装第三方的控制面板进行VPS销售
谢谢大家对本博客的支持,本站专注原创技术文章,三更半夜做实验写文章不易,且看且珍惜博主的心得。请转载带上本文链接注明出处。
扫二维码快速加群:
如果大家有什么疑问可以加我QQ327388905进行解答,也可以加入交流群
总赞数量:18274
总踩数量:128087
文章数量:29