openstack Queens版搭建_ubuntu

本文为双节点搭建,分为计算(IP1)和控制节点(IP2)

说明:

计算节点组件:

  1、mysql

  2、keystone

  3、Nova

  4、glance

  5、rabbitmq

 

控制节点组件:

  1、cinder

  2、dashboard

 

一、修改主机名及静态IP

1、vim  /etc/hostname
             xxctrl(xxctrl改为目标名)

2、vim  /etc/hosts
     IP     xxctrl(目标名)

3、hostname xxctrl (使改名生效,也可重启虚拟)

二、配置网络接口

1、vim  /etc/network/interfaces

 auto eth0
   iface eth0 inet static
  address XX.XX.XX.XX(修改为自己IP1)
  netmask 255.255.240.0
  network XX.XX.0.0
  broadcast 10.18.0.255
  gateway 10.18.0.254
  dns-nameservers 61.139.2.69

2、/etc/init.d/networking restart (使网络配置生效)

三、修改为163源(可选),并更新系统及内核

1、cd /etc/apt    vim sources.list

这里给大家贴出12.04的163的源,速度比较快,大家可根据自己需求选择其他的源,只要版本统一。

deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
 deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
 deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
 deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
 deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
 deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
 deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted

2、更新系统及内核

apt-get update  &&   apt-get upgrade  &&   apt-get dist-upgrade

3、增加F版源
 vim sources.list
        deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-proposed/folsom main
        deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/folsom main

4、apt-get install ubuntu-cloud-keyring
5、apt-get update

四、配置IPv4 包转发

1、vim  /etc/sysctl.conf

  net.ipv4.ip_forward=1

2、 sysctl   -p(执行使配置生效)

五、安装并配置NTP 服务

1、apt-get  install   ntp

2、sed -i  's/server ntp.ubuntu.com/server ntp.ubuntu.com\nserver 127.127.1.0\nfudge 127.127.1.0 stratum 10/g'   /etc/ntp.conf

3、 重启服务: service ntp restart

六、安装并配置MySQL 数据库

1、apt-get install -y mysql-server python-mysqldb

2、sed -i  "s/127.0.0.1/0.0.0.0/"  /etc/mysql/my.cnf

3、 service mysql restart

4、创建数据库并设置权限

  mysql -uroot -pxxxx(自己的密码)
 CREATE DATABASE nova;
 CREATE DATABASE glance;
 CREATE DATABASE keystone;
 CREATE DATABASE cinder;
 grant all privileges on *.* to root@'%' identified by 'pwd';

 grant all privileges on nova.* to nova@'%' identified by 'pwd';
 grant all privileges on glance.* to glance@'%' identified by 'pwd';
 grant all privileges on keystone.* to keystone@'%' identified by 'pwd';
 grant all privileges on cinder.* to cinder@'%' identified by 'pwd';

 FLUSH PRIVILEGES;
 exit;
重启数据库服务:service mysql restart

七、安装并配置RabbitMQ服务

1、vim sources.list
        deb http://www.rabbitmq.com/debian/  kitten main

2、wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
3、apt-key add rabbitmq-signing-key-public.asc
4、apt-get update
5、apt-get install -y rabbitmq-server
6、查看服务状态
   service rabbitmq-server status

八、安装并配置Keystone服务

1. 生成一个随机值在初始的配置中作为管理员的令牌(token)。
        openssl rand -hex 10
2、安装keystack
        apt-get install keystone 
3、编辑 /etc/keystone/keystone.conf,并完成下列操作:
        a. 在 [DEFAULT] 段中,对管理员令牌进行配置。
               admin_token = ADMIN_TOKEN  //将 ADMIN_TOKEN替换为上一步中生成的随机字符串。
        b. 在 [database] 段,配置数据库访问相关参数:
         [database]
          connection = mysql://keystone:KEYSTONE_DBPASS@IP/keystone 
4、初始化身份认证服务的数据库,建立好的数据库是空的,需要初始化Keystone 数据库的表结构。
        service keystone restart
        keystone-manage db_sync

5、通过脚本创建租户、用户和角色并定义Services 和API Endpoints
        a. 配置管理员令牌:
           export OS_SERVICE_TOKEN=ADMIN_TOKEN  //将其中的 ADMIN_TOKEN 替换为管理员令牌。例如:export OS_SERVICE_TOKEN=294a4c8a8a475f9b9836
        b.下载脚本文件
           wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_basic.sh
           wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_endpoints_basic.sh

6、设置环境变量
   vi /etc/profile
         export OS_NO_CACHE=1
         export SERVICE_TOKEN=ADMIN
         export OS_TENANT_NAME=admin
         export OS_USERNAME=admin(登录用户名)
         export OS_PASSWORD=pass(登录密码)
         export OS_AUTH_URL=http://IP1:5000/v2.0/
         export SERVICE_ENDPOINT=http://IP1:35357/v2.0/
7、source /etc/profile

8.修改脚本文件:
          vim keystone_basic.sh
                HOST_IP=${HOST_IP:-IP1}
               ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin_pass}
               SERVICE_PASSWORD=${SERVICE_PASSWORD:-service_pass}
          vim keystone_endpoints_basic.sh
                     # Host address
                     HOST_IP=IP1
                     EXT_HOST_IP=IP1
                    # MySQL definitions
                    MYSQL_USER=keystone
                    MYSQL_DATABASE=keystone
                    MYSQL_PASSWORD=keystack_dbpass

9.修改文件执行权限
  chmod +x keystone_basic.sh
  chmod +x keystone_endpoints_basic.sh

10、执行脚本文件:
   ./keystone_basic.sh
  ./keystone_endpoints_basic.sh

11、验证服务   
 apt-get install curl openssl
        curl http://IP:35357/v2.0/endpoints -H 'x-auth-token: cloud' | python -m json.tool

12、查看服务列表

   keystone user-list
   keystone service-list
   keystone endpoint-list

九、安装并配置Glance服务

1. 安装软件包:
          apt-get install glance
2. 修改配置文件
          vi /etc/glance/glance-api-paste.ini
          [filter:authtoken]
          paste.filter_factory = keystone.middleware.auth_token:filter_factory
          auth_host = IP
          auth_port = 35357
          auth_protocol = http
          admin_tenant_name = service
          admin_user = glance
          admin_password = pass

           vi /etc/glance/glance-api.conf
           verbose = True
           sql_connection = mysql://glance:username@IP/glance
           notifier_strategy = noop
           rabbit_host = IP
           rabbit_port = 5672
           rabbit_use_ssl = false
           rabbit_userid = guest
           rabbit_password = guest
           rabbit_virtual_host = /
           [filter:authtoken]
           paste.filter_factory = keystone.middleware.auth_token:filter_factory
           auth_host = IP
           auth_port = 35357
           auth_protocol = http
           admin_tenant_name = service
           admin_user = glance
           admin_password = cloud
           [paste_deploy]
           flavor = keystone 

           vi /etc/glance/glance-registry.conf
           verbose = True
           sql_connection = mysql://glance: glance_dbpass@IP1/glance
           [keystone_authtoken]
           auth_host = IP
           auth_port = 35357
           auth_protocol = http
           admin_tenant_name = service
           admin_user = glance
           admin_password = service_pass
           [paste_deploy]
           flavor = keystone

          vi /etc/glance/glance-registry-paste.ini
          [filter:authtoken]
          paste.filter_factory = keystone.middleware.auth_token:filter_factory
          auth_host=IP1  
          auth_port = 35357
          auth_protocol = http
          admin_tenant_name = service
          admin_user = glance
          admin_password = cloud

         重启glance相关服务以及初始化数据库
          service glance-api restart; service glance-registry restart
          glance-manage db_sync

3. 验证操作
         wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
         source admin-openrc.sh
         glance image-create --name cloud --is-public true --container-format bare --disk-format qcow2 < cirros-0.3.0-x86_64-disk.img

         glance image-list

十、安装并配置nova服务

1、安装Nova软件包
        apt-get install  nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy
         nova-doc nova-conductor  nova-network
2、修改配置文件
vim  /etc/nova/api-paste.ini
        [filter:authtoken]
          auth_host = IP1
          auth_port = 35357
          auth_protocol = http
          admin_tenant_name = service
          admin_user = nova
          admin_password = service_pass
          signing_dirname = /tmp/keystone-signing-nova
       
 vim  /etc/nova/nova.conf  (配置nova)

3、初始化数据库并重启nova服务
             nova-manage db sync

             cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i restart; done

4、查看服务状态及镜像
nova-manage service list
   Binary           Host                                 Zone             Status     State Updated_At
   nova-cert        ctrl                                 nova             enabled    :-)   2015-11-26 05:03:41
   nova-consoleauth ctrl                                 nova             enabled    :-)   2015-11-26 05:03:48
   nova-scheduler   ctrl                                 nova             enabled    :-)   2015-11-26 05:03:45
   nova-network     ctrl                                 nova             enabled    :-)   2015-11-26 05:03:46

 运行Nova 的客户端命令,列出当前可用的镜像,测试是否能正常运行:
 nova image-list

十一、安装和配置控制节点网络 

1. 安装软件包
      apt-get install -y bridge-utils
 2. 修改配置文件
  vi   /etc/network/interfaces
          auto br100
          iface br100 inet static
           address IP2
           netmask 255.255.255.0
            network  XX.XX.XX.XX
            broadcast 10.18.0.255
            gateway 10.18.0.254
            dns-nameservers 61.139.2.69
            bridge_ports eth0
            bridge_stp off
            bridge_maxwait 0
            bridge_fd 0

3、 重启网络服务
       brctl addbr br100
           

十二、安装并配置cinder服务 

1、安装cinder软件包  没装

          apt-get install cinder-api cinder-scheduler cinder-volume iscsitarget iscsitarget-dkms

2、修改配置文件
          vim  /etc/cinder/api-paste.ini
          vim  /etc/cinder/cinder.conf

3、初始化数据库
          cinder-manage db sync

4、验证服务组件
          cinder list

5、重启cinder服务
           service cinder-api restart
           service cinder-scheduler restart
           service cinder-volume restart

6、增加磁盘分区、创建卷组和卷
         创建物理卷pvcreate
         创建卷组  vgcreate

十三、安装dashboard软件包   

     apt-get install openstack-dashboard memcached

十四、安装完成