1. »ù´¡ÖªÊ¶
1.1 ¸ß¿ÉÓà £¨High Availability£¬¼ò³Æ HA£©
¸ß¿ÉÓÃÐÔÊÇÖ¸ÌṩÔÚ±¾µØÏµÍ³µ¥¸ö×é¼þ¹ÊÕÏÇé¿öÏ£¬ÄܼÌÐø·ÃÎÊÓ¦ÓõÄÄÜÁ¦£¬ÎÞÂÛÕâ¸ö¹ÊÕÏÊÇÒµÎñÁ÷³Ì¡¢ÎïÀíÉèÊ©¡¢ITÈí/Ó²¼þµÄ¹ÊÕÏ¡£×îºÃµÄ¿ÉÓÃÐÔ£¬
¾ÍÊÇÄãµÄһ̨»úÆ÷å´»úÁË£¬µ«ÊÇʹÓÃÄãµÄ·þÎñµÄÓû§ÍêÈ«¸Ð¾õ²»µ½¡£ÄãµÄ»úÆ÷å´»úÁË£¬ÔڸûúÆ÷ÉÏÔËÐеķþÎñ¿Ï¶¨µÃ×ö¹ÊÕÏÇл»£¨failover£©£¬Çл»ÓÐÁ½¸öά¶ÈµÄ³É±¾£ºRTO
£¨Recovery Time Objective£©ºÍ RPO£¨Recovery Point Objective£©¡£RTO
ÊÇ·þÎñ»Ö¸´µÄʱ¼ä£¬×î¼ÑµÄÇé¿öÊÇ 0£¬ÕâÒâζ×Å·þÎñÁ¢¼´»Ö¸´£»×ÊÇÎÞÇî´óÒâζ×Å·þÎñÓÀÔ¶»Ö¸´²»ÁË£»RPO
ÊÇÇл»Ê±Ïòǰ»Ö¸´µÄÊý¾ÝµÄʱ¼ä³¤¶È£¬0 Òâζ×ÅʹÓÃͬ²½µÄÊý¾Ý£¬´óÓÚ 0 Òâζ×ÅÓÐÊý¾Ý¶ªÊ§£¬±ÈÈç ¡± RPO
= 1 Ìì¡° Òâζׯָ´Ê±Ê¹ÓÃÒ»ÌìǰµÄÊý¾Ý£¬ÄÇôһÌìÖ®ÄÚµÄÊý¾Ý¾Í¶ªÊ§ÁË¡£Òò´Ë£¬»Ö¸´µÄ×î¼Ñ½á¹ûÊÇ RTO
= RPO = 0£¬µ«ÊÇÕâ¸öÌ«ÀíÏ룬»òÕßҪʵÏֵϰ³É±¾Ì«¸ß£¬È«Çò¹À¼Æ Visa µÈÉÙÊý¼¸¸ö¹«Ë¾ÄÜʵÏÖ£¬»òÕß¼¸ºõʵÏÖ¡£
¶Ô HA À´Ëµ£¬ÍùÍùʹÓù²Ïí´æ´¢£¬ÕâÑùµÄ»°£¬RPO =0 £»Í¬Ê±ÍùÍùʹÓÃ
Active/Active £¨Ë«»î¼¯Èº£© HA ģʽÀ´Ê¹µÃ RTO ¼¸ºõ0£¬Èç¹ûʹÓà Active/Passive
ģʽµÄ HA µÄ»°£¬ÔòÐèÒª½« RTO ¼õÉÙµ½×îСÏÞ¶È¡£HA µÄ¼ÆË㹫ʽÊÇ[ 1 - (å´»úʱ¼ä)/£¨å´»úʱ¼ä
+ ÔËÐÐʱ¼ä£©]£¬ÎÒÃdz£³£Óü¸¸ö 9 ±íʾ¿ÉÓÃÐÔ£º
2 ¸ö9£º99% = 1% * 365 = 3.65 * 24 Сʱ/Äê
= 87.6 Сʱ/ÄêµÄå´»úʱ¼ä
4 ¸ö9: 99.99% = 0.01% * 365 * 24 *
60 = 52.56 ·ÖÖÓ/Äê
5 ¸ö9£º99.999% = 0.001% * 365 = 5.265
·ÖÖÓ/ÄêµÄå´»úʱ¼ä£¬Ò²¾ÍÒâζ×Åÿ´ÎÍ£»úʱ¼äÔÚÒ»µ½Á½·ÖÖÓ¡£
11 ¸ö 9£º¼¸ºõ¾ÍÊǼ¸Äê²Åå´»ú¼¸·ÖÖÓ¡£ ¾Ý˵ AWS S3 µÄÉè¼Æ¸ß¿ÉÓÃÐÔ¾ÍÊÇ
11 ¸ö 9¡£
1.1.1 ·þÎñµÄ·ÖÀà
HA ½«·þÎñ·ÖΪÁ½Àࣺ
ÓÐ״̬·þÎñ£ººóÐø¶Ô·þÎñµÄÇëÇóÒÀÀµÓÚ֮ǰ¶Ô·þÎñµÄÇëÇó¡£
ÎÞ״̬·þÎñ£º¶Ô·þÎñµÄÇëÇóÖ®¼äûÓÐÒÀÀµ¹ØÏµ£¬ÊÇÍêÈ«¶ÀÁ¢µÄ¡£
1.1.2 HA µÄÖÖÀà
HA ÐèҪʹÓÃÈßÓàµÄ·þÎñÆ÷×é³É¼¯ÈºÀ´ÔËÐиºÔØ£¬°üÀ¨Ó¦ÓúͷþÎñ¡£ÕâÖÖÈßÓàÐÔÒ²¿ÉÒÔ½«
HA ·ÖΪÁ½Àࣺ
Active/Passive HA£º¼¯ÈºÖ»°üÀ¨Á½¸ö½Úµã¼ò³ÆÖ÷±¸¡£ÔÚÕâÖÖÅäÖÃÏ£¬ÏµÍ³²ÉÓÃÖ÷ºÍ±¸ÓûúÆ÷À´Ìṩ·þÎñ£¬ÏµÍ³Ö»ÔÚÖ÷É豸ÉÏÌṩ·þÎñ¡£ÔÚÖ÷É豸¹ÊÕÏʱ£¬±¸É豸ÉϵķþÎñ±»Æô¶¯À´Ìæ´úÖ÷É豸ÌṩµÄ·þÎñ¡£µäÐ͵أ¬¿ÉÒÔ²ÉÓÃ
CRM Èí¼þ±ÈÈç Pacemaker À´¿ØÖÆÖ÷±¸É豸֮¼äµÄÇл»£¬²¢Ìṩһ¸öÐé»ú IP À´Ìṩ·þÎñ¡£
Active/Active HA£º¼¯ÈºÖ»°üÀ¨Á½¸ö½Úµãʱ¼ò³ÆË«»î£¬°üÀ¨¶à½Úµãʱ³ÉΪ¶àÖ÷£¨Multi-master£©¡£ÔÚÕâÖÖÅäÖÃÏ£¬ÏµÍ³ÔÚ¼¯ÈºÄÚËùÓзþÎñÆ÷ÉÏÔËÐÐͬÑùµÄ¸ºÔØ¡£ÒÔÊý¾Ý¿âΪÀý£¬¶ÔÒ»¸öʵÀýµÄ¸üУ¬»á±»Í¬²½µ½ËùÓÐʵÀýÉÏ¡£ÕâÖÖÅäÖÃÏÂÍùÍù²ÉÓøºÔؾùºâÈí¼þ±ÈÈç
HAProxy À´Ìṩ·þÎñµÄÐéÄâ IP¡£
1.1.3 ÔÆ»·¾³µÄ HA
ÔÆ»·¾³°üÀ¨Ò»¸ö¹ã·ºµÄϵͳ£¬°üÀ¨Ó²¼þ»ù´¡ÉèÊ©¡¢IaaS²ã¡¢Ðé»úºÍÓ¦Óá£ÒÔ
OpenStack ÔÆÎªÀý£º

ÔÆ»·¾³µÄ HA ½«°üÀ¨£º
Ó¦ÓÃµÄ HA
Ðé»úµÄ HA
ÔÆ¿ØÖÆ·þÎñµÄ HA
ÎïÀíIT²ã£º°üÀ¨ÍøÂçÉ豸±ÈÈç½»»»»úºÍ·ÓÉÆ÷£¬´æ´¢É豸µÈ
»ù´¡ÉèÊ©£¬±ÈÈçµçÁ¦¡¢¿Õµ÷ºÍ·À»ðÉèÊ©µÈ
±¾ÎĵÄÖØµãÊÇÌÖÂÛ OpenStack ×÷Ϊ IaaS µÄ HA¡£
1.2 ÔÖÄѻָ´ £¨Disaster Recovery£©
¼¸¸ö¸ÅÄ
ÔÖÄÑ£¨Disaster£©ÊÇÓÉÓÚÈËΪ»ò×ÔÈ»µÄÔÒò£¬Ôì³ÉÒ»¸öÊý¾ÝÖÐÐÄÄÚµÄÐÅϢϵͳÔËÐÐÑÏÖØ¹ÊÕÏ»ò̱»¾£¬Ê¹ÐÅϢϵͳ֧³ÖµÄÒµÎñ¹¦ÄÜÍ£¶Ù»ò·þÎñˮƽ²»¿É½ÓÊÜ¡¢´ïµ½Ìض¨µÄʱ¼äµÄÍ»·¢ÐÔʼþ£¬Í¨³£µ¼ÖÂÐÅϢϵͳÐèÒªÇл»µ½±¸Ó󡵨ÔËÐС£
ÔÖÄѻָ´£¨Diaster Recovery£©ÊÇÖ¸µ±ÔÖÄÑÆÆ»µÉú²úÖÐÐÄʱÔÚ²»Í¬µØµãµÄÊý¾ÝÖÐÐÄÄÚ»Ö¸´Êý¾Ý¡¢Ó¦ÓûòÕßÒµÎñµÄÄÜÁ¦¡£
ÈÝÔÖÊÇÖ¸£¬³ýÁËÉú²úÕ¾µãÒÔÍ⣬Óû§ÁíÍ⽨Á¢µÄÈßÓàÕ¾µã£¬µ±ÔÖÄÑ·¢Éú£¬Éú²úÕ¾µãÊܵ½ÆÆ»µÊ±£¬ÈßÓàÕ¾µã¿ÉÒÔ½Ó¹ÜÓû§Õý³£µÄÒµÎñ£¬´ïµ½ÒµÎñ²»¼ä¶ÏµÄÄ¿µÄ¡£ÎªÁË´ïµ½¸ü¸ßµÄ¿ÉÓÃÐÔ£¬Ðí¶àÓû§ÉõÖÁ½¨Á¢¶à¸öÈßÓàÕ¾µã¡£
ºâÁ¿ÈÝÔÖϵͳÓÐÁ½¸öÖ÷ÒªÖ¸±ê£ºRPO£¨Recovery Point Objective£©ºÍ RTO£¨Recovery
Time Object£©£¬ÆäÖÐ RPO´ú±í Á˵±ÔÖÄÑ·¢ÉúʱÔÊÐí¶ªÊ§µÄÊý¾ÝÁ¿£¬¶ø RTO Ôò´ú±íÁËϵͳ»Ö¸´µÄʱ¼ä¡£RPO
Óë RTO ԽС£¬ÏµÍ³µÄ¿ÉÓÃÐÔ¾ÍÔ½¸ß£¬µ±È»Óû§ÐèÒªµÄͶ×ÊÒ²Ô½´ó¡£

´óÌåÉϽ²£¬ÈÝÔÖ¿ÉÒÔ·ÖΪ3¸ö¼¶±ð£ºÊý¾Ý¼¶±ð¡¢Ó¦Óü¶±ðÒÔ¼°ÒµÎñ¼¶±ð¡£

1.3 HA ºÍ DR µÄ¹ØÏµ
Á½ÕßÏ໥¹ØÁª£¬»¥Ïಹ³ä£¬»¥Óн»²æ£¬Í¬Ê±ÓÖÓÐÏÔÖøµÄÇø±ð£º
HA ÍùÍùÖ¸±¾µØµÄ¸ß¿ÉÓÃϵͳ£¬±íʾÔÚ¶à¸ö·þÎñÆ÷ÔËÐÐÒ»¸ö»ò¶àÖÖÓ¦ÓõÄÇé¿öÏ£¬Ó¦È·±£ÈÎÒâ·þÎñÆ÷³öÏÖÈκιÊÕÏʱ£¬ÆäÔËÐеÄÓ¦Óò»ÄÜÖжϣ¬Ó¦ÓóÌÐòºÍϵͳӦÄÜѸËÙÇл»µ½ÆäËü·þÎñÆ÷ÉÏÔËÐУ¬¼´±¾µØÏµÍ³¼¯ÈººÍÈȱ¸·Ý¡£HA
ÍùÍùÊÇÓù²Ïí´æ´¢£¬Òò´ËÍùÍù²»»áÓÐÊý¾Ý¶ªÊ§£¨RPO = 0£©£¬¸ü¶àµÄÊÇÇл»Ê±¼ä³¤¶È¿¼ÂǼ´ RTO¡£
DR ÊÇÖ¸ÒìµØ£¨Í¬³Ç»òÕßÒìµØ£©µÄ¸ß¿ÉÓÃϵͳ£¬±íʾÔÚÔÖº¦·¢Éúʱ£¬Êý¾Ý¡¢Ó¦ÓÃÒÔ¼°ÒµÎñµÄ»Ö¸´ÄÜÁ¦¡£ÒìµØÔÖ±¸µÄÊý¾ÝÔÖ±¸²¿·ÖÊÇʹÓÃÊý¾Ý¸´ÖÆ£¬¸ù¾ÝʹÓõIJ»Í¬Êý¾Ý¸´ÖƼ¼Êõ£¨Í¬²½¡¢Òì²½¡¢Strectched
Cluster µÈ£©£¬Êý¾ÝÍùÍùÓÐËðʧµ¼Ö RPO >0£»¶øÒìµØµÄÓ¦ÓÃÇл»ÍùÍùÐèÒª¸ü³¤µÄʱ¼ä£¬ÕâÑù
RT0 >0¡£ Òò´Ë£¬ÐèÒª½áºÏÌØ¶¨µÄÒµÎñÐèÇó£¬À´¶¨ÖÆËùÐèÒªµÄ RTO ºÍ RPO£¬ÒÔʵÏÖ×îÓŵÄ
CTO¡£
Ò²¿ÉÒÔ´Ó±ðµÄ½Ç¶ÈÉÏ¿´´ýÁ½ÕßµÄÇø±ð£º
´Ó¹ÊÕϽǶȣ¬HA Ö÷Òª´¦Àíµ¥×é¼þµÄ¹ÊÕϵ¼Ö¸ºÔØÔÚ¼¯ÈºÄڵķþÎñÆ÷Ö®¼äµÄÇл»£¬DR
ÔòÊÇÓ¦¶Ô´ó¹æÄ£µÄ¹ÊÕϵ¼Ö¸ºÔØÔÚÊý¾ÝÖÐÐÄÖ®¼ä×öÇл»¡£
´ÓÍøÂç½Ç¶È£¬LAN ³ß¶ÈµÄÈÎÎñÊÇ HA µÄ·¶³ë£¬WAN ³ß¶ÈµÄÈÎÎñÊÇ DR µÄ·¶Î§¡£
´ÓÔÆµÄ½Ç¶È¿´£¬HA ÊÇÒ»¸öÔÆ»·¾³ÄÚ±£ÕÏÒµÎñ³ÖÐøÐԵĻúÖÆ£¬DR ÊǶà¸öÔÆ»·¾³¼ä±£ÕÏÒµÎñ³ÖÐøÐԵĻúÖÆ¡£
´ÓÄ¿±ê½Ç¶È£¬HA Ö÷ÒªÊDZ£Ö¤ÒµÎñ¸ß¿ÉÓã¬DR ÊDZ£Ö¤Êý¾Ý¿É¿¿µÄ»ù´¡ÉϵÄÒµÎñ¿ÉÓá£
Ò»¸öÒìµØÈÝÔÖϵͳ£¬ÍùÍù°üÀ¨±¾µØµÄ HA ¼¯ÈººÍÒìµØµÄ DR Êý¾ÝÖÐÐÄ¡£Ò»¸öʾÀýÈçÏ£º
Master SQL Server ·¢Éú¹ÊÕÏʱ£¬Çл»µ½ Standby
SQL Server£¬¼ÌÐøÌṩÊý¾Ý¿â·þÎñ£º
ÔÚÖ÷»ú·¿ÖÐÐÄ·¢ÉúÔÖÄÑʱ£¬Çл»µ½±¸·Ý»ú·¿£¨×ܹ«Ë¾»ú·¿ÖÐÐÄ£©ÉÏ£¬»Ö¸´Ó¦ÓúͷþÎñ£º
2. OpenStack HA
OpenStack ²¿Êð»·¾³ÖУ¬¸÷½Úµã¿ÉÒÔ·ÖΪ¼¸Àࣺ
Cloud Controller Node £¨ÔÆ¿ØÖƽڵ㣩£º°²×°¸÷ÖÖ
API ·þÎñºÍÄÚ²¿¹¤×÷×é¼þ£¨worker
process£©¡£Í¬Ê±£¬ÍùÍù½«¹²ÏíµÄ DB ºÍ MQ °²×°ÔڸýڵãÉÏ¡£
Neutron Controller Node £¨ÍøÂç¿ØÖÆ½Úµã£©£º°²×° Neutron L3 Agent£¬L2
Agent£¬LBaas£¬VPNaas£¬FWaas£¬Metadata
Agent µÈ Neutron ×é¼þ¡£
Storage Controller Node £¨´æ´¢¿ØÖƽڵ㣩£º°²×° Cinder volume ÒÔ¼°
Swift ×é¼þ¡£
Compute node £¨¼ÆËã½Úµã£©£º°²×° Nova-compute ºÍ Neutron L2 Agent£¬ÔڸýڵãÉÏ´´½¨Ðé»ú¡£
ҪʵÏÖ OpenStack HA£¬Ò»¸ö×î»ù±¾µÄÒªÇóÊÇÕâЩ½Úµã¶¼ÊÇÈßÓàµÄ¡£¸ù¾Ýÿ¸ö½ÚµãÉϲ¿ÊðµÄÈí¼þÌØµãºÍÒªÇó£¬Ã¿¸ö½Úµã¿ÉÒÔ²ÉÓò»Í¬µÄ
HA ģʽ¡£µ«ÊÇ£¬Ñ¡Ôñ HA ģʽÓиö»ù±¾µÄÔÔò£º
ÄÜ A/A ¾¡Á¿ A/A£¬²»ÄܵϰÔò A/P £¨RedHat ÈÏΪ
A/P HA ÊÇ No HA£©
ÓÐÔÉú£¨ÄÚÔÚʵÏֵģ©HA·½°¸¾¡Á¿Ñ¡ÓÃÔÉú·½°¸£¬Ã»ÓеϰÔòʹÓöîÍâµÄHA
Èí¼þ±ÈÈç Pacemaker µÈ
ÐèÒª¿¼ÂǸºÔؾùºâ
·½°¸¾¡¿ÉÄܼòµ¥£¬²»ÒªÌ«¸´ÔÓ
OpenStack ¹Ù·½ÈÏΪ£¬ÔÚÂú×ãÆä HA ÒªÇóµÄÇé¿öÏ£¬¿ÉÒÔʵÏÖ
IaaS µÄ 99.99% HA£¬µ«ÊÇ£¬Õâ²»°üÀ¨µ¥¸ö¿Í»§»úµÄ
HA¡£
2.1 ÔÆ¿ØÖƽڵã HA
ÔÆ¿ØÖƽڵãÉÏÔËÐеķþÎñÖУ¬API ·þÎñºÍÄÚ²¿¹¤×÷×é¼þ¶¼ÊÇÎÞ״̬µÄ£¬Òò´ËºÜÈÝÒ׾ͿÉÒÔʵÏÖ A/A HA£»ÕâÑù¾ÍÒªÇó
Mysql ºÍ RabbitMQ ҲʵÏÖ A/A HA£¬¶øËüÃǸ÷×Ô¶¼ÓÐ A/A ·½°¸¡£µ«ÊÇ£¬Mysql
Gelera ·½°¸ÒªÇóÈý̨·þÎñÆ÷¡£Èç¹ûÖ»ÏëÓÃÁ½Ì¨·þÎñÆ÷µÄ»°£¬ÔòÖ»ÄÜʵÏÖ A/P HA£¬»òÕßÒýÈëÒ»¸ö Arbiter
À´×ö A/A HA¡£
2.1.1 ÔÆ¿ØÖƽڵãµÄ A/A HA ·½°¸
¸Ã·½°¸ÖÁÉÙÐèÒªÈý̨·þÎñÆ÷¡£ÒÔ RDO ÌṩµÄ°¸ÀýΪÀý£¬ËüÓÉÈý̨»úÆ÷´î½¨³ÉÒ»¸ö
Pacemaker A/A¼¯Èº£¬Ôڸü¯ÈºµÄÿ¸ö½ÚµãÉÏÔËÐУº
API ·þÎñ£º°üÀ¨ *-api, neutron-server£¬glance-registry,
nova-novncproxy£¬keystone£¬httpd µÈ¡£ÓÉ HAProxy Ìṩ¸ºÔؾùºâ£¬½«ÇëÇó°´ÕÕÒ»¶¨µÄË㷨תµ½Ä³¸ö½ÚµãÉϵÄ
API ·þÎñ¡£ÓÉ Pacemaker Ìṩ VIP¡£
ÄÚ²¿×é¼þ£º°üÀ¨ *-scheduler£¬nova-conductor£¬nova-cert
µÈ¡£ËüÃǶ¼ÊÇÎÞ״̬µÄ£¬Òò´Ë¿ÉÒÔÔÚ¶à¸ö½ÚµãÉϲ¿Êð£¬ËüÃÇ»áʹÓà HA µÄ MQ ºÍ DB¡£
RabbitMQ£º¿çÈý¸ö½Úµã²¿Êð RabbitMQ ¼¯ÈººÍ¾µÏñÏûÏ¢¶ÓÁС£¿ÉÒÔʹÓà HAProxy Ìṩ¸ºÔؾùºâ£¬»òÕß½«
RabbitMQ host list ÅäÖøø OpenStack ×é¼þ£¨Ê¹Óà rabbit_hosts
ºÍ rabbit_ha_queues ÅäÖÃÏ¡£
MariaDB£º¿çÈý¸ö½×¶Î²¿Êð Gelera MariaDB ¶àÖ÷¸´ÖƼ¯Èº¡£ÓÉ
HAProxy Ìṩ¸ºÔؾùºâ¡£
HAProxy£ºÏò API£¬RabbitMQ ºÍ MariaDB
¶à»î·þÎñÌṩ¸ºÔؾùºâ£¬Æä×ÔÉíÓÉ Pacemaker ʵÏÖ A/P HA£¬Ìṩ VIP£¬Ä³Ò»Ê±¿ÌÖ»ÓÉÒ»¸öHAProxyÌṩ·þÎñ¡£ÔÚ²¿ÊðÖУ¬Ò²¿ÉÒÔ²¿Êðµ¥¶ÀµÄ
HAProxy ¼¯Èº¡£
Memcached£ºËüÔÉúÖ§³Ö A/A£¬Ö»ÐèÒªÔÚ OpenStack ÖÐÅäÖÃËüËùÓнڵãµÄÃû³Æ¼´¿É£¬±ÈÈ磬memcached_servers
= controller1:11211,controller2:11211¡£µ± controller1:11211
ʧЧʱ£¬OpenStack ×é¼þ»á×Ô¶¯Ê¹ÓÃcontroller2:11211¡£
´Óÿ¸ö API ·þÎñÀ´¿´£º
¹ØÓÚ¹²Ïí DB µÄ¼¸¸ö˵Ã÷ £¨Ö÷ÒªÀ´×Ô ÕâÆªÎÄÕ£©£º
£¨1£©¸ù¾Ý¸ÃÎÄÕÂÖеÄÒ»¸öµ÷²é£¬±»µ÷²éµÄ 220 ¶à¸öÓû§ÖУ¬200
¸öÔÚÓà Mysql Galera£¬20 ¶à¸öÔÚÓõ¥ Mysql£¬Ö»ÓÐÒ»¸öÓà PostgreSQL¡£
£¨2£©ÒÔ Nova ΪÀý£¬Mysql ʹÓà Write-intent
locks »úÖÆÀ´±£Ö¤¶à¸öÁ¬½Óͬʱ·ÃÎÊÊý¾Ý¿âÖеÄͬһÌõ¼Ç¼ʱµÄ»¥³â¡£ÒÔ¸øÐ½¨Ðé»ú·ÖÅä IP µØÖ·ÎªÀý£¬¸ÃËø»úÖÆ±£Ö¤ÁËÒ»¸ö
IP ²»»á·Ö¸øÁ½¸öÓû§¡£
£¨3£©Ê¹Óà Mysql Galera ʱ£¬ËùÓнڵ㶼ÊÇ Master
½Úµã£¬¶¼¿ÉÒÔ½ÓÊÜ·þÎñ£¬µ«ÊÇÕâÀïÓиöÎÊÌ⣬Mysql Galera ²»»á¸´ÖÆ Write-intent
locks¡£Á½¸öÓû§¿ÉÒÔÔÚ²»Í¬½ÚµãÉÏ»ñÈ¡µ½Í¬Ò»Ìõ¼Ç¼£¬µ«ÊÇÖ»ÓÐÒ»¸öÄܹ»Ð޸ijɹ¦£¬ÁíÒ»¸ö»áµÃµ½Ò»¸ö Deadlock
´íÎó¡£¶ÔÓÚÕâÖÖÇé¿ö£¬Nova ʹÓà retry_on_deadlock »úÖÆÀ´ÖØÊÔ£¬±ÈÈç@oslo_db_api.wrap_db_retry(max_retries=5,
retry_on_deadlock=True)¡£Ä¬È϶¼ÊÇÖØÊÔ 5 ´Î¡£µ«ÊÇ£¬ÕâÖÖ»úÖÆÐ§Âʲ»¸ß¡£
¸Ã HA ·½°¸¾ßÓÐÒÔÏÂÓŵ㣺
¶àÖ÷£¬ÁãÇл»£¬·½±ãµØÊµÏÖ¸ºÔؾùºâ
½« API ·þÎñºÍ DB, MQ ·þÎñÎÞ·ìÕûºÏÔÚÒ»Æð
ÓÉÓÚÕâЩÓŵ㣬¸Ã·½°¸±»´óÁ¿²ÉÓ᣾ßÌåÅäÖÃÇë²Î¿¼ OpenStack
High Availability Guide¡£
2.1.2 ÔÆ¿ØÖƽڵãµÄ A/P HA·½°¸
ÐèÒªµÄ»°£¬¿ÉÒÔʹÓà Pacemaker + Corosync ´î½¨Á½½Úµã¼¯ÈºÊµÏÖ
A/P HA ·½°¸¡£ÓÉÖ÷·þÎñÆ÷ʵ¼ÊÌṩ·þÎñ£¬ÔÚÆä¹ÊÕÏʱÓÉ Pacemaker ½«·þÎñÇл»µ½±»·þÎñÆ÷¡£OpenStack
¸øÆä×é¼þÌṩÁ˸÷ÖÖPacemaker RA¡£¶Ô Mysql ºÍ RabbitMQ À´Ëµ£¬¿ÉÒÔʹÓà Pacemaker
+ Corosync + DRBD ʵÏÖ A/P HA¡£¾ßÌåÅäÖÃÇë²Î¿¼ OpenStack High
Availability Guide¡£
¸Ã HA ·½°¸µÄÎÊÌâÊÇ£º
Ö÷±¸Çл»ÐèÒª½Ï³¤µÄʱ¼ä
Ö»ÓÐÖ÷Ìṩ·þÎñ£¬ÔÚʹÓÃÁ½¸ö½ÚµãµÄÇé¿öϲ»ÄÜ×ö¸ºÔؾùºâ
DRBD ÄÔÁѻᵼÖÂÊý¾Ý¶ªÊ§µÄ·çÏÕ¡£A/P ģʽµÄ Mysql µÄ¿É¿¿ÐÔûÓÐ
Mysql Galera ¸ß¡£
Òò´Ë£¬¿ÉÒÔ¿´µ½Êµ¼Ê²¿ÊðÖУ¬ÕâÖÖ·½°¸ÓõýÏÉÙ£¬Ö»¿´µ½ Oracel
ÔÚʹÓÃÕâÖÖ·½°¸¡£
2.2 Neutron HA
Neutron °üÀ¨ºÜ¶àµÄ×é¼þ£¬±ÈÈç L3 Agent£¬L2 Agent£¬LBaas£¬VPNaas£¬FWaas£¬Metadata
Agent µÈ Neutron ×é¼þ£¬ÆäÖв¿·Ö×é¼þÌṩÁËÔÉúµÄHA Ö§³Ö¡£ÕâЩ×é¼þÖ®¼äµÄÁªÏµºÍÇø±ð£º
2.2.1 ÔÉú HA ·½°¸
Neutron ÌṩÁ˶àÖÖÔÉúµÄ HA ·½°¸£º
£¨1£©L2 Agent HA£º L2 agent Ö»ÔÚËùÔÚµÄÍøÂç»òÕß¼ÆËã½ÚµãÉÏÌṩ·þÎñ£¬Òò´ËËüÊDz»ÐèÒªHAµÄ¡£
£¨2£©L3 Agent HA
L3 Agent ±È½ÏÌØÊ⣬ÒòΪËüÊÇËùÓÐ openstack £¨core£©services
ÖÐΨһһ¸öÓÐ״̬µÄ£¬Òò´Ë£¬²»ÄÜʹÓô«Í³µÄÔÚ¶à¸ö½ÚµãÉϲ¿Êð¶à¸öʵÀýʹÓÃLBÀ´×öHA¡£Neutron ±¾ÉíµÄµ÷¶ÈÆ÷£¨scheduler£©Ö§³ÖÔÚ¶à¸öÍøÂç½ÚµãÉϲ¿Êð¶à¸öL3
Agent£¬µ«ÊÇ£¬ÓÉ L3 Agent ¹ÜÀíµÄ Virtual Router ×ÔÉíÐèÒªÓÐHAµÄʵÏÖ¡£ËüµÄHAµÄNeutron
ÔÉúʵÏÖ°üÀ¨Èçϼ¸ÖÖ·½Ê½£º
£¨a£©Juno ÖÐÒýÈëµÄ Automatic L3 Agent Failover
£¨µ± VR ËùÔÚµÄ L3 Agent ʧЧµÄʱºò£¬Neutron ×Ô¶¯½«Ëü failover µ½ÆäËüij¸ö
L3 Agent ÉÏ£©
¸Ã·½°¸Ôö¼ÓÁËÒ»¸öÅäÖÃÏî allow_automatic_l3agent_failover¡£µ±ËüµÄֵΪ
True ʱ£¬L3 plugin È¥ÖÜÆÚÐԵؼì²éËùÓÐÓйÜÀí Virtual Router µÄ L3
Agent µÄ״̬¡£Èç¹ûij L3 Agent ËÀÁË£¬ÊÜËü¹ÜÀíµÄ Router »áÖØÐ±» schedule
µ½±ðµÄ L3 Agent ÉÏ¡£ Neutron L3 Plugin ͨ¹ýÅжϸà L3 Agent ÊÇ·ñÔڹ涨ʱ¼ä£¨agent_down_time£©ÄÚÓз¢»ØÐÄÌøÏûÏ¢À´ÅжÏËüÊÇ·ñ»î×Å¡£´æÔÚ¶àÖÖ
L3 Agent δÄܼ°Ê±Éϱ¨ÐÄÌøµ«ÊÇ router ÒÀÈ»ÔÚת·¢ÍøÂç°üµÄ¿ÉÄÜ¡£Òò´ËÕâÖÖʵÏÖ¿ÉÄÜ»á´æÔÚ
L3 Agent ±»ÈÏΪËÀÁ˵«ÊÇÆä router namespace ÒÀÈ»ÔÚת·¢ÍøÂç°üºÍÏìÓ¦ ARP
ÇëÇó¶øµ¼ÖµÄÎÊÌâ¡£Èç¹ûÍøÂçºó¶Ë²»×èÖ¹ËÀµôÁ赀 agent ʹÓà route µÄ IP µØÖ·£¬ÄÇÐÂÀÏ
namespace ¾Í¿ÉÄÜ´æÔÚ³åÍ»¡£ÕâÖÖ³åÍ»²»»á¶Ïµô E-W ÍøÂ磬ÒòΪÐÂÀÏ namespace ÖеÄÒ»¸ö¶¼¿ÉÒԳе£ÎÞ×´Ì¬ÍøÂç°üµÄת·¢ÈÎÎñ¡£È»ºó£¬ÄÏ-±±ÍøÂç¿ÉÄÜ»áÊÜÓ°Ï죬ÒòΪ
NAT Ö»´æÔÚÓÚÒ»¸örouter ÉÏ¡£¶øÇÒ£¬reschedule ºó£¬¸¡¶¯ IP Ò²»áÎÞ·¨¹¤×÷£¬ÒòΪËüÃÇÓë
router µÄ Íⲿ¶Ë¿ÚµÄ°ó¶¨¹ØÏµ²»»á±»ÉèÖõ½ÐµÄrouter ÉÏ¡£
ÕâÖÖ·½°¸ÒªÇóʹÓöà¸öÍøÂç¿ØÖÆ½Úµã£¬Ã¿¸ö½ÚµãÉÏÔËÐÐÒ»¸ö L3 Agent¡£ÔÚij¸ö
Agent ËÀÁËʱ£¬Router »á±»²¿Êðµ½±ðµÄ Agent ÉÏ¡£ÕâÖÖ·½°¸£¬³ýÁËÉÏÊöµÄÎÊÌâÍ⣬Çл»Ê±¼ä¹ý³¤ÊÇÆäÖ÷ÒªÎÊÌâ¡£
£¨b£©Juno ÖÐÒýÈëµÄ VRRP £¨Virtual Router
Redundancy Protocol£©·½°¸ £¨ÓÉ VRRP/Keepalived ¿ØÖÆ VR µÄ
VIP ºÍ VMAC µÄ failover£©
¸Ã·½°¸Ê¹ÓöàÓàÒ»¸öµÄÍøÂç¿ØÖÆ½Úµã£¬Ìṩ A/P HA¡£ÆäÖ÷ÒªÌØµãΪ£º
£¨c£©Juno ÒýÈëµÄ DVR
¸Ã·½°¸½« NAT ºÍ L3 Agent ²¿Êðµ½Ðé»úËùÔڵļÆËã½Úµã£¬ÔÚÍøÂç¿ØÖÆ½ÚµãÉÏÖ»²¿Êð
DHCP ºÍ SNAT¡£¸Ã·½°¸½â¾öÁË L3 Agent ºÍ Metadata Agent µÄ H/A
ÎÊÌ⡣Ŀǰ£¬½« DHCP Agent ¸Ä³É·Ö²¼Ê½£¬VPNaas ÒÔ¼° FWaas µÄÐ޸Ť×÷ÒѾÔÚ½øÐÐÖС£Óû§ÐèҪʹÓõÚÈý·½Èí¼þÌṩ
SNAT µÄ HA ·½°¸¡£
£¨3£©DHCP Agent µÄ HA
DHCP ÐÒé×ÔÉí¾ÍÖ§³Ö¶à¸ö DHCP ·þÎñÆ÷£¬Òò´Ë£¬Ö»ÐèÒªÔÚ¶à¸öÍø¿¨¿ØÖƽڵãÉÏ£¬Í¨¹ýÐÞ¸ÄÅäÖã¬ÎªÃ¿¸ö×â»§ÍøÂç´´½¨¶à¸ö
DHCP Agent£¬¾ÍÄÜʵÏÖ DHCP µÄ HA ÁË¡£
£¨4£©Metadata agent ºÍ proxy µÄ HA
¸ú metadata service Ïà¹ØµÄ×é¼þ°üÀ¨£º
neutron-ns-metadata-proxy£º×÷Ϊһ¸ö¶ÀÁ¢µÄ½ø³ÌÔËÐÐÔÚ
master virtual router µÄ network namespace ÖС£Ëü½ÓÊÜÓÉ qrouter
ͨ¹ý iptables ¿ØÖÆ×ª½»µÄ instance ·ÃÎÊ metadata service µÄ request¡£
neutron-metadata-agent£ºNeutorn µÄ×é¼þÖ®Ò»£¬ÔËÐÐÔÚNeutorn ÍøÂç½ÚµãÉÏ£¬Í¨¹ý±¾µØ
socket ºÍ neutron-ns-metadata-proxy ½ø³ÌͨÐÅ£¬ÆäÅäÖÃÎļþÊÇ /etc/neutron/metadata_agent.ini£»Ëü»áͨ¹ý
http(s) ºÍ Nova metadata service ͨÐÅ£»Ëüͨ¹ý RPC ºÍ neutron-server
ͨÐÅ¡£Ä㻹¿ÉÒÔͨ¹ýÅäÖà metadata_workers µÄÖµÀ´ÔËÐжà¸ö¶ÀÁ¢µÄ½ø³Ì¡£
nova metadata api£ºÕâ¸öºÍ nova api ÀàËÆ£¬ÊÇ nova µÄ API µÄÒ»²¿·Ö£¬Í¨³£Ê¹ÓõĶ˿ÚÊÇ
8775¡£Ëü½ÓÊÕneutron-metadata-agent µÄrequest¡£
´Ó HA ½Ç¶ÈÀ´½²£º
neutron-ns-metadata-proxy µÄ HA ²»ÐèÒªµ¥¶À¿¼ÂÇ£¬ÒòΪËüÊÜ
Virtual router ¿ØÖÆ¡£
neutron-metadata-agent£ºÐèÒªºÍ neutron-ns-metadata-proxy
ͨ¹ýsoket ͨÐÅ£¬Òò´Ë£¬¼òµ¥µØ£¬¿ÉÒÔÔÚËùÓÐ neutron network ½ÚµãÉ϶¼ÔËÐиà agent£¬Ö»ÓÐ
virtual router ËùÔÚµÄL3 Agent É쵀 neutron-metadata-agent
²ÅÆð×÷Ó㬱ðµÄ¶¼standby¡£Äã¿ÉÒÔÔÚ¶à¸öÍøÂç½ÚµãÉÏÆôÓø÷þÎñ¡£
nova metadata api£ºÍ¬ nova api Ò»ÑùÊÇÎÞ״̬·þÎñ£¬¿ÉÒÔ²¿ÊðÔÚÄǸö½×¶ÎÉÏ£¬Ê¹ÓÃ
HAProxy ×ö A/A HA¡£
£¨×¢Ò⣬ÒòΪÐé»úÔÚÆô¶¯¹ý³ÌÖÐÐèÒª·ÃÎÊ qrouter£¬ÕâÒ²¾ÍÊÇ˵£¬ÒªÇóÐé»úËùÔÚµÄ×ÓÍø±ØÐëÒѾÌí¼Óµ½ÁËÒ»¸ö
Virtual router ÉÏ£¬·ñÔò£¬ËüÊÇÎÞ·¨Í¨¹ý qrouter ×ߵ쬳ý·Ç×ß qdhcp£©
»òÕ߸üÏêϸµØ¿´³öÍêÕûµÄ·¾¶£¨Í¼ÖкìÉ«ÏßÌõ£¬´ÓVM¿ªÊ¼£¬µ½ NOVA-API
Metadata ½áÊø£©£º

£¨5£©LBaas Agent HA
Ŀǰ Neutron LBaaS ´úÀí·þÎñÊÇÎÞ·¨Í¨¹ýÆä×Ô´øµÄ HAProxy
²å¼þ ʵÏָ߿ÉÓõġ£ÊµÏÖ HAProxy ¸ß¿ÉÓó£¼ûµÄ·½°¸ÊÇʹÓà VRRP (Virtual Router
Redundancy Protocol £¬ÐéÄâ·ÓÉÈßÓàÐÒé)£¬²»¹ý LBaaS HAProxy ²å¼þĿǰ»¹²»Ö§³Ö¸ÃÐÒé¡£Òò´Ë£¬Ö»ÄÜʹÓÃ
Pacemaker + ¹²Ïí´æ´¢£¨·ÅÖà /var/lib/neutron/lbaas/ Ŀ¼£© µÄ·½Ê½À´²¿Êð
A/P ·½Ê½µÄ LBaas Agent HA£¬¾ßÌåÇë²Î¿¼ ÕâÆªÎÄÕ ÖÐÃèÊöµÄ·½·¨¡£
2.2.2 ʹÓà Pacemaker ʵÏÖ A/P HA
ʹÓà Pacemaker + Corosync ´î½¨Á½½Úµã£¨»òÕß¶à½Úµã£©
A/P ¼¯Èº¡£ÔÚÖ÷½ÚµãÉÏ£¬ÓÉ Pacemaker Æô¶¯ Neutron µÄ¸÷ÖÖ·þÎñ¡£
2.2.3 С½á
´ÓÉÏÃæ¿ÉÒÔ¿´³ö£¬³ýÁË DHCP Agent ÌìÉú¾Íͨ¹ýÅäÖÿÉÒÔʵÏÖ
A/A HA ÒÔ¼° L3 HA ÒÔÍ⣬ÆäËüµÄ×é¼þµÄ HA ¶¼ÊÇ A/P µÄ£¬¶øÇÒʵÏֵļ¼Êõ¿ÉÒÔÊÇÔÉúµÄ£¬Ò²¿ÉÒÔʹÓÃ
Pacemaker£¬Ò²¿ÉÒÔ½áºÏÆðÀ´Ê¹ÓᣱÈÈç RDO µÄ·½°¸£º
2.3 ´æ´¢¿ØÖƽڵã HA
ÕâÀïÖ»ÌÖÂÛ cinder-volume¡£
£¨1£©ÔÚʹÓ÷ǹ²Ïí´æ´¢Ê±£¬cinder-volume ½ø³ÌÊÜ Pacemaker
¼à¿Ø£¬ÔÚÆäÍ£Ö¹µÄʱºòÖØÆô¡£ÕâÖÖ·½°¸Ï£¬´æ´¢¿ØÖƽڵãå´»úµÄ»°£¬ÉÏÃæµÄËùÓÐ¾í¶¼»áËðʧµô¡£Òò´Ë£¬ÔÚÉú²ú»·¾³ÖУ¬±ØÐëʹÓÃÏÂÒ»ÖÖ·½°¸¡£
£¨2£©ÔÚʹÓù²Ïí´æ´¢Ê±£¬¿¼Âǵ½Ä¿Ç°´úÂëÖдæÔÚµÄ×ÊÔ´¾ºÕù£¨²Î¿¼ÕâÀ£¬¸Ã·þÎñÖ»ÄÜʵÏÖΪ
A/P HA ·½Ê½£¬Ò²¾ÍÊÇ˵ÔÚij¸öʱ¿Ì£¬Ö»ÓÐÖ÷½ÚµãÉ쵀 cinder-volume ÔÚÔËÐС£RedHat
Õâ¸ö ticket ÖÐÓоßÌåµÄ·ÖÎö¡£Ä¿Ç°£¬cinder-volume »¹Ã»ÓÐÄÚÔÚµÄ HA ʵÏÖ£¬Ö»ÄܽèÖúµÚÈý·½Èí¼þ±ÈÈç
Pacemaker¡£A/A µÄʵÏÖÔÚ Liberty ÖÐÕýÔÚ½øÐУ¬Çë ²Î¼û Õâ¸öºÍ Õâ¸ö¡£
2.4 ¼ÆËã½ÚµãºÍÐé»ú HA
ÔÚ²âÊÔ»·¾³ÖУ¬ÎÒÃdz£³£½«Ðé»ú´´½¨ÔÚ±¾µØ´ÅÅÌÉÏ£¬ÄÇô£¬ÔÚ»úÆ÷å´»úµÄ»°£¬ÕâЩÐé»ú½«ÓÀÔ¶Ò²»Ø²»À´ÁË¡£Òò´Ë£¬ÔÚÉú²ú»·¾³ÖУ¬ÐèÒª½«Ðé»ú²¿ÊðÔÚ
cinder-volume »òÕß¹²ÏíµÄ´æ´¢±ÈÈç RDB »òÕß NFS ÉÏ¡£ÕâÑùµÄ»°£¬ÔÚÐé»úËð»µÊ±£¬¿ÉÒÔ´Ó¹²Ïí´æ´¢ÉϽ«Æä»Ö¸´£¨Ê¹ÓÃ
nova evacuate ¹¦ÄÜ£©¡£ ʹÓà Pacemaker ²¿Êð A/P ·½°¸£¨ÀàËÆ 2.3 ÖÐ cinder-volume
A/P HA£©µÄ»°£¬Éú²ú»·¾³ÖмÆËã½ÚµãµÄÊý¾ÝÍùÍùÔ¶Ô¶³¬¹ý Corosync ¼¯ÈºÖнڵãÊýÄ¿µÄÏÞÖÆ¡£
Òµ½çÓм¸¸ö½â¾ö·½°¸£º
£¨1£©Controller ½Úµãͨ¹ý¹ÜÀíÍø Ping ËùÓÐ Compute
½Úµã£¬Controller ½Úµã¼ì²énova service-list£¬¶Ô³öÎÊÌâµÄ½Úµã Evacuate
ÌØÕ÷£ºÌ«¼òµ¥´Ö±©£¬ÈÝÒ×ÒýÆðÎóɱºÍÊý¾ÝËð»µ
£¨2£©Pacemaker-remote£º Í»ÆÆCorosyncµÄ¼¯Èº¹æÄ£ÏÞÖÆ£¬
ÌØÕ÷£ºÆôÓöà¸öÐÄÌøÍøÊ±£¬´¦Àí²ßÂÔµ¥Ò»£¬ÒýÆðÓû§ÒµÎñ²»±ØÒªµÄÖжÏ
£¨3£©¼¯ÖÐʽ¼ì²é
£¨4£©·Ö²¼Ê½½¡¿µ¼ì²é
OpenStack µÄ¸÷ÌṩÉÌÖУ¬¾Í¸ÃÐèÇó£¬RadHat ʹÓõÄÊÇÉÏÊöµÄµÚ¶þÖÖ·½°¸£¬¾ßÌå·½°¸ÔÚ
¼ÆËã½ÚµãHA ·½°¸£º
²¿Êð·½Ê½ÈçÏ£º
ʹÓà Pacemaker ¼¯Èº×÷Ϊ¿ØÖÆÆ½Ãæ
½«¼ÆËã½Úµã×öΪ Partial members ¼ÓÈëµ½ Pacemaker
¼¯ÈºÖУ¬ÊÜÆä¹ÜÀíºÍ¼à¿Ø¡£Õâʱºò£¬ÆäÊýÄ¿²»ÊÜ Corosync ¼¯ÈºÄÚ½Úµã×ÜÊýµÄÏÞÖÆ¡£
HA ʵÏÖϸ½Ú£º
Pacemaker ͨ¹ý pacemaker_remote °´ÕÕ˳Ðò£¨neutron-ovs-agent
-> ceilometer-compute -> nova-compute) À´Æô¶¯¼ÆËã½ÚµãÉϵĸ÷ÖÖ·þÎñ¡£Ç°ÃæµÄ·þÎñÆô¶¯Ê§°Ü£¬ºóÃæµÄ·þÎñ²»»á±»Æô¶¯¡£
Pacemaker ¼à¿ØºÍÿ¸ö¼ÆËã½ÚµãÉ쵀 pacemaker_remote
µÄÁ¬½Ó£¬À´¼ì²é¸Ã½ÚµãÊÇ·ñ´¦Óڻ״̬¡£·¢ÏÖËü²»¿ÉÒÔÁ¬½ÓµÄ»°£¬Æô¶¯»Ö¸´£¨recovery£©¹ý³Ì¡£
Pacemaker ¼à¿ØÃ¿¸ö·þÎñµÄ״̬£¬Èç¹û״̬ʧЧ£¬¸Ã·þÎñ»á±»ÖØÆô¡£ÖØÆôʧ°ÜÔò´¥·¢·À»¤ÐÐΪ£¨fencing
action£©£»µ±ËùÓзþÎñ¶¼±»Æô¶¯ºó£¬Ðé»úµÄÍøÂç»á±»»Ö¸´£¬Òò´Ë£¬ÍøÂçÖ»»á¶Ìʱ¼äÊÜÓ°Ïì¡£
µ±Ò»¸ö½ÚµãʧЧʱ£¬»Ö¸´£¨recovery£©¹ý³Ì»á±»´¥·¢£¬Pacemaker
»áÒÀ´Î£º
ÔËÐÐ ¡®nova service-disable¡¯
½«¸Ã½Úµã¹Ø»ú
µÈ´ý nova ·¢ÏָýڵãʧЧÁË
½«¸Ã½Úµã¿ª»ú
Èç¹û½ÚµãÆô¶¯³É¹¦£¬Ö´ÐÐ ¡®nova service-enable¡¯
Èç¹û½ÚµãÆô¶¯Ê§°Ü£¬ÔòÖ´ÐÐ ¡®nova evacuate¡¯ °Ñ¸Ã½ÚµãÉϵÄÐé»úÒÆµ½±ðµÄ¿ÉÓüÆËã½ÚµãÉÏ¡£
ÆäÖУº
²½Ö裨1£©ºÍ £¨5£©ÊÇ¿ÉÑ¡µÄ£¬ÆäÖ÷ҪĿµÄÊÇ·ÀÖ¹ nova-scheduler
½«ÐµÄÐé»ú·ÖÅäµ½¸Ã½Úµã¡£
²½Ö裨2£©±£Ö¤»úÆ÷¿Ï¶¨»á¹Ø»ú¡£
s ²½Ö裨3£©ÖÐĿǰ nova ÐèÒªµÈ´ýÒ»¶Î½Ï³¤µÄ³¬Ê±Ê±¼ä²ÅÄÜÅжϽڵã
down ÁË¡£Liberty ÖÐÓиö Blueprint À´Ìí¼ÓÒ»¸ö Nova API ½«½Úµã״ֱ̬½ÓÉèÖÃΪ
down¡£
ÆäÓàһЩǰÌáÌõ¼þ£º
Ðé»ú±ØÐ벿ÊðÔÚ cinder-volume »òÕß¹²ÏíµÄÁÙʱ´æ´¢±ÈÈç
RBD »òÕß NFS ÉÏ£¬ÕâÑùÐé»ú evaculation ½«²»»áÔì³ÉÊý¾Ý¶ªÊ§¡£
Èç¹ûÐé»ú²»Ê¹Óù²Ïí´æ´¢£¬Ôò±ØÐëÖÜÆÚÐԵش´½¨Ðé»úµÄ¿ìÕÕ²¢±£´æµ½ Glance
ÖС£ÔÚÐé»úË𻵺󣬿ÉÒÔ´Ó Glance ¿ìÕÕÉϻָ´¡£µ«ÊÇ£¬Õâ¿ÉÄܻᵼÖÂ״̬»òÕßÊý¾Ý¶ªÊ§¡£
¿ØÖƺͼÆËã½ÚµãÐèÒª°²×° RHEL 7.1+
¼ÆËã½ÚµãÐèÒªÓзÀ»¤»úÖÆ£¬±ÈÈç IPMI£¬Ó²¼þ¹· µÈ
С½á£º OpenStack ÔÆ/ÍøÂç/´æ´¢ ¿ØÖƽڵã HA ¼¯Èº

|