KVM介绍
1、环境准备
2、规划说明
| IP地址 | 硬盘大小 | 内存大小 |
| 10.0.0.88 | 8G | 2G |
3、虚拟化概念
1.软件模拟
2.虚拟化层翻译
安装
[root@kvm /]# egrep '(vmx|svm)' /proc/cpuinfoflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep[root@kvm /]# yum -y install qemu-kvm qemu-kvm-tools virt-manager libvirt python-virtinst libvirt-python[root@kvm yum.repos.d]# rpm -qa qemu-kvm qemu-kvm-tools virt-manager libvirt python-virtinst libvirt-pythonlibvirt-python-0.10.2-60.el6.x86_64python-virtinst-0.600.0-29.el6.noarchvirt-manager-0.9.0-31.el6.x86_64qemu-kvm-0.12.1.2-2.491.el6_8.1.x86_64libvirt-0.10.2-60.el6.x86_64qemu-kvm-tools-0.12.1.2-2.491.el6_8.1.x86_64[root@kvm yum.repos.d]# lsmod|grep kvmkvm_intel 55624 0kvm 341551 1 kvm_intel
[root@kvm yum.repos.d]# rpm -ql qemu-kvm/etc/ksmtuned.conf/etc/modprobe.d/blacklist-kvm.conf/etc/rc.d/init.d/ksm/etc/rc.d/init.d/ksmtuned/etc/sasl2/qemu-kvm.conf/etc/sysconfig/ksm/etc/sysconfig/modules/kvm.modules/etc/udev/rules.d/80-kvm.rules/usr/libexec/qemu-kvm/usr/sbin/ksmtuned/usr/share/doc/qemu-kvm-0.12.1.2/COPYING/usr/share/doc/qemu-kvm-0.12.1.2/COPYING.LIB/usr/share/doc/qemu-kvm-0.12.1.2/Changelog/usr/share/doc/qemu-kvm-0.12.1.2/LICENSE/usr/share/doc/qemu-kvm-0.12.1.2/README/usr/share/doc/qemu-kvm-0.12.1.2/README.systemtap/usr/share/doc/qemu-kvm-0.12.1.2/TODO/usr/share/doc/qemu-kvm-0.12.1.2/qemu-doc.html/usr/share/doc/qemu-kvm-0.12.1.2/qemu-tech.html/usr/share/man/man1/qemu-kvm.1.gz/usr/share/qemu-kvm/usr/share/qemu-kvm/bios.bin/usr/share/qemu-kvm/dump-guest-memory.py/usr/share/qemu-kvm/dump-guest-memory.pyc/usr/share/qemu-kvm/dump-guest-memory.pyo/usr/share/qemu-kvm/extboot.bin/usr/share/qemu-kvm/keymaps/usr/share/qemu-kvm/keymaps/ar/usr/share/qemu-kvm/keymaps/common/usr/share/qemu-kvm/keymaps/da/usr/share/qemu-kvm/keymaps/de/usr/share/qemu-kvm/keymaps/de-ch/usr/share/qemu-kvm/keymaps/en-gb/usr/share/qemu-kvm/keymaps/en-us/usr/share/qemu-kvm/keymaps/es/usr/share/qemu-kvm/keymaps/et/usr/share/qemu-kvm/keymaps/fi/usr/share/qemu-kvm/keymaps/fo/usr/share/qemu-kvm/keymaps/fr/usr/share/qemu-kvm/keymaps/fr-be/usr/share/qemu-kvm/keymaps/fr-ca/usr/share/qemu-kvm/keymaps/fr-ch/usr/share/qemu-kvm/keymaps/hr/usr/share/qemu-kvm/keymaps/hu/usr/share/qemu-kvm/keymaps/is/usr/share/qemu-kvm/keymaps/it/usr/share/qemu-kvm/keymaps/ja/usr/share/qemu-kvm/keymaps/lt/usr/share/qemu-kvm/keymaps/lv/usr/share/qemu-kvm/keymaps/mk/usr/share/qemu-kvm/keymaps/modifiers/usr/share/qemu-kvm/keymaps/nl/usr/share/qemu-kvm/keymaps/nl-be/usr/share/qemu-kvm/keymaps/no/usr/share/qemu-kvm/keymaps/pl/usr/share/qemu-kvm/keymaps/pt/usr/share/qemu-kvm/keymaps/pt-br/usr/share/qemu-kvm/keymaps/ru/usr/share/qemu-kvm/keymaps/sl/usr/share/qemu-kvm/keymaps/sv/usr/share/qemu-kvm/keymaps/th/usr/share/qemu-kvm/keymaps/tr/usr/share/qemu-kvm/linuxboot.bin/usr/share/qemu-kvm/multiboot.bin/usr/share/qemu-kvm/pxe-e1000.bin/usr/share/qemu-kvm/pxe-ne2k_pci.bin/usr/share/qemu-kvm/pxe-pcnet.bin/usr/share/qemu-kvm/pxe-rtl8139.bin/usr/share/qemu-kvm/pxe-virtio.bin/usr/share/qemu-kvm/sgabios.bin/usr/share/qemu-kvm/simpletrace.py/usr/share/qemu-kvm/simpletrace.pyc/usr/share/qemu-kvm/simpletrace.pyo/usr/share/qemu-kvm/systemtap/conf.d/qemu_kvm.conf/usr/share/qemu-kvm/systemtap/script.d/qemu_kvm.stp/usr/share/qemu-kvm/trace-events/usr/share/qemu-kvm/vapic.bin/usr/share/qemu-kvm/vgabios-cirrus.bin/usr/share/qemu-kvm/vgabios-qxl.bin/usr/share/qemu-kvm/vgabios-stdvga.bin/usr/share/qemu-kvm/vgabios-vmware.bin/usr/share/qemu-kvm/vgabios.bin/usr/share/systemtap/tapset/qemu-kvm-simpletrace.stp/usr/share/systemtap/tapset/qemu-kvm.stp
[root@m01 kvm]# rpm -qa|grep -E 'qemu|libvirt|virt'libvirt-python-0.10.2-60.el6.x86_64 #libvirt的图形化虚拟机管理软件,需要图形界面操作系统virt-what-1.11-1.2.el6.x86_64 #基于Libvirt的图像化虚拟机管理软件,需要图形界面操作系统qemu-img-0.12.1.2-2.491.el6_8.1.x86_64 #用于操作虚拟机硬盘镜像的创建、查看和格式化转化gpxe-roms-qemu-0.9.7-6.15.el6.noarch #虚拟机IPXE的启动固件,支持虚拟机从网络启动libvirt-client-0.10.2-60.el6.x86_64 #Libvirt的客户端,最重要的功能之一就是在宿主机关机时可以通过虚拟机也关机,使虚拟机系统正常关机,而不是被强制关机,造成数据丢失python-virtinst-0.600.0-29.el6.noarch #一套Python的虚拟机安装工具virt-manager-0.9.0-31.el6.x86_64 #基于Libvirt的图像化虚拟机管理软件,需要图形界面操作系统qemu-kvm-0.12.1.2-2.491.el6_8.1.x86_64 #KVM在用户运行的程序libvirt-0.10.2-60.el6.x86_64 #用于管理虚拟机,它提供了一套虚拟机操作APIqemu-kvm-tools-0.12.1.2-2.491.el6_8.1.x86_64
vim /etc/host10..0.88 kmv
[root@kvm yum.repos.d]# /etc/init.d/libvirtd startStarting libvirtd daemon: [ OK ]
[root@kvm yum.repos.d]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:30:e9:bc brd ff:ff:ff:ff:ff:ffinet 10.0.0.88/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fe30:e9bc/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:30:e9:c6 brd ff:ff:ff:ff:ff:ffinet 172.16.1.88/24 brd 172.16.1.255 scope global eth1inet6 fe80::20c:29ff:fe30:e9c6/64 scope linkvalid_lft forever preferred_lft forever4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWNlink/ether 52:54:00:57:95:13 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr05: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500link/ether 52:54:00:57:95:13 brd ff:ff:ff:ff:ff:ff
[root@kvm yum.repos.d]# ps -ef|grep dnsnobody 2735 1 0 11:31 ? 00:00:00 /usr/sbin/dnsmasq --strict-order --pid-file=/var/run/libvirt/network/default.pid --conf-file= --except-interface lo --bind-interfaces --listen-address 192.168.122.1 --dhcp-range 192.168.122.2,192.168.122.254 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253 --dhcp-no-override --dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile --addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhostsroot 2793 2272 0 11:32 pts/1 00:00:00 grep dns
[root@kvm yum.repos.d]# qemu-img create -f raw /opt/kvm.raw 10GFormatting '/opt/kvm.raw', fmt=raw size=10737418240================================================================[root@kvm yum.repos.d]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 6.6G 1.9G 4.4G 31% /tmpfs 932M 0 932M 0% /dev/shm/dev/sda1 190M 36M 145M 20% /boot
[root@kvm ~]# dd if=/dev/cdrom of=CentOS6.7.ios[root@kvm ~]# dd if=/dev/cdrom of=CentOS6.7.ios7608320+0 records in7608320+0 records out3895459840 bytes (3.9 GB) copied, 164.972 s, 23.6 MB/s
[root@kvm ~]#virt-install --virt-type=kvm --name=kvm-demo -r 1024 -c /root/CentOS6.7.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --disk path=/opt/kvm.raw [root@kvm ~]# mv CentOS6.7.ios /opt/[root@kvm ~]# virt-install --virt-type=kvm --name=kvm-demo -r 1024 -c /opt/CentOS6.7.ios --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --disk path=/opt/kvm.rawStarting install...Creating domain... | 0 B 00:01 Domain installation still in progress. You can reconnect to the console to complete the installation process.
查看所有虚拟机:virsh list –all
查看kvm虚拟机配置文件:virsh dumpxml name
启动kvm虚拟机:virsh start name
正常关机:virsh shutdown name
非正常关机(相当于物理机直接拔掉电源):virsh destroy name
删除:virsh undefine name(彻底删除,找不回来了,如果想找回来,需要备份/etc/libvirt/qemu的xml文件)
根据配置文件定义虚拟机:virsh define file-name.xml
挂起,终止:virsh suspend name
恢复挂起状态:virsh resume name
23行<driver name='qemu' type='raw' cache='none'/><driver name='qemu' type='qcow2' cache='none'/>24行<source file='/kvm/kvm.raw'/><source file='/kvm/kvm.qcow2'/>
[root@m01 kvm]# virsh snapshot-info kvm-demo kvm-demo-shot1kvm-demo=虚拟机kvm-demo-shot1 =快照名Name: kvm-demo-shot1Domain: kvm-demoCurrent: yesState: runningLocation: internalParent: -Children: 0Descendants: 0Metadata: yes
<name>kvm-clone</name><uuid>0bb17855-95db-442b-ac9f-d855d63badd2</uuid><source file='/kvm/kvm-clone.qcow2'/><mac address='52:54:00:ae:49:b1'/>
[root@m01 oldboy]# cat /proc/sys/kernel/random/uuid 0bb17855-95db-442b-ac9f-d855d63badd2
[root@kvm opt]# diff kvm-clone.xml*2,3c2,3< <name>kvm-clone</name>< <uuid>0a515a20-ea43-4b4b-9683-688c4792800f</uuid>---> <name>kvm-demo</name>> <uuid>45fd0d59-268f-0968-7101-e27d633286b7</uuid>24c24< <source file='/opt/kvm-clone.qcow2'/>---> <source file='/opt/kvm.qcow2'/>53c53< <mac address='52:54:00:9a:7a:1d'/>---> <mac address='52:54:00:9a:7a:bd'/>
[root@m01 kvm]# virsh define kvm-clone.xmlDomain kvm-clone defined from kvm-clone.xml[root@m01 kvm]# virsh list --allId Name State----------------------------------------------------- kvm-clone shut off- kvm-demo shut off
[root@m01 kvm]# virsh start kvm-cloneDomain kvm-clone started[root@m01 kvm]# virsh list --allId Name State----------------------------------------------------7 kvm-clone running- kvm-demo shut off[root@m01 kvm]# virsh start kvm-demoDomain kvm-demo started[root@m01 kvm]# virsh list --allId Name State----------------------------------------------------7 kvm-clone running8 kvm-demo running
2144



被折叠的 条评论
为什么被折叠?



