一.准备环境 1.查看cpu是否支持VT技术 : egrep ‘(vmx | svm)’ /proc/cpuinfo 出现匹配字样则是支持 2.开启虚拟化功能:修改bios 找到processor选项中的virtualization状态改为enable,保存退出 3.启动实体ubuntu server 12.04系统
二.安装kvm及所需要环境 1.安装需要的包 apt-get -y install kvm libvirt-bin python-libvirt kpartx vim sysstat iftop slurm ebtables vlan snmp snmpd 下面是我的搜狐的源: vim /etc/apt/sources.list deb http://mirrors.sohu.com/ubuntu/ precise main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted
deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted
deb http://mirrors.sohu.com/ubuntu/ precise universe
deb-src http://mirrors.sohu.com/ubuntu/ precise universe
deb http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates universe
deb http://mirrors.sohu.com/ubuntu/ precise multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted
deb http://mirrors.sohu.com/ubuntu/ precise-security universe
deb-src http://mirrors.sohu.com/ubuntu/ precise-security universe
deb http://mirrors.sohu.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-security multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
三.创建虚拟机
1.虚拟机结构 在根下创建images目录,在images下创建iso和test目录。其中iso目录存放iso镜像,test是虚拟机的主机名,里面存放disk.img(虚拟机的硬盘中存放的数据)和config.xml(虚拟机的硬件配置)
2.创建disk.img
qemu-img create -f qcow2 disk.img 10G
##创建虚拟机的硬盘大小和类型(qcow2:文件会慢慢增加,最大为10G)
建立config.xml文件,下面是文件中的内容:
<domain type='kvm'>
<name>douvlfit</name>
<uuid>b41e3e65-2512-b2e0-2c4b-b7f2c0e56613</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>2</vcpu>
<os>
<type arch='x86_64' machine='pc-1.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/images/douvlfit/disk.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<interface type='bridge'>
<mac address='52:54:00:15:b3:f1'/>
<source bridge='dianxin'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='bridge'>
<source bridge='neiwang'/>
<model type='virtio'/>
</interface> <serial type='file'>
<source path='/images/douvlfit/console.log'/>
<target port='1'/>
</serial>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='file'>
<source path='/images/douvlfit/console.log'/>
<target type='serial' port='1'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
3.关于桥和虚拟机常用的指令:
brctl addbr br0 ##创建桥 brctl delbr br0 ##删除桥 brctl addif br0 eth0 ##将桥与eth0绑定 ifconfig eth0 0.0.0.0 ##消除eth0的IP dhclient br0 或者 ifconfig br0 x.x.x.x ##给br0 加IP virsh define config.xml ##将config.xml读取到内存 virsh undefine xxx ##将虚拟机配置从内存去掉(xxx为虚拟机名字) virsh destory test ##关闭虚拟机 virsh start test ##开启虚拟机test virsh list --all ##查看所有虚拟机状态 virsh suspend test ##将虚拟机暂停运行 virsh resume test ##将暂停的虚拟机恢复运行 virsh save test ##保存虚拟机状态 virsh dominfo test 显示test的基本信息 virsh domname 2 显示id号为2的虚拟机名 virsh domid test ## 显示虚拟机id号 virsh domuuid test ## 显示虚拟机的uuid virsh domstate test ## 显示虚拟机的当前状态 virsh setvcpus test 4 ## 给不活动虚拟机设置cpu个数 virsh edit test ## 编辑配置文件(一般是在刚定义完虚拟机之后)
4.检查KVM模块是否安装成功: lsmod | grep kvm 出现下面类似的字样成功 vm_amd 69416 1 kvm 226208 2 ksm,kvm_amd
检查KVM是否成功安装 :virsh -c qemu:///system list 将会显示如下结果: # virsh -c qemu:///system list Id Name State
此时kvm虚拟机环境布置完成,接下来我们应该安装系统:
安装系统我们使用vnc: vim /etc/libvirt/qemu.conf做如下的设置: vnc_listen = "0.0.0.0" vnc_password = "123456" user = "root" group = "root"
virsh vncdisplay test ##查看虚拟机的vnc端口
|