Virtio£ºÕë¶Ô Linux µÄ I/O ÐéÄ⻯¿ò¼Ü
¸Å¶øÑÔÖ®£¬virtio
ÊÇ°ëÐéÄ⻯ hypervisor ÖÐλÓÚÉ豸֮ÉϵijéÏó²ã¡£virtio
ÓÉ Rusty Russell ¿ª·¢£¬Ëûµ±Ê±µÄÄ¿µÄÊÇÖ§³Ö×Ô¼ºµÄÐéÄ⻯½â¾ö·½°¸ lguest
¡£±¾ÎÄÔÚ¿ªÆªÊ±½éÉÜ°ëÐéÄ⻯ºÍÄ£ÄâÉ豸£¬È»ºó̽Ë÷ virtio
µÄϸ½Ú¡£±¾ÎĵÄÖصãÊÇÀ´×Ô 2.6.30 Äں˷¢ÐаæµÄ virtio
¿ò¼Ü¡£
Linux ÊÇ hypervisor չ̨¡£ÈçÎÒµÄ ÆÊÎö Linux hypervisor
ËùÊö£¬Linux Ìṩ¸÷ÖÖ hypervisor ½â¾ö·½°¸£¬ÕâЩ½â¾ö·½°¸¶¼ÓÐ×Ô¼ºµÄÌصãºÍÓŵ㡣ÕâЩ½â¾ö·½°¸°üÀ¨ Kernel-based Virtual Machine (KVM)¡¢lguest
ºÍ User-mode Linux µÈ¡£ÔÚ Linux ÉÏÅ䱸ÕâЩ²»Í¬µÄ hypervisor ½â¾ö·½°¸»á¸ø²Ù×÷ϵͳ´øÀ´¸ºµ££¬¸ºµ£µÄ´óСȡ¾öÓÚ¸÷¸ö½â¾ö·½°¸µÄÐèÇó¡£ÆäÖеÄÒ»ÏÏúΪÉ豸µÄÐéÄ⻯¡£virtio
²¢Ã»ÓÐÌṩ¶àÖÖÉ豸ģÄâ»úÖÆ£¨Õë¶ÔÍøÂç¡¢¿éºÍÆäËûÇý¶¯³ÌÐò£©£¬¶øÊÇΪÕâЩÉ豸ģÄâÌṩһ¸öͨÓõÄÇ°¶Ë£¬´Ó¶ø±ê×¼»¯½Ó¿ÚºÍÔö¼Ó´úÂëµÄ¿çƽ̨ÖØÓá£
ÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯
¼ÓÈë My developerWorks ÉϵÄÂÌɫС×é
ÔÚ My developerWorks É쵀 GReen IT Report ¿Õ¼ä
ºÍ ÂÌÉ«¼ÆËãС×é
ÉÏÌÖÂÛ¹ØÓÚÄÜÔ´¡¢Ð§Âʺͻ·¾³µÄÖ÷Ìâ²¢¹²Ïí×ÊÔ´¡£
ÈÃÎÒÃÇ¿ìËÙÌÖÂÛÒ»ÏÂÁ½ÖÖÀàÐÍÍêÈ«²»Í¬µÄÐéÄ⻯ģʽ£ºÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯¡£ÔÚÍêÈ«ÐéÄ⻯
ÖУ¬À´±ö²Ù×÷ϵͳÔËÐÐÔÚλÓÚÎïÀí»úÆ÷É쵀 hypervisor Ö®ÉÏ¡£À´±ö²Ù×÷ϵͳ²¢²»ÖªµÀËüÒѱ»ÐéÄ⻯£¬²¢ÇÒ²»ÐèÒªÈκθü¸Ä¾Í¿ÉÒÔÔÚ¸ÃÅäÖÃϹ¤×÷¡£Ïà·´£¬ÔÚ°ëÐéÄ⻯
ÖУ¬À´±ö²Ù×÷ϵͳ²»½öÖªµÀËüÔËÐÐÔÚ hypervisor Ö®ÉÏ£¬»¹°üº¬ÈÃÀ´±ö²Ù×÷ϵͳ¸ü¸ßЧµØ¹ý¶Éµ½ hypervisor µÄ´úÂ루¼û ͼ 1
£©¡£
ÔÚ
ÍêÈ«ÐéÄ⻯ģʽÖУ¬hypervisor
±ØÐëÄ£ÄâÉ豸Ӳ¼þ£¬ËüÊÇÔڻỰµÄ×îµÍ¼¶±ð½øÐÐÄ£ÄâµÄ£¨ÀýÈ磬ÍøÂçÇý¶¯³ÌÐò£©¡£¾¡¹ÜÔڸóéÏóÖÐÄ£ÄâºÜ¸É¾»£¬µ«ËüͬʱҲÊÇ×îµÍЧ¡¢×Ôӵġ£ÔÚ°ëÐéÄ⻯ģʽ
ÖУ¬À´±ö²Ù×÷ϵͳºÍ hypervisor Äܹ»¹²Í¬ºÏ×÷£¬ÈÃÄ£Äâ¸ü¼Ó¸ßЧ¡£°ëÐéÄ⻯·½·¨µÄȱµãÊDzÙ×÷ϵͳ֪µÀËü±»ÐéÄ⻯£¬²¢ÇÒÐèÒªÐ޸IJÅÄܹ¤×÷¡£
ͼ 1. ÔÚÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯»·¾³ÏµÄÉ豸ģÄâ
Ó²¼þËæ×ÅÐéÄ⻯¼¼Êõ¶ø²»¶Ï¸Ä±ä¡£ÐµĴ¦ÀíÆ÷ͨ¹ýÄÉÈë¸ß¼¶Ö¸ÁîÀ´ÈÃÀ´±ö²Ù×÷ϵͳµ½ hypervisor µÄ¹ý¶É¸ü¼Ó¸ßЧ¡£´ËÍ⣬Ӳ¼þÒ²Ëæ×ÅÊäÈë/Êä³ö£¨I/O£©ÐéÄ⻯¶ø²»¶Ï¸Ä±ä£¨²Î¼û ²Î¿¼×ÊÁÏ
Á˽â Peripheral Controller Interconnect [PCI] passthrough ºÍ single- and
multi-root I/O ÐéÄ⻯£©¡£
virtio µÄÌæ»»Õß
virtio
²¢²»ÊǸÃÁìÓòÖеÄΨһ°ÔÖ÷¡£Xen Ìṩ°ë
Ïà¹ØÎĵµ£º
linuxÃæÊÔ´óÈ«
Ò»£®Ìî¿ÕÌ⣺
1. ÔÚLinuxϵͳÖУ¬ÒÔ Îļþ ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ /etc/fstab ÖжÁÈ¡Òª¼ÓÔصÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪÒýµ¼¿é ¡¢×¨ÓÃ¿é ¡¢ i½Úµã±í¿é ºÍÊý¾Ý´æ´¢¿é¡£
5. Á´½Ó·ÖΪ£º Ó²Á´½Ó ºÍ ·ûºÅÁ´½Ó ¡ ......
ÎÒÔÚVmwareÐéÄâ»úÉÏ°²×°Linuxʱ£¬µÚÒ»Õź͵ڶþÕŹâÅ̶¼Ë³Àû¹ÒÔØ£¬µ«ÊÇÔÚµÚÈýÕŹâÅÌʱȴ³öÏÖÎÞ·¨¹ÒÔصÄÌáʾ´°¿Ú¡£´ËʱÎҵĽâ¾ö°ì·¨ÊÇ£ºRed Hat Linux/setting/Hardware/cd/dvd(Ide)ÖÐÅäÖúÃImage fileºó¹´ÉÏDevice statusÖеÄConnected¼´¿É ......
[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development ......
¼ÇµÃÎÒÃÇÔÚÉÏƪÎÄÕÂmem_init()·ÖÎöÖÐÌáµ½__free_page()º¯ÊýÂð£¿ÎÒÃÇÏÖÔÚÀ´ÍêÉÆËü¡£ËüµÄµ÷Óùý³ÌÊÇÕâÑùµÄ£ºmem_init()->free_all_bootmem_node():ÎÒÃÇÖªµÀÕâ¸öº¯ÊýÊÇͳ¼ÆÒ»¹²ÊÍ·ÅÁ˶àÉÙ¿ÕÏÐÒ³¡£->free_all_bootmem_core()¾ÍÊÇÔÚÕâ¸öº¯ÊýÀïÃæÏȺó¶à´Îµ÷ÓÃ__free_pages()º¯Êý¡£Ä¿µÄ¾ÍÊÇΪÁËÊÍ·Åÿ¸öÄÚ´ænodeÀïÃæÎ ......
Ò»¡¢×ܽáһϣº
1.LinuxϵͳÏÂÆô¶¯MySQLµÄÃüÁ
mysqladmin start
/etc/init.d/mysql start (Ç°ÃæΪmysqlµÄ°²×°Â·¾¶)
2.linuxÏÂÖØÆômysqlµÄÃüÁ
mysqladmin restart
/etc/init.d/mysql restart (Ç°ÃæΪmysqlµÄ°²×°Â·¾¶)
3.linuxϹرÕmysqlµÄÃüÁ
mysqladmin shutdown
/etc/init.d/mysql shutd ......