ÔØÈëÖС£¡£¡£ 'S bLog
 
ÔØÈëÖС£¡£¡£
 
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
 
ÌîдÄúµÄÓʼþµØÖ·£¬¶©ÔÄÎÒÃǵľ«²ÊÄÚÈÝ£º


 
OneStack£ºUbuntu 12.04 (»ò11.10) Ò»¼ü²¿Êð°²×°OpenStackÔÆ¼ÆËãÆ½
[ 2013/4/25 22:38:00 | By: ÃÎÏè¶ù ]
 

OneStack£ºÔÚUbuntu12.04£¨precise£©ÉÏÒ»¼ü°²×°²¿ÊðOpentack Essex

ÌáÐÑ£ºÈç¹ûÄãϲ»¶ÕÛÌÚ£¬Ï²»¶×Ô¼ºÒ»²½Ò»²½°²×°¸÷¸ö¹¦ÄÜ×é¼þºÍÅäÖÃconfÎļþ£¬Äã¿ÉÒÔÂÔ¹ý´ËÎÄ¡£±¾ÎŤ¾ß¿ÉÒÔÔÚÂã»úºÍÐéÄâ»úÒ»¼ü²¿ÊðÕæÊµµÄOpenStackÔÆ¼ÆËãÆ½Ì¨£¬Ö÷Òª²½ÖèÊÇÅäÖÃÍøÂç¡¢Êý¾Ý¿â¡¢keystone¡¢glance¡¢nova¡¢dashboard¡¢´´½¨¾µÏñºÍÆô¶¯ÊµÀýµÈ£¬´úÂëÄÚÓÐÏêϸעÊÍ¡£ÕâÖ»ÊÇѧϰOpentackµÄÈëÃŵÄÒ»²½£¬ÉîÈëÑо¿¿ÉÒԲο¼¸½Â¼3¸ø³öµÄ²¿·Ö×ÊÁϺÍÉçÇø¡£

2012.07.14¸üУº

ÊÕµ½ºÜ¶àÓʼþºÍÌáÎÊ£¬¾«Á¦ÓÐÏÞû·¨Ò»Ò»»Ø¸´£¬ÔÚ´ËÖÂǸ¡£ËæÊְѼǼµÄһЩÎÊÌâºÍ½â¾ö·½·¨ÕûÀíÁË£¬¹©´ó¼Ò²Î¿¼¡£

Ïê¼û¡¶OpenStack°²×°²¿Êð¹ÜÀíÖг£¼ûÎÊÌâ½â¾ö·½·¨£¨OpenStack-Lite-FAQ£©¡·¡£


2012.07.09¸üУº

ºÜ¶àÈËÀ´ÐÅÎÊÎÒµ¥Íø¿¨ÔõôÉèÖã¬ÒÔ¼°ÆäËüÍøÂçÎÊÌ⣬ÎÒºóÃæÐ´ÁËһƪ½éÉÜOpenStackÍøÂçµÄ£¬Ïê¼û¡¶OpenStackÔÆÆ½Ì¨µÄÍøÂçģʽ¼°Æä¹¤×÷»úÖÆ¡·¡£


2012.07.02¸üУº

1¡¢ÊÜÑûÔÚvpseeÉ϶ÔÕâ¸öÏîÄ¿½øÐÐÁ˽ÏΪÏêϸµÄ½éÉÜ£¨OneStack£ºUbuntu 12.04 ÉÏÒ»¼ü×Ô¶¯²¿Êð OpenStack£©£¬¶ÔÓÚÏîÄ¿À´Ô´¡¢Ïà¹Ø¿¼ÂÇ¡¢ÏîÄ¿½á¹¹¡¢¾ßÌå°²×°²½Ö裨²ÎÊýÉèÖúÍǰÆÚ¹¤×÷£©ºÍÔ¤ÆÚµÈ×öÁË˵Ã÷£¬¿ÉÒԲο¼¡£

2¡¢Ï£ÍûÔö¼Ó¸ß¿ÉÓÃÐÔµÄÔÆ¼ÆË㲿Ê𣬹¹½¨OpenStackµÄ¸ß¿ÉÓÃÐÔ£¨HA£¬High Availability£© ¶Ô¸ß¿ÉÓÃÐÔ½øÐÐÁ˳õ²½½éÉÜ£¬»¶Ó­Ìá³öÒâ¼ûºÍ½¨Òé¡£



Ò»¡¢ÏîÄ¿(OneStack)µØÖ·£º

http://onestack.googlecode.com

ϲ»¶git»òÕßgithubµÄÇëÈ¥ https://github.com/Kayven/OneStack

²»Ï£ÍûͬÐÐÃǰѹý¶à¾«Á¦»¨ÔÚOpenStackµÄ°²×°²¿ÊðÉÏ£¨ÒÔºóÓ¦¸Ã»á¸Ä½ø£©£¬¶øÊÇ¶ÔÆä»úÖÆÔ­Àí¡¢¹¤³Ìʵ¼ù¡¢ÐÔÄܵ÷ÓÅ¡¢Ó¦Ó÷þÎñµÈÉîÈëÑо¿Ì½ÌÖ¡£ ËùÒÔÌṩÕâ¸öÒ»¼ü²¿ÊðµÄ¹¤¾ß£¬°ïÖú´ó¼Ò¿ìËÙ½¨Á¢»·¾³ÊµÑéÉú²úʵ¼ù¡£ÏîÄ¿½á¹¹ÈçÏ£º

  • oneStack.sh£¨Ò»¼ü²¿Êð all-in-one µÄ OneStack£¬¼òµ¥°²×°µÄÖ÷ÒªÎļþ£©£»
  • setup_base.sh£¨°²×°»ù±¾ÏµÍ³£©£»
  • setup_test.sh£¨Ìí¼Ó¾µÏñºÍʵÀý£©£»
  • addComputeNode.sh£¨Ôö¼Ó¼ÆËã½Úµã£©£»
  • delStack.sh£¨Ö»Ð¶ÔØnova¡¢glance¡¢keystoneµÈ£©£»
  • delAll.sh£¨Ð¶ÔØËùÓа²×°µÄ×é¼þºÍ¹¤¾ß£©£»
  • resetStack.sh£¨Çå¿ÕÊý¾Ý¿â£¬¾µÏñ¡¢ÍøÂçºÍʵÀýµÈ£¬ÖØÐÂÉÏ´«¾µÏñ¡¢´´½¨ÊµÀý£©£»
  • addClient.sh£¨Ìí¼Ó¿Í»§¶Ë£¬nova¹ÜÀíµÈ£©£»
  • HAStack Ŀ¼£¨OneStack µÄ¸ß¿ÉÓÃÐÔ£¬Ï£Íû¸ü¶àÈË¿ÉÒÔÌá³ö×Ô¼ºµÄ½â¾ö·½°¸£©¡£


¶þ¡¢²¿Êð(OneStack)²½Öè

¼òµ¥²¿ÊðOneStack£º

wget http://onestack.googlecode.com/files/oneStack.sh && chmod +x oneStack.sh && ./oneStack.sh


ÍêÕû²¿ÊðOneStack£º

Just checkout and run it!

1. Setup a fresh Ubuntu Precise(12.04) Sever OS.

2. checkout

svn checkout http://onestack.googlecode.com/svn/trunk/ onestack-read-only

3. run it!

cd onestack-read-only/ && ./oneStack.sh

£¨ÈçºÎ¼òµ¥ÅäÖòÎÊý¼ûÁôÑÔ˵Ã÷£¬»òÕß¼ûhttp://onestack.googlecode.com£¬»òÕß¼û½Å±¾×¢ÊÍ£©

£¨¶à½ÚµãµÄ²¿ÊðÀàËÆ£¬Ö»ÐèÒªÔÚ¼ÆËã½ÚµãÉèÖò¢Ö´ÐÐaddComputeNode.sh£©


Èý¡¢ÏîÄ¿(OneStack)˵Ã÷£º

  • ÔÚUbuntu12.04£¨precise£©Éϰ²×°²¿ÊðOpentack Essex
  • Ö»ÐèÒªÒ»¸öÎļþ¼´¿ÉÍê³ÉÈ«²¿¹¦ÄÜ×é¼þµÄ²¿Êð£ºhttp://onestack.googlecode.com/files/oneStack.sh

  • ÀïÃæº¬ÓÐÏêϸµÄ×¢ÊÍ˵Ã÷£¬¿´ÍêÕû¸ö½Å±¾Ï൱ÓÚ¿´ÍêÁ˰²×°Îĵµ£»

  • svnÕû¸öÏîĿֻÊǶàһЩ¸¨Öú¹¤¾ß£¬°üÀ¨ÖØÖá¢ÖØÐ°²×°¡¢Ð¶ÔصÈ;

  • Ò²»¶Ó­Í¬µÀÈ˲¹³äºÍÍêÉÆ¸ü¶àµÄ¹¦ÄÜ£¬ÊÊÓÃÓÚ¸ü¶àµÄ²Ù×÷ϵͳºÍÓ¦Óó¡¾°¡£


ËÄ¡¢ÏîÄ¿(OneStack)À´Ô´£º

  • ÀàËÆÏîÄ¿ÓÐDevStack£¬µ«ÊÇDevStackÊÇʹÓÃscreen°²×°OpenStack£¬ÖØÆô·þÎñÆ÷»á³öÏÖһЩÎÊÌ⣬ûÓÐÌá¹©ÖØÆô¡¢ÖØÖõÈÓÐÓù¦ÄÜ£»

  • ÓÉÓÚ×é¼þ¶ÀÁ¢·ÖÉ¢£¬°²×°¹ý³Ì¹ýÓÚ·±Ëö£¬¿ÉÒÔ³éÏó³ÉͨÓõÄÏîÄ¿¹©´ó¼Ò·½±ãʹÓã»

  • ¹Ù·½ÌṩÁËÒ»¸ö±È½ÏÍêÉÆµÄÈëÃÅÎĵµ£¬µ«ÊÇ£¬ÕâÒ»²½Ò»²½ÏÂÀ´µÃ×öºÜ¶àÎÞÓù¦£¬ÈÝÒש´í¶øÒýÆðºÜ¶àĪÃûºÍÍ·ÌÛµÄÎÊÌ⣻

  • ±¾ÏîÄ¿²»ÏñdevstackÖ»ÊÇÌṩʵÑé»·¾³£¬¶øÊÇ¿ÉÒÔʵ¼Ê²¿ÊðʹÓ㬿ÉÒÔ×Ô¼ºÐÞ¸ÄÅäÖ㬰´ÐèÔö¼Ó×é¼þºÍ¹¦ÄÜ£¬ÊµÏÖÒ»¼ü²¿Ê𣬿ÉÀ©Õ¹Ê¹Óá£


Îå¡¢ÏîÄ¿(OneStack)ÃèÊö£º
  1. Ò»¼üÍêÕû²¿ÊðOpenStack£¬¿ÉÒÔ×Ô¶¨ÒåÅäÖᢷ½±ãµØÀ©Õ¹¹¦ÄÜ×é¼þ£¬ÎÞ½»»¥µØ×Ô¶¯²¿Êð£»

  2. °²×°¹ý³Ì²»ÐèÒªµÈ´ýÅäÖãº

  • ¹¦ÄÜÆëÈ«£¬¸½´øÁËÐ¶ÔØ¡¢ÖØÖá¢Ìí¼Ó¼ÆËã½ÚµãµÈ¹¤¾ß
    1. ¿ÉÒÔÐ¶ÔØÖ÷ÒªµÄopentack×é¼þ£¬°üÀ¨nova¡¢glance¡¢keystoneµÈ£»
    2. ¿ÉÒÔÖØÖÃÊý¾Ý¿âºÍÅäÖã¬ÖØÐ°²×°openstack×é¼þ£»
    3. ¿ÉÒÔ¸ù¾ÝÐèÒª×ÔÐиü¸Ä½Å±¾£¬·½±ã²¿Êð×Ô¼ºµÄÔÆ¼ÆËãÆ½Ì¨¡£
  • ¾­¹ý¶à´Î²âÊÔ£¬ÍêÕûÔÚVMwareÐéÄâ»úÉϲ¿ÊðOpenStack
      ²âÊÔ»·¾³£ºVMware ESXi 5.0ÐéÄâDell R210·þÎñÆ÷£¬ÆäÖÐÒ»¸öÐéÄâ»úÉϲ¿ÊðOpentack£¬Æô¶¯¶à¸öʵÀý£¬Õý³£ÔËÐУ»Ô¶³Ì·ÃÎʺÍweb¹ÜÀíÕý³££»ÖØÆô¡¢ÖØÖá¢ÖØÐ°²×°¶¼Õý³£¡£
      ϵͳҪÇó£ºË«Íø¿¨£¬64λ»úÆ÷£¬Ö§³ÖVT¼¼Êõ
  • ½Å±¾ÔËÐйý³Ì»á×öÈçϹ¤×÷£º
    1. ÅäÖÃÍøÂçÏà¹Ø£»
    2. °²×°ºÍÅäÖÃÊý¾Ý¿â£»
    3. °²×°ºÍ²¿ÊðÉí·Ý¹ÜÀí×é¼þkeystone£»
    4. °²×°ºÍ²¿Êð¾µÏñ¹ÜÀí×é¼þglance£»
    5. °²×°ºÍ²¿Êð¿ØÖÆÓë¼ÆËã×é¼þnova£»
    6. °²×°ºÍ²¿Êðweb¹ÜÀí×é¼þdashboard£»
    7. ÉÏ´«ºÍÌí¼Óubuntu12.04¾µÏñ£»
    8. ÉèÖÃÏîÄ¿°²È«¹æÔòºÍÃÜÔ¿£»
    9. Æô¶¯ÊµÀý£¬²¢Õý³£ÔËÐС£
  • »¶Ó­·´À¡£¬Ð»Ð».
    1. ±¾È˾¡Á¦×öµ½²»³ö²î´í£¬µ«ÊÇÏÞÓÚѧʶºÍÑ۽磬ÄÑÃâÓп¼ÂDz»ÖÜ¡¢ÈßÓࡢûÓÐ×îÓÅ»¯»òÕß±í´ï²»ºÃÖ®´¦£»
    2. Ï£Íû´ó¼ÒÓÐÈκÎÒâ¼û½¨ÒéËæÊ±ÁªÏµÎÒ¡£
¸½Â¼1£º
ΪÁË·½±ã´ó¼Ò²éÔÄ¡¢ÌÖÂÛ¡¢½»Á÷¡¢reviewºÍÍêÉÆ£¬ÔÚ´ËÌù³öÖ÷Òª´úÂë¡£
[plain] view plaincopy
  1. #!/usr/bin/env bash  
  2. # **oneStack.sh** is a tool to deploy complete and real OpenStack cloud computing service.  
  3.   
  4. # This script installs and configures various combinations of *Glance*,  
  5. # *Horizon*, *Keystone*, *Nova*, *Mysql* and others.  
  6.   
  7. # Hily.Hoo@gmail.com (Kayven)  
  8. # Learn more and get the most recent version at http://code.google.com/p/onestack/  
  9.   
  10. set -o xtrace  
  11. ## ÇëʹÓÃrootÖ´Ðб¾½Å±¾£¡  
  12. ## Ubuntu 12.04 ("Precise") ²¿Êð OpenStack Essex£¨»òÕßubuntu11.10°æ±¾£©  
  13.   
  14.   
  15. ## Ò»£º×¼±¸ÏµÍ³  
  16. ## 1£ºÏÂÔØubuntu 12.04. ·þÎñÆ÷°æ±¾  
  17. ## http://mirrors.ustc.edu.cn/ubuntu-releases/12.04/ubuntu-12.04-server-amd64.iso  
  18. ## 2£º°²×°OS  
  19. ## ×îС»¯°²×°£¬Ö»ÐèÒª°²×°ssh server¾Í¿ÉÒÔ¡£  
  20. ## ×°Íêϵͳºó ¸üÐÂÔ´ÀïµÄ°ü,¸üÐÂϵͳ¡£È·±£Äã×°µÄÊÇ×îа汾µÄ°ü¡£  
  21.   
  22. ## 3£ºÉèÖÃrootȨÏÞ  
  23. ## ÎªÁ˼òµ¥£¬È«²¿¶¼ÊÇÓÃrootÀ´ÔËÐС£  
  24. if [ `whoami` != "root" ]; then  
  25.         sudo passwd  
  26.         exec su -c 'sh ./oneStack.sh'  
  27. fi  
  28.   
  29. ## 4£ºÉèÖòÎÊýºÍ»·¾³ÅäÖã¬Ö±µ½Á½ÐÐ#ºÅ½áÊø  
  30. ## Õâ¸öÅäÖÃÒÔºó¾Í²»ÐèÒª¸ü¸ÄÁË£¬±ÈÈç¿´µ½192.168.139.50µÈip£¬²»Óøü¸Ä£¬½Å±¾»á×Ô¶¯Ìæ»»ÕâЩ³õʼֵ¡£  
  31. ## ¿ÉÒԱ䶯µÄÊÇ£¬µÚ500ÐеÄimageµÄÏÂÔØ£»»òÕßÈ¥µôµÚÆß²½¿ªÊ¼µÄ²¿·Ö£¨ÉÏ´«¾µÏñ£¬´´½¨ÊµÀý£©  
  32. ##########################################################################  
  33. ##########################################################################  
  34. ## Èç¹ûÔ­À´°²×°¹ýOpenStack£¬ÇëÏÈÖ´ÐР./delStack.sh  
  35. ## 1£©ÅäÖòÎÊý  
  36. ## Êý¾Ý¿âÏà¹Ø  
  37. MYSQL_PASSWD=${MYSQL_PASSWD:-"cloud1234"}  
  38. NOVA_DB_USERNAME=${NOVA_DB_USERNAME:-"novadbadmin"}  
  39. NOVA_DB_PASSWD=${NOVA_DB_PASSWD:-"cloud1234"}  
  40. GLANCE_DB_USERNAME=${GLANCE_DB_USERNAME:-"glancedbadmin"}  
  41. GLANCE_DB_PASSWD=${GLANCE_DB_PASSWD:-"cloud1234"}  
  42.   
  43. ## ×¢Ò⣺µ¥Íø¿¨µÄÈ¥µôinterfacesµÄeth1£¬²¢°Ñnova.confÀïÃæeth1¸ÄÍêeth0¼´¿É£¡  
  44. ## ×ÔÐмì²éÏÂÃænetwork/interfacesµÄÁ½¸öÍø¿¨ÉèÖà 
  45. ## ±¾»úÆ÷ÍâÍøip £¨°üÀ¨¾ÖÓòÍøµÄÄÚÍøip£¬Ïà¶ÔÓÚOpenStackÄÚÍø¶øÑԵģ©  
  46. OUT_IP="192.168.139.50"  
  47. OUT_IP_PRE="192.168.139"  
  48. ## nova-networkÄÚÍøip  
  49. IN_IP="10.0.0.1"  
  50. IN_IP_PRE="10.0.0"  
  51. ## flatµÄÆðʼip  
  52. FLAT_IP="10.0.0.40"  
  53. ## ¸¡¶¯ipµÄÆðʼֵ  
  54. FLOAT_IP="192.168.139.225"  
  55.   
  56. ## Ñ¡ÔñÐéÄâ¼¼Êõ£¬Âã»úʹÓÃkvm£¬ÐéÄâ»úÀïÃæÊ¹ÓÃqemu  
  57. VIRT_TYPE="qemu"  
  58. ## token, µÇ¼dashboardÃÜÂ루Óû§Ãûadmin£©  
  59. ADMIN_TOKEN="admin"  
  60. ##########################################################################  
  61. ## 2£©¼ì²éϵͳÊÇ·ñubuntu12.04£¬¾Ý·´Ó³11.10Ò²¿ÉÒÔÕý³£°²×°£¬¿ÉÒÔÈ¥µôÕâÒ»¶Î¼ì²é  
  62. # Determine what system we are running on.  This provides ``os_VENDOR``...  
  63. # Determine OS Vendor, Release and Update   
  64. #if [[ -x "`which lsb_release 2>/dev/null`" ]]; then  
  65.     os_VENDOR=$(lsb_release -i -s)  
  66.     os_RELEASE=$(lsb_release -r -s)  
  67.     os_UPDATE=""  
  68.     os_CODENAME=$(lsb_release -c -s)  
  69. #fi  
  70. if [ "Ubuntu" = "$os_VENDOR" ]; then  
  71.     DISTRO=$os_CODENAME  
  72. else  
  73.     echo "The os didn't seems to be Ubuntu."  
  74.     exit 1  
  75. fi  
  76. echo $DISTRO  
  77. if [ "precise" != ${DISTRO} -a "oneiric" != ${DISTRO} ]; then  
  78.     echo "WARNING: this script has been tested on oneiric or precise"  
  79.     exit 1  
  80. fi  
  81.   
  82. ############################################################################  
  83. ## 3£©ÒÔÏÂϵͳÅäÖã¬ÓïÑÔÖÐÎÄÖ§³Ö¡¢¹úÄÚAPTÔ´¡¢ÍøÂçÉèÖã¨Á½¸öÍø¿¨£©£¬¿ÉÒÔ×ÔÐÐÅäÖã¬×¢Ê͵ôÕâЩ²½Öè¡£  
  84. ## locale  
  85.   
  86. ############################################################################  
  87. ## 4£ºÉèÖÃÍøÂç  
  88. SOURCE_FILE=${SOURCE_FILE:-"/etc/apt/sources.list"}  
  89. cp $SOURCE_FILE $SOURCE_FILE.bak  
  90. cat <<APT >$SOURCE_FILE  
  91. deb http://debian.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse  
  92. deb http://debian.ustc.edu.cn/ubuntu/ precise-backports restricted universe multiverse  
  93. deb http://debian.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse  
  94. deb http://debian.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse  
  95. deb http://debian.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse  
  96. deb-src http://debian.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse  
  97. deb-src http://debian.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse  
  98. deb-src http://debian.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse  
  99. deb-src http://debian.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse  
  100. deb-src http://debian.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse  
  101. APT  
  102. #sed -i 's/debian.ustc.edu.cn/mirrors.163.com/g' $SOURCE_FILE  
  103.   
  104. # network configure  
  105. NETWORK_CONF=${NETWORK_CONF:-"/etc/network/interfaces"}  
  106. if ! grep -q eth1 $NETWORK_CONF; then  
  107.         cat <<INTERFACES >$NETWORK_CONF  
  108. auto lo  
  109. iface lo inet loopback  
  110.   
  111. # The primary network interface  
  112. auto eth0  
  113. iface eth0 inet static  
  114. pre-up ifconfig eth0 hw ether b8:ac:6f:9a:ee:e4  
  115.         address 192.168.139.50  
  116.         netmask 255.255.255.0  
  117.         network 192.168.139.0  
  118.         broadcast 192.168.139.255  
  119.         gateway 192.168.139.253  
  120.         dns-nameservers 210.72.128.8  
  121.   
  122. auto eth1  
  123. iface eth1 inet static  
  124. pre-up ifconfig eth1 hw ether b8:ac:6f:9a:ee:e4  
  125.         address 10.0.0.1  
  126.         netmask 255.255.255.0  
  127.         network 10.0.0.0  
  128.         broadcast 10.0.0.255  
  129. INTERFACES  
  130.         /etc/init.d/networking restart  
  131. fi  
  132. ## ÒÔÉÏϵͳÅäÖ㬿ÉÒÔ×ÔÐÐÅäÖã¬×¢Ê͵ôÕâЩ²½Öè¡£  
  133. ############################################################################  
  134. ############################################################################  
  135.   
  136. apt-get update  
  137.   
  138.   
  139.   
  140. ## 5£º°²×°bridge  
  141. apt-get install -y bridge-utils  
  142. ## 6£ºÉèÖÃNTP  
  143. apt-get install -y ntp  
  144. if ! grep -q fudge "/etc/ntp.conf"; then  
  145.         cat <<NTPconf > /etc/ntp.conf  
  146. server ntp.ubuntu.com iburst  
  147. server 127.127.1.0  
  148. fudge 127.127.1.0 stratum 10  
  149. NTPconf  
  150. fi  
  151. service ntp restart  
  152. ## 7£ºÉèÖÃIscsi  
  153. apt-get install -y tgt ssh w3m unzip wget curl expect  
  154. ## °²×°iscsi¿Í»§¶Ë¡¢°²×°rabbitmq  
  155. apt-get install -y open-iscsi open-iscsi-utils  
  156. apt-get install -y rabbitmq-server memcached python-memcache  
  157. apt-get install -y kvm libvirt-bin qemu qemu-kvm  
  158.   
  159. ## ¶þ£º°²×°mysqlºÍ´´½¨Ïà¹ØÊý¾Ý¿â  
  160. ## OpenstackµÄ×é¼þ£ºnova£¬keystone£¬glance£¬¶¼ÐèÒªÊý¾Ý¿â¡£²»¹ýĿǰ¹Ù·½½¨Òékeystone£¬²ÉÓÃsqlite´æ´¢£¬¶ø²»ÓÃmysql´æ·Å¡£ËùÒÔÎÒÃÇÖ»ÐèÒª´´½¨novaºÍglanceÁ½¸öÊý¾Ý¿â¾Í¿ÉÒÔ¡£  
  161. ## 1£º°²×°mysql  
  162. ## ¹ý³ÌÖУ¬»áÌáʾÄãÊäÈërootÃÜÂ롣ͨ¹ýdebconf-set-selections¶ÁÈ¡Ìø¹ýÕâÒ»²½.  
  163. #MYSQL_PASSWD=${MYSQL_PASSWD:-"cloud1234"}  
  164. ## apt-get install debconf debconf-utils  
  165. cat <<MYSQL_PRESEED | debconf-set-selections  
  166. mysql-server-5.1 mysql-server/root_password password $MYSQL_PASSWD  
  167. mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASSWD  
  168. mysql-server-5.1 mysql-server/start_on_boot boolean true  
  169. MYSQL_PRESEED  
  170.   
  171. apt-get install --no-install-recommends -y mysql-server python-mysqldb  
  172. ## chkconfig mysql on  
  173. ## ÈÃmysqlÖ§³ÖÍⲿ·ÃÎÊ  
  174. sed -i '/^bind-address/s/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf    
  175. service mysql restart  
  176. if [ ! -s /etc/apache2/httpd.conf ]; then  
  177.         echo "ServerName localhost" >> /etc/apache2/httpd.conf  
  178.         /etc/init.d/apache2 restart  
  179. fi  
  180.   
  181. ## 2£º°²×°phpmyadmin £¨¿ÉÑ¡£©  
  182. cat <<PHPmyadmin | debconf-set-selections  
  183. phpmyadmin phpmyadmin/reconfigure-webserver  text     apache2  
  184. phpmyadmin phpmyadmin/dbconfig-install       boolean  true  
  185. phpmyadmin phpmyadmin/app-password-confirm   password $MYSQL_PASSWD  
  186. phpmyadmin phpmyadmin/mysql/admin-pass       password $MYSQL_PASSWD  
  187. phpmyadmin phpmyadmin/password-confirm       password $MYSQL_PASSWD  
  188. phpmyadmin phpmyadmin/setup-password         password $MYSQL_PASSWD  
  189. phpmyadmin phpmyadmin/mysql/app-pass         password $MYSQL_PASSWD  
  190. PHPmyadmin  
  191. apt-get --no-install-recommends -yq install phpmyadmin  
  192.   
  193. ## 3£º´´½¨Êý¾Ý¿â  
  194. ## novaÊý¾Ý¿â£¬   ¹ÜÀíÔ±£ºnovadbadmin£¬ÃÜÂëÊÇ£ºcloud1234  
  195. ## glanceÊý¾Ý¿â£¬¹ÜÀíÔ±£ºglancedbadmin£¬ÃÜÂëÊÇ£ºcloud1234  
  196. ## Èç¹ûÄãÐÞ¸ÄÃÜÂ룬ºóÃæºÜ¶àÅäÖö¼ÐèÒªÏàÓ¦¸ü¸Ä¡£  
  197. ##   mysql -uroot -p  
  198. ##   CREATE DATABASE nova;  
  199. ##   GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%' IDENTIFIED BY 'cloud1234';  
  200. ##   CREATE DATABASE glance;  
  201. ##   GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%' IDENTIFIED BY 'cloud1234';  
  202. ##   quit  
  203. mysql -uroot -p$MYSQL_PASSWD -e "DROP DATABASE IF EXISTS nova;"  
  204. mysql -uroot -p$MYSQL_PASSWD -e "CREATE DATABASE nova;"  
  205. mysql -uroot -p$MYSQL_PASSWD -e "GRANT ALL ON nova.* TO '$NOVA_DB_USERNAME'@'%' IDENTIFIED BY '$NOVA_DB_PASSWD';"  
  206. mysql -uroot -p$MYSQL_PASSWD -e "DROP DATABASE IF EXISTS glance;"  
  207. mysql -uroot -p$MYSQL_PASSWD -e "CREATE DATABASE glance;"  
  208. mysql -uroot -p$MYSQL_PASSWD -e "GRANT ALL ON glance.* TO '$GLANCE_DB_USERNAME'@'%' IDENTIFIED BY '$GLANCE_DB_PASSWD';"  
  209. if [ -e /var/lib/keystone/keystone.db ]; then  
  210. rm -rf /var/lib/keystone/keystone.db  
  211. fi  
  212.   
  213. ## Èý£º°²×°ºÍÅäÖÃkeystone  
  214. ## OpenstackµÄ¸÷¸ö×é¼þ£¬keystoneÊÇ×îÄÑÅäÖ᣸㶨keystone£¬ºóÃæÓ¦¸Ã¾ÍûɶÂé·³¡£  
  215. ## 1£º°²×°keystone  
  216. apt-get install -y keystone python-keystone python-keystoneclient  
  217. ## 2£ºÅäÖÃkeystone  
  218. ## Èç¹û¸ü¸Ätoken£¬ÐèÒªÐ޸Ġ/etc/keystone/keystone.conf Á½¸öµØ·½  
  219. ##    Ä¬È϶¨ÒåµÄtoken¾ÍÊÇADMIN£¬webµÇ¼admin¾ÍÊÇÕâ¸öÃÜÂë  
  220. ##    [DEFAULT]  
  221. ##    bind_host = 0.0.0.0  
  222. ##    public_port = 5000  
  223. ##    admin_port = 35357  
  224. ##    admin_token = ADMIN  
  225. ##    ÁíÍâÒ»¸öµØ·½ÊÇ  
  226. ##    [catalog]  
  227. ##    #driver = keystone.catalog.backends.sql.Catalog  
  228. ##    driver = keystone.catalog.backends.templated.TemplatedCatalog  
  229. ##    template_file = /etc/keystone/default_catalog.templates  
  230. ##       
  231. sed -i -e 's/keystone.catalog.backends.sql.Catalog/keystone.catalog.backends.templated.TemplatedCatalog\ntemplate_file = \/etc\/keystone\/default_catalog.templates/g' /etc/keystone/keystone.conf  
  232. sed -i -e "s/ADMIN/$ADMIN_TOKEN/g" /etc/keystone/keystone.conf  
  233. service keystone restart  
  234.   
  235. ## 3: µ¼ÈëÊý¾Ý  
  236. ## Õâ¸ö±È½ÏÓм¼Êõº¬Á¿¡£Í¨¹ýÐÞ¸ÄdevstackµÄkeystone_data.sh ½Å±¾¡£ÊµÏÖµ¼ÈëÊý¾Ý¡£Èç¹ûÄãÉÏÃæµÄÉèÖö¼ºÍÎÒÒ»Ñù£¬ÄÇôÆäʵֱ½ÓÔËÐÐÕâ¸ö½Å±¾¾Í¿ÉÒÔ¡£  
  237. ## wget http://www.hastexo.com/system/files/user/4/keystone_data.sh_.txt -O keystone_data.sh  
  238. wget http://onestack.googlecode.com/files/gen_keystone_data.sh -O gen_keystone_data.sh  
  239. chmod +x gen_keystone_data.sh  
  240. ## ÔËÐнű¾, Èç¹ûÄãÐ޸ĵÄĬÈϵÄÓû§ÃûºÍÃÜÂ룬ÄãÐèÒªÐ޸Ľű¾¡£ÐÞ¸ÄÁ½¸öµØ·½  
  241. ## µÚÒ»¸öÊǵǼdashboardµÄadminµÄÃÜÂë  
  242. ## µÚ¶þ¸ö¾ÍÊÇkeystoneµÄtoken  
  243. ## #ADMIN_PASSWORD=${ADMIN_PASSWORD:-hastexo}  
  244. ## ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}  
  245. ## SERVICE_PASSWORD=${SERVICE_PASSWORD:-$ADMIN_PASSWORD}  
  246. ## #export SERVICE_TOKEN="hastexo"  
  247. ## export SERVICE_TOKEN="Centrin"  
  248. ## export SERVICE_ENDPOINT="http://localhost:35357/v2.0"  
  249. ## SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-service}  
  250. sed -i -e "s/hastexo/$ADMIN_TOKEN/g" gen_keystone_data.sh   
  251.    
  252. ./gen_keystone_data.sh  
  253. ##  Ë³ÀûÔËÐУ¬»áʲô¶¼Ã»ÓÐÊä³ö  
  254. ##  ££e cho $?  
  255. ##  ÏÂÃæ»áÊä³ö0 £¬±íʾÕý³£¡£Äã¾Í±ðÔÙÔËÐнű¾  
  256. ##  keystone --tenant=admin --username=admin --password=hastexo  --auth_url=http://127.0.0.1:5000/v2.0 user-list  
  257. ##  ¿´µ½ÕâЩ£¬¾Í˵Ã÷keystone°²×°Õý³£¡£  
  258.   
  259. cat <<ENV_AUTH >> /etc/profile  
  260. export OS_TENANT_NAME=admin  
  261. export OS_USERNAME=admin  
  262. export OS_PASSWORD=ADMIN  
  263. export OS_AUTH_URL="http://localhost:5000/v2.0/"  
  264. ENV_AUTH  
  265. sed -i -e "s/ADMIN/$ADMIN_TOKEN/g" /etc/profile  
  266. export OS_TENANT_NAME=admin  
  267. export OS_USERNAME=admin  
  268. export OS_PASSWORD=$ADMIN_TOKEN  
  269. export OS_AUTH_URL="http://localhost:5000/v2.0/"  
  270. #source /etc/profile  
  271. ## ¼ì²é¼ì²é  
  272. ## # export | grep OS_  
  273. ## declare -x OS_AUTH_URL="http://localhost:5000/v2.0/"  
  274. ## declare -x OS_PASSWORD="hastexo"  
  275. ## declare -x OS_TENANT_NAME="admin"  
  276. ## declare -x OS_USERNAME="admin"  
  277. ## Õâ¸öʱºò£¬Ö±½ÓÔËÐР 
  278. ## root@node6:~# keystone user-list  
  279.   
  280.   
  281. ## ËÄ£º°²×°ºÍÅäÖÃglance  
  282. ## 1£º°²×°Èí¼þ  
  283. apt-get install -y glance glance-api glance-client glance-common glance-registry python-glance  
  284. ## 2£ºÅäÖÃ/etc/glance/glance-api-paste.ini   
  285. ## ÐÞ¸ÄÎļþ×îºó3ÐУ¬ÕâЩÉèÖö¼ÊÇkeystoneµ¼ÈëÊý¾ÝµÄʱºòÉèÖõġ£  
  286. sed -i -e "  
  287.        s/%SERVICE_TENANT_NAME%/admin/g;  
  288.        s/%SERVICE_USER%/admin/g;  
  289.        s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;  
  290.     " /etc/glance/glance-api-paste.ini  
  291.    
  292. ## 3£ºÉèÖà/etc/glance/glance-registry-paste.ini  
  293. sed -i -e "  
  294.        s/%SERVICE_TENANT_NAME%/admin/g;  
  295.        s/%SERVICE_USER%/admin/g;  
  296.        s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;  
  297.     " /etc/glance/glance-registry-paste.ini  
  298. ## 4£ºÅäÖÃ/etc/glance/glance-registry.conf  
  299. ## Ð޸Ġ 
  300. ## #sql_connection = sqlite:////var/lib/glance/glance.sqlite  
  301. ## sql_connection = mysql://glancedbadmin:ohC3teiv@10.42.0.6/glance  
  302. ## ÔÚĩβÌí¼ÓÁ½ÐР 
  303. ## [paste_deploy]  
  304. ## flavor = keystone  
  305. GLANCE_API_CONF=${GLANCE_API_CONF:-"/etc/glance/glance-api.conf"}  
  306. GLANCE_REGISTRY_CONF=${GLANCE_REGISTRY_CONF:-"/etc/glance/glance-registry.conf"}  
  307. PUBLIC_IP=${PUBLIC_IP:-"192.168.139.50"}  
  308. sed -i '/sql_connection = .*/{s|sqlite:///.*|mysql://'"$GLANCE_DB_USERNAME"':'"$GLANCE_DB_PASSWD"'@'"$PUBLIC_IP"'/glance|g}' $GLANCE_API_CONF  
  309. cat <<EOF >>$GLANCE_API_CONF  
  310. [paste_deploy]  
  311. flavor = keystone  
  312. EOF  
  313. sed -i '/sql_connection = .*/{s|sqlite:///.*|mysql://'"$GLANCE_DB_USERNAME"':'"$GLANCE_DB_PASSWD"'@'"$PUBLIC_IP"'/glance|g}' $GLANCE_REGISTRY_CONF  
  314. cat <<EOF >>$GLANCE_REGISTRY_CONF  
  315. [paste_deploy]  
  316. flavor = keystone  
  317. EOF  
  318.   
  319. ## 5£ºÅäÖÃ/etc/glance/glance-api.conf  
  320. ## 6£ºÍ¬²½Êý¾Ý¿â  
  321. glance-manage version_control 0  
  322. glance-manage db_sync            
  323. service glance-api restart && service glance-registry restart  
  324.   
  325. ## 7£ºÑéÖ¤glance·þÎñÊÇ·ñÕý³£  
  326. # glance index  
  327. ## Ã»ÓÐÈκεÄÊä³ö¡£±íʾÕý³£¡£  
  328. ## ££e cho $?  
  329. ## ÏÂÃæ»áÊä³ö0 £¬±íʾÕý³£¡£  
  330. ## # glance --version  
  331. ## glance 2012.1  
  332.   
  333. ## 8£ºÏÂÔØ¾µÏñ²¢ÉÏ´«  
  334. ## ubuntu¹Ù·½×¨ÃÅÌṩimage£¬http://uec-images.ubuntu.com¡£²»¹ýÒ»¶¨Òª×¢Òâ  
  335. ## ÕâЩ¾µÏñ£¬¶¼ÊDZØÐëʹÓÃÃÜÔ¿µÇ¼£¬Ö±½ÓÓÃÓû§ÃûÃÜÂëÊÇÎÞ·¨µÄµÇ¼µÄ¡£  
  336. ## ÏÂÔØ¾µÏñ  
  337. ## http://cloud-images.ubuntu.com/precise/current/  
  338. ## ÕâÓ¦¸ÃÊÇubuntuÌṩµÄ×îеÄÎȶ¨µÄ¾µÏñ¡£  
  339. #wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img  
  340. ##  expect -c "spawn /usr/bin/scp  yuan@192.168.139.84:/home/yuan/precise-server-cloudimg-amd64-disk1.img .; expect {  
  341. ##     \"password:\"; {  
  342. ##    send \"yyhu\r\n\";  
  343. ##    }; \"Are you sure you want to continue connecting (yes/no)?\" {  
  344. ##    send \"yes\r\n\" ;  
  345. ##    expect \"password:\";  
  346. ##    send \"yyhu\r\n\";  
  347. ##    }  
  348. ##  } ; set timeout -1; expect -re \"100%\";"  
  349. ##^^####sleep 5; expect -re \"password\"; send \"yyhu\r\n\";  
  350.   
  351.   
  352. # glance add name="Ubuntu12.04-amd64" is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img  
  353. ## ÕâÀﻹÓÐÒ»ÖÖ·½·¨ÉÏ´«£¬Èç¹ûÄãûÓû·¾³±äÁ¿¡£  
  354. ## glance --tenant=admin--username=admin --password=hastexo  --auth_url=http://127.0.0.1:5000/v2.0 add name="Ubuntu 11.10 cloudimg amd64" is_public=true container_format=ovf disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img  
  355. ## ÉÏ´«Íê¾µÏñºó¡£ÔÚÔËÐР 
  356. ## glance index  
  357.   
  358.   
  359. ## Î壺°²×°ÅäÖÃnova  
  360. ## 1:°²×°novaÏà¹Ø×é¼þ  
  361. apt-get install -y nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler  nova-volume python-nova python-novaclient  nova-consoleauth python-novnc novnc  
  362. ## 2£ºÅäÖà/etc/nova/nova.conf  
  363. ## Èç¹ûÄãÊÇÔÚÐéÄâ»úÀï²âÊÔOpenstack¡£ÄãÐèÒª°ÑĬÈϵÄÐéÄ⻯ÒýÇæ´Ókvm¸Ä³Éqemu¡£  
  364. cat <<NOVAconf > /etc/nova/nova.conf  
  365. --dhcpbridge_flagfile=/etc/nova/nova.conf  
  366. --dhcpbridge=/usr/bin/nova-dhcpbridge  
  367. --logdir=/var/log/nova  
  368. --state_path=/var/lib/nova  
  369. --lock_path=/var/lock/nova  
  370. --allow_admin_api=true  
  371. --use_deprecated_auth=false  
  372. --auth_strategy=keystone  
  373. --scheduler_driver=nova.scheduler.simple.SimpleScheduler  
  374. --s3_host=192.168.139.50  
  375. --ec2_host=192.168.139.50  
  376. --rabbit_host=192.168.139.50  
  377. --cc_host=192.168.139.50  
  378. --nova_url=http://192.168.139.50:8774/v1.1/  
  379. --routing_source_ip=192.168.139.50  
  380. --glance_api_servers=192.168.139.50:9292  
  381. --image_service=nova.image.glance.GlanceImageService  
  382. --iscsi_ip_prefix=10.0.0  
  383. --sql_connection=mysql://novadbadmin:cloud1234@192.168.139.50/nova  
  384. --ec2_url=http://192.168.139.50:8773/services/Cloud  
  385. --keystone_ec2_url=http://192.168.139.50:5000/v2.0/ec2tokens  
  386. --api_paste_config=/etc/nova/api-paste.ini  
  387. --libvirt_type=kvm  
  388. --libvirt_use_virtio_for_bridges=true  
  389. --start_guests_on_host_boot=true  
  390. --resume_guests_state_on_host_boot=true  
  391.    
  392. #novnc  
  393. --novnc_enabled=true  
  394. --novncproxy_base_url= http://192.168.139.50:6080/vnc_auto.html  
  395. --vncserver_proxyclient_address=127.0.0.1  
  396. --vncserver_listen=127.0.0.1  
  397.   
  398. # network specific settings  
  399. --network_manager=nova.network.manager.FlatDHCPManager  
  400. --public_interface=eth0  
  401. --flat_interface=eth1  
  402. --flat_network_bridge=br100  
  403. --fixed_range=10.0.0.1/27  
  404. --floating_range=192.168.139.225/27   
  405. --network_size=32  
  406. --flat_network_dhcp_start=10.0.0.40  
  407. --flat_injected=False  
  408. --force_dhcp_release  
  409. --iscsi_helper=tgtadm  
  410. --connection_type=libvirt  
  411. --root_helper=sudo nova-rootwrap  
  412. #--verbose  
  413. --verbose=False  
  414. NOVAconf  
  415. ## if ! kvm-ok 1>/dev/null 2>&1; then  
  416. ##      sed -i -e "s/kvm/qemu/" /etc/nova/nova-compute.conf  
  417. ## fi  
  418.   
  419. sed -i -e "s/novadbadmin/$NOVA_DB_USERNAME/g;s/cloud1234/$NOVA_DB_PASSWD/g" /etc/nova/nova.conf  
  420. sed -i -e "s/192.168.139.50/$OUT_IP/g;s/192.168.139.225/$FLOAT_IP/g;" /etc/nova/nova.conf  
  421. sed -i -e "s/10.0.0.1/$IN_IP/g;s/10.0.0.40/$FLAT_IP/g;s/10.0.0/$IN_IP_PRE/g;" /etc/nova/nova.conf  
  422. ## kvm or qemu?  
  423. sed -i -e "s/kvm/$VIRT_TYPE/g" /etc/nova/nova.conf  
  424. sed -i -e "s/kvm/$VIRT_TYPE/g" /etc/nova/nova-compute.conf  
  425.   
  426. ## 3£ºÅäÖÃ/etc/nova/api-paste.ini  
  427. sed -i -e "  
  428.        s/%SERVICE_TENANT_NAME%/admin/g;  
  429.        s/%SERVICE_USER%/admin/g;  
  430.        s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;  
  431.     " /etc/nova/api-paste.ini  
  432. # 4£ºÍ£Ö¹ºÍÖØÆônovaÏà¹Ø·þÎñ  
  433. for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service "$a" restart; done  
  434.   
  435.   
  436. ## Áù£º°²×°ºÍÅäÖÃDashbaord  
  437. ## 1£º°²×°dashbaord  
  438. apt-get install -y libapache2-mod-wsgi openstack-dashboard  
  439. /etc/init.d/apache2 restart  
  440.   
  441. ## Õâ¸öʱºò£¬Äã¾Í¿ÉÒԵǼdashboard  
  442. ## http://192.168.139.50  
  443. ## user:admin  
  444. ## pass:ADMIN  
  445. ## Ö®ºóͨ¹ýǰ¶Ëweb¹ÜÀí  
  446.   
  447.   
  448. ## Æß£º´´½¨µÚÒ»¸öVM£¬¿ÉÒÔͨ¹ýÉÏÃæ°²×°µÄweb¹ÜÀíϵͳ´´½¨¡£  
  449.   
  450. # 0£ºÍ¬²½Êý¾Ý¿â  
  451. ## ÒÔǰÎÒÔËÐÐͬ²½Êý¾Ý¿â£¬Èç¹ûÕýÈ·, µ±nova.conf  
  452. ## --verbose=False  
  453. ## ÊÇûÓÐÈκεÄÊä³ö£¬·ñÔòÓÐÒ»¶ÑÊÇÊä³ö¡£  
  454. nova-manage db sync  
  455.   
  456. # ´´½¨ÍøÂç  
  457. nova-manage network create private --fixed_range_v4=10.0.0.1/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=32  
  458.   
  459. ## É趨floating IP  
  460. nova-manage floating create --ip_range=192.168.139.225/27  
  461.   
  462. ## ÉèÖÃȨÏÞ  
  463. chown -R nova:nova /etc/nova  
  464. ## ÔÙÖØÆôÏà¹Ø·þÎñ  
  465. for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service "$a" restart; done  
  466. sleep 10  
  467.    
  468. ## 1£º¼ì²énova·þÎñ  
  469. ## Ò»Â·»Ø³µ£¬¾Í¿ÉÒÔÁË¡£Í¨¹ýexpect¿ÉÒÔ²»ÓÃÊäÈë¡£  
  470. if [ ! -e ~/.ssh/id_rsa ]; then  
  471. expect -c "spawn ssh-keygen ; set timeout 5; expect \":\"; send \"\r\n\"; set timeout 3; expect  \":\"; send \"\r\n\";set timeout 3; expect \":\"; send \"\r\n\"; expect eof;"  
  472. fi  
  473. ## 2£ºÉÏ´«ÃÜÔ¿µ½Êý¾Ý¿â  
  474. nova keypair-add --pub_key ~/.ssh/id_rsa.pub key1  
  475. ## nova keypair-list  
  476.   
  477.   
  478. ## ´ò¿ª·À»ðǽ  
  479. nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0  
  480. nova secgroup-add-rule default udp 1 65535 0.0.0.0/0  
  481. nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0  
  482.   
  483.   
  484. ## 4£º¿ªÊ¼´´½¨ÐéÄâ»ú  
  485. ## nova image-list  
  486. ## nova flavor-list  
  487. ## ´´½¨ÐéÄâ»ú  
  488. # nova-manage flavor create --name=m1.minitest --memory=384 --cpu=1 --root_gb=1 --flavor=6 --ephemeral_gb=1  
  489.   
  490. ## ÉÏÃæµÄÏÂÔØ¾µÏñÒÆµ½ÕâÒ»²½£¬¿ÉÒÔÈ¥µôÒÔϵIJ½Öè  
  491. wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img  
  492. glance add name="Ubuntu12.04-amd64" is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img  
  493. nova boot --flavor 1 --image "Ubuntu12.04-amd64" --key_name key1 cloud01  
  494. # nova show cloud01  
  495. # nova console-log cloud01  
  496.   
  497. ##¹ØÁªvm  
  498. sleep 10  
  499. ## nova floating-ip-create  
  500. ## nova add-floating-ip cloud01 192.168.139.226  
  501. nova show cloud01  
  502. nova add-floating-ip cloud01 `nova floating-ip-create | awk 'FNR==4{print $2}'`  
  503. nova list  
  504. nova show cloud01  
  505. # ssh instance  
  506. # ssh-keygen -f "/home/cloud/.ssh/known_hosts" -R 10.0.0.2  
  507. # ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2  
  508.   
  509.   
  510. ## °Ë¡¢Íê³É°²×°²¿Êð  
  511. cat <<EOF >&1  
  512.  1. login the dashboard  
  513.    http://192.168.139.50  
  514.    user:admin  
  515.    pass:admin or $ADMIN_TOKEN  
  516.  2. login a instance("cloud01")  
  517.    ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2  
  518.  3. view & manage  
  519.    nova list  
  520.    nova show cloud01  
  521.    ...  
  522.  4. enjoy yourself! (Contact Hily.Hoo@gmail.com)  
  523. EOF  



¸½Â¼2£º°²×°ºówebµÇ¼£¨dashboard£©½ØÍ¼


¸½Â¼3£ºÔƼÆËãÆ½Ì¨OpenStack×ÊÁÏ
¹Ù·½OpenStack www.openstack.org
¹úÄÚOpenStackÉçÇø www.openstack.org.cn

¹úÄÚ¼¼Êõ²©¿Í-³Âɳ¿Ë http://hi.baidu.com/chenshake
Ubuntu12.04°²×°OpenStackÎĵµ£¨ÈëÃÅÖ¸ÄÏ£© http://docs.openstack.org/essex/openstack-compute/starter/content/

Installing OpenStack Essex (2012.1) on Ubuntu 12.04 ("Precise Pangolin")£¨Ô­ÎÄ£© http://www.hastexo.com/resources/docs/installing-openstack-essex-20121-ubuntu-1204-precise-pangolin 
¡°OpenStack Documentation¡±team£¨Îĵµ¡¢bug±¨¸æ£© https://launchpad.net/~openstack-doc
QuoraÉϹØÓÚopenstackµÄ»°Ìâ http://www.quora.com/OpenStack
stackoverflowÉϹØÓÚopenstack×ÊÔ´µÄÌÖÂÛ http://stackoverflow.com/questions/5882333/good-tutorials-and-resources-for-openstack

Kayven( Hily.Hoo@gmail.com )
 
 

˵Ã÷£ºÓÉÓÚ±¾È˵ÄOneStackÏîÄ¿ºÍ²©¿ÍÉÏ·ÖÏíµÄ¼¸Æª¼¼ÊõÎÄÕ£¬ÊÕµ½ºÜ¶àÓʼþ¡£ÓÐЩÎÊÌâÊ**²Í¨µÄ£¬ÓÐЩÊÇ¿ÉÒÔÏÞ¶¨·¶Î§½øÐе÷ÊԵġ£ÏÂÃæ½«Ò»Ð©»¹¼ÇµÃµÄtips¼Ç¼ÏÂÀ´£¬¹©´ó¼Ò²Î¿¼£¬Ï£ÍûÉÙ°Ñʱ¼äÀË·ÑÔÚ°²×°ºÍ²¿ÊðÉÏ¡£»¹ÓкܶàÎÊÌâûÓÐÒ»Ò»¼Ç¼£¬¾Í²»ÔÙȥ̽¾¿ÁË£¬¶ÁÕßÈçÓÐÎÊÌâÇëÖ¸³ö»òÕßÏÂÃæ¸úÌû²¹³ä£¬Ï£Íû¶ÔÈëÃÅÕßÓаïÖú¡£ÓÉÓÚÖ»ÊǺ­¸ÇÁ˲¿·ÖÎÊÌ⣬ÆðÃûΪOpenStack-Lite-FAQ¡£±¾È˾«Á¦ÓÐÏÞ£¬Èç¹ûÓÐÖªµÀÎÊÌâ½â¾ö·½·¨µÄ£¬Ï£ÍûÒ»Æð·ÖÏí³öÀ´£¬ÎÒ¿ÉÒÔ²¹³ä½øÈ¥¡£

Ϊ·½±ã¹ÜÀí£¬¼¯ÖÐÔĶÁ£¬Çë·ÃÎʱ¾ÎÄԭʼ³ö´¦£º¡¶OpenStack°²×°²¿Êð¹ÜÀíÖг£¼ûÎÊÌâ½â¾ö·½·¨£¨OpenStack-Lite-FAQ£©¡·¡£ÈçÓÐOpenStackÎÊÌâºÍ½â¾ö£¬ÇëÖ±½ÓÏÂÃæ»Ø¸´£¬ÕâÑùÒ²·½±ãºóÀ´ÈË¡£ÈçÓÐÆäËüÎÊÌâ·´À¡£¬Kayven΢²©ÁôÑÔ£¨E-mail£©¡£


Ò»¡¢ÍøÂçÎÊÌâ-network

¸ü¶àÍøÂçÔ­Àí»úÖÆ¿ÉÒԲο¼¡¶OpenStackÔÆÆ½Ì¨µÄÍøÂçģʽ¼°Æä¹¤×÷»úÖÆ¡·¡£

1.1¡¢¿ØÖƽڵãÓëÍøÂç¿ØÖÆÆ÷Çø±ð

OpenStackƽ̨ÖÐÓÐÁ½ÖÖÀàÐ͵ÄÎïÀí½Úµã£¬¿ØÖƽڵãºÍ¼ÆËã½Úµã¡£¿ØÖƽڵã°üÀ¨ÍøÂç¿ØÖÆ¡¢µ÷¶È¹ÜÀí¡¢api·þÎñ¡¢´æ´¢¾í¹ÜÀí¡¢Êý¾Ý¿â¹ÜÀí¡¢Éí·Ý¹ÜÀíºÍ¾µÏñ¹ÜÀíµÈ£¬¼ÆËã½ÚµãÖ÷ÒªÌṩnova-compute·þÎñ¡£

¿ØÖƽڵãµÄ·þÎñ¿ÉÒÔ·Ö¿ªÔÚ¶à¸ö½Úµã£¬ÎÒÃǰÑÌṩnova-network·þÎñµÄ½Úµã³ÆÎªÍøÂç¿ØÖÆÆ÷¡£

1.2¡¢OpenStackÖÐnova-networkµÄ×÷ÓÃ

OpenStackµÄÍøÂçÓÉnova-network£¨ÍøÂç¿ØÖÆÆ÷£©¹ÜÀí£¬Ëü»á´´½¨ÐéÄâÍøÂ磬ʹÖ÷»úÖ®¼äÒÔ¼°ÓëÍâ²¿ÍøÂ绥Ïà·ÃÎÊ¡£

OpenStackµÄAPI·þÎñÆ÷ͨ¹ýÏûÏ¢¶ÓÁзַ¢nova-networkÌṩµÄÃüÁÕâЩÃüÁîÖ®ºó»á±»nova-network´¦Àí£¬Ö÷ÒªµÄ²Ù×÷ÓУº·ÖÅäipµØÖ·¡¢ÅäÖÃÐéÄâÍøÂçºÍͨÐÅ¡£

1.3¡¢OpenStackÖÐFlatÓëFlatDHCPÇø±ð

Flat£¨±âƽ£©£º ËùÓÐʵÀýÇŽӵ½Í¬Ò»¸öÐéÄâÍøÂ磬ÐèÒªÊÖ¶¯ÉèÖÃÍøÇÅ¡£

FlatDHCP£º ÓëFlat£¨±âƽ£©¹ÜÀíģʽÀàËÆ£¬ÕâÖÖÍøÂçËùÓÐʵÀýÇŽӵ½Í¬Ò»¸öÐéÄâÍøÂ磬±âÆ½ÍØÆË¡£²»Í¬µÄÊÇ£¬ÕýÈçÃû×ÖµÄÇø±ð£¬ÊµÀýµÄipÌṩdhcp»ñÈ¡£¨nova-network½ÚµãÌṩdhcp·þÎñ£©£¬¶øÇÒ¿ÉÒÔ×Ô¶¯°ïÖú½¨Á¢ÍøÇÅ¡£

1.4¡¢OpenStackÖÐFlatÓëvLANÇø±ð

ÔÚÁ½ÖÖFlatģʽÀï£¬ÍøÂç¿ØÖÆÆ÷°çÑÝĬÈÏÍø¹ØµÄ½ÇÉ«£¬ÊµÀý¶¼±»·ÖÅäÁ˹«¹²µÄIPµØÖ·£¨±âƽʽ½á¹¹£¬¶¼ÔÚÒ»¸öÇŽÓÍøÂçÀ¡£

vLANģʽ¹¦Äܷḻ£¬ºÜÊʺÏÌṩ¸øÆóÒµÄÚ²¿²¿ÊðʹÓᣵ«ÊÇ£¬ÐèÒªÖ§³ÖvLANµÄswitchesÀ´Á¬½Ó£¬¶øÇÒÏà¶Ô±È½Ï¸´ÔÓ£¬ÔÚС·¶Î§ÊµÑéÖг£²ÉÓÃFlatDHCPģʽ¡£

1.5¡¢OpenStackÖÐÍøÂçÁ÷ÏòÊÇÔõÑùµÄ£¬¶¼¾­¹ýÍøÂç¿ØÖÆÆ÷Âð

¶à½Úµãʱ£¬ÍøÂç¿ØÖÆÆ÷Óë¼ÆËã½Úµã·Ö±ðÔÚ²»Í¬Ö÷»ú£¬ÆÕͨ²¿Êð·½Ê½Ï£¨²»ÊÇmulti_host£©£¬Ö»ÓÐnova-network¿ØÖÆÍøÂ磬¶øËü½ö½öÔÚ¿ØÖƽڵãÔËÐС£Òò´Ë£¬ËùÓмÆËã½ÚµãµÄʵÀý¶¼ÐèҪͨ¹ý¿ØÖƽڵãÀ´ÓëÍâÍøÍ¨ÐÅ¡£

¿ÉÒÔͨ¹ýmulti_hostµÈ¸ß¿ÉÓÃÐÔ²¿Êð·½Ê½¸Ä±äÕâ¸öµ¥µã¹ÊÕÏÎÊÌâ¡£


1.6¡¢OpenStackµ¥Íø¿¨ÔõôÅäÖã¿

ÅäÖú÷þÎñÆ÷µÄÍøÂ磨»ìÔÓģʽ£©£»

/etc/nova/nova.confÄÇÒ»¿é£¬public_interfaceºÍflat_interface¶¼¸Ä³ÉÕâ¸öµ¥Íø¿¨µÄÃû³Æ¼´¿É£¬±ÈÈçÔڽű¾oneStack.sh ¸Ä¶¯2´¦£º
/etc/network/interfacesÉèÖÃÄÇÒ»¿é£¬È¥µôµÚ2¸öÍø¿¨µÄÉèÖã¨eth1£©£»
/etc/nova/nova.confÄÇÒ»¿é£¬eth1ÐÞ¸ÄΪeht0£¨flatµÄÍø¿¨£©¡£

ÕâÑù£¬ÔÚÕâ¸öÍø¿¨ÉÏ£¬¼ÈÓÐÍâÍøµÄÍøÂ磬ÓÖÓÐflatÍøÂç¡£Ïê¼û¡¶OpenStackÔÆÆ½Ì¨µÄÍøÂçģʽ¼°Æä¹¤×÷»úÖÆ¡·¡£


1.7¡¢OpenStackÖÐÍøÂçÁ÷ÏòÊÇÔõÑùµÄ£¬¶¼¾­¹ýÍøÂç¿ØÖÆÆ÷Âð

¶à½Úµãʱ£¬ÍøÂç¿ØÖÆÆ÷Óë¼ÆËã½Úµã·Ö±ðÔÚ²»Í¬Ö÷»ú£¬ÆÕͨ²¿Êð·½Ê½Ï£¨²»ÊÇmulti_host£©£¬Ö»ÓÐnova-network¿ØÖÆÍøÂ磬¶øËü½ö½öÔÚ¿ØÖƽڵãÔËÐС£Òò´Ë£¬ËùÓмÆËã½ÚµãµÄʵÀý¶¼ÐèҪͨ¹ý¿ØÖƽڵãÀ´ÓëÍâÍøÍ¨ÐÅ¡£

¿ÉÒÔͨ¹ýmulti_hostµÈ¸ß¿ÉÓÃÐÔ²¿Êð·½Ê½¸Ä±äÕâ¸öµ¥µã¹ÊÕÏÎÊÌâ¡£

1.8¡¢OpenStackÖÐÍøÂçnova.confÓënova-manage network create·Ö±ð×öʲô

É趨floating ipºÍfixed ipÔÚÅäÖÃÎļþnova.confÀïÃæÓÐÌáµ½£¬¿ÉÊÇΪʲô»¹Òªnova manager createÄØ£¬ÏµÍ³×îÖÕµ÷ÓõÄÊÇÄĸöÄØ£¿

fixed_ip=10.0.0.1/27

nova-manage network create ÊÇ´´½¨ÏîÄ¿µÄÍøÂ磬ÿ¸öÏîÄ¿ÓÐ×Ô¼ºµÄip·¶Î§£¬Ëü±ØÐëÔÚnova.conf·¶Î§ÄÚ¡£

Õâ¸öcreate¹ý³ÌÊÇÌî³äÊý¾Ý¿âµÄ¹ý³Ì£¬ºóÃæ»á¸ù¾ÝÊý¾Ý¿âµÄ״̬·ÖÅäip¡£


1.9¡¢OpenStackÖÐÍøÂç×¢ÒâÎÊÌâ

1£©openstackÖУ¬nova-manage createÓÃÀ´´´½¨ÐéÄâ»úÔËÐÐʱËùÐèµÄÄÚÍø£¬²¢ÇÒ½«Ïà¹ØµÄIPµØÖ·¼Ç¼µ½fixed_ipsÊý¾Ý±íÖС£µ«ÊÇ£¬µ±µ÷ÓÃnova-manage delete ʱ£¬²¢²»»á×Ô¶¯µÄɾ³ýfixed_ipsÖеÄÄÚÈÝ£¬ÐèÊÖ¶¯½øÐÐɾ³ý¡£

2£©²ÉÓÃFlatDHCP·½Ê½²¿Êðopenstack£¬ÔÚ¿ª·ÅÁËicmpºÍssh22¶Ë¿ÚµÄÇé¿öÏ£¬ÈÔÈ»ÎÞ·¨Í¨¹ý¿ØÖƽڵãÁ¬½Óµ½ÐéÄâ»úʵÀý¡£´ËʱӦ¸Ã¼ì²é¿ØÖƽڵãµÄipÅäÖÃÐÅÏ¢ip addr¡£

3£©FlatDHCPģʽÏ£¬network_sizeÊÇÕû¸öfixed_ip rangeÖеÄËùÓÐipÊý¡£ÀýÈçÔÚÒ»¸öAÀà/12µÄÍøÂçÖУ¬ÓÐ2^20¸öIPµØÖ·£¬ËùÓеÄÕâЩIPµØÖ·¶¼ÒªÐ´ÈëÊý¾Ý¿âfixed_ips±íÖУ¬Õ⽫»á»¨·ÑºÜ³¤Ê±¼ä£¬µ¼Ö³öÏÖ¼ÙËÀ¡£


4£©Èç¹û²ÉÓÃFlatManagerµÄÍøÂçģʽ£¬Ôò±ØÐëÊÖ¶¯½¨Á¢Ïà¹ØµÄÍøÇÅ£¬ÒÔ±ãÐéÄâ»úʵÀýÖ®¼äÒÔ¼°ºÍÖ÷»úÖ®¼äͨÐÅ¡£

¶øÇÒ£¬±ØÐëÊÖ¶¯µÄ½«ÐéÄâ»úʵÀýµÄÄÚ²¿IP¼ÓÈëµ½novaÊý¾Ý¿âµÄfixed_ips±íÖС£
´ËÍ⣬fiexed_ips±í±£×ÅËùÓпɹ©ÐéÄâ»úʵÀýʹÓõÄÄÚ²¿IP£¬Ã¿´Î·¢ÆðÒ»¸öеÄÐéÄâ»úʵÀý£¬openstackµÄÍøÂç·þÎñ²¿·Ö£¬¸ù¾Ýfixed_ips±íÖеÄÄÚÈÝ·ÖÅ䏸¸ÃʵÀýIP¡£Èç¹ûÓû§Ï£Íû±£ÁôÌØ¶¨µÄIPµØÖ·£¬ÐèÒª½«Êý¾Ý¿âÖиÃIP¶ÔÓ¦µÄreserved×Ö¶ÎÉèÖÃΪ1¡£


¶þ¡¢ÐéÄ⻯ÎÊÌâ-virtual

2.1¡¢OpenStackÖпØÖƽڵãºÍ¼ÆËã½ÚµãÅäÖÃnova.confÒ»ÑùÂð

¶à½Úµãʱ£¬ÍøÂç¿ØÖÆÆ÷Óë¼ÆËã½Úµã·Ö±ðÔÚ²»Í¬Ö÷»ú£¬ÆÕͨ²¿Êð·½Ê½Ï£¨²»ÊÇmulti_host£©£¬Ö»ÓÐnova-network¿ØÖÆÍøÂ磬¶øËü½ö½öÔÚ¿ØÖƽڵãÔËÐС£Òò´Ë£¬ËùÓмÆËã½ÚµãµÄʵÀý¶¼ÐèҪͨ¹ý¿ØÖƽڵãÀ´ÓëÍâÍøÍ¨ÐÅ¡£

¿ÉÒÔͨ¹ýmulti_hostµÈ¸ß¿ÉÓÃÐÔ²¿Êð·½Ê½¸Ä±äÕâ¸öµ¥µã¹ÊÕÏÎÊÌâ¡£

¼ÆËã½ÚµãµÄnova.conf²¢²»ÊÇÓë¿ØÖÆ½ÚµãÍêȫһÑù£¬Ö÷ÒªÊÇ
--vncserver_proxyclient_address=
--vncserver_listen=

Ó¦¸ÃÊǼÆËã½ÚµãµÄip¡£

2.2¡¢OpenStackÖ´ÐÐ virsh -c qemu:///system list£¬Ò»Ö±¹ÒÆðÔÚÄÇÀhang£©£¬Ôõô½â¾ö

killall -9 dmidecode

dmidecodeÊÇÒ»¸ö¹ÜÀí¹¤¾ß£¬ÔÚÐéÄâ»ú×°OpenStackÖÐÐèÒªÓõ½£¬ÓÃÔÚlibvirtÖУ¬µ«ÔÚÓеĻúÆ÷Öлá³öÏÖhang upµÄÇé¿ö£¬ÕâʱºòÐèÒªkillµôËü¡£

2.3¡¢OpenStackÖÐÐéÄ⻯¼¼ÊõÔÚÄÄÀïÅäÖÃ

Ö÷ÒªÁ½¸öÎļþ£ºnova.conf nova-compute.conf¡£

ÆäÖеÄÐéÄâ¼¼ÊõÓ¦¸ÃÒ»Ö£¬±ÈÈ綼Ϊkvm£¬»òÕß¶¼Îªqemu¡£

2.4¡¢OpenStackÖÐÐéÄâ»úÖÐnova-compute¾­³£Æô¶¯Ê§°Ü£¬virsh listÏÔʾ¿Õ°×£¬Ôõô½â¾ö

1. ÔÚvmware workstationÉϵÄÐéÄâ»úÐèÒªÐ޸Ġ*.vmxÎļþ

vcpu.hotadd = "TRUE"

±ä¸üΪ

vcpu.hotadd = "FALSE"

ÖØÐÂÆô¶¯»úÆ÷£¬Èç¹ûÖ´ÐÐÃüÁ 

virsh

½øÈë¿ØÖÆÌ¨¾ÍûÓÐÎÊÌâÁË¡£

2. ÐÞ¸ÄnovaÅäÖÃÎļþ/etc/nova/nova.conf

#--libvirt_type=kvm

¸ü¸ÄΪqemu

--libvirt_type=qemu

3. ÐÞ¸Ä/etc/nova/nova-compute.conf

--libvirt_type=qemu

4. ÖØÐÂÆô¶¯nova-compute£¬Èç¹ûlibvirt±¨´í

/var/log/libvirt/libvirtd.log

Cannot find 'pm-is-supported' in path: No such file or directory

±¨´íºóÐèÒª°²×°

apt-get install pm-utils

2.5¡¢noVNC²»ÄÜÁ¬½Óµ½ÊµÀý£¬Ìáʾ¡°Connection Refuesd¡±£¬Ê²Ã´Ô­Òò
¿ÉÄÜÊÇ¿ØÖƽڵãÔÚÊÕµ½vncÇëÇóµÄʱºò£¬ÎÞ·¨½âÎö¼ÆËã½ÚµãµÄÖ÷»úÃû£¬´Ó¶øÎÞ·¨ºÍ¼ÆËã½ÚµãÉϵÄʵÀý½¨Á¢Á¬½Ó¡£
ÁíÍâ¿ÉÄÜÊÇ£¬µ±Ç°ä¯ÀÀÆ÷²»Ö§³Ö»òÕß²»ÄÜ·ÃÎÊ£¬½«¼ÆËã½ÚµãµÄipºÍÖ÷»úÃûµÄ¶ÔÓ¦¹ØÏµ¼ÓÈëµ½¿ØÖƽڵãµÄ/etc/hostsÎļþÖС£


Èý¡¢´æ´¢¡¢¾íÎÊÌâ-volume¡¢lvm

3.1¡¢OpenStackÖд´½¨volumeÒ»Ö±ÔÚcreating£¬Ê²Ã´Ô­Òò

Ö÷ÒªÒòΪnova-volumeûÓÐÕý³£Æô¶¯£¬¿ÉÒÔ

nova-manage service list

¿´¿´ºóÃæµÄ״̬£¬²»ÊÇЦÁ³:-)¶øÊÇxx¡£Èç¹ûûÓÐÆô¶¯£¬Çë¿´ÏÂÒ»Ìõ¡£

3.2¡¢OpenStackÖÐnova-volume·þÎñ²»ÄÜÆô¶¯£¬Ê²Ã´Ô­Òò

Ö÷ÒªÒòΪûÓÐnova-volumes¾í×飬»òÕßiscsitarget·þÎñûÓÐÆô¶¯£¨»òÕßûÓа²×°£©¡£

1¡¢vgdisplay

ûÓÐnova-volumes¾í×飬¿ÉÒÔ´´½¨¾í×éºÍ´ÅÅÌ

$ dd if=/dev/zero of=/opt/nova-volumes.img bs=1M seek=100000 count=0
$ losetup -f /opt/nova-volumes.img
$ losetup -a
$ vgcreate nova-volumes /dev/loop0


¼Ç×ÅÆô¶¯nova-volumeÈ»ºó´´½¨volume£¬·ñÔòÏÂÃæÈÔÈ»²»ÄÜ´´½¨

$ service nova-volume restart

$ nova volume-create --display_name "volume1" 10


2¡¢service iscsitarget status

1£©Ã»Óа²×°iscsitarget£¬¿ÉÒÔapt°²×°£»

È»ºóÖ´ÐÐÒÔÏÂÃüÁî°²×°ºÍÉèÖÃΪ¿ÉÒÔÆô¶¯

apt-get install -y iscsitarget iscsitarget-dkms lvm2
sed -i -e 's/false/true/' /etc/default/iscsitarget
service iscsitarget start
service nova-volume start


2£©×´Ì¬Îªstop£¬¿ÉÒÔstart

service iscsitarget start


3£©Èç¹û¼ÈûÓÐnova-volumes¾í×飬ҲûÓа²×°iscsitarget£¬Çмɱ£Ö¤ÕâÁ½Õß¶¼´æÔÚ£¬È»ºóÖØÆônova-volume£¬ÔÙ´´½¨volume

ÓÐÈ˰²×°iscsitarget²¢Æô¶¯ºó¾Ícreate£¬½á¹ûnova-volume²¢Ã»ÓÐÆô¶¯£¬ËùÒÔÎÊÌâÒÀÈ»´æÔÚ£»

ÓÐÈË´´½¨nova-volumes£¬Ò²Ã»ÓÐÖØÆônova-volume£¬Ò²²»ÄÜÕý³£¹¤×÷¡£


3.3¡¢OpenStackÖд´½¨volumeÒ»Ö±ÔÚcreating£¬Ôõôͣµô£¨stop£©
Ö÷ÒªÒòΪnova-volumeûÓÐÕý³£Æô¶¯£¬¿ÉÒÔ
nova-manage service list
¿´¿´ºóÃæµÄ״̬£¬²»ÊÇЦÁ³:-)¶øÊÇxx¡£Èç¹ûûÓÐÆô¶¯£¬Çë¿´ÏÂÒ»Ìõ¡£


3.4¡¢OpenStackÖÐnova-volumeÖ´ÐгöÏÖÎÊÌ⣬¼ì²éʲôµØ·½
Ö÷ÒªÒòΪnova-volumeûÓÐÕý³£Æô¶¯»òÕß¼ÆËã½ÚµãûÓÐÄÜÕÒµ½target£¬¿ÉÒÔ¼ì²éÒÔÏÂÕâЩÎÊÌâ¡£
nova-volumeÊÇ·ñÕý³££»¿ØÖƵ㣬Ïê¼ûÎÊÌâ3.2
iscsitargetÊÇ·ñ¿ªÆô£»·þÎñ¶Ë
open-iscsiÊÇ·ñ°²×°ºÍ¿ªÆô£»¿Í»§¶Ë
¿Í»§¶Ë£¨¼ÆËã½Úµã£©iscsiadm discovery¿´¿´Äܲ»ÄÜÕÒµ½´æ´¢·þÎñ£»
·ÖÎönova-volume.log¡£


3.5¡¢OpenStackÖÐnova-volume¹ÜÀítarget
¿ØÖƽڵã²é¿´target
tgtadm --lld iscsi --op show --mode target
½¨Á¢target
sudo tgtadm --op new --lld=iscsi --mode=target --tid=1 --targetname=iqn.2010-10.org.openstack:volume-00000001

3.6¡¢OpenStackÖмÆËã½Úµã¹ÜÀívolume
²é¿´session
sudo iscsiadm -m session
ÊÖ¶¯·¢ÏÖtarget
sudo iscsiadm -m discovery -t sendtargets -p IP:port
µÇÈëµÇ³ö
sudo iscsiadm -m node -T targetname(iqn.2010-10.org.openstack:volume-00000004) -p 10.200.200.4:3260 --login
sudo iscsiadm -m node -T targetname(iqn.2010-10.org.openstack:volume-00000004) -p 10.200.200.4:3260 --logout
sudo iscsiadm -m node -o [delete|new|update] -T targetname


ËÄ¡¢OneStack°²×°ÎÊÌâ

4.1¡¢OpenStackÄÜÔÚÆÕͨµÄPC»úÉÏÅÜÂð£¿

ÆÕͨpcûÓÐÊÔ¹ý£¬ÕâÒ²²»ÊÇËüÐèÒªÖ§³ÖµÄ¶ÔÏó¡£µ«ÊÇÆÕͨpcÒ»Ñù¿ÉÒÔ¹¤×÷µÄ¡£
¹ÙÍøµÄÅäÖã¬Ö»ÊǶÔÓÚÉÔÓÐÒ»¶¨¹æÄ£µÄ²¿Êð£¨ÅäÖò¢²»Ëã¸ß£¬ÉõÖÁÊÇ·þÎñÆ÷×î»ù±¾µÄÒªÇó£©
ÏÖÔÚ·þÎñÆ÷»ù±¾¶¼64룬µ«ÊÇËüÒ²Ö¸³öÁË£¬32λµÄ¿ÉÒÔ¹¤×÷µÄ£¬Ö»ÊDz»ÄÜÔËÐÐ64λµÄ²Ù×÷ϵͳʵÀý£¬×Ô¼º¸ÄһϾµÏñ¾Í¿ÉÒÔ¡£»¹Óв»Ö§³Övt¼¼ÊõµÄ£¬ÎÒûÓÐÊÔ¹ý¡£
Ë«Íø¿¨Ò²²»ÊDZØÐëµÄ£¬Ò»¸ö¶ÔÄÚ£¬Ò»¸ö¶ÔÍâ¡£¿ÉÒÔ¸ü¸ÄÅäÖá£Ïê¼û1.6µ¥Íø¿¨°²×°¡£
ÆäËüµÄ»ù±¾¾ÍÊÇ×ÔÓɵġ£


4.2¡¢OneStack¼òµ¥°²×°ÐèÒª¸ÄÄÄЩµØ·½
£¿

1¡¢Çл»µ½root£¬oneStack.shɾ³ýÉèÖÃrootÃÜÂë¡¢ÉèÖÃlocale¡¢ÉèÖÃaptÕâ3¶Î(ΪÁË·½±ã¸Õ°²×°ÐÂϵͳµÄÓû§¼ÓÈëµÄ¿ÉÑ¡µÄ²½Ö裬setup_base.shûÓÐÕâ3¶Î)
2¡¢ÉèÖÃipµÈ²ÎÊý OUT_IP ÍâÍøip£¨×¢ÒâÕâÊÇÏà¶ÔÓÚOpenStack?ÄÚ²¿ÍøÂçµÄ£© OUT_IP_PRE ÍâÍøipǰ׺£¨½Å±¾ºóÃæ³öÏÖip²»Óùܣ¬»á±»Õâ¸ö²ÎÊýÌæ»»£© FLOAT_IP ¸¡¶¯ip
3¡¢Âã»úµÄ»°qemu¸Ä³Ékvm £¨¶ÔÓÚxenÖ®ÀàµÄδ¼ÓÈëÖ§³Ö£© VIRT_YPE
4¡¢ÍøÂçÉèÖ㬻áÌæ»»µôÄãÔ­À´µÄ£¬²»ÏëÌæ»»¾ÍɾµôÕâÒ»¶Î ÉèÖÃcatдÈëinterfacesÎļþ£¨×¢Ò⣬ÄÇÀïÃæpre-upÊÖ¶¯ÉèÖÃÁËÍø¿¨mac£¬²»ÐèÒªµÄ×ÔÐÐÈ¥µô£»µ¥Íø¿¨È¥µôeth1µÄÉèÖü´¿É£©
5¡¢Ö´ÐÐoneStack.sh »òÕßsetup_base.sh£¨»ù±¾ÏµÍ³£¬Ã»ÓÐÌí¼Ó¾µÏñºÍʵÀý£¬¿ÉÒÔsetup_test.sh£©
ÆäËüûÓÐÐèÒª¸ü¸ÄµÄ£¨Êý¾Ý¿âÃÜÂëµÈ×ÔÐиü¸ÄÎÞÓ°Ï죩¡£ ÀïÃæÓиöimageÊÇ´Óubuntu¹ÙÍøÏÂÔØ£¬¿ÉÄÜÐèҪһЩʱ¼ä £¨svn checkout£¬ÀïÃæ»¹ÓÐһЩɾ³ýÖ®ÀàµÄ¹¤¾ß£©


4.3¡¢OneStackµ¥Íø¿¨°²×°ÐèÒª¸ÄÄÄЩµØ·½£¿

³ýÁË4.2ËùÊö²¿·ÖÍâ

1£©ÔÚÅäÖÃinterfacesʱ£¬È¥µôeth1²¿·Ö£»

2£©ºóÃænova.confÉèÖÃÀïÃæ£¬eth1¸ÄΪeth0£¨public_interface£©¡£


4.4¡¢OneStack¶à½Úµã°²×°ÐèÒª¸ÄÄÄЩµØ·½£¿

¿ØÖƽڵãʹÓÃoneStack.sh£¬Èç¹û²»ÐèÒª°²×°nova-computeÈ¥µô¼´¿É£»

¼ÆËã½ÚµãÖ´ÐÐaddComputeNode.sh

×¢Òânova.confÅäÖÃÆäÓàÒ»Ñù£¬Ö»ÊÇ
--vncserver_proxyclient_address=
--vncserver_listen=
Ó¦¸ÃÊǼÆËã½ÚµãµÄip¡£

4.5¡¢OneStack°²×°ºóÔõôÇå¿ÕnovaÊý¾Ý£¬°üÀ¨ÊµÀýºÍvolumeµÈ£¿

¿ØÖƽڵãÖ´ÐÐresetStack.sh clear£¬Çå¿ÕÊý¾Ý¿â£»

ÔÙÖ´ÐÐresetStack.shÖØÐ³õʼ»¯Êý¾Ý¿â¡£


Îå¡¢¾µÏñÎÊÌâ-image

5.1¡¢OpenStackÖпÉÒÔʹÓÃwindowsÂð

ÐéÄâ³öÀ´µÄʵÀý»ù±¾ÓëÆÕͨµÄÖ÷»úÒ»Ñù£¬ËùÒÔ»ù±¾ÉÏËùÓÐϵͳ¶¼¿ÉÒÔʹÓã¬ÖÆ×÷ÏàÓ¦µÄ¾µÏñ¼´¿É¡£

5.3¡¢OpenStackÔõÃ´ÖÆ×÷Windows¾µÏñ

½¨Á¢¾µÏñÎļþ
kvm-img create -f raw windowsxp.img 10G
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-22.iso
Æô¶¯°²×°µ½¾µÏñ
kvm -m 1024 -cdrom winxp.iso -drive file=windowsxp.img,if=virtio,boot=on -drive file=virtio-win-0.1-22.iso,media=cdrom -boot d -nographic -vnc :0

¿ÉÒÔvnc²é¿´ÒÔ¼°²Ù×÷°²×°¹ý³Ì

vncviewer 192.168.139.50:5900

£¨×¢Ò⣬5900×îºóһλÓëvnc £º0¶ÔÓ¦£¬Èç¹û¶Ë¿ÚÕ¼ÓÿÉÒÔ¸ÄΪ1¡¢2¡¢3µÈ£¬vncviewer 5901µÈ£©
ÉÏ´«¾µÏñ
glance add name="WindowsXP" is_public=true container_format=ovf disk_format=raw < windowsxp.img


5.3¡¢OpenStackÔõÃ´ÖÆ×÷CentOS¾µÏñ

´´½¨¾µÏñ

kvm-img create -f raw centos.img 5G

Æô¶¯°²×°
kvm -m 2048 -cdrom CentOS-6.2-i386.iso -drive file=centos.img -boot d -net nic -nographic -vnc :1
²Ù×÷°²×°¹ý³Ì
vncviewer 192.168.139.50:5901
ÔÙ´ÎÆô¶¯°²×°ºÃµÄ¾µÏñ
kvm -m 2048 -drive file=centos.img -boot c -net nic -nographic -vnc :1

ÔÚÐéÄâ»úÄÚ²¿°²×°ssh£¬ÒÔ±ã¿ÉÒÔÔ¶³ÌµÇ¼ʵÀý

yum install openssh-server

service sshd start (ÐéÄâ»úÄÚ²¿)

chkconfig sshd on £¨²»È»£¬ÖØÆôÓÖ²»ÄÜssh£© 

ÉÏ´«¾µÏñ
glance add name="CentOS6.2" is_public=true container_format=ovf disk_format=raw < centos.img
ҪʹÐéÄâ»úÄÚ²¿·ÃÎÊÍâÍø£¬ÐèÒªÔÚ½ÚµãÉÏÖ´ÐÐ

sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1 £¨vi /proc/sys/net/ipv4/ip_forward£©

5.4¡¢OpenStackÔõôLinuxµÇ¼ubuntu

¹Ù·½ÌṩµÄ¾µÏñÐèҪʹÓÃÃÜÔ¿µÇ¼£¬Ò²¾ÍÊÇÆô¶¯ÊµÀýµÄʱºòʹÓõÄÄǸökey£¨²»ÓÃkeyÆô¶¯ubuntuʵÀýÊÇû·¨sshµÇ¼µÄ£©

ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2

ÔÚÍâÍøµÇ¼ʹÓÃfloating ip£»

Òª·ÃÎÊÍâÍø×¢ÒâÉèÖýڵãÉÏ

sysctl -w net.ipv4.ip_forward=1

5.5¡¢OpenStackÔõônovncä¯ÀÀÆ÷·ÃÎʵǼubuntu

ÔÚÄÜʹÓÃvncµÄµØ·½£¬ä¯ÀÀÆ÷ÊäÈëµØÖ·¿ÉÒÔ·ÃÎÊϵͳ¡£

¿ØÖƽڵãÉÏ

nova get-vnc-console 4 novnc

µÃµ½Ò»¸öurl£¬ÀýÈç

+-------+-------------------------------------------------------------------------------------+
| Type | Url |
+-------+-------------------------------------------------------------------------------------+
| novnc | http://192.168.139.50:6080/vnc_auto.html?token=ca2455e8-fcc9-447f-92ee-853b92b37cdb |
+-------+-------------------------------------------------------------------------------------+

ä¯ÀÀÆ÷ÖÐʹÓÃÕâ¸öurl·ÃÎÊ¡£


5.6¡¢OpenStackÔõôWindowsµÇ¼ubuntu

ÏÂÔØÆô¶¯ÊµÀýµÄʱºòʹÓõÄÄǸökey£¨²»ÓÃkeyÆô¶¯ubuntuʵÀýÊÇû·¨sshµÇ¼µÄ£©

sshµÇ¼¹¤¾ßÀïÃæÑ¡ÔñkeyÈÏÖ¤·½Ê½£¬authÀïÃæÉÏ´«Õâ¸öprivate key

È»ºósshµÇ¼£¬ÊäÈëÓû§Ãûubuntu£¬Ö±½ÓµÇ¼¡£

5.7¡¢OpenStack¿ÉÒÔÃÜÂëµÇ¼ubuntu¶ø²»ÊÇÃÜÔ¿Âð

ĬÈϵľµÏñͨ¹ý×¢ÈëÃÜÔ¿µÄ·½Ê½£¬sshÊÇÐèÒªÃÜÔ¿ÈÏÖ¤µÄ·½Ê½µÇ¼£¬²»ÔÊÐíÃÜÂëµÇ¼µÄ£»

ÉèÖñðµÄÓû§±ÈÈçrootÃÜÂëºó£¬ÔÚvncÀïÃæ¿ÉÒÔͨ¹ýÃÜÂëµÇ¼£»

¿ÉÒÔ×Ô¼ºÖÆ×÷¾µÏñ£¬²Î¿¼ÖÆ×÷CentOS¾µÏñÄÇÑù£¬Ê¹ÓÃÃÜÂëµÇ¼¡£


Áù¡¢ÊµÀýÎÊÌâ-instance

6.1¡¢OpenStackÖÐʵÀýÊÇʲôÒâ˼

¼òµ¥µÄ˵£¬Ò»¸öʵÀý¾ÍÊÇÒ»¸öÅÜ×ŲÙ×÷ϵͳµÄÐéÄâ»ú¡£

6.2¡¢OpenStackÖÐʵÀýÔõô·ÃÎÊ

ÔÚOpenStackÄÚ²¿£¬¿ÉÒÔʹÓÃÄÚÍøip£¨fixed ip£©·ÃÎÊ¡£

Íⲿ£¬¿ÉÒÔʹÓÃfloating ip·ÃÎÊ¡£

×¢ÒâÉèÖÃÏàÓ¦µÄ·ÃÎʹæÔò£¬±ÈÈçssh¶Ë¿Ú£¬·À»ðǽ¹æÔò£¬ipv4_forwardµÈ¡£

¿ÉÒÔvnc·ÃÎÊ£¬vncä¯ÀÀÆ÷·ÃÎÊ¡£

Linuxϵͳ¿ÉÒÔsshµÇ¼£¬×ÀÃæÏµÍ³Ò²¿ÉÒÔ°²×°xrdpʵÏÖÔ¶³Ì×ÀÃæ·ÃÎÊ£»

Windowsϵͳ¿ÉÒÔÔ¶³Ì×ÀÃæÁ¬½Ó¡£

6.3¡¢OpenStackÖÐÔõô¹ÜÀíʵÀý

¿ÉÒÔweb¶Ë£¨dashboard£©·ÃÎÊ£¬Í¼Ðλ¯²Ù×÷¹ÜÀí¡£Ò²¿ÉÒÔʹÓÃapi£¬ÈçÏ£º

## 1£ºÉÏ´«ÊµÀý
wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
glance add name="Ubuntu12.04-amd64" is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img

²é¿´¾µÏñ
nova image-list

## 2£º´´½¨flavor

nova flavor-list
nova-manage flavor create --name=m1.minitest --memory=384 --cpu=1 --root_gb=1 --flavor=6 --ephemeral_gb=1
## 3¡¢´´½¨ÐéÄâ»ú
nova boot --flavor 1 --image "Ubuntu12.04-amd64" --key_name key1 cloud01

²é¿´ÊµÀý
nova show cloud01

ʵÀýÈÕÖ¾
nova console-log cloud01

##°ó¶¨¸¡¶¯ip
nova floating-ip-create
nova add-floating-ip cloud01 192.168.139.226
nova show cloud01

»òÕßÖ±½Ó
nova add-floating-ip cloud01 `nova floating-ip-create | awk 'FNR==4{print $2}'`
nova list
nova show cloud01
### ²é¿´vm
nova list
### ɾ³ývm£¬vmµÄID»òÕßÃû×Ö
nova delete 10d1bc19-b2c4-4eee-a5c8-b256bda3f343

nova delete cloud01

## 4¡¢Ä¬ÈÏʵÀýµÇ¼
ssh-keygen -f "/home/cloud/.ssh/known_hosts" -R 10.0.0.2
ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2


6.4¡¢Ôõôн¨ÃÜÔ¿£¬ÔõôʹÓÃÃÜÔ¿

mkdir /root/ssh_clients/

´´½¨ÃÜÔ¿£ºssh-keygen -t rsa -f /root/ssh_clients/key01

ÉÏ´«ÃÜÔ¿£ºnova keypair-add --pub_key /root/ssh_clients/key01.pub key01

Æô¶¯ÊµÀýʱ·ÖÅäÃÜÔ¿£ºnova keypair-add --pub_key /root/ssh_clients/key01.pub key01

ʹÓÃÃÜÔ¿µÇ¼£ºssh -i /root/ssh_clients/key01 ubuntu@192.168.139.225

ɾ³ýkeypair£ºnova keypair-delete

6.5¡¢OpenStackÖÐnova-computeÆô¶¯Ê§°ÜʲôԭÒò

·ÖÎö/var/log/nova/nova-compute.logÈÕÖ¾¡£

ÈÝÒ׳öÏÖµÄÎÊÌâÊÇ£¬volumeÎÊÌâ»òÕßvirtÎÊÌâ¡£

6.6¡¢OpenStackÖÐÎÞ·¨Á¬½ÓʵÀý

ÎÞ·¨Á¬½Óµ½ÐéÄâ»úʵÀýµÄʱºò£¬Ó¦¸Ã¼ì²éÈçÏµĻ·½Ú£º
1) ¹«¹²IPÊÇ·ñÒѾ­°ó¶¨µ½Á˹«¹²Íø¿¨½Ó¿ÚÉÏ£¬ip addr
2) ²é¿´iptableµÄÉèÖã¬NAT¹æÔòÊÇ·ñÉèÖÃÕýÈ·,iptables-save
3) ¼ì²é°²È«×éÉèÖã¬euca-describe-groups

6.7¡¢OpenStackÖÐcomputeºÍʵÀýÐèҪעÒâµÄÎÊÌâ

1£©ÐéÄâ»úÔÚbuild½×¶Îʱ£¬²»Òª½øÐÐÖØÆô²Ù×÷£¬·ñÔò»á³öÏÖkernel panicÏÖÏó¡£

nova-manage createÓÃÀ´´´½¨ÐéÄâ»úÔËÐÐʱËùÐèµÄÄÚÍø£¬²¢ÇÒ½«Ïà¹ØµÄIPµØÖ·¼Ç¼µ½fixed_ipsÊý¾Ý±íÖС£µ«ÊÇ£¬µ±µ÷ÓÃnova-manage delete ʱ£¬²¢²»»á×Ô¶¯µÄɾ³ýfixed_ipsÖеÄÄÚÈÝ£¬ÐèÊÖ¶¯½øÐÐɾ³ý¡£


2£©¼ÆËã½ÚµãµÄ²Ù×÷ϵͳΪ32룬Òò´Ë£¬kvmÉÏÆô¶¯µÄÐéÄâ»úÄÚ´æÊܵ½ÏÞÖÆ£¬±ÈÈçÎÞ·¨´´½¨ÄÚ´æ´óÓÚ4GµÄÐéÄâ»ú¡£

3£©ÐéÄâ»úʵÀýÒѾ­°ó¶¨Á˸¡¶¯IP£¬²¢ÇÒ¿ØÖƽڵãµÄ¶ÔÍâÍøÂç½Ó¿ÚÉÏÒ²·¢ÏÖÁËÏà¹ØµÄ¸¡¶¯IPµØÖ·£¬µ«ÊÇͨ¹ýsshÈ´ÎÞ·¨½øÐÐÁ¬½Ó¡£
½â¾ö£ºÔÚdashboardÖÐÌí¼ÓÏà¹ØµÄ°²È«¹æÔò¡£security group -> edit rules
Ìí¼Ó£ºicmp -1 -1 0/0;tcp 22 22 0/0

ÔÚOneStackÀïÃæ£¬ÒѾ­°Ñ¶Ë¿ÚÈ«²¿Æô¶¯1¡«65535£¬¿ÉÒÔ¸ü¸ÄΪֻ¿ª·Åssh¡¢imcpµÈ²¿·Ö¡£

4£©novaµÄÅäÖÃÎļþĬÈÏ´æ·ÅÔÚ/etc/nova/nova.confÖУ¬ÆäÖÐÉæ¼°µ½nova¸÷¸ö²ÎÊýµÄÅäÖá£
novaËùÓеIJÎÊý¿ÉÒÔͨ¹ýnova-api --help½øÐв鿴¡£

Æß¡¢ÏµÍ³¼°ÆäËü

7.1¡¢²é¿´ÈÕÖ¾

OpenStackµÄnovaÏà¹ØÈÕÖ¾¶¼ÔÚ/vr/log/novaÏÂÃæ£¬Ò»°ã¶àÊýÊÇnova³öÏÖÎÊÌ⣬°üÀ¨ÍøÂç¡¢´æ´¢¡¢compute¡¢ÐéÄ⻯µÈ¡£

volumeÏà¹ØÎÊÌâ²é¿´nova-volume.log

computeºÍlibvirtÏà¹ØÎÊÌâ²é¿´nova-compute.log

²é¿´ÊµÀýÈÕÖ¾£¬webÀïÃæÓÐÕâÑùÒ»¸ö²Ëµ¥£¬apiÀïÃæÊ¹ÓÃnova console-log cloud01


7.2¡¢ÔõôʵÏָ߿ÉÓÃÐԵIJ¿Êð

Çë²Î¿¼ÎÄÕ¡¶¹¹½¨OpenStackµÄ¸ß¿ÉÓÃÐÔ£¨HA£¬High Availability£©¡·£¬ÀïÃæ¸ø³öÁËһЩ´ó¸ÅµÄ·½°¸¡£


7.3¡¢OpenStackÓÐÄÄЩ×ÊÁÏ£¬ÐÂÊÖÈ¥ÄÄÀïѧϰ

¶¯ÊÖʵ¼ù£¬ÔĶÁwiki¡¢Îĵµ£¬²ÎÓëÉçÇø£¬·´À¡ÎÊÌ⣬ÇÚ¶¯ÄÔ¡£ÒÔÏÂΪ²¿·ÖÍøÖ·£º

¹úÄÚ¼¼Êõ×ÊÁϽÏÉÙ£¬¶àΪ°²×°¹ÜÀíÏà¹ØÎÊÌ⣬»òÕßýÌå×ÊÁÏ¡£¶ÔÓÚswiftÓÐһЩ¼¼Êõ·ÖÎöµÄ×ÊÁÏ£¬ÆäËü½ÏÉÙ¡£

¹Ù·½OpenStack www.openstack.org
¹úÄÚOpenStackÉçÇø www.openstack.org.cn

Installing OpenStack Essex (2012.1) on Ubuntu 12.04 ("Precise Pangolin")£¨Ô­ÎÄ£© http://www.hastexo.com/resources/docs/installing-openstack-essex-20121-ubuntu-1204-precise-pangolin 
¡°OpenStack Documentation¡±team£¨Îĵµ¡¢bug±¨¸æ£© https://launchpad.net/~openstack-doc
QuoraÉϹØÓÚopenstackµÄ»°Ìâ http://www.quora.com/OpenStack
stackoverflowÉϹØÓÚopenstack×ÊÔ´µÄÌÖÂÛ http://stackoverflow.com/questions/5882333/good-tutorials-and-resources-for-openstack

¸ß¿ÉÓÃÐÔ
°²×°²¿ÊðÎÊÌâ¶àGoogle£¬ºÜ¶à»áÁ´½Óµ½https://launchpad.net/±ðÈ˵ÄÎÊ´ð¡£ÒÔºó¿ÉÒÔ°ÑÎÊÌâºÍ½â¾ö·½·¨³éÏó³öÀ´ÔÚ¡¶OpenStack°²×°²¿Êð¹ÜÀíÖг£¼ûÎÊÌâ½â¾ö·½·¨£¨OpenStack-Lite-FAQ£©¡··ÖÏí£¬Ï£ÍûÉÙ°Ñʱ¼äÀË·ÑÔÚ°²×°ºÍ²¿ÊðÉÏ¡£
 
from:http://blog.csdn.net/hilyoo/article/details/7746634
---------------
--------------------------------'
 
 
 
·¢±íÆÀÂÛ£º
ÔØÈëÖС£¡£¡£

 
 
 

ÃÎÏè¶ùÍøÕ¾ ÃηÉÏèµÄµØ·½ http://www.dreamflier.net
ÖлªÈËÃñ¹²ºÍ¹úÐÅÏ¢²úÒµ²¿TCP/IPϵͳ ±¸°¸ÐòºÅ£ºÁÉICP±¸09000550ºÅ

Powered by Oblog.