Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326048
  • 博文数量: 97
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 811
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-25 19:22
文章分类

全部博文(97)

文章存档

2021年(1)

2020年(18)

2019年(14)

2018年(29)

2017年(16)

2016年(19)

我的朋友

分类: 虚拟化

2016-05-16 18:38:06

转自: 

marsaber (UID: 793704)





5.3 CPU支持KVM
KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM)
[root@CentOS6 ~]# egrep '(vmx|svm)' /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority

6 安装KVM
6.1 yum安装
[root@CentOS6 ~]# yum -y groupinstall Virtualization
[root@CentOS6 ~]# yum -y groupinstall “Virtualization Client”
[root@CentOS6 ~]# yum -y groupinstall “Virtualization Platform”
[root@CentOS6 ~]# yum -y groupinstall “Virtualization Tools”

6.2 安装软件列表
Group: Virtualization
Description: Provides an environment for hosting virtualized guests.
Mandatory Packages:
   qemu-kvm
Optional Packages:
   qemu-kvm-tools
   vios-proxy

Group: Virtualization Client
Description: Clients for installing and managing virtualization instances.
Mandatory Packages:
   python-virtinst
   virt-manager
   virt-viewer
Default Packages:
   virt-top

Group: Virtualization Platform
Description: Provides an interface for accessing and controlling virtualized guests and containers.
Mandatory Packages:
   libvirt
   libvirt-client
   virt-who
Optional Packages:
   fence-virtd-libvirt
   fence-virtd-multicast
   fence-virtd-serial
   libvirt-cim
   libvirt-java
   libvirt-qmf
   libvirt-snmp
   perl-Sys-Virt

Group: Virtualization Tools
Description: Tools for offline virtual image management.
Default Packages:
   libguestfs
Optional Packages:
   libguestfs-java
   libguestfs-mount
   libguestfs-tools
   virt-v2v

6.3 检查KVM
安装完成后,重启机器,确认一下是否安装成功、模块是否正常加载:
[root@CentOS6 ~]# lsmod |grep kvm
kvm_intel              54367  0
kvm                   365244  1 kvm_intel
[root@CentOS6 ~]#
[root@CentOS6 ~]# ll /dev/kvm
crw-rw-rw- 1 root kvm 10, 232 Mar 23 13:34 /dev/kvm
[root@CentOS6 ~]#

7 安装虚拟机
这里以瑞传5530(6电口)为例。
7.1创建桥
/etc/rc.local中添加:
# Used for Marsaber’s admin_port and IN_port;
/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 eth0
/sbin/ifconfig br0 192.168.25.60
/sbin/ip route add default via 192.168.25.1 dev br0

# Used for Marsaber’s Protect1 and webserver;
/usr/sbin/brctl addbr br1
/sbin/ifconfig br1 0.0.0.0

# Used for Marsaber’s Protect2 and webserver;
/usr/sbin/brctl addbr br2
/sbin/ifconfig br2 0.0.0.0

7.2安装Windows2003
Windows Server 2003 SP2 x86_64
安装脚本:
#!/bin/bash

/usr/bin/virt-install \
--connect qemu:///system \
--network bridge=br1,model=e1000 \
--name Windows2003_ASP \
--ram=1024 \
--vcpus=4 \
--disk path=/home/VM/Windows2003_ASP.img,bus=ide,size=5 \
--cdrom /home/iso/cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl_cd1_X13-47314.iso \
--vnc --vncport=9409 \
--vnclisten=192.168.25.60 \
--os-variant=win2k3

7.3安装某专业设备系统
#!/bin/bash

/usr/bin/virt-install \
--connect qemu:///system \
--network mac=01:01:01:01:01:01,bridge=br2,model=e1000 \
--network mac=02:02:02:02:02:02,bridge=br0,model=e1000 \
--network mac=03:03:03:03:03:03,bridge=br1,model=e1000 \
--network mac=04:04:04:04:04:04,bridge=br0,model=e1000 \
--network mac=05:05:05:05:05:05,bridge=br0,model=e1000 \
--network mac=06:06:06:06:06:06,bridge=br0,model=e1000 \
--name Marsaber_OSbak \
--ram=2048 \
--vcpus=4 \
--disk path=/home/VM/Marsaber_OSbak.img,bus=ide,size=20 \
--cdrom /home/iso/CentOS-5.6-x86_64-bin-DVD-1of2.iso \
--vnc --vncport=9401 \
--vnclisten=192.168.25.60 \
--os-variant=rhel5.4

7.4 virt-install用法说明
7.4.1 --connect=
xen
If running on a host with the Xen kernel (checks against /proc/xen) 
qemu:///system
If running on a bare metal kernel as root (needed for KVM installs) 
qemu:///session
If running on a bare metal kernel as non-root 
7.4.2 --name=
虚拟机名称
7.4.3 --ram=
虚拟机内存大小
7.4.4 --vcpus=
虚拟机使用的虚拟CPU数
7.4.5 --network
虚拟机网络接口类型
附带两个事例:
--network mac=01:01:01:01:01:01,network=default,model=e1000 \
--network mac=02:02:02:02:02:02,bridge=br0,model=e1000 \
7.4.6 --disk
虚拟机镜像文件
7.4.7 --cdrom
系统镜像文件
7.4.8 --os-variant=
虚拟机操作系统
7.4.9 VNC相关
--vnc --vncport=9401 \
--vnclisten=192.168.25.60
不做太多解释,监听主机、监听端口。
7.4.10 其他
详细的请”man virt-install”
8 虚拟机操作
8.1 查看虚拟机列表
virsh list --all
8.2 启动虚拟机
virsh start Marsaber_OSbak

附录1. VNC加密
加密前:
      

加密后:
      


附录2. 镜像克隆
virt-clone --connect=qemu:///system -o Marsaber_OSbak -n Marsaber_1 -f /data/VM/Marsaber_1.img
virt-clone --connect=qemu:///system -o Marsaber_OSbak -n Marsaber_2 -f /data/VM/Marsaber_2.img


附录3. 删除虚拟机

删除虚拟机:
virsh undefine Marsaber_1

然后删除镜像文件:
rm -f /data/VM/Marsaber_1.img

附录4. 虚拟机配置文件

虚拟机配置文件:/etc/libvirt/qemu/

network配置文件:/etc/libvirt/qemu/networks/

network自启动文件:/etc/libvirt/qemu/networks/autostart/

附录5. No module virtio_pci found问题解决
没有initrd-2.6.27.img
执行:
mkinitrd --builtin=ahci /boot/initrd-2.6.27.img 2.6.37
mkinitrd /boot/initrd-2.6.27.img 2.6.27
均报错:
No module virtio_pci found for kernel 2.6.27, aborting.

RedHat官方提供的解决方案(mkinitrd --with virtio_pci --with virtio_blk -f /boot/initrd-2.6.27.img 2.6.27)也不行

解决办法:

1.安装脚本中,指定bus=ide;
--disk path=/home/VM/Marsaber_OSbak.img,bus=ide,size=20

2.编辑虚拟机配置文件
修改前:

修改后:


附录6. 创建network

1. 创建配置文件
cp /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/virbr1.xml

2. 编辑配置文件

  virbr1                                <---需要修改;
  17e0185e-1111-4d17-2222-a8e2c27cffe6     <---需要修改;
  
                  <---需要修改;
                      <---需要修改;
        <---需要修改;
   
        <---需要修改;
   
  


3. 定义network
virsh net-define /etc/libvirt/qemu/networks/virbr1.xml

4. 查看network列表
[root@CentOS6 ~]# virsh net-list --all
Name                 State      Autostart
-----------------------------------------
default              active     yes
virbr1               inactive   no

5. 设置自定义network自启动
[root@CentOS6 ~]# virsh net-autostart virbr1
Network virbr1 marked as autostarted

6. 启动自定义network
[root@CentOS6 ~]# virsh net-start virbr1
Network virbr1 started

7. 查看network列表
[root@CentOS6 networks]# virsh net-list --all
Name                 State      Autostart
-----------------------------------------
default              active     yes
virbr1               active     yes

8. 说明
注意:这里的network是NAT!

附录7. 删除network

1.停掉network
virsh net-destroy virbr1

2.删除network
virsh net-undefine virbr1

附录8. 启动项
修改虚拟机配置文件:
 
    ...
   
   
  

附录9. 挂载iso镜像
修改虚拟机配置文件:
                                         <----注意:type='file'
      
              <----这里需要修改;
      
      
      

   

进入系统后,使用mount /dev/hdc /mnt挂载镜像;

附录10. 虚拟机迁移
/home/VM/ 迁移至 /data/VM/
[root@CentOS6 ~]# virsh edit Windows2003_ASP    <---注意,一定要使用virsh edit
之前:
 
      
      
      
      

   
之后:

      
          <---here
      
      

   
   
   
附录11. 创建img镜像
qemu-img create -f raw /data/VM/Marsaber_temp.img 8192M
附录12. 挂载img镜像
修改虚拟机配置文件:
原有的:

      
      
      
      

   
添加的:
   
      
      
      
      
   <---注意这里;
   

附录13. Windows支持virtio
1. 先采用IDE硬盘模式安装Windows系统,安装完成后,关闭VM;
2. 修改VM的配置文件,添加一个virtio模式的硬盘;
3. 启动VM后,系统会自动搜索 SCSI的驱动,安装virtio 驱动,关闭VM;
4. 修改VM 配置文件,删掉vitro硬盘,修改原ide硬盘为 virtio模式后启动VM。
附录14. 镜像备份/恢复
1.镜像备份
qemu-img convert /data/VM/Marsaber_1.img /data/VM/Marsaber_1_bak.img
2.镜像恢复
qemu-img convert /data/VM/Marsaber_1_bak.img /data/VM/Marsaber_1.img
3.其他说明
⑴.cp也是可以的,镜像文件大小不会变(虚拟机分配20G空间,实际使用5G,cp后还是5G);
⑵.xml文件不需要更变;

阅读(1287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~