±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËOpenStackºËÐÄ×é¼þ¡¢¸÷×é¼þ¼äµÄ½»»¥¡¢¿ØÖƽڵãÐèÒªÄÄЩ±ØÒª×é¼þ¼°¼ÆËã½Úµãͨ³£ÐèÒªÄÄЩ×é¼þµÈ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£ |
|
IaaS(»ù´¡¼Ü¹¹¼´·þÎñ)£ºOpenStack£¬CloudStack PaaS(ƽ̨¼´·þÎñ)£ºDocker£¬Openshift SaaS(·þÎñ¼´·þÎñ)£ºÖ÷ÒªÃæ¶ÔÖÕ¶ËÓû§,¿Éͨ¹ýÒ»¸öä¯ÀÀÆ÷¾Í¿ÉÒÔʵÏÖʹÓÃÈκÎÓ¦ÓÃ,¶øÎÞÐè°²×°¡£ DBaaS£¨Database as a Service£© FWaaS(Firewall as a Service)
¡¡¡¡
Òì²½¶ÓÁзþÎñ£º½ÓÊÕ´´½¨¡¢Æô¶¯¡¢É¾³ýµÈµÈÈÎÎñµÄ¶ÓÁУ¬µ±Í¬Ê±ÒªÆô¶¯200¸öVMʵÀýʱ,ÎÒÖ»Ð轫Æô¶¯VMµÄÇëÇó·Åµ½Òì²½¶ÓÁÐÖкó, ÎҾͿªÊ¼¸ÉÆäËüÊÂÇéÁË¡£
OpenStackµÄ×é¼þ: OpenStackµÄAPI·ç¸ñΪ£ºRESTful£¬Ëü¿ÉÒÔ¼æÈÝAWS(ÑÇÂíÑ·ÔÆ)¡¢S3£»¼´Openstack¿ÉÖ±½Óµ÷ÓÃAWS»òS3ÉϵÄÓ¦Ó㬠Ҳ¿ÉÒÔÖ±½ÓÔÚAWS¡¢S3Éϵ÷ÓÃOpenStackµÄÓ¦Ó㻿ɷdz£·½±ãµÄ×é¼þ»ìºÏÔÆ¡£ ºËÐÄ×é¼þ£º 1. ·þÎñÃû:Compute(´úÂëÃû:Nova) :ËüÖ÷ÒªÓÃÀ´¹ÜÀíVMʵÀýµÄÍêÕûÉúÃüÖÜÆÚ,Æô¶¯¡¢×ÊÔ´·ÖÅä¡¢¹Ø±Õ¡¢Ïú»Ù¡¢ÔËÐÐÖÐSSHÃÜÔ¿×¢Èë¡¢SSHÁ¬½ÓµÄÌṩµÈ£¬¾ùÓÉËüÀ´Ìṩ¡£ 2.·þÎñÃû:Networking(´úÂëÃû:Neutron):ÔçÆÚÓÉNova,¼´ComputeÀ´Ìṩ£¬´ÓF°æ(Folsom
release)¿ªÊ¼¶ÀÁ¢³öÀ´,ÓÃÓÚÌá¹©ÍøÂçÁ¬½Ó·þÎñ£¬Ëü²ÉÓòå¼þÉè¼Æ,Ö§³ÖÖÚ¶àÁ÷ÐеÄÍøÂç¹ÜÀí²å¼þ. 3.Storage £º·ÖÁ½¸ö×é¼þ£¬Ò»¸öΪBlock´æ´¢(Cinder), ÁíÒ»¸öΪ¶ÔÏó´æ´¢(Swift) ¶ÔÏó´æ´¢£ºÀàËÆÓÚVMwareµÄ´ÅÅÌÎļþ,µ«VMwareµÄ´ÅÅÌÎļþ²¢·ÇÊǶÔÏó´æ´¢,¶ÔÏó´æ´¢ÊÇ×ÔÉí°üº¬×ÔÉíµÄÔªÊý¾Ý£¬¼´±ã½«Ëü·Åµ½Ò»¸öûÓÐÎļþϵͳµÄ´ÅÅÌÉÏ£¬ËüÒ²ÄÜ×ÔÎÒ¹ÜÀí¡£OpenStack²ÉÓÃSwiftÕâ¸öÖØÁ¿¼¶µÄ·Ö²¼Ê½´æ´¢ÏµÍ³,ÊÇÒòΪ¿ª·¢¸ÃϵͳµÄ¹«Ë¾ÊÇOpenStackµÄÔçÆÚ·¢ÆðÈËÖ®Ò»,²¢ÇҸù«Ë¾»¹½«×Ô¼ºµÄ·Ö²¼Ê½´æ´¢ÏµÍ³¹±Ï׸øOpenStack×÷ΪÆä¶ÔÏó´æ´¢ÏµÍ³,¸Ãϵͳ¾ÍÊÇSwift¡£ Object Storage: ´úÂëÃû:Swift,ËüÊÇͨ¹ýRESTful½Ó¿ÚÀ´´æ´¢ºÍ¼ìË÷·Ç½á¹¹»¯µÄÊý¾Ý¶ÔÏó£¬ËüÊÇÒ»¸ö¸ßÈÝ´í¿ÉÉìËõµÄ´æ´¢¼Ü¹¹¡£ Block Storage£º´úÂëÃû:Cinder,ÔçÆÚÓÉNova,¼´Compute×é¼þÀ´Ìṩ,´ÓF°æ¿ªÊ¼¶ÀÁ¢³öÀ´,ËüÖ÷ҪΪVMÌṩ³Ö¾ÃµÄ¿é´æ´¢µÄ×é¼þ¡£ 4. Identify£¬´úÂëÃû: Keystore ,ËüΪ³ý×ÔÉíÍâµÄÆäËüËùÓÐ×é¼þÌṩÁËÒ»¸öÈÏÖ¤ºÍÊÚȨµÄ·þÎñ¼°¶Ëµã±à¼·þÎñ,¼´ÀàËÆÓëĿ¼·þÎñµÄ¹¦ÄÜ,¿Éͨ¹ýËü¼ìË÷ËùÓÐ×é¼þµÄ·ÃÎÊ·¾¶¡£ 5. Image£¬´úÂëÃû£ºGlance£¬ËüÊÇ×÷ΪSwiftµÄǰ¶Ë,ÓÃÀ´Ìṩ´æ´¢¶ÔÏóÔªÊý¾Ý¼ìË÷µÄ,¼òµ¥Ëµ:¼´VMÆô¶¯Ç°ÐèÒªÖªµÀ´ÅÅ̾µÏñÎļþ´æÔÚÄÄ,Ëü¾ÍÐèÒª·ÃÎÊImage·þÎñÀ´¼ìË÷,Image·þÎñÉÏ´æ´¢ÁËËùÓÐSwiftµÄ´æ´¢Î»ÖÃÐÅÏ¢£¬Ëü»á¸æËßVMclientµ½ÄÄÈ¥ÏÂÔØ¾µÏñ,È»ºó,VMclientÔÙ×Ô¼ºÈ¥ÕÒ¡£ 6. Dashboard£¨Óû§½»»¥½çÃæ£©(Horizon) £ºËüÊÇÒ»¸öÓëOpenStack¸ö×é¼þ½»»¥µÄ»ùÓÚWebµÄ·ÃÎʽӿڡ£ 7. Telemetry,´úÂëÃû:Ceilometer, ¼à¿ØºÍ¼ÆÁ¿VM,¼ÆÁ¿:¼´¸ù¾ÝÓû§Ê¹ÓÃVMµÄ×ÊÔ´À´ÊÕ·Ñ,Èç:ÄãʹÓÃÁ˶àÉÙRAM¡¢CPU¡¢ÍøÂç´ø¿í¡¢´ÅÅ̿ռäµÈµÈ¡£ 8. Orachestration:´úÂëÃû:Heat, »ùÓÚÄ£°å¸ñʽ»òAWSµÄCloudFormationÄ£°å¸ñʽÀ´ÊµÏÖ¿ìËÙ½«¶à¸ö×ÊÔ´Áª¶¯ÆðÀ´,Íê³Éͳһ·þÎñ¹¦ÄÜ.¼òµ¥Àí½â:»ùÓÚÄ£°åÀ´ÊµÏÖϵͳ¹ÜÀí. 9. Database: ´úÂëÃû:Trove, ÓÃÀ´ÌṩDBaaSµÄ×é¼þ¡£ 10.Data processing: ´úÂëÃû:Sahara(ɳ¹þÀ), ÓÃÓÚÔÚOpenStackÖÐʵÏÖHadoopµÄ°´Ðè¿ÉÉìËõµÄ¹ÜÀí¡£
OpenStack¸÷×é¼þ¼äµÄ½»»¥Í¼
¡¡
¸÷×é¼þ¼ä½»»¥µÄ¼òÂÔÃèÊö: 1.ͨ¹ýDashboard/CLI(OpenStackÃüÁîÐнӿÚ)/×Ô¼º¿ª·¢µÄ´´½¨VMµÄ½çÃæ,ÒªÆô¶¯VM,ÐèÏȵ½KeystoreÈÏÖ¤²¢µÇ¼,½Ó×ÅÓûñµÃµÄToken,À´·ÃÎÊNova-API. 2.Nova-APIËüÊǽÓÊÕÓû§ÇëÇóµÄµ÷ÓýӿÚ,ËüÐèÒª¼àÌýÔÚÒ»¸öÌ×½Ó×ÖÉÏ,À´Í¨¹ýTCP/IPÐÒéÀ´·ÃÎÊ.µ±Dashboard/CLI·¢¹ýÀ´ÇëÇóºó,Nova-API»áÏÈÑéÖ¤ËüµÄTokenÊÇ·ñºÏ·¨,ÈôºÏ·¨Ôò½ÓÊÕÇëÇó¡£½Ó×ÅÏòNova-DB(MySQL)ÇëÇó²éѯ¸ÃVM,Nova-DB´ÓÒÑ´´½¨µÄVMÖвéѯ,ÈôÓÐÒªÆô¶¯µÄVMÔò»ñÈ¡¸ÃVMµÄÐÅÏ¢(Èç:ʵÀýÃû/RAM´óС/CPU/´ÅÅ̵ÈÐÅÏ¢),²¢½«ÕâЩÐÅÏ¢·µ»Ø¸øNova-API¡£ 3.µ±Nova-API»ñµÃµÄVMµÄÐÅÏ¢ºó,Nova-API»á½«¸ÃVMÐÅÏ¢×éÖ¯³ÉHypervisor»òNova-computeÉϽèÖúHypervisorÀ´²Ù×÷VMµÄÌØ¶¨ÇëÇó°ü,²¢·¢Ë͸øHypervisor»òNova-compute,ÓÉËüÀ´¸ºÔð²Ù×÷VM,
Nova-APIºÍNova-computeµÄ½»»¥ÊÇÒì²½µÄ,ËüÃÇÖмä¸ô×ÅÒ»¸ö¶ÓÁÐ.; ¡¾×¢: Nova-APIËü½öÊÇÓÃÀ´½ÓÊÕVM²Ù×÷ÇëÇó,ÑéÖ¤ÊÇ·ñÓÐȨÏÞ²Ù×÷VM,²¢»ñÈ¡VMÐÅÏ¢½»¸øHypervisorÀ´Íê³ÉVMµÄʵ¼Ê¹ÜÀí²Ù×÷.¡¿ 4.Nova-API½«Ìض¨ÇëÇó°ü¶ªÈë¶ÓÁкó,Nova-Scheduler»á»ñµÃÕâЩÇëÇó,²¢Îª¸ÃÇëÇóµ÷¶ÈÑ¡ÔñÔËÐнڵã,Íê³Éºó,Nova-scheduler»á½«¸Ãµ÷¶ÈÐÅÏ¢ÔٴζªÈë¶ÓÁÐÖÐ,ͬʱÏòNova-DB·¢ËÍVMÒÑÆô¶¯µÄ¸üÐÂÐÅÏ¢,Nova-DB¸üÐÂÍê¸ÃVMµÄ״̬ºó,»á֪ͨNova-scheduler. 5.Nova-compute¿ÉÒÔ¿´³ÉÊǾßÌåµÄÒ»¸öÎïÀíʵÌå»ú,Ëü»á´Ó¶ÓÁÐÖлñÈ¡Nova-scheduler·¢³öµÄµ÷¶ÈÐÅÏ¢,²¢ÅжÏÊÇ·ñÊÇ×Ô¼ºµÄÈÎÎñ,ÈôÊÇÔò»ñÈ¡¸ÃÆô¶¯VMµÄÈÎÎñ,²¢Éú³ÉVMµÄÒÑÔÚÆô¶¯ÖеÄ״̬ÐÅÏ¢,ÔÚ¶ªÈë¶ÓÁÐÖС£ 6.µ±Nova-conductor·¢ÏÖNova-compute¶ªÈë¶ÓÁÐÖеÄVM״̬¸üÐÂÐÅÏ¢ºó,Ëü»á¶ÁÈ¡¸ÃÐÅÏ¢,²¢½«¸ÃÐÅÏ¢·¢¸øNova-DBÀ´¸üиÃVMµÄ״̬,µ±Nova-DB¸üÐÂÍê³Éºó£¬Nova-DB»á֪ͨNova-conductor,½Ó×ÅNova-conductor»á½«¸ÃÐÅÏ¢¶ªÈë¶ÓÁÐ,µ±Nova-compute¼ì²âµ½Nova-conductor¶ªÈëµÄ¸üгɹ¦µÄÐÅÏ¢ºó£¬Nova-compute±ã¿ªÊ¼½øÐнÓÏÂÀ´µÄVMÆô¶¯²½Öè¡£ 7.µ±ÖªµÀVM¸üÐÂÐÅÏ¢ÒѾÍê³Éºó,Nova-compute¿ªÊ¼Ïòglance-APIÇëÇóÆô¶¯¸ÃVMµÄ´ÅÅ̾µÏñ,Õâʱglance-API»áÏÈ´Óͨ¹ýglance-registryÀ´²éѯglance-DB¿´ÊÇ·ñ´æÔÚ¸ÃVMµÄ´ÅÅÌÐÅÏ¢,ÈôÓÐÔòglance-registry»á½«¸Ã´ÅÅ̾µÏñÐÅÏ¢·µ»Ø¸øglance-API,È»ºó£¬glance-API»áÏȵ½KeystoreÑéÖ¤¸ÃNova-computeÌṩµÄTokenÊÇ·ñºÏ·¨,ÈôºÏ·¨,Ôòͨ¹ý¸ÃVM´ÅÅ̾µÏñÐÅÏ¢µ½Image
StoreÖÐÈ¥ÏÂÔØ¸ÃVMÆô¶¯µÄ´ÅÅ̾µÏñÎļþ,²¢·µ»Ø¸øNova-compute¡£ 8.quantum-server: ËüÊǸºÔðΪVM´´½¨ÍøÂç»ù´¡ÉèÊ©µÄ,Èç:¹¹½¨ÐéÄâÍøÇÅ,ÐéÄâ·ÓÉÆ÷²¢Ìí¼ÓÏàӦת·¢¹æÔò,ÉõÖÁÊÇNAT;
quantum-serverÊÇÒ»¸ö·Ç³£·±Ã¦µÄϵͳ,ÒòΪËüÐèҪΪÿ¸öVM´´½¨ÍøÂç»ù´¡ÉèÊ©,µ«quantum-server²¢²»Ö±½ÓΪVM´´½¨ÍøÂç»ù´¡ÉèÊ©,¶øÊǽ«ÇëÇó¶ªÈëµ½quantum×ÓϵͳÄÚ²¿µÄ¶ÓÁÐÖС£ 9.ÏàÓ¦µÄquantum-plugin»á´Óquantum×ÓϵͳÄÚ²¿µÄ¶ÓÁÐÖжÁÈ¡¹¹½¨ÍøÂçÉèÊ©µÄÐÅÏ¢,²¢Í¨¹ý²éѯQuantum-DBÀ´ÅжÏÄÇЩ²¿·ÖÔÚÕæÕýÔËÐÐVMµÄNova-computeÉÏ´´½¨(Èç:´´½¨ÍøÇžÍÐèÒªÔÚ±¾µØ´´½¨.)£¬ÄÇЩÔÚquantumÉÏ´´½¨,ÈôÐèÒªÔÚÔËÐÐVMµÄ½ÚµãÉÏ´´½¨,Ôòquantum-plugin»á½«ÕâЩÐÅÏ¢¶ªÈëÄÚ²¿¶ÓÁÐÖУ¬Nova-computeÉÏÔËÐеÄquantum-agent»á´ÓquantumÄÚ²¿¶ÓÁÐÖлñµÃÕâЩÐÅÏ¢,²¢ÔÚ±¾µØ´´½¨ÏàÓ¦µÄÍøÂç»ù´¡ÉèÊ©£¬Íê³Éºó£¬quantum-agent»á½«Íê³ÉÐÅÏ¢·¢Ë͸øQuantum-DBÀ´¸üиÃÍøÂç»ù´¡ÉèÊ©µÄ״̬ÐÅÏ¢¡£¡¾×¢:quantum-serverÒ²»áÔÚÊÕµ½Nova-computeµÄÇëÇóµ½KeystoreÉÏÈ¥ÑéÖ¤ÊÇ·ñÓкϷ¨¡£¡¿×îºó£¬quantum-server»áͨ¸æNova-computeÍøÂçÒѾ¹¹½¨Íê³É¡£ 10.Nova-compute»á´Ó»ñµÃµÄÆô¶¯VMµÄÐÅÏ¢Öп´ÊÇ·ñÐèÒª¼ÓÔØËüÔø¾¹ØÁª¹ýµÄBlockÉ豸,ÈôÓÐÔòÏòcinder-API·¢ÆðÇëÇó,cinder-API»áÏȽ«ÇëÇóÐÅÏ¢·¢¸øcinder-volume,ÓÉËüÀ´²éѯCinder-DB¿´ÊÇ·ñ´æÔÚNova-computeÇëÇóµÄBlockÉ豸,ÈôÓÐÔòcinder-volume»á֪ͨcinder-API,cinder-APIÔÚÏòKeystore·¢ÆðÑéÖ¤ÇëÇó,Ñé֤ͨ¹ýºó£¬cinder-api»áÖ±½Ó½«BlockÉ豸ÐÅÏ¢·µ»Ø¸ønova-compute,ÈôÕâÊÇÒ»¸ö´´½¨BlockµÄÇëÇó£¬Ôòcinder-volume»á½«BlockÐÅÏ¢¶ªÈëcinderÄÚ²¿¶ÓÁÐÖÐ,ÓÉcinder-scheduler´Ócinder-DBÖлñÈ¡ºó¶Ë´æ´¢µÄÐÅÏ¢£¬²¢¸ù¾ÝÒª´´½¨VolumeµÄ´óС£¬VolumeType£¬ËùÐè¾ßÓеÄÌØÐÔµÈÐÅÏ¢£¬´Óºó¶Ë´æ´¢Ö÷»úÖÐÑ¡³öÒ»¸ö×îÆ¥ÅäµÄ£¬²¢½«½á¹ûдÈëcinder¶ÓÁÐÖУ¬cinder-volumeͨ¹ý¸ÃÐÅÏ¢ÔÚ´æ´¢½ÚµãÉϵ÷ÓÃÏàÓ¦µÄ´æ´¢Çý¶¯´´½¨volume£¬´´½¨Íê³Éºó½«ÕâЩÐÅϢдÈëcinder-dbÖУ¬×îºócinder-volume¸æËßcinder-api£¬cinder-apiÔÚ·µ»ØÐÅÏ¢¸ønove-compute.
Controller Node + Network Node + Compute Node
ÕâÖÖÈý½ÚµãOpenStack¼Ü¹¹ÊÇOpenStackµÄ×îС½á¹¹¡£
¡¡¡¡¡¡¡¡
Controller Node: »ù´¡·þÎñ£º 1.Identity(ÈÏÖ¤)·þÎñ¡£¼´Keystore 2.Image Service. 3.computeµÄNova Management¡£ 4.Networking: Neutron server, ML2 Plug-in. 5.Dashboard £ºÍ¼ÐιÜÀí½çÃæ Ö§³Ö·þÎñ: 1.Database MySQL or MariaDB 2.Message Broker: RabbitMQ or Qpid£¬ËüÊÇÓÃÀ´Îª»ù´¡·þÎñºÍÊý¾Ý¿âÁ¬½ÓÌṩ»º´æÇøµÄ¡£ ËüÖÁÉÙÐèÒªÒ»¸öÍø¿¨½Ó¿Ú£¬À´×÷Ϊ¹ÜÀí½Ó¿Ú¡£ 1.ÐèҪעÒâ: ÈôÐèÒªÏòÍâÍøÌṩ¹«ÓÐÔÆ·þÎñ,ÔòÓ¦¸Ã»¹ÐèÒª¸ÄController NodeÌṩһ¸öÍâÍø·ÃÎÊÍø¿¨. ÒÔ±ãÍⲿ¿Éµ÷ÓÃCinderÌṩµÄBlock Storage»òObject Storage£¬ÒÔ¼°Image
Service. Network Node: ÐèÒªÌṩ»ù´¡µÄNetworking·þÎñ,¸Ã·þÎñ°üº¬: ML2 Plug-in(µÚ¶þ²ã²å¼þ), Layer2 Agent(µÚ¶þ²ã´úÀí:OVS): OVSÊÇÓÃÀ´¹¹½¨ÇÅ¡¢VLAN¡¢VxLAN¡¢GRE¡¢ÓëNetwork
Node½ÚµãͨОùÓÐËüÀ´Íê³É¡£ Layer3 Agent(µÚÈý²ã´úÀí):´´½¨NAT NS²¢¹¹½¨NAT¹æÔò,iptables¹ýÂ˹æÔò¡¢Â·ÓÉת·¢¹æÔòµÈ DHCP Agent:ÓÃÀ´ÌṩDHCP·þÎñ,ΪVMÌṩ¶¯Ì¬µØÖ··ÖÅä¹ÜÀí¡£ ËüÐèÒªÌṩÈý¸öÍø¿¨½Ó¿Ú: 1.Management ½Ó¿Ú¡£ 2.ÓëʵÀý¹¹½¨ËíµÀµÄ½Ó¿Ú. 3.ÓëÍâÍøÁ¬½ÓµÄ½Ó¿Ú¡£
Compute Node: ËüÊÇÔËÐÐVMµÄ»ù±¾½Úµã¡£Ëü¿ÉÒÔÓзdz£¶à¡£ ËüÐèÒªÔËÐеĻù´¡·þÎñ£º 1.Compute(¼ÆËã·þÎñ):Nova Hypervisor; KVM or QEMU 2.Networking: ML2 Plug-in, Layer2 Agent(OVS)
ËüÐèÒªÁ½¸öÍø¿¨½Ó¿Ú: 1. Management½Ó¿Ú 2.¹¹½¨TunnelµÄ½Ó¿Ú¡£
¡¡¡¡
¿ØÖƽڵãÐèÒªÄÄЩ±ØÒª×é¼þ£¿ ¶ÔÓÚ¿ØÖƽڵãÀ´Ëµ£¬×îÖ÷ÒªµÄ×é¼þÓÐ nova£¨nova-api, nova-sheduler,nova-conductorµÈ£©£¬neutron-server(neutronµÄ¶þ²ã£¬Èý²ã£¬ÔªÊý¾Ý´úÀí)£¬Glance(¾µÏñ·þÎñ)£¬keystone(ÈÏÖ¤·þÎñ)£¬Í¨³£Ò²¶¼»á²¿Êðcinder·þÎñ£¬Òò´Ë¿ØÖƽڵãÒ»°ãÕâЩ»ù´¡·þÎñ¶Ë½ø³ÌÊÇÐèÒªÔËÐÐÔÚ¿ØÖƽڵãµÄ£¬µ«ÓÐʱҲÐèҪʹÓÃÏëmanila£¬heatÕâЩ·þÎñ£¬Ò²ÐèÒªÔÚ¿ØÖƽڵ㲿Ê𣬵«heatÎÒÑо¿²»¶à£¬ÎÒµÄʵ¼ùÖУ¬nova£¬neutron£¬glance£¬keystone£¬cinderÊDZØÐëÒªÅäÖõģ¬ÏñÎÒÃÇÆô¶¯Ò»Ì¨VM£¬Ê×ÏȾÍÒª·ÃÎÊnova-api£¬ÓÉnova-apiÀ´·ÃÎÊkeystoneÑéÖ¤Óû§ÌṩµÄƾ¾Ý£¬Éí·ÝÑé֤ͨ¹ýºó£¬²Å»á½«ÇëÇó×ö½øÒ»²½´¦Àí£¬±ÈÈç˵Ҫ´´½¨VM£¬nova-api¾Í»á½«ÇëÇ󷢸ønova-sheduler,¶øËü»á²éѯnovaÊý¾Ý¿â£¬»ñÈ¡µ±Ç°ËùÓмÆËã½ÚµãÉÏ×ÊÔ´µÄʹÓÃÇé¿ö£¬²¢¸ù¾Ýµ÷¶ÈËã·¨£¬Ñ¡³öÒ»¸ö×î¼ÑµÄ¼ÆËã½Úµã£¬²¢½«´´½¨VMµÄÇëÇó·¢Ë͵½¶ÔÓ¦µÄÏûÏ¢¶ÓÁеĹܵÀÖУ¬ÕâÑùËùÓж©ÔÄÁËÕâ¸ö¹ÜµÀµÄ¼ÆËã½ÚµãÉϵÄnova-compute¾Í¶¼ÄÜÊÕµ½£¬²¢½âÎöÇëÇó£¬ÈôÊÇ×Ô¼ºµÄÈÎÎñ£¬¾Í»áÔÚ×Ô¼ºµÄ½ÚµãÉÏÆô¶¯´´½¨VMµÄÈÎÎñ£¬µ±È»Õâ¸ö¹ý³ÌÉæ¼°µ½ÁËÇ°ÃæÌáµ½µÄËùÓÐ×é¼þ£¬±ÈÈçËü»áÏÈ·ÃÎÊglance»ñÈ¡´´½¨VMµÄ¾µÏñ£¬Ëæºó·ÃÎÊneurton´´½¨±ØÐëµÄÍøÂ磬×îºó»¹»á·ÃÎÊcinder»ñÈ¡VMËùÐèÒª¹ÒÔØµÄÔÆÅÌÐÅÏ¢µÈµÈ£¬×îºó»¹ÒªÍ¨Öªnova-conductor½«VMµÄÆô¶¯×´Ì¬Ð´ÈënovaÊý¾Ý¿âÖУ¬µ±È»ÕâÆô¶¯Ö®³õ¾Í»áÏȸæÖªnova-conductor£¬ÕâÑùÎÒÃÇÔÚǰ¶ËDashboardÉϲÅÄÜ¿´µ½VMµÄÆô¶¯×´Ì¬µ½ÄÇÒ»²½ÁË£¬ËùÒÔ״̬±¨¸æÊÇÿ¸ö½×¶Î¶¼ÐèÒªÓеÄ.
ÁíÍâÏñneutron£¬Ëüͨ³£»áÔÚÓû§´´½¨ÍøÂçʱ£¬Èç¶þ²ãÍøÂ磬»òÐéÄâ·ÓÉÆ÷µÈ£¬»áÓÉneutron-serverͨ¹ýÏûÏ¢¶ÓÁÐ֪ͨ¸÷¸ö¼ÆËã½ÚµãÉϵÄneutron-´úÀíÀ´Íê³É¼ÆËã½ÚµãÉÏ»ù´¡ÐéÄâÍøÇŵĴ´½¨¡£ ÁíÍâÎÒÔÚʵ¼ùÖз¢ÏÖ£¬ÏñÏûÏ¢¶ÓÁзþÎñ,ͨ³£Ê¹ÓÃrabbitmq£¬»º´æ¼°Session±£³Ö³£ÓÃmemcached£¬Êý¾Ý¿âͨ³£ÓÃMariadb£¬²¢ÇÒÕâÈý¸ö·þÎñ×îºÃ·Ö±ð²¿Êð£¬Ò»°ã²¿Êð²âÊÔ»·¾³Ê±£¬»á½«ËüÃǵ¥¶À·Åµ½Ò»Ì¨Ö÷»úÉÏÀ´²¿Êð£¬Ç°ÃæÓÃHAProxy»òNginx+Keepalived£¬ÕâÑù²¿Êð»á¾¡¿ÉÄܽµµÍÏûÏ¢¶ÓÁУ¬»º´æ¼°Êý¾Ý¿âµÄѹÁ¦£¬½µµÍÆ¿¾±£¬²»»á³öÏÖmysql¹ÒÁË£¬ËùÓзþÎñ¶¼²»ÄÜÕý³£¹¤×÷£¬mysql×öË«Ö÷»á¶àЩ£¬µ«Ê¹ÓÃʱ£¬»¹°´ÕÕÖ÷´Ó·½Ê½ÓÃ.
¼ÆËã½Úµãͨ³£ÐèÒªÄÄЩ×é¼þ£¿ ¶ÔÓÚ¼ÆËã½ÚµãÀ´Ëµ£¬Í¨³£ÐèÒªÔËÐÐnova-compute,ÕâÊÇ×î»ù±¾µÄ£¬ÒòΪ¿ØÖƽڵãÉÏnova-apiÑéÖ¤Óû§ÍêÓû§Éí·Ýºó£¬¾ÍÒÔ´´½¨VMΪÀýÀ´Ëµ£¬Ëü»á½«´´½¨VMµÄÈÎÎñ½»¸ønova-scheduler£¬ÓÉËüÀ´´Ó²éѯnovaÊý¾Ý¿â»ñȡÿ¸ö¼ÆËã½ÚµãµÄÐÅÏ¢,±ÈÈçÄÚ´æ,´ÅÅÌ,CPUµÈÐÅÏ¢,ÕÒÒ»¸ö×ÊÔ´×ԣµÄ¼ÆËã½Úµã,²¢Í¨¹ýÏûÏ¢¶ÓÁÐ,֪ͨ¸ø¶©ÔÄÁ˸ÃÏûϢͨµÀµÄnova-compute£¬nova-compute¾ÍÐèÒªÔÚµ±Ç°¼ÆËã½ÚµãÓëµ×²ãµÄhapyervsiorͨÐÅ£¬²»¹ý»ù±¾ÊǸúlibvirtdͨÐÅ£¬ÒòΪlibvirtdÒѾͳһÁËµ×²ã¾ø´ó²¿·Öhaypervsior,ÔÚLinuxÉÏͨ³£×öIaaS²ãÃæµÄ˽ÓÐÔÆ£¬Ê×ѡͨ³£ÊÇKVM+Qume£¬²»¹ýÈôÓ²¼þ²»Ö§³ÖÐéÄ⻯£¬¾ÍÖ»ÄÜʹÓÃQumeÕâÖÖÄ£ÄâÆ÷ÁË£¬²»¹ý¶ÔÓÚ·þÎñÆ÷À´ËµÕâÊDz»¿ÉÄܵġ£ÄÜ´´½¨VM£¬µ«Ò²±ØÐëÈÃÓû§ÄÜ·ÃÎÊËü²ÅÐУ¬ËùÒÔ£¬neutronµÄ´úÀíÊDZØÐëÒª°²×°µÄ£¬neutron¾ÍÊÇͨ¹ýÈçlinuxbridge-agent,ovs-agentÕâЩ¼ÆËã½ÚµãÉϵÄÍøÂç´úÀíÀ´ÊµÏÖ½ÓÊÜneutron-serverͨ¹ýÏûÏ¢¶ÓÁз¢À´µÄ´´½¨ÐéÄâÍøÂçµÄÖ¸ÁÕâÑù¼ÆËã½ÚµãÉϾͿÉÒÔ´´½¨¶þ²ãÍøÇÅ£¬²¢×Ô¶¯½«ÐéÄâÍøÏßµÄÒ»¶Ë°²×°µ½VMÖУ¬ÁíÒ»¶ÎÁ¬½Óµ½ÍøÇÅÉÏ£¬µ±È»ÈôʹÓð²È«×飬VMºÍÐéÄâÍøÂçÖ®¼ä¾Í»¹ÐèÒªÒ»¸öÍøÂçÃû³Æ¿Õ¼äÀ´×ö°²È«²ßÂÔ£¬ÕâÑù¾Í¿ÉÒÔÄÜÈÃVMÁ¬½ÓµÄËíµÀÍøÂçÉÏÁË£¬Í¨³£²»»áÖ±½ÓÈÃVMÁ¬½ÓµÄ¹«ÍøÇÅÉϵ쬶øÊÇͨ¹ýtunnel
networkÁ¬½Óµ½Neutron-server¶Ë£¬ÔÚͨ¹ýNATÀ´ÈÃVMÉÏÍøµÄ£¬µ«¶ÔÓÚVMµÄÔ¶³Ì¹ÜÀí£¬¾Í±È½Ï¸´ÔÓÁË£¬ÕâÒ»¿éÖ÷񻃾¼°µ½novaµÄ¼¸¸öÖ÷Òª×é¼þ¼ÆËã½ÚµãÉϵÄnova-compute,¿ØÖƽڵãÉϵÄnova-consoleauth,nova-novncproxy£¬nova-apiËûÃÇÖ®¼ä¾¹ý¸´ÔÓ½»»»£¬Éú³Étoken£¬×ª»»URLΪ¹«Íø¿É·ÃÎʵÄURL£¬×îºó·µ»Ø¸øÓû§µÄä¯ÀÀÆ÷£¬×îÖÕÓû§²ÅµÃÒÔ¿´µ½VMµÄ¹ÜÀí¿ØÖÆÌ¨£¬ÕâÆÚ¼äÊDz»Éæ¼°neutronÍøÂç×é¼þµÄ¡£ |