Centos 6.3 64bit安装KVM总结

简介:

1.[root@kvmtest ~]#egrep 'vmx|svm' /proc/cpuinfo//首先确定你的cpu是否支持vmx或者svm虚拟化,vmx属于inter处理器,svm属于amd处理器,或者用cpu-z查看你的处理器是否支持vt-x虚拟化,bios中开启vt支持。

2.系统安装利用kickstart安装KVM,最主要是添加4个组包
@virtualization //提供虚拟机的环境,主要包含qumu-kvm
@virtualization-client//管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
@virtualization-platform//提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
@virtualization-tools //管理离线虚拟机镜像的工具,主要有libguestfs根据需求选择软件包,一般都安装1,2,3 利用yum groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"

3.[root@kvmtest ~]# lsmod|grep kvm //以下说明已经加载了kvm和kvm_intel的模块。
kvm_intel              52570  3 
kvm                   314739  1 kvm_intel

4.使用下列命令检查KVM是否成功安装
[root@kvmtest ~]#virsh -c qemu:///system list  //以下表示正常
将会显示如下结果: 
Id Name                 State
-------

5.[root@kvmtest ~]# service libvirtd status //查看libvirtd API工具是否启动
libvirtd (pid  1607) is running...
[root@kvmtest ~]# chkconfig --list libvirtd //查看libvirtd 开机启动runlevel为3,4,5级别
libvirtd        0:off   1:off   2:off   3:on    4:on    5:on    6:off

6.KVM Bridge上网配置

桥模式简介
关于桥的模式:
其实我们在虚拟机搭建的时候,我们最终关心的网卡是: eth0, br0, vnet0,vnet1… 其中,我们的eth0是原来的物理网卡,br0是我们虚拟出来的桥设备,而vnetXXX就是桥接映射到虚拟机里面用到的网

卡。当配置完了之后,我们使用ifconfig,查看起来的话,eth0是没有ip地址的,而br0仿佛是虚拟出来的一个原来eth0的访问接口,它具有ip地址,可以代替原来的eth0被访问,而vnetXX的地址可以在

建立虚拟机之后在虚拟机里面配置,桥接后可以被外部访问。

虽然不知道我的表述是否的标准,但是大概就是这么个意思。

注意:将已有的物理网卡添加到网桥,此时物理网卡工作于混杂模式,所以不需要IP了,因为网桥是工作在链路层的。br0就提供了IP地址,来模拟原来的物理网卡的访问接口.关于混杂模式:查了一些

资料,原因是根据以太网的原理,包是在整个子网里面广播发送的,当网卡发现这个数据帧不是发给自己的也不是广播包的时候,就直接把它丢掉,而不传送到上层内核去处理;而当网卡处于混杂模式

的时候,网卡就不会丢掉帧,而是全部向上提交到内核,让内核处理这些帧结构。通常的,混杂模式使用来进行网络调试的,不是正常的工作状态。

目标:
让虚拟机和物理机有相同的网段,使得办公局域网内能访问虚拟机。 
这样可以在一台性能较好的台式机上虚拟出kvmtest1,kvmtest2,kvmtest3,kvmtest4等服务器 各种服务之间不会相互干扰,只要物理机不down掉,虚拟机之间相对独立,已经安装桥接bridge-utils和

虚拟机接口创建工具tunctl,添加修改配置文件来更简单,eth0为物理接口br0为桥接网口,使用下列同样的方法配置eth1为第二块物理接口br1为桥接网口。

7. [root@kvmtest ~]#cat ifcfg-br0 //查看ifcfg-br0配置文件
DEVICE=br0 //网卡接口名称
TYPE=Bridge //网卡类型
BOOTPROTO=static //启动地址协议static静态,bootp协议和dhcp协议
NM_CONTROLLED=no //是否允许networkManager管理
ONBOOT=yes //启动系统是否自动加载
IPADDR=192.168.xx.xxx //网卡ip地址
NETMASK=255.255.255.0   //网卡网络地址
GATEWAY=192.168.xx.xx   //网卡网关地址

8. [root@kvmtest ~]##cat ifcfg-eth0 //查看ifcfg-eth0配置文件
DEVICE=eth0  //网卡接口名称
TYPE=Ethernet //网卡类型
BOOTPROTO=none //启动地址协议static静态,bootp协议和dhcp协议
HWADDR=8C:89:A5:65:B8:3D  //网卡mac物理地址
NM_CONTROLLED=no //是否启动networkmanager管理
ONBOOT=yes //启动系统是否自动加载
BRIDGE=br0 //桥接为br0名字可以自定

9. [root@kvmtest ~]#service network restart //重启网络让br0 和br1桥生效。
Shutting down interface br0:                               [  OK  ]
Shut Shutting down interface br0:                          [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface br0:                                 [  OK  ]
Bringing up interface eth1:                                [  OK  ]
Bringing up interface br1:                                 [  OK  ]

10. [root@kvmtest ~]# brctl show //查看全部桥接信息
bridge name     bridge id               STP enabled     interfaces
br0             8000.8c89a565b83d       no              eth0
br1             8000.00e04cefb385       no              eth1
virbr0          8000.5254001daa20       yes             virbr0-nicvirbr0//系统默认生成接口主要用于NAT,如果要删除可以先ifconfig virbr0 down接口,然后利用brctl delbr virbr0删除掉

即可。       

11.安装宿主机host中的guest系统

virt-install是一个使用“libvirt” hypervisor 管理库构建新虚拟机的命令行工具,此工具使用串行控制台,SDL(Simple DirectMedia Layer)图形或者VNC客户端/服务器,支持基于命令行和图形

安装。

所建立的客户机(在虚拟化中,把运行运行虚拟机服务器称为host,把虚拟机称为guest)能够配置使用一个或多个虚拟磁盘、网卡、音频设备和物理安装媒介可以本地或基于NFS、HTTP、FTP服务器远程

连接,基于后者,virt-install将提取必要的最小限度的文件开始安装过程,在安装过程中,允许客户机根据需要提取其他的文件,也支持PXE引导和导入已有的磁盘映像(此操作跳过安装阶段)。

给予适合的命令行变量,“virt-install”具有完全无人值守安装的能力,这允许更容易的客户机自动化安装。本工具也支持,互模式通过提供 --prompt选项,但是这种方式只要求最小的必要选项。安

装guest系统默认使用virt-install工具创建磁盘为raw格式,利用virt-install工具来安装.无GUI使用virt-install安装guest,有图形界面用virt-manager工具当你的CentOS没有桌面环境时,可以使用

virt-install命令安装,如:

1、输入虚拟机名称
2、分配多少内存
3、处理器的个数
4、此步可以直接输入iso的位置或是url
5、虚拟机类型KVM
6、定义虚拟机磁盘映像的位置
7、磁盘的大小
6、指定哪个桥或者可以指定多个桥
7、额外的控制台和KS文件
8、连接到系统参数

12.[root@localhost ~]#virt-install -v -n kvmtest1 -r 512 --vcpus=1 -l http://mirrors.163.com/centos/6.3/os/x86_64/ --nographics --virt-type=kvm -f /home/vmimages/kvmtest1.img -s

10 -w bridge:br0 –w bridge:br1 --extra-args='console=tty0 console=ttyS0,115200n8 ks=http://192.168.xx.xx/test1.cfg' --connect qemu:///system

参数说明注意每行都要空格
-n   虚拟机名称
-r   分配虚拟机内存大小
--vcpus  分配虚拟cpu个数
-c  镜像文件位置
--vnc --vncport=5901 --vnclisten=0.0.0.0 启动图形安装界面
--virt-type 虚拟机模式
-f 虚拟机系统文件存储目录
-s 分配磁盘大小(GB)
-w 联网方式(birdge bridge:br0/nat bridge:virbr0)
--os-type='windows' --os-variant=win2k3 安装windows最好加上这个否则会报错
virt-install工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml配置文件
-s 用来指定虚拟磁盘的大小单位为GB
-m 指定虚拟网卡的硬件地址默认virt-install自动产生
-p 以半虚拟化方式建立虚拟机
-l 指定安装来源
-x EXTRA, --extra-args=EXTRA当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序。
-v, --hvm 设置全虚拟化

13.利用virsh工具管理生成虚拟机,virt-manager是RedHat共享的一个开源虚拟化管理软件,它是用Python编写的GUI程序,底层使用了Libvirt对各类Hypervisor进行管理。

[root@kvmtest kvmks]# virsh list //查看虚拟机信息
 Id    Name                           State
----------------------------------------------------
 1     kvmtest1                       running
 2     kvmtest2                       running
 3     kvmtest3                       running
 4     kvmtest4                       running

14.[root@kvmtest ~]# virsh destroy kvmtest1 //virsh destroy ID/NAME删除虚拟机
Domain kvmtest1 destroyed

15.[root@kvmtest ~]# virsh start kvmtest1  //virsh start NAME启动虚拟机
Domain kvmtest1 started

16.[root@kvmtest ~]# virsh console kvmtest1   //virsh console ID/NAME控制台连接虚拟机 
Connected to domain kvmtest1
Escape character is ^]
CentOS release 5.8 (Final)
Kernel 2.6.18-308.el5 on an x86_64
kvm1 login:
//利用ctrl+]切换到host主机,host主机利用virsh console ID/NAME切换到guest系统。

help 显示该命令的说明 
quit 结束 virsh,回到 Shell 
connect 连接到指定的虚拟机服务器 
create 启动一个新的虚拟机 
destroy 删除一个虚拟机 
start 开启(已定义的)非启动的虚拟机 
define 从 XML 定义一个虚拟机 
undefine 取消定义的虚拟机 
dumpxml 转储虚拟机的设置值 
list 列出虚拟机 
reboot 重新启动虚拟机 
save 存储虚拟机的状态 
restore 回复虚拟机的状态 
suspend 暂停虚拟机的执行 
resume 继续执行该虚拟机 
dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错 
shutdown 关闭虚拟机 
setmem 修改内存的大小 
setmaxmem 设置内存的最大值 
setvcpus 修改虚拟处理器的数量

17.虚拟机重新配置
虚拟机的配置文件保存在/etc/libvert/qemu目录下,扩展名是xml,这文件只能用virsh edit来编辑用vi无效,修改相应的文件即可重新配置虚拟机。

- <!-- 
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE 
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit kvmtest1
or other application using the libvirt API.
  --> 
- <domain type="kvm">
  <name>kvmtest1</name> 
  <uuid>1e29c67f-2d4f-ecaf-4eed-c1727fea6fbc</uuid> 
  <memory unit="KiB">524288</memory> 
  <currentMemory unit="KiB">524288</currentMemory> 
  <vcpu placement="static">1</vcpu> 
- <os>
  <type arch="x86_64" machine="rhel6.3.0">hvm</type> 
  <boot dev="hd" /> 
  </os>
- <features>
  <acpi /> 
  <apic /> 
  <pae /> 
  </features>
  <clock offset="utc" /> 
  <on_poweroff>destroy</on_poweroff> 
  <on_reboot>restart</on_reboot> 
  <on_crash>restart</on_crash> 
- <devices>
  <emulator>/usr/libexec/qemu-kvm</emulator> 
- <disk type="file" device="disk">
  <driver name="qemu" type="raw" cache="none" /> 
  <source file="/home/sda4/kvmtest1.img" /> //这里主要是guest系统磁盘的路径
  <target dev="vda" bus="virtio" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" /> 
  </disk>
- <controller type="usb" index="0">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x2" /> 
  </controller>
- <interface type="bridge"> //桥接地址br0对应eth0
  <mac address="52:54:00:42:e2:0f" /> 
  <source bridge="br0" /> 
  <model type="virtio" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" /> 
  </interface>
- <interface type="bridge"> //桥接br1对应eth1
  <mac address="52:54:00:2c:78:9f" /> 
  <source bridge="br1" /> 
  <model type="virtio" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0" /> 
  </interface>
- <serial type="pty">
  <target port="0" /> 
  </serial>
- <console type="pty">
  <target type="serial" port="0" /> 
  </console>
- <memballoon model="virtio">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0" /> 
  </memballoon>
  </devices>
  </domain>

18. 虚拟机备份及恢复
备份:拷贝/etc/libvert/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define

19.安装windows2003 guest系统

首先修改/etc/libvirt/qemu.conf把vnclisten 0.0.0.0前面的#去掉。

virt-install -v -n windows2003 -r 512 --vcpus=1 -c /media/2003x64.iso --vnc --vncport=5900 --vnclisten=0.0.0.0 --virt-type=kvm -f /home/kvmimage/windows2003.img -s 5 -w bridge:br0 --os-type='windows' --os-variant=win2k3 --connect qemu:///system

[root@centos6 tasks]# sh 2003.sh 
 Starting install...
Creating storage file windows2003.img                    | 5.0 GB     00:00     
Creating domain...                                       |    0 B     00:00     
Cannot open display: 
Run 'virt-viewer --help' to see a full list of available command line options
Domain installation still in progress. Waiting for installation to complete.
 

20.下载http://www.tightvnc.com/download.html#stable for windows tightVNC
 

21.利用TightVNC Connection连接KVM 宿主机HOST br0的ip加上::端口号

22.系统2003 64bit系统安装好如下所示。

 



本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/1062362,如需转载请自行联系原作者

相关文章
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
112 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
115 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
95 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
166 2
|
2月前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
90 1
|
2月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
171 1
|
1月前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
219 0