±à¼ÍƼö: |
±¾ÎÄÖØµã½éÉÜÁË
²¿ÊðKVMÐéÄ⻯ƽ̨£¬Ôõô´î½¨KVMÐéÄ⻯ƽ̨ £¬Ê¹ÓÃKVMÃüÁ¹ÜÀíÐéÄâ»ú£¬KVM¶¯Ì¬Ç¨ÒÆ£¬KVMÐÔÄÜÓÅ»¯¡£
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
²¿ÊðKVMÐéÄ⻯ƽ̨
Ò»¡¢´î½¨KVMÐéÄ⻯ƽ̨
1¡¢Ç°ÖÃ֪ʶµã
(1)ʲôÊÇÐéÄ⻯
°ÑÓ²¼þ×ÊÔ´´ÓÎïÀí·½Ê½×ª±äΪÂß¼·½Ê½£¬´òÆÆÔÓÐÎïÀí½á¹¹£¬Ê¹Óû§¿ÉÒÔÁé»î¹ÜÀíÕâЩ×ÊÔ´£¬²¢ÇÒÔÊÐí1̨ÎïÀí»úÉÏͬʱÔËÐжà¸ö²Ù×÷ϵͳ£¬ÒÔʵÏÖ×ÊÔ´ÀûÓÃÂÊ×î´ó»¯ºÍÁé»î¹ÜÀíµÄ¼¼Êõ
(2)ÐéÄ⻯²ã
¢ÙX86ƽָ̨Á»®·ÖΪ4¸öÌØÈ¨Ä£Ê½£ºring0-3
¢Ú²Ù×÷ϵͳ¹¤×÷ÔÚring0
¢ÛÓ¦ÓóÌÐòʹÓÃring3
¢ÜÇý¶¯³ÌÐòʹÓÃring1-2
(3)ÐéÄ⻯µÄÓÅÊÆ
¢Ù¼õÉÙ·þÎñÆ÷ÊýÁ¿£¬½µµÍÓ²¼þ²É¹º³É±¾
¢Ú×ÊÔ´ÀûÓÃÂÊ×î´ó»¯
¢Û½µµÍ»ú·¿¿Õ¼ä¡¢É¢ÈÈ¡¢µçºÄ³É±¾
¢ÜÓ²¼þ×ÊÔ´¿É¶¯Ì¬µ÷Õû£¬Ìá¸ßÆóÒµITÒµÎñÁé»îÐÔ
¢Ý¸ß¿ÉÓÃÐÔ
¢ÞÔÚ²»ÖжϷþÎñµÄÇé¿öϽøÐÐÎïÀíÓ²¼þµ÷Õû
¢ß½µµÍ¹ÜÀí³É±¾
¢à¾ß±¸¸ü¸ßЧµÄÔÖ±¸ÄÜÁ¦
(4)VMwareÐéÄ⻯
¢ÙvSphereÊÇVMware¹«Ë¾2001Äê»ùÓÚÔÆ¼ÆËãÍÆ³öµÄÒ»ÌׯóÒµ¼¶ÐéÄ⻯½â¾ö·½°¸£¬ºËÐÄ×é¼þΪESX£¬ÏÖÒѱ»ESXiÈ¡´ú¡£¾ÀúÁË5¸ö°æ±¾¸Ä½ø£¬ÊµÏÖÁËÐéÄ⻯»ù´¡¼Ü¹¹¡¢¸ß¿ÉÓÃÐÔ¡¢¼¯ÖйÜÀí¡¢ÐÔÄÜ¼à¿ØµÈÒ»Ì廯½â¾ö·½°¸¡£ºÅ³ÆÊÀ½çµÚÒ»Ì×ÔÆ¼ÆËãµÄ²Ù×÷ϵͳ
¢ÚESXi±¾ÉíÒ²ÊÇÒ»¸ö²Ù×÷ϵͳ£¬²ÉÓÃLinuxÄںˣ¨VMKernel£©£¬°²×°·½Ê½ÎªÂã½ðÊô·½Ê½£¬Ö±½Ó°²×°ÔÚÎïÀí·þÎñÆ÷ÉÏ£¬²»ÐèÒª°²×°ÈÎºÎÆäËû²Ù×÷ϵͳ¡£
(5)KVMÐéÄ⻯
¢ÙKVM×ÔLinux2.6.20°æ±¾ºó¾ÍÖ±½ÓÕûºÏµ½LinuxÄÚºËÖУ¬ËüÒÀÍÐCPUÐéÄ⻯ָÁ£¨ÈçInterl-VT¡¢AMD-V£©ÊµÏÖ¸ßÐÔÄܵÄÐéÄ⻯֧³Ö¡£ÓÉÓÚLinuxÄں˸߶ÈÕûºÏ£¬Òò´ËÔÚÐÔÄÜ¡¢°²È«ÐÔ¡¢¼æÈÝÐÔ¡¢Îȶ¨ÐÔÉ϶¼ÓкܺõıíÏÖ
2¡¢°¸Àýʵʩ
(1)°²×°·½Ê½
¢Ù·½Ê½Ò»£º°²×°Linuxϵͳʱ£¬Ñ¡Ôñ×ÀÃæ°²×°£¬È»ºóÑ¡ÔñÐéÄ⻯ѡÏî
¢Ú·½Ê½¶þ£ºÔÚÒÑÓÐϵͳÉϰ²×°KVMËùÐèÈí¼þ
1)yum -y groupinstall ¡°Desktop¡±£º°²×°×ÀÃæ»·¾³
2)yum -y install qemu-kvm£ºKVMÄ£¿é
3)yum -y install qemu-kvm-tools£ºKVMµ÷ÊÔ¹¤¾ß£¬¿É²»°²×°
4)yum -y install python-virtinst£ºpython×é¼þ£¬¼Ç¼´´½¨VMʱµÄxmlÎļþ
5)yum -y install qemu-img£ºqemu×é¼þ£¬´´½¨´ÅÅÌ¡¢Æô¶¯ÐéÄâ»úµÈ
6)yum -y install bridge-utils£ºÍøÂçÖ§³Ö¹¤¾ß
7)yum -y install libvirt£ºÐéÄâ»ú¹ÜÀí¹¤¾ß
8)yum -y install virt-manager£ºÍ¼ÐνçÃæ¹ÜÀíÐéÄâ»ú
¢ÛÑéÖ¤
1)²é¿´CPUÊÇ·ñÖ§³ÖÐéÄ⻯£ºcat /proc/cpuinfo | grep vmx
2)²é¿´KVMÄ£¿éÊÇ·ñ°²×°£ºlsmod | grep kvm
(2)ÉèÖÃKVMÍøÂç
¢ÙÓû§Ä£Ê½£¨NAT£©£ºÄ¬ÈÏģʽ£¬Êý¾Ý°üͨ¹ýÖ÷»ú½Ó¿Ú´«ËÍ£¬¿É·ÃÎÊÍâÍø£¬µ«ÍâÍø²»ÄÜ·ÃÎÊÐéÄâ»úÍøÂç
¢ÚÇŽÓģʽ£ºÔÊÐíÐéÄâ»úÏñһ̨¶ÀÁ¢Ö÷»úÄÇÑùÓµÓжÀÁ¢ÍøÂç
1)eth0ÖÐÌí¼ÓBRIDGE=¡±br0¡±
2)vim /etc/sysconfig/network-scripts/ifcfg-br0
(3)KVM¹ÜÀí£¨DEVICE=ager£©
¢Ù´´½¨´æ´¢³Ø
1)Ë«»÷localhost(QEMU)

2)Ñ¡Ôñ¡°´æ´¢¡±Ñ¡Ïî¿ò£¬µ¥»÷¡°+¡±½¨Á¢Ãû³ÆÎªbdqnµÄ¾µÏñ´æ´¢³Ø£¬²¢µ¥»÷ǰ½ø£¬Ö®ºóÉèÖô洢Ŀ¼µã»÷Íê³É¼´¿É

3)ÒÔͬÑù·½Ê½´´½¨ÃûΪdbqn_isoµÄ¾µÏñ´æ´¢³Ø£¬Ä¿Â¼Îª/data_kvm/iso£¬²¢½«ÏµÍ³°²×°¾µÏñÉÏ´«µ½¸ÃĿ¼
4)ÔÚdbqn´æ´¢³ØÖн¨Á¢´æ´¢¾í

5)·µ»Ø¹ÜÀíÆ÷£¬ÓÒ»÷localhost(QUMU)£¬Ñ¡Ôñн¨£¬²¢°´²½ÖèÅäÖÃн¨ÐéÄâ»ú



6)ÔÚOverviewÖж¨Î»µ½»úÆ÷ÉèÖ㬰ÑʱÖÓÆ«ÒƸÄΪlocaltime£¬ÔÚBoot OptionsÖй´Ñ¡Ö÷»úÒýµ¼Ê±Æô¶¯ÐéÄâ»ú¡£Èç¹ûÒªÔ¶³Ì¹ÜÀí£¬ÔÚÏÔʾVNCÑ¡ÏîÖУ¬½«KeymapÉèÖÃΪCopy
Local Keymap

7)Íê³ÉÉèÖúó½øÈë×°»ú½çÃæ
¶þ¡¢Ê¹ÓÃKVMÃüÁ¹ÜÀíÐéÄâ»ú
1¡¢KVM»ù±¾¹¦ÄܹÜÀí
(1)²é¿´°ïÖú£ºvirsh -h
(2)²é¿´KVMÅäÖÃÎļþ´æ·ÅĿ¼£¨CentOS6.5.xmlÊÇÐéÄâ»úϵͳʵÀýµÄÅäÖÃÎļþ£©
ls /etc/libvirt/qemu/
(3)²é¿´ÐéÄâ»ú״̬£ºvirsh list --all
(4)ÐéÄâ»ú¹Ø»úÓ뿪»ú
virsh shutdown CentOS6.5
¹Ø»úÃüÁîÐèÒªÔÚÐéÄâ»úÉϰ²×°acpidÈí¼þ²¢ÔËÐÐacpid·þÎñ
virsh start CentOS6.5
(5)Ç¿ÖÆÊµÀýϵͳ¹Ø±ÕµçÔ´£ºvirsh destroy CentOS6.5
(6)ͨ¹ýÅäÖÃÎļþÆô¶¯ÐéÄâ»úʵÀý
virsh create /etc/libvirt/qemu/CentOS6.5.xml
(7)¹ÒÆðÐéÄâ»ú
virsh suspend CentOS6.5
(8)»Ö¸´ÐéÄâ»ú
virsh resume CentOS6.5
(9)ÅäÖÃÐéÄâ»úʵÀý°éËæËÞÖ÷»ú×Ô¶¯Æô¶¯
virsh autostart CentOS6.5
(10)µ¼³öÐéÄâ»úÅäÖÃ
virsh dumpxml CentOS6.5>/etc/libvirt/qemu/test02.xml
(11)ÐéÄâ»úµÄɾ³ýÓëÌí¼Ó
¢Ùɾ³ý
virsh shutdown CentOS6.5
virsh undefine CentOS6.5
¢Úͨ¹ý±¸·ÝÅäÖÃÎļþÖØÐ¶¨ÒåÐéÄâ»ú
mv test02.xml CentOS6.5.xml
virsh define CentOS6.5.xml
(12)ÐÞ¸ÄÐéÄâ»úÅäÖÃÐÅÏ¢£¨ÄÚ´æ´óС¡¢´ÅÅ̵ÈÐÅÏ¢£©
¢Ùͨ¹ývim /etc/libvirt/qemu/CentOS6.5.xml
¢Úͨ¹ývirsh edit CentOS6.5
2¡¢KVMÎļþ¹ÜÀí
ͨ¹ýÎļþ¹ÜÀí¿ÉÒÔÖ±½Ó²é¿´¡¢Ð޸ġ¢¸´ÖÆÐéÄâ»úµÄÄÚ²¿Îļþ¡£ÀýÈçÔÚÐéÄâ»úÒòÅäÖÃÎÊÌâÎÞ·¨Æô¶¯Ê±£¬¿ÉÖ±½ÓÐÞ¸ÄÐéÄâ»úµÄÎļþ¡£ÐéÄâ»ú´ÅÅÌÎļþÓÐrawºÍqcow2Á½ÖÖ£¬Ä¬ÈÏʹÓÃraw¸ñʽ¡£rawÐÔÄÜ×îºÃ¡¢ËÙ¶È×î¿ì£¬µ«²»Ö§³ÖһЩй¦ÄÜ£¬Èç¾µÏñ¡¢Zlib´ÅÅÌѹËõ¡¢AES¼ÓÃܵȡ£ÕâÀï½éÉܱ¾µØyum°²×°libguestfs-toolsºó²úÉúµÄÃüÁîÐй¤¾ß£¨Õë¶Ôqcow2¸ñʽ£¬Òò´ËÐèÒª½«raw¸ñʽÎļþת»»³Éqcow2¸ñʽ
(1)ת»»raw¸ñʽ´ÅÅÌÎļþÖÁqcow2¸ñʽ
¢Ù²é¿´µ±Ç°´ÅÅ̸ñʽ£ºqemu-img info /data_kvm/store/test01.img
¢Ú¹Ø±ÕÐéÄâ»ú£ºvirsh shutdown test01
¢Ûת»»¸ñʽ£ºqemu-img convert -f raw -O qcow2 /data_kvm/store/test01.img
(2)ÐÞ¸Ätest01µÄxmlÅäÖÃÎļþ
<source file='/data_kvm/store/test01.qcow2'/>
(3)virt-catÃüÁÀàËÆcatÃüÁlibguestfs-tools°üÖУ©
virt-cat -a /data_kvm/store/test01.qcow2 /etc/resolv.conf
(4)virt-editÃüÁÓ÷¨»ù±¾ÓëvimÏàͬ
(5)virt-dfÃüÁ²é¿´ÐéÄâ»ú´ÅÅÌÐÅÏ¢
3¡¢ÐéÄâ»ú¿Ë¡
(1)virt-clone -o test1 -n test2 -f /data/store/test2.qcow2
4¡¢ÐéÄâ»ú¿ìÕÕ
KVMÐéÄâ»úҪʹÓþµÏñ¹¦ÄÜ£¬´ÅÅ̸ñʽ±ØÐëΪqcow2
(1)´´½¨¿ìÕÕ
virsh snapshot-create test1
(2)²é¿´¿ìÕÕ°æ±¾ÐÅÏ¢
virsh snapshot-current test1
(3)²é¿´¿ìÕÕÐÅÏ¢
virsh snapshot-list test1
(4)»Ö¸´¿ìÕÕ
virsh snapshot-revert test1 1584261453
(5)ɾ³ý¿ìÕÕ
virsh snapshot-delete test1 1584261453
5¡¢virt-install¹¤¾ß£¨Ðèµ¥¶À°²×°£©
(1)virt-installÊÇÒ»¸öÃüÁîÐй¤¾ß£¬ËüÄܹ»ÎªKVM¡¢Xen»òÆäËüÖ§³Ölibvrit APIµÄhypervisor´´½¨ÐéÄâ»ú²¢Íê³ÉGuestOS°²×°£»´ËÍ⣬ËüÄܹ»»ùÓÚ´®ÐпØÖÆÌ¨¡¢VNC»òSDLÖ§³ÖÎı¾»òͼÐΰ²×°½çÃæ¡£°²×°¹ý³Ì¿ÉÒÔʹÓñ¾µØµÄ°²×°½éÖÊÈçCDROM£¬Ò²¿ÉÒÔͨ¹ýÍøÂ緽ʽÈçNFS¡¢HTTP»òFTP·þÎñʵÏÖ¡£¶ÔÓÚͨ¹ýÍøÂç°²×°µÄ·½Ê½£¬virt-install¿ÉÒÔ×Ô¶¯¼ÓÔØ±ØÒªµÄÎļþÒÔÆô¶¯°²×°¹ý³Ì¶øÎÞÐë¶îÍâÌṩÒýµ¼¹¤¾ß¡£µ±È»£¬virt-installÒ²Ö§³ÖPXE·½Ê½µÄ°²×°¹ý³Ì£¬Ò²Äܹ»Ö±½ÓʹÓÃÏÖÓеĴÅÅÌÓ³ÏñÖ±½ÓÆô¶¯°²×°¹ý³Ì¡£
(2)°²×°Ê¾Àý
virt-install --name=centos6.5-2 --ram=51 --vcpus=1
--os-type=Linux --cdrom=/home/kvmiso/CentOS6.iso --file=/home/kvmimg/centos65-2.img
--file-size=10 --network bridge=br0 --vnc --vncport=5904
--vnclisten=0.0.0.0
(3)Ò»°ãÑ¡Ï
¢Ù-n NAME, --name=NAME£ºÐéÄâ»úÃû³Æ£¬ÐèÈ«¾ÖΩһ£»
¢Ú-r MEMORY, --ram=MEMORY£ºÐéÄâ»úÄÚÔÚ´óС£¬µ¥Î»ÎªMB£»
¢Û--vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#]£ºVCPU¸öÊý¼°Ïà¹ØÅäÖã»
¢Ü--cpu=CPU£ºCPUģʽ¼°ÌØÐÔ£¬ÈçcoreduoµÈ£»¿ÉÒÔʹÓÃqemu-kvm -cpu ?À´»ñȡ֧³ÖµÄCPUģʽ£»
(4)°²×°Ñ¡Ï
¢Ù-c CDROM, --cdrom=CDROM£º¹âÅ̰²×°½éÖÊ£»
¢Ú-l LOCATION, --location=LOCATION£º°²×°Ô´URL£¬Ö§³ÖFTP¡¢HTTP¼°NFSµÈ£¬Èçftp://172.16.0.1/pub£»
¢Û--pxe£º»ùÓÚPXEÍê³É°²×°£»
¢Ü--livecd: °Ñ¹âÅ̵±×÷LiveCD£»
¢Ý--os-type=DISTRO_TYPE£º²Ù×÷ϵͳÀàÐÍ£¬Èçlinux¡¢unix»òwindowsµÈ£»
¢Þ--os-variant=DISTRO_VARIANT£ºÄ³ÀàÐͲÙ×÷ϵͳµÄ±äÌ壬Èçrhel5¡¢fedora8µÈ£»
¢ß-x EXTRA, --extra-args=EXTRA£º¸ù¾Ý--locationÖ¸¶¨µÄ·½Ê½°²×°GuestOSʱ£¬ÓÃÓÚ´«µÝ¸øÄں˵ĶîÍâÑ¡ÏÀýÈçÖ¸¶¨kickstartÎļþµÄλÖã¬--extra-args
"ks=http://172.16.0.1/class.cfg"
¢à--boot=BOOTOPTS£ºÖ¸¶¨°²×°¹ý³ÌÍê³ÉºóµÄÅäÖÃÑ¡ÏÈçÖ¸¶¨Òýµ¼É豸´ÎÐò¡¢Ê¹ÓÃÖ¸¶¨µÄ¶ø·Ç°²×°µÄkernel/initrdÀ´Òýµ¼ÏµÍ³Æô¶¯µÈ
£»ÀýÈ磺
1)--boot cdrom,hd,network£ºÖ¸¶¨Òýµ¼´ÎÐò£»
2)--boot kernel=KERNEL,initrd=INITRD,kernel_args=¡±console=/dev/ttyS0¡±£ºÖ¸¶¨Æô¶¯ÏµÍ³µÄÄں˼°initrdÎļþ
(5)´æ´¢ÅäÖÃ
¢Ù--disk=DISKOPTS£ºÖ¸¶¨´æ´¢É豸¼°ÆäÊôÐÔ£»¸ñʽΪ--disk /some/storage/path,opt1=val1£¬opt2=val2µÈ£»³£ÓõÄÑ¡ÏîÓУº
1)device£ºÉ豸ÀàÐÍ£¬Èçcdrom¡¢disk»òfloppyµÈ£¬Ä¬ÈÏΪdisk£»
2)bus£º´ÅÅÌ×ܽáÀàÐÍ£¬ÆäÖµ¿ÉÒÔΪide¡¢scsi¡¢usb¡¢virtio»òxen£»
3)perms£º·ÃÎÊȨÏÞ£¬Èçrw¡¢ro»òsh£¨¹²ÏíµÄ¿É¶Áд£©£¬Ä¬ÈÏΪrw£»
4)size£ºÐ½¨´ÅÅÌÓ³ÏñµÄ´óС£¬µ¥Î»ÎªGB£»
5)cache£º»º´æÄ£ÐÍ£¬ÆäÖµÓÐnone¡¢writethrouth£¨»º´æ¶Á£©¼°writeback£¨»º´æ¶Áд£©£»
6)format£º´ÅÅÌÓ³Ïñ¸ñʽ£¬Èçraw¡¢qcow2¡¢vmdkµÈ£»
7)sparse£º´ÅÅÌÓ³ÏñʹÓÃÏ¡Êè¸ñʽ£¬¼´²»Á¢¼´·ÖÅäÖ¸¶¨´óСµÄ¿Õ¼ä£»
¢Ú--nodisks£º²»Ê¹Óñ¾µØ´ÅÅÌ£¬ÔÚLiveCDģʽÖг£Óã»
(6)ÍøÂçÅäÖÃ
¢Ù-w NETWORK, --network=NETWORK,opt1=val1,opt2=val2£º½«ÐéÄâ»úÁ¬ÈëËÞÖ÷»úµÄÍøÂçÖУ¬ÆäÖÐNETWORK¿ÉÒÔΪ£º
1)bridge=BRIDGE£ºÁ¬½ÓÖÁÃûΪ¡°BRIDEG¡±µÄÇÅÉ豸£»
2)network=NAME£ºÁ¬½ÓÖÁÃûΪ¡°NAME¡±µÄÍøÂ磻
Èý¡¢KVM¶¯Ì¬Ç¨ÒÆ
1¡¢ÉèÖÃÖ÷»úÃû¡¢/etc/hosts£¬±£Ö¤ÍìÁô¹ýÁ¬½Ó
2¡¢Á½Ì¨Ö÷»úµÄKVMÁ¬½ÓNFS¹²Ïí´æ´¢
3¡¢ÔÚÔ´Ö÷»úµÄKVMÖÐн¨ÐéÄâ»ú²¢°²×°ÏµÍ³
4¡¢Á¬½ÓKVM£¬²¢½øÐÐÇ¨ÒÆ
ËÄ¡¢KVMÐÔÄÜÓÅ»¯
1¡¢KVMΪʲôҪµ÷ÓÅ
KVM²ÉÓÃÈ«ÐéÄ⻯¼¼Êõ£¬È«ÐéÄ⻯ҪÓÉÒ»¸öÈí¼þÀ´Ä£ÄâÓ²¼þ²ã£¬¹ÊÓÉÒ»¶¨µÄËðºÄ£¬ÌرðÊÇI/O£¬Òò´ËÐèÒªÓÅ»¯¡£
KVMÐÔÄÜÓÅ»¯Ö÷ÒªÔÚCPU¡¢ÄÚ´æ¡¢I/OÕ⼸·½Ãæ¡£¶ø²»Í¬³¡¾°ÓÅ»¯·½ÏòÒ²²»Í¬¡£
2¡¢KVMÓÅ»¯Ë¼Â·
(1)CPUÓÅ»¯
Òª¿¼ÂÇCPUÊýÁ¿ÎÊÌ⣬ËùÓÐguestcpu×ÜÊý²»Äܳ¬¹ýÎïÀí»úCPU×ÜÊý£¬½¨ÒéÑ¡Ôñ¸´ÖÆÖ÷»úCPUÅäÖÃ

(2)ÄÚ´æÓÅ»¯
¢ÙKSM£¨Kernel Samepage Merging£¬ÏàͬҳºÏ²¢£©
ÄÚ´æ·ÖÅä×îСµ¥Î»ÊÇpage£¬Ä¬ÈÏ´óС4kb¡£¿ÉÒÔ½«host»úÄÚÈÝÏàͬµÄÄÚ´æºÏ²¢£¬ÒÔ½ÚÊ¡ÄÚ´æÊ¹Óã¬ÌرðÊÇÔÚÐéÄâ»ú²Ù×÷ϵͳ¶¼Ò»ÑùµÄÇé¿öÏ¡£¿ªÆôÁËKSM£¬Ôò»á½«ÕâЩÄÚ´æºÏ²¢ÎªÒ»¸ö£¬µ±È»Õâ¸ö¹ý³Ì»áÓÐÐÔÄÜËðºÄ£¬ËùÒÔ¿ªÇøÓë·ñ£¬ÐèÒª¿¼ÂÇʹÓó¡¾°
ͨ¹ý/sys/kernel/mm/ksmĿ¼ÏµÄÎļþ¿É²é¿´ÄÚ´æÒ³¹²ÏíÇé¿ö
pages_shared¼Ç¼ÁËKSM¹²ÏíµÄ×ÜÒ³ÃæÊý
pages_sharing¼Ç¼Á˵±Ç°¹²ÏíµÄÒ³ÃæÊý
run¼Ç¼ÊÇ·ñ¿ªÆôKSM£¨0Ϊ²»¿ªÆô£¬1Ϊ¿ªÆô£©
ÁÙʱ¿ªÆô£ºecho 1>/sys/kernel/mm/ksm/run£¨Ö»ÄÜÓÃÖØ¶¨Ïò£¬²»Ö§³ÖVIM£©
pages_to_scan¼Ç¼ÊýÖµ¾ö¶¨Ã¿´ÎɨÃèÏàͬҳʱÿ´Î²é¿´¶àÉÙ¸öÒ³Ãæ£¬³¬¹ý2000ÎÞЧ£¬ÐèÒª¿ªÆôksmtunedºÍtuned·þÎñ
¢Ú¶ÔÄÚ´æÉèÖÃÏÞÖÆ
·Àֹij¸öÐéÄâ»úÎÞ½ÚÖÆµÄʹÓÃÄÚ´æ×ÊÔ´£¬µ¼ÖÂÆäËûÐéÄâ»úÎÞ·¨Õý³£Ê¹Ó㬾ÍÐèÒª¶ÔÄÚ´æÊ¹ÓýøÐÐÏÞÖÆ
²é¿´µ±Ç°ÐéÄâ»úÄÚ´æÊ¹ÓÃÏÞÖÆ£ºvirsh memtune vm
1)--min-guarantee£º±£Ö¤×îСÄÚ´æ
2)--config£ºÏ´ÎÖØÆôÉúЧ
3)--live£ºÔÚÏßÉúЧ
4)--current£ºÖ»ÔÚµ±Ç°ÉúЧ
5)virsh memtune vm --hardlimit 1024000 --live£º×î´óÄÚ´æ100M£¬ÔÚÏßÉúЧ
¢Û´óÒ³ºó¶ËÄڴ棨Huge Page Backed Memory£©
ÔÚÂß¼µØÖ·ÏòÎïÀíµØÖ·×ª»»Ê±£¬CPU±£³ÖÒ»¸ö·Òëºó±¸»º³åÆ÷TLB£¬ÓÃÀ´»º´æ×ª»»½á¹û£¬¶øTLBÈÝÁ¿ºÜС£¬ËùÒÔÈç¹ûpageºÜС£¬TLBºÜÈÝÒ׾ͳäÂú£¬ÕâÑù¾ÍÈÝÒ×µ¼ÖÂcache
miss£¬Ïà·´pageºÜ´ó£¬TLBÐèÒª±£´æµÄ»º´æÏî¾Í±äÉÙ£¬¾Í»á¼õÉÙcache miss¡£Í¨¹ýΪ¿Í»§¶ËÌṩ´óÒ³ºó¶ËÄڴ棬¾ÍÄܼõÉÙ¿Í»§»úÏûºÄµÄÄÚ´æ²¢Ìá¸ßTLBÃüÖÐÂÊ£¬´Ó¶øÌáÉýKVMÐÔÄÜ
InterlµÄx86CPUͨ³£Ê¹ÓÃ4kbÄÚ´æÒ³£¬Í¨¹ýÅäÖÃÄܹ»Ê¹ÓôóÒ³£ºx86_32ÊÇ4mb£¬64ºÍ32PAEÊÇ2mb¡£
1)echo 25000>/proc/sys/vm/nr_hugepages£ºÖ¸¶¨´óÒ³ÐèÒªµÄÄÚ´æÒ³ÃæÊý
2)cat /proc/meminfo | grep HugePage£º²é¿´´óҳʹÓÃÇé¿ö
3)Ò²¿ÉÔÚ/etc/sysctl.confÖÐÌí¼Óvm.nr_hugepages=2500À´³Ö¾ÃÉ趨´óÒ³ÎļþÐèÒªµÄÄÚ´æÒ³ÃæÊý
4)ÐèÒªµÄÒ³ÃæÊý¿ÉÓɿͻ§»úÐèÒªµÄÄÚ´æ³øÒµÒ³Ãæ´óСÀ´´óÌå¹ÀËã
5)ÐéÄâ»ú´óҳʹÓÃ
a.virsh destroy vm£º¹Ø±ÕÐéÄâ»úVM
b.virsh edit vm
a)<memoryBacking><hugepages/></memoryBacking>
c.mount -t hugetlbfshugetlbfs /dev/higepages£º¹ÒÔØhugetlfsÎļþϵͳ
d.service libvirtd restart
e.virsh start vm
f.¿ª»ú×Ô¶¯¹ÒÔØ£º/etc/fstabÖÐhugetlbfs/hugepages hugetlbfs
defaults 0 0
(3)I/OÓÅ»¯
ʵ¼ÊÉú²ú»·¾³ÖУ¬ÎªÁ˱ÜÃâ¹ý¶ÈÏûºÄ´ÅÅÌ×ÊÔ´¶ø¶ÔÆäËûµÄÐéÄâ»úÔì³ÉÓ°Ï죬ÎÒÃÇÏ£Íûÿ̨ÐéÄâ»ú¶Ô´ÅÅÌ×ÊÔ´µÄÏûºÄÊÇ¿ÉÒÔ¿ØÖƵġ£±ÈÈç¶à¸öÐéÄâ»úÍùÓ²ÅÌÖÐдÊý¾Ý£¬Ë¿ÉÒÔÓÅÏÈд£¬¾Í¿ÉÒÔµ÷ÕûI/OÈ¨ÖØweight£¬È¨ÖØÔ½¸ßдÈëÓÅÏȼ¶Ô½¸ß
¢ÙÔÚÕûÌåÖеÄÈ¨ÖØ£¬·¶Î§ÔÚ100-1000
¢ÚÏÞÖÆ¾ßÌåµÄI/O
vish blkiotune vm£º²é¿´È¨ÖØ
virsh blkiotune vm --weight 500£ºÉèÖÃÈ¨ÖØÎª500
±à¼ÐéÄâ»úXMLÎļþ£º<blkiotune><weight>500</weight></blkiotune>
¢Û»¹¿ÉÒÔʹÓÃblkdeviotuneÉèÖÃÐéÄâ»ú¶ÁдËÙ¶È
virsh blkdeviotune --
(4)ϵͳµ÷ÓŹ¤¾ßtuned/tuned-adm
¢Ùtuned£º·þÎñ¶Ë³ÌÐò£¬ÓÃÓÚ¼à¿ØºÍÊÖ»úϵͳ×é¼þÊý¾Ý
¢Útuned-adm£º¿Í»§¶Ë³ÌÐò£¬ÓÃÀ´ºÍtuned´ò½»µÀ¡£¿ÉʹÓÃÔ¤ÏÈÅäÖõÄÓÅ»¯·½°¸¶Ôϵͳ½øÐе÷ÓÅ
¢Û°²×°ºÍÆô¶¯
yum -y install tuned
service tuned start
service ktune start
¢Ü²é¿´µ±Ç°ÓÅ»¯·½°¸£ºtuned-adm active
²é¿´Ô¤ÏÈÉ趨ºÃµÄÓÅ»¯·½°¸£ºtuned-adm list
- server-powersave
- desktop-powersave
- default£ºÄ¬ÈϽڵçÅäÖã¬ÊÇ×î»ù±¾µÄ½ÚµãÅäÖã¬Ö»ÆôÓôÅÅ̺ÍCPU²å¼þ
- virtual-guest£ºÆóÒµ¼¶·þÎñÆ÷ÅäÖÃÖÐʹÓã¬ÆäÖаüÀ¨µç³Ø±¸·Ý¿ØÖƳÌÐò£¬»º´æ ±£»¤ÒÔ¼°´ÅÅ̹ÜÀí
- latency-performance£ºÑÓ³ÙÐÔÄܵ÷ÓŵķþÎñÆ÷ÅäÖÃ
- throughput-performance£ºÍÌÍÂÐÔÄܵ÷ÕûµÄ·þÎñÆ÷ÅäÖã¬Èç¹ûϵͳûÓÐÆóÒµ¼¶ ´æ´¢£¬½¨ÒéʹÓÃÕâ¸ö
- enterprise-storage£ºÆóÒµ´æ´¢·þÎñÆ÷ÓÅ»¯·½°¸
- virtual-host£º¸ù¾Ýenterprise-storageÅäÖ㬿ɼõÉÙ¿ÉÖû»µÄÐéÄâÄڴ棬²¢Æô
Óøü¶à¼¯ºÏÔàҳд»Ø¡£Í¬Ê±ÍƼöÔÚÐéÄ⻯Ö÷»úÖÐʹÓÃÕâ¸öÅäÖ㬰üÀ¨KVM ºÍºìñÆóÒµ°æÐéÄ⻯Ö÷»ú
- spindown-disk
- laptop-ac-powersave
- laptop-battery-powersave
Current active profile: default£ºÊ¹ÓõÄijÖÖÅäÖÃ
¢ÝʹÓÃÓÅ»¯·½°¸£ºtuned-adm profile virtual-gest£¨Ð޸ĵ±Ç°·½°¸Îªvirtual-gest£©
¢Þ´´½¨×Ô¶¨ÒåÓÅ»¯·½°¸
1)¿½±´/etc/tune-profiles/ÖеÄÔ¤¶¨Òå·½°¸ºó£¬½øÐвÎÊýÐ޸ļ´¿É
2)²é¿´·½°¸£ºtuned-adm list |