Ubuntu14.04使用DevStack搭建OpenStack(Ocata,AllInOne)

一翰撑、條件(在VMWare上裝的):

  1. 操作系統(tǒng):Ubuntu14.04
  2. 磁盤空間:100G
    • 看你要裝的實(shí)例了,最好是大點(diǎn)吻氧,如果只是單純的測功能弄個40G也可以
    • 我是分了100G
  3. 內(nèi)存:16G
    • 越大越好僚匆,一開始我分了4G憋飞,安裝過程各種報錯
  4. 處理器開啟虛擬化
  5. 單網(wǎng)卡(橋接模式或NAT都可以他炊,混雜模式)
    • 我本機(jī)橋接模式和NAT模式都測試過争剿,沒開混雜模式網(wǎng)絡(luò)可以互通
    • 但在VMWare ESXI上用橋接模式已艰,還得打開混雜模式才能正常
    • 本例介紹使用NAT模式吧,橋接模式也一樣
  6. 管理IP網(wǎng)絡(luò)(IP:192.168.187.130, mask:255.255.255.0, gw: 192.168.187.2)
  7. 浮動IP網(wǎng)絡(luò)(IP段: 192.168.187.200-220, mask:255.255.255.0, gw: 192.168.187.2)

二蚕苇、開始搭建

  1. 設(shè)置root用戶密碼
    sudo su
    passwd
    
  2. 安裝配置ssh服務(wù)
    1. apt install openssh-server
    2. vi /etc/ssh/sshd_config
     將PermitRootLogin改為yes哩掺,保存退出。
    3. 重啟ssh服務(wù)
     service ssh restart
    
  3. 配置靜態(tài)IP
    // 切換到root   
    sudo su
    vi /etc/network/interfaces
    // 內(nèi)容
    auto ens33
    iface ens33 inet static
    address 192.168.187.130
    netmask 255.255.255.0
    gateway 192.168.187.2
    dns-nameserver 114.114.114.114
    
    保存后重啟網(wǎng)絡(luò):
     /etc/init.d/networking restart
    
  4. 將apt源換位國內(nèi)源
    4.1. 備份:
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
    4.2. 編輯:vi /etc/apt/sources.list
    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    
    1. 更新
    apt update
    apt upgrade
    
    1. 時間同步
    設(shè)定時區(qū):dpkg-reconfigure tzdata
     選擇Asia -> 再選擇Shanghai -> OK
    同步時間命令:
         1. date -s <時間>
         或者:
         1. sudo apt-get install ntpdate // 安裝時間同步工具
         2. sudo ntpdate cn.pool.ntp.org // 與網(wǎng)絡(luò)服務(wù)器同步時間
         3. date // 查看時間是否已同步
    
    1. 安裝pip涩笤,并配置pip源
    mkdir ~/.pip
    vi ~/.pip/pip.conf
    // 添加:
    [global]
    index-url = http://pypi.douban.com/simple/
    trusted-host = pypi.douban.com
    
    1. 安裝git工具
    apt install git
    pip install -U os-testr
    
    1. 下載devstack(ocata版本)到/home目錄
    // 如果之前下載過嚼吞,直接解壓到/home目錄
    cd /home
    tar -xf devstack.tar.gz
    // 如果沒有下載過則:
    git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata
    
    1. 創(chuàng)建stack用戶
    cd /home/devstack/tools/
    ./create-stack-user.sh
    chown -R stack:stack /home/devstack
    
    1. 切換stack用戶
    sudo su - stack
    
    1. 安裝pip,并配置pip源
    mkdir ~/.pip
    vi ~/.pip/pip.conf
    // 添加:
    [global]
    index-url = http://pypi.douban.com/simple/
    trusted-host = pypi.douban.com
    
    1. 修改local.conf辆它,配置IP
    cd /home/devstack
    // 修改網(wǎng)絡(luò)
    // Credentials 設(shè)置密碼誊薄,
    // Branches設(shè)置要裝的openstack版本
    vim /home/devstack/local.conf
    // 我的配置
    
    [[local|localrc]]
    #Define images to be automatically downloaded during the DevStack built process.
    IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
    #change github to trystack
    GIT_BASE=${GIT_BASE:-http://git.trystack.cn}
    NOVNC_REPO=${NOVNC_REPO:-http://git.trystack.cn/kanaka/noVNC.git}
    # Credentials
    DATABASE_PASSWORD=password
    ADMIN_PASSWORD=password
    SERVICE_PASSWORD=password
    SERVICE_TOKEN=password
    RABBIT_PASSWORD=password
    #FLAT_INTERFACE=em1
    HOST_IP=192.168.187.130
    SERVICE_HOST=192.168.187.130
    MYSQL_HOST=192.168.187.130
    RABBIT_HOST=192.168.187.130
    GLANCE_HOSTPORT=192.168.187.130:9292
    ##Neutronoptions
    Q_USE_SECGROUP=True
    FLOATING_RANGE="192.168.187.0/24"
    FIXED_RANGE="10.0.0.0/24"
    Q_FLOATING_ALLOCATION_POOL=start=192.168.187.3,end=192.168.187.223
    PUBLIC_NETWORK_GATEWAY="192.168.187.2"
    Q_L3_ENABLED=True
    PUBLIC_INTERFACE=eth0
    Q_USE_PROVIDERNET_FOR_PUBLIC=True
    OVS_PHYSICAL_BRIDGE=br-ex
    PUBLIC_BRIDGE=br-ex
    OVS_BRIDGE_MAPPINGS=public:br-ex
    # Work offline
    #OFFLINE=True
    # Reclone each time
    RECLONE=yes
    # Branches Now the devstack have bug in keystone and neutron for liberty. so we need use master
    #KEYSTONE_BRANCH=stable/ocata
    #NOVA_BRANCH=stable/ocata
    #NEUTRON_BRANCH=stable/ocata
    #SWIFT_BRANCH=stable/ocata
    #GLANCE_BRANCH=stable/ocata
    #CINDER_BRANCH=stable/ocata
    #HEAT_BRANCH=stable/ocata
    #TROVE_BRANCH=stable/ocata
    #HORIZON_BRANCH=stable/ocata
    #SAHARA_BRANCH=stable/ocata
    #CEILOMETER_BRANCH=stable/ocata
    # Logging
    # -------
    # By default ``stack.sh`` output only goes to the terminal where it runs. It can
    # be configured to additionally log to a file by setting ``LOGFILE`` to the full
    # path of the destination log file. A timestamp will be appended to the given name.
    LOGFILE=/opt/stack/logs/stack.sh.log
    VERBOSE=TrueLOG_COLOR=True
    SCREEN_LOGDIR=/opt/stack/logs
    # the number of days by setting ``LOGDAYS``.
    LOGDAYS=1
    # Database Backend MySQL
    enable_service mysql
    # RPC Backend RabbitMQ
    enable_service rabbit
    # Enable Keystone - OpenStack Identity Service
    enable_service key
    # Horizon - OpenStack Dashboard Service
    enable_service horizon
    # Enable Swift - Object Storage Service without replication.
    enable_service s-proxy s-object s-container s-account
    SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
    SWIFT_REPLICAS=1
    # Enable Glance - OpenStack Image service
    enable_service g-api g-reg
    # Enable Cinder - Block Storage service for OpenStack
    #VOLUME_GROUP="cinder-volumes"
    enable_service cinder c-api c-vol c-sch c-bak
    # Enable Heat (orchestration) Service
    #enable_service heat h-api h-api-cfn h-api-cw h-eng
    # Enable Trove (database) Service
    enable_service trove tr-api tr-tmgr tr-cond
    # Enable Sahara (data_processing) Service
    #enable_service sahara
    # Enable Tempest - The OpenStack Integration Test Suite
    enable_service tempest
    # Enabling Neutron (network) Service
    disable_service n-net
    enable_service q-svc
    enable_service q-agt
    enable_service q-dhcp
    enable_service q-l3
    enable_service q-meta
    enable_service q-metering
    enable_service neutron
    ## Neutron - Load Balancing
    #enable_service q-lbaas
    ## Neutron - Firewall as a Service
    #enable_service q-fwaas
    ## Neutron - VPN as a Service
    #enable_service q-vpn
    # VLAN configuration.
    Q_PLUGIN=ml2
    ENABLE_TENANT_VLANS=True
    # GRE tunnel configuration
    #Q_PLUGIN=ml2
    #ENABLE_TENANT_TUNNELS=True
    # VXLAN tunnel configuration
    #Q_PLUGIN=ml2
    #Q_ML2_TENANT_NETWORK_TYPE=vxlan
    # Enable Ceilometer - Metering Service (metering + alarming)
    enable_service ceilometer-acompute ceilometer-acentral ceilometer-collector ceilometer-api
    enable_service ceilometer-alarm-notify ceilometer-alarm-eval
    enable_service ceilometer-anotification
    ## Enable NoVNC
    enable_service n-novnc
    [[post-config|$NOVA_CONF]]
    [DEFAULT]
    # Ceilometer notification driverinstance_usage_audit=True
    instance_usage_audit_period=hour
    notify_on_state_change=vm_and_task_state
    notification_driver=nova.openstack.common.notifier.rpc_notifier
    notification_driver=ceilometer.compute.nova_notifier
    
    1. 修改git_base的協(xié)議為https
    cd /home/devstack
    vim stackrc
    修改GIT_BASE如下:
     GIT_BASE=${GIT_BASE:-http://git.openstack.org}
    
    1. 執(zhí)行安裝
    # 在stack用戶下執(zhí)行
    cd /home/devstack
    ./stack.sh
    
    1. 安裝完成
    顯示this is your ip等待履恩,代表安裝成功锰茉。
    
    1. 瀏覽器輸入ip,訪問openstack
    2. 注意: 虛擬機(jī)重啟后openstack服務(wù)不會自動運(yùn)行,
      18.1 恢復(fù)邏輯卷組
      sudo losetup /dev/loop0 /opt/stack/data/stack-volumes-default-backing-file
      sudo losetup /dev/loop1 /opt/stack/data/stack-volumes-lvmdriver-1-backing-file
      
      18.2 啟動服務(wù)
      cd /home/devstack
      // 啟動服務(wù)
      screen -c stack-screenrc 
      

常見問題

  1. 出現(xiàn)pip版本過低切心,或pip fail
sudo pip install -U os-testr
或者
sudo pip install --upgrade pip
去掉/home/devstack/tools/cap-pip.txt的版本比較
或者
修改cap-pip.txt文件
  vi /home/devstack/tools/cap-pip.txt
  顯示 pip!=8,<10  將<10刪除就可以了
  1. 出現(xiàn)Cannot uninstall 'httplib2'. It is a distutils installed project and thus we cannot accurately deter
解決方法:
cd /usr/lib/python2.7/dist-packages
ls | grep 'httplib2'
mv httplib2-0.8.egg-info httplib2-0.8.egg-info_bak
  1. 安裝tempest時飒筑,執(zhí)行tox --notest -efull時報錯
    3.1. pip版本不對,需pip install --upgrade,這是執(zhí)行這條指令無法解決。
    解決方法:
        cd /opt/stack/tempest
        1. vim tox.ini 修改如下:
            [testenv]
            ...
            #install_command = pip install {opts} {packages}
            install_command = ./create-env {opts} {packages}
        
        2. vim create-env // 創(chuàng)建create-env文件绽昏,文件內(nèi)容如下
            #!/usr/bin/env sh
            set -e
            pip install --upgrade pip
            pip install $@
        
        3. 把https改為http 就不會報下面2這個問題协屡。
    
    3.2. 錯誤如下:
    ERROR: could not install deps [-chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt, -r/opt/stack/tempest/requirements.txt];
    v = InvocationError(u'/opt/stack/tempest/create-env -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt -r/opt/stack/tempest/requirements.txt', 1)
    
    解決方法:
    cd /opt/stack/tempest
        vim tox.ini 執(zhí)行如下指令:
        替換https->http
        :0,$s/https/http/g
    
  2. devstack默認(rèn)創(chuàng)建邏輯卷比較小(10G),安裝前可以調(diào)整(stack用戶下導(dǎo)入該環(huán)境變量)
```
export VOLUME_BACKING_FILE_SIZE=10240M
或者
// 在local.conf中添加
vim /home/devstack/local.conf
VOLUME_BACKING_FILE_SIZE=10240M
```
  1. 如果已經(jīng)安裝完成了全谤,才發(fā)現(xiàn)邏輯卷不夠大肤晓,可以使用vgextend擴(kuò)展vg(邏輯卷組)
    參考:
    OpenStack使用本地磁盤創(chuàng)建或拓展邏輯卷組
    OpenStack添加新硬盤到LVM邏輯卷組
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市认然,隨后出現(xiàn)的幾起案子补憾,更是在濱河造成了極大的恐慌,老刑警劉巖卷员,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盈匾,死亡現(xiàn)場離奇詭異,居然都是意外死亡毕骡,警方通過查閱死者的電腦和手機(jī)削饵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來未巫,“玉大人窿撬,你說我怎么就攤上這事⌒鸱玻” “怎么了尤仍?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狭姨。 經(jīng)常有香客問我宰啦,道長苏遥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任赡模,我火速辦了婚禮田炭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漓柑。我一直安慰自己教硫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布辆布。 她就那樣靜靜地躺著瞬矩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锋玲。 梳的紋絲不亂的頭發(fā)上景用,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機(jī)與錄音惭蹂,去河邊找鬼伞插。 笑死,一個胖子當(dāng)著我的面吹牛盾碗,可吹牛的內(nèi)容都是我干的媚污。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼廷雅,長吁一口氣:“原來是場噩夢啊……” “哼耗美!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起航缀,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤商架,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谬盐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甸私,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年飞傀,在試婚紗的時候發(fā)現(xiàn)自己被綠了皇型。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡砸烦,死狀恐怖弃鸦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幢痘,我是刑警寧澤唬格,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響购岗,放射性物質(zhì)發(fā)生泄漏汰聋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一喊积、第九天 我趴在偏房一處隱蔽的房頂上張望烹困。 院中可真熱鬧,春花似錦乾吻、人聲如沸髓梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枯饿。三九已至,卻和暖如春诡必,著一層夾襖步出監(jiān)牢的瞬間奢方,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工擒权, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袱巨,地道東北人阁谆。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓碳抄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親场绿。 傳聞我的和親對象是個殘疾皇子剖效,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容