1、安装
yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform"
yum -y install "libguestfs-tools"
2、重启机器
init 6 / reboot
3、检查KVM模块加载
lsmod | grep kvm
-------------------------------------------------
kvm_amd 37434 4
kvm 292815 1 kvm_amd
4、修改vnc监听端口,放开使vnc监听所有网段
vim /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
vnc_password = "AOcOjHV573WS"
user = "root"
group = "root"
5、建立qcow2格式磁盘文件
cd /datadir/kvm
qemu-img create -f qcow2 vm-web-1.qcow2 40G
qemu-img info vm-web-1.qcow2
6、创建24G内存、6核CPU、单网卡,磁盘和网络驱动使用virtio的linux虚拟机,双网卡(先搭建虚拟网桥br1、br4)
virt-install --name vm-web-1 --boot network,cdrom,menu=on --ram 24576 --vcpus=6 --os-variant=rhel6 --accelerate --cdrom=/home/src/CentOS-6.5-x86_64-bin-DVD1.iso --disk path=/datadir/kvm/vm-web-1.qcow2,size=40,format=qcow2,bus=virtio --bridge=br1,model=virtio --mac=54:52:00:10:79:e0 --bridge=br4,model=virtio --mac=54:52:00:11:79:e0 --vnc --vncport=5991 --vnclisten=0.0.0.0
初始密码:moshwang123
--name vm-web-1
.....
--name vm-web-12
同一主机,两个网卡,两个mac
--mac=54:52:00:10:79:e0
.....
--mac=54:52:00:32:79:e0
swap 10G
7、扩充新磁盘
qemu-img create -f qcow2 data-web-1.qcow2 40G
vim /etc/libvirt/qemu/vm-web-1.xml
++++++++++++++++++++++++++++++++++++++++
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/datadir/data/sqv010_200.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' controller='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
++++++++++++++++++++++++++++++++++++++++
fdisk -l
fdisk /dev/vdb
mkfs.ext4 /dev/vdb1
blkid /dev/vdb1
/dev/vdb1: UUID="98e7a61e-ce8a-4475-82f8-bd0e8ca3649a" TYPE="ext4"
vim /etc/fstab
UUID=98e7a61e-ce8a-4475-82f8-bd0e8ca3649a /datadir ext4 defaults 0 0
或者
/dev/vdb1 /datadir ext4 defaults 0 0
后面两列数值意思: http://www.kuqin.com/linux/20120815/328913.html
http://www.2cto.com/kf/201306/220887.html 除了根分区用 1 1,其他数据分区等建议用 0 0
8、主机克隆
克隆一个虚拟机,克隆后同时起不来两个,修改相关配置(可能与网卡配置有关。也重启了主机。)
暂停客户端 virsh suspend sqv010
恢复客户端 virsh resume sqv010
virt-clone -o sqv010 -n sqv011 -f /datadir/kvm/sqv011.qcow2 --connect=qemu:///system
-o 原始客体的名称;必须为关闭或者暂停状态。
-n 新客户端的名称
-f 作为新客户端磁盘映像的新文件
--connect=URI Connect to hypervisor with libvirt URI
通过 vnc 连接远程虚拟主机修改IP与MAC地址
查看对应网卡的mac cat /etc/udev/rules.d/70-persistent-net.rules
或者使用 virt-edit命令,需要安装 yum install libguestfs-tools
virt-edit -d sqv011 /etc/sysconfig/network-scripts/ifcfg-eth0
virt-edit -d sqv011 /etc/sysconfig/network-scripts/ifcfg-eth1
注意:
1、mac地址,需要 sqv011.xml文件中的保持一致
2、修改 sqv011.xml vnc端口,不与其他虚拟机冲突
复制虚拟机到其他主机
1、复制 sqv010.qcow2
2、复制 /etc/libvirt/qemu/sqv010.xml
3、修改 sqv010.xml里面的 sqv010.qcow2路径
4、virsh define ./sqv010.xml
5、virt-edit -d sqv010 /etc/sysconfig/network-scripts/ifcfg-eth0
6、virsh start sqv010
virt-edit -d sqv010 /etc/udev/rules.d/70-persistent-net.rules
virt-edit -d sqv010 /etc/sysconfig/network
virt-edit -d sqv010 /usr/local/etc/zabbix_agentd.conf
执行命令时 需要等待一会儿
virsh managedsave-remove sqv011
------------------------------------------------------------------
virsh define sqv000.xml
virt-clone -o sqv000 -n sqv010 -f /datadir/kvm/sqv010.qcow2 --connect=qemu:///system
virt-edit -d sqv000 /etc/sysconfig/network-scripts/ifcfg-eth0
virt-edit -d sqv000 /etc/sysconfig/network-scripts/ifcfg-eth1
virt-edit -d sqv000 /etc/udev/rules.d/70-persistent-net.rules
virt-edit -d sqv000 /usr/local/etc/zabbix_agentd.conf
virt-edit -d sqv000 /etc/sysconfig/network
blkid /dev/vdb1
vim /etc/fstab
virsh undefine sqv000
#注意,sqv000.xml文件会删除
网卡设定:
设定完毕执行:service network restart
br1
em1
br4
em4
ifdown em1
ifdown br1
ifup em1
ifup br1
开机自动启动虚拟机:
[root@vfeelit qemu]# virsh autostart Winxp
virt-install --name test01 --boot network,cdrom,menu=on --ram 1024 --vcpus=2 --os-variant=rhel6 --accelerate --cdrom=/datadir/iso/CentOS-6.5-x86_64-minimal.iso --disk path=/datadir/kvm/test01.qcow2,size=30,format=qcow2,bus=virtio --bridge=br0,model=virtio --mac=54:52:00:10:79:e0 --vnc --vncport=5991 --vnclisten=0.0.0.0