¸üÐÂʱ¼ä:2017Äê12ÔÂ18ÈÕ17ʱ17·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
1¡¢ÐéÄ⻯ÊÇʲô
ÐéÄ⻯ÊÇÖ¸¼ÆËãÔª¼þÔÚÐéÄâµÄ»ù´¡É϶ø²»ÊÇÕæÊµµÄ»ù´¡ÉÏÔËÐУ¬ÊÇÒ»¸öΪÁ˼ò»¯¹ÜÀí£¬ÓÅ»¯×ÊÔ´µÄ½â¾ö·½°¸£¬Í¨¹ýÄ£ÄⲻͬµÄÔª¼þ×öµ½×ÊÔ´µÄ¸ôÀëºÍ×ÊÔ´µÄ³ä·ÖÀûÓá£ÀýÈçCPUµÄÐéÄ⻯¼¼Êõ¿ÉÒÔµ¥CPUÄ£Äâ¶àCPU²¢ÐУ¬ÔÊÐíÒ»¸öƽ̨ͬʱÔËÐжà¸ö²Ù×÷ϵͳ£¬²¢ÇÒÓ¦ÓóÌÐò¶¼¿ÉÒÔÔÚÏ໥¶ÀÁ¢µÄ¿Õ¼äÄÚÔËÐжø»¥²»Ó°Ï죬´Ó¶øÏÔÖøÌá¸ß¼ÆËã»úµÄ¹¤×÷ЧÂÊ¡£
2¡¢ÐéÄ⻯·¢Õ¹µÄ½×¶Î
µ½Ä¿Ç°ÎªÖ¹£¬ÐéÄ⻯¾ÀúÁËÎå¸ö±È½ÏÃ÷ÏԵĽ׶Σ¬·Ö±ðÊÇȫģÄâ¡¢·Ö²ãÄ£Äâ¡¢°ëÐéÄ⻯¡¢È«ÐéÄ⻯¡¢ÈÝÆ÷ÐéÄ⻯¡£È«Ä£ÄâÊÇÖ¸CPU¡¢Íø¿¨¡¢Ð¾Æ¬¡¢´ÅÅ̶¼ÊÇͨ¹ýÈí¼þÄ£ÄâµÄ£¬ÌصãÊÇÂý;·Ö²ãÄ£Äâ²ÉÓõÄÊDz¶»ñºÍ·Òë¼¼Êõ£¬¶ÔÈ«ÐéÄ⻯½øÐÐ×éºÏ»òÐéÄ⻯µÄ²»Í¬²ã´Î;°ëÐéÄ⻯ͨ¹ý¸ÄÔìÐéÄâ»úÆ÷£¬ÈÃÐéÄâ»úÃ÷°××Ô¼º¾ÍÊÇÒ»¸öÐéÄâ»ú´Ó¶øÖ´ÐÐһЩָÁî;È«ÐéÄ⻯ÊÇÖ¸2005Ó¢ÌØ¶ûÖ§³ÖÓ²¼þ²ãÃæ(Ö÷ÒªÊÇCPU)µÄÐéÄ⻯֮ºóµÄʱ¼ä¶Î£¬ÈÝÆ÷ÐéÄ⻯ÊÇÏÖÔڱȽϻðµÄÐéÄ⻯¼¼Êõ£¬ÒÔdockerΪ´ú±í£¬Ö÷ÒªÊǽø³Ì¼äµÄ¸ôÀ룬×ÊÔ´ÏûºÄµÍÇҾ߱¸×ÊÔ´¸ôÀëµÄÌØÐÔ¡£
3¡¢Ö÷Á÷ÐéÄ⻯Èí¼þ
ĿǰÖ÷Á÷µÄÐéÄ⻯¼¼ÊõÖ÷ÒªÓУº KVM ¡¢ Xen ¡¢ VMware(VirtualBox)¡¢Hyper-v¡£
Xen ºÍKVM £¬ÊÇ¿ªÔ´Ãâ·ÑµÄÐéÄ⻯Èí¼þ¡£
VMwareÊǸ¶·ÑµÄÐéÄ⻯Èí¼þ¡£
Hyper-vÊÇ΢Èíwindows 2008 R2¸½´øµÄÐéÄ⻯×é¼þ£¬ÐèÒª»¨Ç®ÂòÊÚȨ¡£
ÐéÄâLinuxÓÃÄÄЩÈí¼þ?
Èç¹ûÊÇÐéÄâLinux£¬½¨ÒéÊ×ÏÈʹÓÃXen £¬Ö§³ÖLinuxµÄ°ëÐéÄ⻯£¬¿ÉÒÔÖ±½ÓʹÓÃÖ÷ϵͳµÄCPUºÍ´ÅÅ̼°ÍøÂç×ÊÔ´£¬´ïµ½½ÏÉÙµÄÐéÄ⻯µ÷¶È²Ù×÷£¬¿ÉÒÔ´ïµ½·Ç³£¸ßµÄÐÔÄÜ£¬µ«Xen ²Ù×÷¸´ÔÓ£¬Î¬»¤³É±¾½Ï¸ß¡£Æä´ÎÎÒÃÇÍÆ¼öKVM À´ÐéÄâLinux£¬Linux±¾ÉíÖ§³ÖKVM µÄvirtio¼¼Êõ£¬¿ÉÒÔ´ïµ½ÉÙÁ¿µÄÐéÄ⻯µ÷¶È²Ù×÷£¬µÃµ½½Ï¸ßµÄϵͳÐÔÄÜ¡£
ÐéÄâwindowsÓÃÄÇЩÈí¼þ?
ÔÚÓÐÊÚȨµÄÇé¿öÏ£¬ÐéÄâwindows£¬½¨ÒéʹÓÃhyper-v¡£
ûÓÐÊÚȨµÄÇé¿öÏ£¬ÊµÑé»·¾³Ê¹ÓÃVMware£¬ÆóÒµÉú²ú»·¾³½¨ÒéʹÓÃKVM£¬¿ÉÒÔ´ÓredhatÄÇÀïÃâ·ÑÄõ½Õë¶ÔwindowsÓÅ»¯¹ýµÄ´ÅÅ̺ÍÍøÂçµÄÇý¶¯³ÌÐò£¬¿ÉÒÔ´ïµ½½Ï¸ßµÄÐÔÄÜ(¼¸ºõÓëhyper-vÐÔÄܳ֯½)
²»´òËãÂò³§ÉÌÖ§³Ö£¬ÆäÖÐvmwareºÍhyper-v£¬ÊDz»½¨ÒéʹÓõģ¬Ö÷ÒªÊÇÊÚȨÎÊÌâ¡£
4¡¢KVMÐéÄ⻯
KVMÊÇÖ¸»ùÓÚLinuxÄں˵ÄÐéÄâ»ú(Kernel-base Virtual Machine)£¬2010Äê4Ô·¢²¼µÄRHEL6.0£¬½«KVMÔö¼Óµ½LinuxÄÚºËÊÇLinux·¢Õ¹µÄÒ»¸öÖØÒªÀï³Ì±®£¬ÕâÒ²ÊǵÚÒ»¸öÕûºÏµ½LinuxÖ÷ÏßÄں˵ÄÐéÄ⻯¼¼Êõ¡£
Ò»¸öÆÕͨµÄLinux½ø³ÌÓÐÁ½ÖÖÔËÐÐģʽ£ºÄÚºËģʽºÍÓû§Ä£Ê½( Óû§Ä£Ê½ÊÇÖ¸½ø³ÌÔÚÓû§´úÂëÖÐÔËÐС£ÄÚºËģʽÊÇÖ¸½ø³Ì½øÈëÄں˴úÂ룬ִÐÐÄں˵ĴúÂë)£¬KVMÔö¼ÓÁ˵ÚÈýÖÖģʽ£º¿Í»§Ä£Ê½(ÓÐ×Ô¼ºµÄÄں˺ÍÓû§Ä£Ê½)¡£ÕâÀïµÄ¿Í»§Ä£Ê½£¬¾ÍÏ൱ÓÚÄãÔÚVMwareÖа²×°ÁË×Ô¼ºµÄij¸öwindows²Ù×÷ϵͳһÑù¡£ÔÚKVMÄ£ÐÍÖУ¬Ã¿Ò»¸öÐéÄâ»ú¶¼ÊÇÒ»¸öÓÉLinuxµ÷¶È³ÌÐò¹ÜÀíµÄ±ê×¼½ø³Ì£¬Äã¿ÉÒÔÔÚÓû§¿Õ¼äÆô¶¯¿Í»§»ú²Ù×÷ϵͳ¡£
¼òµ¥µÄÀà±È¹ØÏµ¾ÍÊÇ£¬KVMÏ൱ÓÚÊÇwindows°æ±¾µÄVMware£¬ÎÒÃÇ¿ÉÒÔÔÚKVMÖд´½¨ºÜ¶àÆäËû°æ±¾µÄ²Ù×÷ϵͳʵÀý£¬Ö»²»¹ýKVMÔÚ´´½¨ÊµÀýµÄʱºò£¬ÐèҪһЩ¸¨ÖúµÄ¹¤¾ß£¬±ÈÈçQEMU-KVMºÍVirt-manager¡£
5¡¢KVM µÄ¹ÜÀí¹¤¾ß
KVM½ö½öÊÇLinuxÄں˵ÄÒ»¸öÄ£¿é
ÔÚ Linux ϵͳÖУ¬Ê×ÏÈÎÒÃÇ¿ÉÒÔÓÃmodprobe(modprobeÊÇlinuxµÄÒ»¸öÃüÁ¿ÉÔØÈëÖ¸¶¨µÄ¸ö±ðÄ£¿é£¬»òÊÇÔØÈëÒ»×éÏàÒÀµÄÄ£¿é)ϵͳ¹¤¾ßÈ¥¼ÓÔØ KVM Ä£¿é£¬Èç¹ûÓà RPM °²×° KVM Èí¼þ°ü£¬ÏµÍ³»áÔÚÆô¶¯Ê±×Ô¶¯¼ÓÔØÄ£¿é¡£¼ÓÔØÁËÄ£¿éºó£¬²ÅÄܽøÒ»²½Í¨¹ýÆäËû¹¤¾ß´´½¨ÐéÄâ»ú¡£
µ«KVM½ö½öÊÇLinuxÄں˵ÄÒ»¸öÄ£¿é£¬½öÓÐ KVM Ä£¿éÊÇÔ¶Ô¶²»¹»µÄ£¬ÒòΪÓû§ÎÞ·¨Ö±½Ó¿ØÖÆÄÚºËÄ£¿éÈ¥×öÊÂÇ飬»¹±ØÐëÓÐÒ»¸öÓû§¿Õ¼äµÄ¹¤¾ß¡£
Óû§¹¤¾ßQEMU-KVM
QEMUÊÇÒ»Ì×Ä£ÄâCPUµÄ¿ªÔ´Èí¼þ¡£KVM×÷ΪÄں˵ÄÒ»¸öÄ£¿é£¬¿ÉÒÔͨ¹ýQEMUÌṩµÄÄ£Äⷽʽ£¬À´Ê¹Óô¦ÀíÆ÷¡£ÕâÑù£¬KVM¾ÍÌṩÁËÒ»¸öÄ£ÄâµÄ(ÐéÄâµÄ)Ó²¼þ²ã£¬ÐéÄâ»ú¾ÍÔËÐÐÔÚÕâ¸öÄ£ÄâµÄÓ²¼þ²ãÖ®ÉÏ¡£

ÉÏͼ£¬ÊÇKVMÐéÄâ»úµÄÕûÌå¼Ü¹¹¡£KVMÄÚºËÄ£¿éÔÚÔËÐÐʱ°´Ðè¼ÓÔØ½øÈëÄں˿ռäÔËÐС£KVM±¾Éí²»Ö´ÐÐÈκÎÓ²¼þÉ豸ģÄ⣬ÐèÒªÓû§¿Õ¼ä³ÌÐòQEMUͨ¹ý/dev/kvm½Ó¿ÚÉèÖÃÒ»¸öÐéÄâ¿Í»§»úµÄµØÖ·¿Õ¼ä£¬ÏòËüÌṩģÄâµÄI/OµÈÓ²¼þÉ豸¡£
Libvirt/Virsh/Virt-manager£º
¾¡¹Ü QEMU-KVM ¹¤¾ß¿ÉÒÔ´´½¨ºÍ¹ÜÀí KVM ÐéÄâ»ú£¬RedHatΪ KVM ¿ª·¢Á˸üͨÓõĸ¨Öú¹¤¾ßlibvirt¡£LibvirtÊÇÒ»Ì×ÌṩÁ˶àÖÖÓïÑÔ½Ó¿ÚµÄ API£¬Îª¸÷ÖÖÐéÄ⻯¹¤¾ßÌṩһÌ×·½±ã¡¢¿É¿¿µÄ±à³Ì½Ó¿Ú£¬²»½öÖ§³Ö KVM£¬¶øÇÒÖ§³ÖXenµÈÆäËûÐéÄâ»ú¡£
ʹÓÃlibvirt£¬ÄãÖ»ÐèҪͨ¹ýlibvirtÌṩµÄº¯ÊýÁ¬½Óµ½ KVM »òXenËÞÖ÷»ú£¬±ã¿ÉÒÔÓÃͬÑùµÄÃüÁî¿ØÖÆ²»Í¬µÄÐéÄâ»úÁË¡£
Libvirt²»½öÌṩÁËAPI£¬»¹×Ô´øÒ»Ì×»ùÓÚÎı¾µÄ¹ÜÀíÐéÄâ»úµÄÃüÁîvirsh£¬Äã¿ÉÒÔͨ¹ýʹÓÃvirshÃüÁîÀ´Ê¹ÓÃlibvirtµÄÈ«²¿¹¦ÄÜ¡£
ͬʱ»¹ÄÜʹÓÃͼÐνçÃæ½øÐйÜÀí²Ù×÷£¬Æä¹¤¾ßÊÇVirt-manager¡£ËûÊÇÒ»Ì×Óà python ±àдµÄÐéÄâ»ú¹ÜÀíͼÐνçÃæ£¬Óû§¿ÉÒÔͨ¹ýËüÖ±¹ÛµØ²Ù×÷²»Í¬µÄÐéÄâ»ú¡£Virt-manager ¾ÍÊÇÀûÓÃlibvirtµÄ API ʵÏֵġ£
6¡¢KVM°²×°ËµÃ÷
KVMµÄ°²×°²½Öè´óÖÂÈçÏ£º
1¡¢×¼±¸Ò»Ì¨ÎïÀí»ú£¬²¢°²×°CentOS 6.xÒÔÉϵÄLinuxµÄ·¢Ðаæ
Õą̂¿ÉÒÔÔËÐÐ×îÐÂlinuxÄں˵ÄIntel´¦ÀíÆ÷(º¬VTÐéÄ⻯¼¼Êõ)»òAMD´¦ÀíÆ÷(º¬SVM°²È«ÐéÄâ»ú¼¼ÊõµÄAMD´¦ÀíÆ÷£¬Ò²½ÐAMD-V)
2¡¢°²×°KVM¶ÔÓ¦µÄÈí¼þ°ü
3¡¢ÔÚKVMÖд´½¨ÐéÄâ»ú
ͨ¹ýQEMU-IMGÃüÁî´´½¨Ò»¸öÓ²ÅÌ£¬µÚÒ»´Î½Ó´¥ÇëÑ¡Ôñraw¸ñʽ
ͨ¹ývirt-installÃüÁî°²×°²¢Æô¶¯ÐéÄâ»ú
Ö¸¶¨ÐéÄâ»úµÄÄÚ´æ¡¢CPU¡¢ÍøÂçÐÅÏ¢
Ö¸¶¨ÐéÄâ»úµÄÍøÂçģʽ£¬Éú²ú»·¾³Ê¹ÓÃÇŽÓģʽ
Ö¸¶¨VNCµÄ¶Ë¿Ú¼°ÃÜÂëÐÅÏ¢
4¡¢ÏÂÔØVNCÈí¼þserver--client
5¡¢ÅäÖÃVNCÈí¼þÐÅÏ¢
Ö÷ÒªÊǽâ¾öVNCÉÁÍ˵ÄÎÊÌâ
6¡¢Í¨¹ýVNCÁ¬½Óд´½¨µÄÐéÄâ»ú
¸ù¾Ý¶Ë¿ÚºÅ½øÐÐÅäÖÃ
7¡¢ÔÚÐéÄâ»úÖа²×°ÏµÍ³
8¡¢ÅäÖÃÐéÄâ»úµÄIPµØÖ·
7¡¢KVM²¿Êðʵ¼ù
7.1¡¢°²×°Cent OS 6.Xϵͳ
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
7.2¡¢¼ì²éϵͳÊÇ·ñÖ§³ÖÐéÄ⻯
cat /proc/cpuinfo |grep 'vmx'
cat /proc/cpuinfo |grep 'svm'
ÒÀ´ÎÖ´ÐÐÒÔÉÏÁ½ÌõÃüÁ¿´¿´ÊÇ·ñÓзµ»ØÖµ¡£·µ»ØÖµ²Î¿¼ÈçÏ£º
Èç¹ûÊä³öµÄ½á¹û°üº¬VMX£¬ËüÊÇIntel´¦ÀíÆ÷ÐéÄâ»ú¼¼Êõ±êÖ¾;
Èç¹û°üº¬SVM£¬ËüÊÇAMD´¦ÀíÆ÷ÐéÄâ»ú¼¼ÊõµÄ±êÖ¾£¬
Èç¹ûÄãʲô¶¼Ã»Óеõ½£¬ÄÇÓ¦ÄãµÄϵͳ²¢Ã»ÓÐÖ§³ÖÐéÄ⻯µÄ´¦Àí£¬²»ÄÜʹÓÃKVM£¬
Áí´¦linux·¢Ðа汾±ØÐëÔÚ64bit»·¾³ÖвÅÄÜʹÓÃKVM¡£
7.3¡¢¸üÐÂLinux²Ù×÷ϵͳÈí¼þ
yum update
yum upgrade
ÕâÁ½¸öÃüÁî»áÏÂÔØ´óÁ¿µÄ°²×°°ü£¬¸ù¾ÝÍøËÙ²»Í¬£¬ÐèÒªµÈ´ýµÄʱ³¤²»Ò»¡£
Èç¹û¶ÔÍøËÙÓÐÒªÇ󣬽¨Òé»»³É¹úÄÚµÄyumÔ´µØÖ·¡£
ÍøÒ×YumÔ´ÅäÖÃ
---------------------------------------------------------------
Ê×Ïȱ¸·Ý/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
ÏÂÔØ¶ÔÓ¦°æ±¾repoÎļþ, ·ÅÈë/etc/yum.repos.d/(²Ù×÷ǰÇë×öºÃÏàÓ¦±¸·Ý)
CentOS7 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
CentOS6 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS5 wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
ÔËÐÐÒÔÏÂÃüÁîÉú³É»º´æ
yum clean all
yum makecache
7.4¡¢¹Ø±Õ·À»ðǽ
(1) ÖØÆôºóÓÀ¾ÃÐÔÉúЧ£º
¿ªÆô£ºchkconfig iptables on
¹Ø±Õ£ºchkconfig iptables off
(2) ¼´Ê±ÉúЧ£¬ÖØÆôºóʧЧ£º
¿ªÆô£ºservice iptables start
¹Ø±Õ£ºservice iptables stop
ÄÚ²¿»·¾³½¨ÒéÓÀ¾Ã¹Ø±Õ£¬ÓÀ¾Ã¹Ø±ÕÖ®ºó£¬ÐèÒªÖØÆô
7.5¡¢¹Ø±Õselinux
(1) ÖØÆôºóÓÀ¾ÃÐÔÉúЧ£º
vi /etc/sysconfig/selinux
SELINUX=disabled
±à¼/etc/sysconfig/selinuxÎļþ£¬½«ÎļþÖеÄSELINUXÅäÖÃÏî¸Ä³Édisabled¡£
(2) ¼´Ê±ÉúЧ£¬ÖØÆôºóʧЧ£º
setenforce 0
SELINUX×÷Ϊ¾üÓü¶±ðµÄ·À»ðǽ£¬Ò»°ãÔÚÉú²ú»·¾³Öж¼»á¹Ø±Õµô£¬²»¹Øµô»áÓкܶàÒì³£¡£
½¨ÒéÓÀ¾Ã¹Ø±Õ£¬ÓÀ¾Ã¹Ø±ÕÖ®ºó£¬ÐèÒªÖØÆô
7.6¡¢°²×°KVMÏà¹ØÈí¼þ°ü
yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
7.7¡¢È·ÈÏlibvirtdÊÇ·ñÕý³£Æô¶¯
[root@node-3 ~]# /etc/init.d/libvirtd status
libvirtd (pid 3793) is running...
Èç¹ûûÓÐÆô¶¯£¬¿ÉÒÔ³¢ÊÔÊÖ¶¯Æô¶¯
/etc/init.d/libvirtd restart
»Ø¹Ë£º
RedHatΪ KVM ¿ª·¢Á˸üͨÓõĸ¨Öú¹¤¾ßlibvirt¡£LibvirtÊÇÒ»Ì×ÌṩÁ˶àÖÖÓïÑÔ½Ó¿ÚµÄ API£¬Îª¸÷ÖÖÐéÄ⻯¹¤¾ßÌṩһÌ×·½±ã¡¢¿É¿¿µÄ±à³Ì½Ó¿Ú£¬²»½öÖ§³Ö KVM£¬¶øÇÒÖ§³ÖXenµÈÆäËûÐéÄâ»ú¡£Ïê¼ûÕ½Ú5¡£
7.8¡¢¼ì²éKVMÊÇ·ñ¼ÓÔØ³É¹¦
ÏÔʾ½á¹ûÈçϱíʾkvmÄ£¿éÒѾ¼ÓÔØ£¬Èç¹ûûÓÐÊä³öÐÅÏ¢£¬Ôò±íʾûÓмÓÔØ³É¹¦
[root@node-3 ~]# lsmod | grep kvm
kvm_intel 55464 30
kvm 345070 1 kvm_intel
7.9¡¢¼ì²éKVMÊÇ·ñ³É¹¦°²×°
[root@node-3 ~]# virsh list --all
Id Name State
----------------------------------------------------
7.10¡¢²é¿´¹¤¾ß°æ±¾ÐÅÏ¢
¸÷°æ±¾²éѯ
[root@node-3 ~]# virt-install --version
0.600.0
[root@node-3 ~]# virsh --version
0.10.2
7.11¡¢ÏÂÔØ°²×°VNC-Server·þÎñ
Ä¿µÄ£ºÍ¨¹ýWindows/LinuxÉϵÄVNC¿Í»§¶ËÀ´Ô¶³Ì·ÃÎÊ·þÎñÆ÷£¬²¢ÇÒ¿Éʹ·þÎñÆ÷µÄͼÐλ¯½»»¥½çÃæ¿É¼û¡£Ç°ÌáÐèÒªÔÚ·þÎñÆ÷¶Ë°²×°²¢ÅäÖÃvncserver£¬ÔÚ¿Í»§¶Ë°²×°vncview¡£
(1)¡¢VNC-ServerµÄ°²×°
yum -y install vnc *vnc-server*
(2)¡¢ÐÞ¸ÄÅäÖÃÎļþ
vim /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:lisi"
VNCSERVERARGS[1]="-geometry 1024x768"
ÉÏÃæµÚÒ»ÐÐÊÇÉ趨¿ÉÒÔʹÓÃVNC·þÎñÆ÷µÄÕʺţ¬¿ÉÒÔÉ趨¶à¸ö£¬µ«ÖмäÒªÓÿոñ¸ô¿ª¡£×¢ÒâÇ°ÃæµÄÊý×Ö“1”»òÊÇ“2”£¬µ±ÄãÒª´ÓÆäËüµçÄÔÀ´·ÃÎÊVNC·þÎñÆ÷ʱ£¬¾ÍÐèÒªÓÃIP:1ÕâÖÖ·½·¨£¬¶ø²»ÄÜÖ±½ÓÓÃIP¡£
(3)¡¢ÅäÖûỰÃÜÂë:
Ö´ÐÐÃüÁvncpasswd
123456
123456
(4)¡¢Æô¶¯VNC·þÎñ:
/etc/init.d/vncserver start
7.12¡¢ÐÞ¸ÄVNCÁ¬½ÓȨÏÞ
ͨ¹ýKVM¿ÉÒÔ´´½¨ÐéÄâ»ú£¬ÔÚ¸øÐéÄâ»ú°²×°²Ù×÷ϵͳʱ£¬ÓÐЩ²Ù×÷ϵͳµÄ°²×°ÐèÒªÈËΪ¸ÉÔ¤½øÐнçÃæ²Ù×÷£¬ËùÒÔÎÒÃÇÐèҪͨ¹ýÔ¶³Ì×ÀÃæµÄ·½Ê½Á¬½Óµ½ÕâЩÐéÄâ»ú¡£
ÓÉÓÚÕâЩÐéÄâ»úÊÇʹÓÃQEMU-KVM½øÐйÜÀíµÄ£¬ËùÒÔÎÒÃÇÐèÒªÔÚQEMUµÄÅäÖÃÎļþÖнøÐÐVNC IPµØÖ·µÄÐ޸ġ£
ÐÞ¸Äqemu.confÅäÖÃ
vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
´ò¿ªvnc_listen = "0.0.0.0"Ñ¡Ï·ñÔòĬÈϰ󶨵ÄIPµØÖ·ÊÇ127.0.0.1£¬Ô¶³ÌÎÞ·¨·ÃÎÊ¡£
ÖØÒªËµÃ÷
ͨ¹ýÒÔÉϵIJ½Ö裬ÎÒÃǾÍÄÜ×¼±¸ºÃKVMµÄ»·¾³£¬½ÓÏÂÀ´£¬ÎÒÃÇÐèҪͨ¹ý¹¤¾ß´´½¨Ò»¸ö»ùÓÚKVMµÄÐéÄâ»ú¡£
ÔÚ´´½¨ÐéÄâ»ú֮ǰ£¬ÎÒÃÇÓиöÎÊÌâÒª½â¾ö£¬¾ÍÊÇÇŽÓÍøÂçµÄÉèÖá£
Ò»°ãÔÚÉú²ú»·¾³ÖУ¬ÎÒÃÇͨ¹ýKVMÐéÄâ»ú³öÀ´µÄÐéÄâ»ú£¬ÊÇÐèҪͨ¹ýIPµØÖ·¶ÔÍâÖ±½ÓÌṩ·þÎñµÄ£¬Õâ¾ÍÐèÒªÎÒÃÇÅäÖÃÇŽÓģʽ¡£
»Ø¹Ë
ÍøÂçÁ´½ÓÓм¸ÖÖ·½Ê½£¬ÎÒÃDZȽϳ£ÓõÄÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇͨ¹ýNAT(ÍøÂçµØÖ·×ª»»)£¬ÁíÒ»ÖÖÊÇÇŽӵķ½Ê½¡£Á½ÖÖÁ´½Ó·½Ê½µÄÇø±ð£¬¼òµ¥Ëµ¾ÍÊÇÇŽÓʹÓõÄÊÇÐéÄâ»ú¶ÀÁ¢µÄÍø¿¨£¬¾ßÓжÀÁ¢µÄIPµØÖ·£¬¸ÃipµØÖ·ºÍÐéÄâ»úËùÔÚµÄÎïÀí»úÊÇͬµÈ¼¶µÄ¡£NAT·Òë¹ýÀ´¾ÍÊÇÍøÂçµØÖ·×ª»»£¬Ï൱ÓÚÊǰÑÐéÄâ»úËùÔÚµÄÎïÀí»úµ±×ö·ÓÉÆ÷ÔÚʹÓá£
7.13¡¢ÉÏ´«¾µÏñÎļþµ½ËÞÖ÷»ú
ÏÂÔØwinscp»òÕßÊÇʹÓÃyum -y install lrzsz* °²×°lrzszÈí¼þ£¬½«¾µÏñÎļþÉÏ´«µ½ËÞÖ÷»úÉÏ¡£
Ä¿±êµØÖ·£º/export/iso/

7.14¡¢ÔÚËÞÖ÷»úÉÏÅäÖÃÇŽÓÍøÂç
cp ifcfg-eth0 ifcfg-br0
ÐÞ¸ÄÍøÇŵÄÍøÂçÐÅÏ¢£¬×¢Òâ¿´ºìÉ«×Ö¶Î
[root@node-3 network-scripts]# vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPV6INIT=no
ONBOOT=yes
IPADDR=172.16.0.201
NETMASK=255.255.254.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DELAY=0
Ð޸ĵ±Ç°ËÞÖ÷»úµÄÍøÂçÐÅÏ¢£¬×¢Òâ¿´ºìÉ«×Ö¶Î
[root@node-3 network-scripts]# vi ifcfg-eth0
HWADDR=00:25:90:AE:21:C0
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=none
IPV6INIT=no
ONBOOT=yes
ÒÉÎÊ£ºËÞÖ÷»úÔõôûÓÐÉèÖÃIPµØÖ·£¬ÎÒÒÔºóÏë·ÃÎÊËÞÖ÷»úÔõô°ì?
·ÃÎÊÍøÇŵÄIPµØÖ·¾Í¿ÉÒÔ·ÃÎÊËÞÖ÷»ú£¬ËûÃÇÊÇͬһ̨»úÆ÷¡£
ÒÉÎÊ£ºÊÇ·ñ¿ÉÒÔ¸øËÞÖ÷»úµ¥¶ÀÉèÖÃÒ»¸öIPµØÖ·?
Ò²¿ÉÒÔ£¬È¥µôÉÏÎÄÅäÖÃÎļþµÄBOOTPROTO=none
»Ø¹Ë£º
BOOTPROTOÍøÂçÅäÖòÎÊý£º
BOOTPROTO=static ¾²Ì¬IP
BOOTPROTO=dhcp ¶¯Ì¬IP
BOOTPROTO=none ÎÞ(²»Ö¸¶¨)
ͨ³£Çé¿öÏÂÊÇdhcp»òÕßstatic£¬Í¨¹ýÖ¸¶¨·½Ê½µÄ°ì·¨À´»ñµÃµØÖ·£¬Èç¹ûûÓÐÖ¸¶¨µÄ»°¿ÉÄÜ»á³öÏÖÎÊÌâ¡£
7.15¡¢Í¨¹ýKVM´´½¨ÐéÄâ»úÓ²ÅÌ
ÏÈΪÐéÄâ»ú´´½¨Ò»¸öÓ²ÅÌ
qemu-img create -f raw /export/vm/devEnv-01.vm.itcast.img 200G
Ó²Å̸ñʽ˵Ã÷£º
raw ¸ñʽµÄÓ²ÅÌ£¬»áÔÚ´´½¨µÄʱºò¾ÍÕ¼200GµÄ¿Õ¼ä
qcow2 ¸ñʽµÄÓ²ÅÌ£¬»áËæ×ÅϵͳµÄÊý¾ÝÖð½¥Õ¼ÓÃ200GµÄ¿Õ¼ä
³õ´ÎʹÓÃKVMµÄʱºò£¬½¨ÒéʹÓÃraw¸ñʽ´´½¨Ó²ÅÌ£¬²»»áºóÆÚ°²×°²Ù×÷ϵͳÊÇ¿ÉÄÜ»á³öÏÖ´íÎó¡£´íÎóÈçÏ£º

7.16¡¢Í¨¹ýKVM´´½¨ÐéÄâ»ú
virt-install --name=devEnv-01.vm.itcast --ram=8192 --vcpus=4 --disk path=/export/vm/devEnv-01.vm.itcast.img --accelerate --cdrom /export/iso/CentOS-6.5-x86_64-bin-DVD1.iso --graphics vnc,password=123456,port=5992 --network bridge=br0 --force --autostart
ÔËÐÐÒÔÉÏÃüÁ»á´´½¨Ò»¸öÐéÄâ»ú¡£´´½¨³É¹¦½çÃæÈçÏÂ

³öÏÖÒÔÉϽçÃæ£¬±íʾÐéÄâ»ú´´½¨³É¹¦£¬½ô½Ó×ÅÎÒÃÇÐèҪͨ¹ýVNCÔ¶³ÌÁ¬½Óд´½¨µÄÐéÄâ»ú½øÐвÙ×÷ϵͳµÄ°²×°¡£
VNCµÄIPµØÖ·£º172.16.0.201
µ±Ç°ËÞÖ÷»úµÄIPµØÖ·£¬Ò²¾ÍÊÇÍøÇŵÄIPµØÖ·
VNCµÄPORT¶Ë¿ÚºÅ£º5992
¼ûÃüÁî½Å±¾vnc,password=123456,port=5992
VNCµÄPasswordÃÜÂ룺123456
ÓбØÒªÒ»ÌáµÄÊÇÉÏÎĵĽű¾ÖÐÓÐbridge=br0µÄÅäÖ㬱íʾÎÒÃÇд´½¨µÄÐéÄâ»úʹÓÃÇŽӵÄÍøÂçģʽ¡£
7.17¡¢ÏÂÔØ°²×°VNC¿Í»§¶Ë
https://www.realvnc.com/download/file/vnc.files/VNC-6.0.1-Windows.exe
7.18¡¢½â¾öVNCÈí¼þµÄÉÁÍËÎÊÌâ
ÓÃVNC ViewerÀ´Á¬½Óһ̨·þÎñÆ÷£¬ÊäÈëÃÜÂëÁ¬ÉϺóÖ±½ÓÉÁÍË£¬¿ÉÄÜÊÇColourLevelµÄÎÊÌâ¡£
ÒÀ´ÎµãOption-->Advanced-->ExpertÕÒµ½ColourLevel£¬Ä¬ÈÏÖµÊÇpal8£¬ÐÞ¸ÄΪrgb222»òfull¡£
ÖØÐÂÁ¬½Ó£¬Ã»ÓÐÎÊÌâÁË¡£

7.19¡¢VNCÈí¼þÁ¬½Óд´½¨µÄÐéÄâ»ú

Á¬½Ó³É¹¦ºó£¬ÐèÒªÊäÈëÃÜÂë¡£ÃÜÂëÊÇ123456

µã»÷OK°´Å¥Ö®ºó£¬¾Í½øÈëÁËÎÒÃÇÊìϤµÄ½çÃæ

7.20¡¢ÔÙ´ÎÆô¶¯ÐéÄâ»úÆ÷
°²×°Íêϵͳ֮ºó£¬ÐèÒªreboot¡£Ò»µ©Ö´ÐÐreboot£¬ÐéÄâ»ú²¢²»»áÆô¶¯£¬ÐèÒªÊÖ¶¯ÔÚKVM¹ÜÀí¹¤¾ßÖÐÆô¶¯¡£
[root@node-3 ~]# virsh
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh # list --all
Id Name State
----------------------------------------------------
1 centos64 running
2 centos642 running
3 centos643 running
6 centos648 running
8 centos649 running
- devEnv-01.vm.itcast shut off
virsh # start devEnv-01.vm.itcast
Domain devEnv-01.vm.itcast started
7.21¡¢ÎªÐéÄâ»úÅäÖÃÍøÂç
ͨ¹ýVNC´´½¨¼ÌÐø·ÃÎÊ
Ϊд´½¨µÄÐéÄâ»ú°²×°Íê²Ù×÷ϵͳ֮ºó£¬ÐÞ¸ÄÍøÂçÅäÖÃÈçÏ£º
[root@devEnv-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=52:54:00:1A:CC:96
TYPE=Ethernet
UUID=d00f89f0-49b0-4252-a6a3-61575e49d8d8
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
ÖØÆôÍøÂç
Service network restart
8¡¢KVM³£ÓùÜÀíÃüÁî
8.1´´½¨ÐéÄâ»ú
[root@localhost ~]# virt-install --name=centos1 \ #Éú³ÉÒ»¸öÐéÄâ»ú
--ram 1024 \ #·ÖÅäÄÚ´æ´óС(ĬÈÏ´óСMB)
--vcpus=1 \ #·ÖÅäCPUºËÐÄÊý
--disk path=/root/centos1.img \ #Ö¸¶¨ÐéÄâ»ú¾µÏñ(sizeµ¥Î»ÎªGB)
--accelerate \ #¼ÓËÙ
--cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \ # Ö¸¶¨°²×°¾µÏñiso
--graphics vnc,password=123456,port=5921 \ # Ö¸¶¨vncµÄÁ¬½ÓÃÜÂëºÍ¼àÌý¶Ë¿Ú
--network bridge=br0 \ #Ö¸¶¨ÍøÂç
--autostart \ ##×Ô¶¯¿ªÆô
8.2 virshµÄÆäËû²Ù×÷
[root@localhost /]# virsh start centos1 #Æô¶¯ÐéÄâ»ú
[root@localhost /]# virt-viewer centos1 #Èç¹ûÓÐͼÐνçÃæµÄ»°£¬¿ÉÒÔ½øÈëÐéÄâ»úµÄ½çÃæ
[root@localhost ~]# virsh shutdown centos1 #¹Ø±ÕÐéÄâ»ú
×¢Ò⣺shutdownʹÓ÷¢ËÍacpidÖ¸ÁîÀ´¿ØÖÆÐéÄâ»úµÄµçÔ´£¬¶øKVMÐéÄâ»ú°²×°LinuxϵͳʱĬÈÏûÓа²×°acpid·þÎñ£¬·´ÒÔµ¼Ö²»ÄܹرÕÐéÄâ»ú£¬ÐèÒª°²×°acpid¡£
²é¿´acpid·þÎñÊÇ·ñ¿ªÆô£º/etc/init.d/acpid status
Æô¶¯acpid·þÎñ£º/etc/init.d/acpid start
[root@localhost /]# virsh reboot centos1 #ÖØÆôÐéÄâ»ú
[root@localhost /]# virsh suspend centos1 #ÔÝÍ£ÐéÄâ»ú
[root@localhost /]# virsh resume centos1 #»Ö¸´ÐéÄâ»ú
[root@localhost /]# virsh autostart centos1 #×Ô¶¯¼ÓÔØÐéÄâ»ú
[root@localhost /]# virsh undefine centos1 #ɾ³ýÒ»¸öÐéÄâ»ú
virsh²ÎÊý˵Ã÷ÈçÏ£º
autostart×Ô¶¯¼ÓÔØÖ¸¶¨µÄÒ»¸öÐéÄâ»ú
connectÖØÐÂÁ¬½Óµ½hypervisor
consoleÁ¬½Óµ½¿Í»§»á»°
create´ÓÒ»¸öSMLÎļþ´´½¨Ò»¸öÐéÄâ»ú
start¿ªÊ¼Ò»¸ö·Ç»îÔ¾µÄÐéÄâ»ú
destroyɾ³ýÒ»¸öÐéÄâ»ú
define´ÓÒ»¸öXMLÎļþ¶¨ÒåÒ»¸öÐéÄâ»ú
domid °ÑÒ»¸öÐéÄâ»úÃû»òUUIDת»»ÎªID
domuuid°ÑÒ»¸öÓôÃÆ»òIDת»»ÎªUUID
dominfo²é¿´ÐéÄâ»úÐÅÏ¢
domstate²é¿´ÐéÄâ»ú״̬
domblkstat»ñÈ¡ÐéÄâ»úÉ豸¿ì״̬
domifstat»ñÈ¡ÐéÄâ»úÍøÂç½Ó¿Ú״̬
dumpxmlXMLÖеÄÐéÄâ»úÐÅÏ¢
edit±à¼Ä³¸öÐéÄâ»úµÄXMLÎļþ
listÁгöÐéÄâ»ú
migrate½«ÐéÄâ»úÇ¨ÒÆµ½Áíһ̨Ö÷»ú
quitÍ˳ö·Ç½»»¥Ê½ÖÕ¶Ë
rebootÖØÐÂÆô¶¯Ò»¸öÐéÄâ»ú
resumeÖØÐ»ָ´Ò»¸öÐéÄâ»ú
save°ÑÒ»¸öÐéÄâ»úµÄ״̬±£´æµ½Ò»¸öÎļþ
dump°ÑÒ»¸öÐéÄâ»úµÄÄÚºËdumpµ½Ò»¸öÎļþÖÐÒÔ·½±ã·ÖÎö
shutdown¹Ø±ÕÒ»¸öÐéÄâ»ú
setmem¸Ä±äÄÚ´æµÄ·ÖÅä
setmaxmem¸Ä±ä×î´óÄÚ´æÏÞÖÆÖµ
suspend¹ÒÆðÒ»¸öÐéÄâ»ú
vcpuinfoÐéÄâ»úµÄcpuÐÅÏ¢
versionÏÔʾvirsh°æ±¾
8.3 virt-clone¿Ë¡
µ±°²×°Íêһ̨ºó£¬ÈçºÎ¿ìËÙµÄÐéÄâ³öµÚ¶þÌ¨ÄØ?
ÕâÀï¾Í¿ÉÒÔ²ÉÓÿË¡ÕâÖÖ·½Ê½
(1)ͨ¹ýÃüÁ
virt-clone -o devEnv-01.vm.itcast -n devEnv-02.vm.itcast -f /home/kvm/centos02.img
²ÎÊý˵Ã÷£º
-o :Ö¸¶¨Ô´ÐéÄâ»ú
-n :ÃüÃûпˡµÄÐéÄâ»ú
-f :Ö¸¶¨Ð¿Ë¡ÐéÄâ»úµÄλÖÃ
(2)¿Ë¡Íê³Éºó£¬ÔÚÉú³ÉÓ²ÅÌÓ³ÏñÎļþµÄͬʱ£¬Ò²»á¿Ë¡ÐéÄâ»úµÄÅäÖÃÎļþ


(3) Ð޸ĿË¡³öÀ´µÄÐÄÐéÄâ»úµÄÅäÖÃÎļþ
ͨ¹ýÃüÁvirsh edit devEnv-02.vm.itcast

Ð޸Ĵ˴¦µÄvnc¼à¿ØµÄ¶Ë¿ÚºÅ£¬±ÜÃâÓë¿Ë¡ǰµÄÐéÄâ»ú¶Ë¿ÚÒ»Ñù£¬¶ø³öÏֶ˿ڵØÖ·±»Õ¼Óá£

(4)Æô¶¯¿Ë¡³öÀ´µÄеÄÐéÄâ»údevEnv-02.vm.itcast
ͨ¹ýÃüÁ virsh start devEnv-02.vm.itcast
(5) ͨ¹ýÓÃVNC ViewerÀ´Á¬½Ó¸ÃÐéÄâ»ú
ÓÉÓÚÊǿˡ³öÀ´µÄ£¬¸ú֮ǰÎÒÃÇʹÓÃVMware¿Ë¡Ч¹ûÊÇÒ»ÑùµÄ£¬ÐèÒª½øÐÐÏàÓ¦µÄÐ޸ġ£
a£ºÐ޸ĶÔÓ¦µÄÖ÷»úÃû
½øÈë/etc/sysconfig/network½øÐÐÏàÓ¦µÄÐÞ¸Ä
b£ºÒòΪ¿Ë¡¸Ä±äÐÂÐéÄâ»úµÄMACµØÖ·£¬¹Êeth0ÎÞ·¨Æô¶¯£¬ÐµÄÐéÄâ»úºóÍø¿¨±ä³ÉÁË eth1
½øÈë/etc/udev/rules.d/70-persistent-net.rulesÎļþɾ³ý֮ǰµÄeth0Õâ¸öÍø¿¨¼Ç¼£¬±£Áôeth1¡£
½øÈëµ½/etc/sysconfig/network-scripts/,Ö´ÐÐÃüÁîmv ifcfg-eth0 ifcfg-eth1 ÖØÃüÃû
vi ifcfg-eth1 ÐÞ¸ÄÅäÖÃ

c: ÖØÆôÍø¿¨£¬Í¨¹ýÃüÁîservice network restart
8.4 libguestfs-tools°²×°ºÍʹÓÃ
libguestfs-toolsÊÇÐéÄâ»úÒ»¸ö¹ÜÀí°ü£¬ºÜÓÐÓõŤ¾ß¡£
(1)°²×°
yum -y install libguestfs-tools
(2)ʹÓÃ
²é¿´ÐéÄâ»úµÄ·ÖÇøÇé¿ö
[root@node-1 home]# virt-filesystems -d devEnv-01.vm.itcast

[root@node-1 home]# virt-list-partitions /home/kvm/devEnv-01.vm.itcast.img

[root@node-1 home]# virt-df /home/kvm/devEnv-01.vm.itcast.img

8.5 kvmÐéÄâ»ú²ÎÊýÐÞ¸Ä
(1) ÐÞ¸ÄkvmÐéÄâ»úµÄÄÚ´æ´óС
[root@node-1 home]# virsh edit devEnv-01.vm.itcast
×¢Òâ²»¿ÉÖ±½ÓÐÞ¸ÄdevEnv-01.vm.itcast.xml Îļþ

²é¿´Äڴ棺free
(2)ÐÞ¸ÄkvmÐéÄâ»úµÄcpuºËÊý´óС
[root@node-1 home]# virsh edit devEnv-01.vm.itcast

²é¿´cpuºËÊý£º cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
×¢Ò⣺ÐÞ¸ÄÍê³ÉÖ®ºó£¬¶¼ÒªÖØÆôÐéÄâ»ú
Ïȹرգºvirsh shutdown devEnv-01.vm.itcast
ÔÙÆô¶¯£ºvirsh start devEnv-01.vm.itcast
ÆäËû²ÎÊýÐÞ¸ÄÏàͬ¡£
±±¾©Ð£Çø