OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序


 

OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制節點的安裝

OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(二)——網絡節點的安裝

OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——計算節點的安裝

  

  OpenStack接觸半年有余了,現在 I 版也要馬上發布了,現在也是時候要好好寫一下 Havana 的安裝、部署過程了。首先,還是向Awy同學致敬,當時正是參考他的H版部署博文,並綜合了OpenStack的Ubuntu官方部署文檔,終於完成了OpenStack多節點的部署(OVS+GRE)。要知道剛入門時,圖簡單,一直用Devstack來安裝,由於git源、pipy的源、以及ubuntu的軟件源沒有配好,導致一直沒裝成功(現在改了一下腳本和localrc文件以及源,可以做測試用)。后來又試了什么Onestack,以及其他人寫的一些手動部署的文章,但都因為版本差異太大,和一些沒有及時糾正的錯誤,最終還是以失敗告終。直到最后,認真看了官方文檔以后,才慢慢有了起色,所以還是賢哥說得對啊,學好英文,才能隨時拿得到第一手的技術精品資料啊!

 

     現在先引用awy的原文:Ubuntu 12.04 Server OpenStack Havana多節點(OVS+GRE)安裝

     老實說,當時看這篇博文還是有不少小錯誤,比如:keystone的創建腳本有些小問題,變量名前后不一致,例如ceilometer的服務ip變量應為CEILOMETER_IP,而不是CEILOMETER;創建數據庫的時候,每個庫都有所對應的用戶名和密碼,而后面的配置文件里頭沒有與之對應;同樣配置文件里頭的,對應keystone服務的password也沒有與keystone創建時的對應;計算節點部署neutron的時候,忘了創建br-int的網橋········

  可能,這些是有意預留下來“坑”,如果沒有認真對比OpenStack的官方文檔來看,完全依葫蘆畫瓢,沒有注意到這些細節,照樣還是不能配成功。作為“過來人”,我就不在這里預設“包袱”,盡量把這些坑一一排除吧。接下來,分三篇博文的內容,大部分引用Awy同學的OVS+GRE的部署方案,安裝Nova 、Glance、Keystone、Neutron、Cinder、Horizon、Ceilometer服務,來完成這次簡單多節點部署。

 

部署前須知:

      1.確定你的系統是ubuntu 12.04 LTS版本,目前的我部署的環境為ubuntu server 12.04.3/Linux 3.8.0-36-generic

      2.替換源為163的源,同時也要加入ubuntu官方的Havana的源,使用 add-apt-repository cloud-archive:havana 添加之

        3.各個節點之間一定要使用ntp來同步時間,時區最好設置成一樣,免得出現服務“假死”

 

網絡服務架構:

           

OVS+GRE的網絡流:

 

 

 實際的網絡配置:

    由於沒有太多可用的物理機,於是在一塊刀片上(真的是高性能),通過libvirt起三個KVM的虛擬機,來做為要部署的場景。注意:KVM虛擬機里面再起虛擬機,只能指定QEMU來完成,所以OpenStack計算節點的配置的虛擬化類型應為qemu!同時需要配置三個網段:外網,管理網,數據網,雖然libvirt里面的xml增加虛擬網卡很簡單,但是這里,還是使用eth0:1,eth0:2這樣的網絡別名設備,在一個網卡上配置多個IP,來完成多個網段的配置,在實際的物理主機中同樣可以。總之,實際網絡部署就是,這三個節點雖然有不同的網段,但終究只連了一個“交換機”(如果要在libvirt的虛擬環境中不同網段連接不同的“交換機”,實現二層的隔離,即將其連接不同的網橋即可)。因為每個節點都要apt-get來從源中下載包來安裝,所以實際上,每個節點都部署了外網IP。

 

節點 外網IP 內網IP 數據網IP
控制節點(Controller)        192.168.122.2       10.10.10.2 ——
網絡節點(Network) 192.168.122.3 10.10.10.3 10.20.20.3
計算節點(Computer) 192.168.122.4 10.10.10.4 10.20.20.4

 

 

    同時可以參考一下,用作控制節點的KVM虛擬機的libvirt xml(其他節點也都一樣):

        

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE 
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit win7
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>controller</name>
  <memory>4096000</memory>
  <vcpu>4</vcpu>
  <!--cpu>
    <topology sockets='1' cores='24' threads='24'/>
  </cpu-->
  <!--cpu mode='host-model'>
    <model fallback='allow'/>
    <topology sockets='1' cores='24' threads='1'/>
  </cpu-->
  <!--hostdev>
    <rom bar='on' file='/usr/share/kvm/pxe-rtl8139.rom'/>
  </hostdev-->
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <!--boot dev='network'/-->
    <boot dev='hd'/>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/home/fbw/Good-OpenStack/controller.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/home/fbw/Good-OpenStack/cinder.qcow2'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/fbw/ubuntu-12.04.3-server-amd64.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='network'>
      <mac address='52:54:00:32:71:12'/>
      <source network='default'/>
      <!--virtualport type='openvswitch'>
      </virtualport-->
      <model type='virtio'/>
    </interface>
    <!--serial type='pty'>
      <target port='0'/>
    </serial-->
    <!--console type='pty'>
      <target type='serial' port='0'/>
    </console-->
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <!--graphics type='spice' autoport='yes' listen='0.0.0.0'>
    </graphics-->
    <graphics type='vnc' autoport='yes' listen='0.0.0.0'>
    </graphics>
    <!--channel type='pty'>
        <target type='virtio' name='virtio-serial-port-0'/>
      <address type='virtio-serial' controller='1' bus='0' port='1'/>
    </channel-->
    <sound model='ich6'>
      <!--address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/-->
    </sound>
    <video>
      <!--model type='qxl' vram='65536' heads='1'/-->
      <!--address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/-->
    </video>
    <memballoon model='virtio'>
      <!--address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/-->
    </memballoon>
    <!--controller type='usb' index='0' model='ich9-ehci1'>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1' multifunction='on'>
      <master startport='0'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
    </controller-->
    <!--redirdev bus='usb' type='spicevmc'>  
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>  
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>  
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>  
    </redirdev-->
  </devices>
  <!--qemu:commandline>
     <qemu:arg value='-bios'/>
     <qemu:arg value='/usr/share/qemu-kvm/pxe-rtl8139.rom'/>
  </qemu:commandline>
  <qemu:commandline>
    <qemu:arg value='-option-rom'/>
    <qemu:arg value='/usr/share/qemu-kvm/sgabios.bin'/>
  </qemu:commandline-->
</domain>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM