OpenStack 单网卡 配置

本文地址:http://blog.csdn.net/spch2008/article/details/7862950


系统


1.下载Ubuntu server

http://releases.ubuntu.com/12.04/ubuntu-12.04-server-amd64.iso

2.分配一个lvm格式的分区

3.最小化安装,只安装sshserver(按空格选择)

4.下载putty通过ssh登陆

5.更新源,换成国内,速度快。(我是教育网用户,所以我选择了清华源)

(1)打开/etc/apt/sources.list

(2)删除里面内容,更换源

#清华源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse

6. 更新源和套件
sudo apt-get update
sudo apt-get upgrade

网络配置(单网卡)
(1) 安装网桥

sudo apt-get install bridge-utils
(2) 打开etc/network/interfaces
auto eth0
iface eth0 inet static
address10.108.110.23
netmask255.255.252.0
gateway10.108.108.1
dns-nameservers10.3.9.4

NTP服务器配置


(1)安装
sudo apt-get install ntp
(2) 打开/etc/ntp.conf,加入

server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(3) 重启NTP服务器

sudo service ntp restart

数据库
一、配置数据库

1.安装数据库
sudo apt-get install mysql-server python-mysqldb
创建密码sqlPwd

2.更改绑定地址,让mysql支持远程访问。在/etc/mysql/my.cnf

将bind-address = 127.0.0.1 替换为 bind-address = 0.0.0.0

3.重启数据库
sudo restart mysql
二、创建数据库

1.创建nova数据库

(1) 创建数据库nova
mysql -uroot -psqlPwd -e 'CREATE DATABASE nova;'
(2) 创建用户novaUser
mysql -uroot -psqlPwd -e 'CREATE USER novaUser;'
(3) 授权
mysql -uroot -psqlPwd –e "GRANT ALL PRIVILEGES ONnova.* TO 'novaUser'@'%';"
(4) 设置密码
mysql -uroot -psqlPwd -e "SET PASSWORD FOR'novaUser'@'%' = PASSWORD('novaPwd');"
2. 创建glance数据库

(1) 创建数据库glance
mysql -uroot -psqlPwd -e 'CREATE DATABASE glance;'
(2) 创建用户glanceUser
mysql -uroot -psqlPwd -e 'CREATE USER glanceUser;'
(3) 授权
mysql -uroot -psqlPwd -e "GRANT ALL PRIVILEGES ONglance.* TO 'glanceUser'@'%';"
(4) 设置密码
mysql -uroot -psqlPwd -e "SET PASSWORD FOR'glanceUser'@'%' = PASSWORD('glancePwd');"
3.创建keystone数据库

(1) 创建数据库keystone
mysql -uroot -psqlPwd -e 'CREATE DATABASE keystone;'
(2) 创建用户keystoneUser
mysql -uroot -psqlPwd -e 'CREATE USER keystoneUser;'
(3) 授权
mysql -uroot -psqlPwd -e "GRANT ALL PRIVILEGES ONkeystone.* TO 'keystoneUser'@'%';"
(4) 设置密码
mysql -uroot -psqlPwd -e "SET PASSWORD FOR'keystoneUser'@'%' = PASSWORD('keystonePwd');"

KYSTONE

1.安装keystone
apt-get install keystone python-keystone python-keystoneclient
(1) 打开etc/keystone/keystone.conf,找到

admin_token = ADMIN

将其改为

admin_token = admin

(2) 打开etc/keystone/keystone.conf, 找到

connection = sqlite:///var/lib/keystone/keystone.db

将其改为

connection =mysql://keystoneUser:keystonePwd@10.108.110.23

(3) 重启keystone使配置生效
sudo service keystone restart
(4) 同步数据库
sudo keystone-manage db_sync
(5) 导入环境变量
exportSERVICE_ENDPOINT="http://localhost:35357/v2.0"
export SERVICE_TOKEN=admin

2.创建租户,用户,角色

(1) 创建租户
keystone tenant-create --name admin
keystone tenant-create --name service
(2) 创建用户
keystone user-create --name admin --pass admin --email admin@163.com
keystone user-create --name nova --pass nova --email nova@163.com
keystone user-create --name glance --pass glance --email glance@163.com
keystone user-create --name swift --pass swift --email swift@163.com
(3) 创建角色
keystone role-create --name admin
keystone role-create --name Member
(4) 显示创建的租户,用户,角色

keystone tenant-list
+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------+---------+---------+
| 3dd7402d714b4911a8eb3578b4452123 | admin | True |
| 767edbdc20c9429da2e034a8fc08f915 | service | True |
+----------------------------------+---------+---------+


keystone user-list
+----------------------------------+---------+----------------+--------+
| id | enabled | email | name |
+----------------------------------+---------+----------------+--------+
| 3fb30ac496c14219bccfb3b1df2f67ee | True | admin@163.com | admin |
| 429782d22065410591a7a4fa088e0cf6 | True | nova@163.com | nova |
| 58776ce9bfda45f687f5b0441ab9d0c3 | True | glance@163.com | glance |
| 6ff0a4fac88040ca8781543c6c5f9323 | True | swift@163.com | swift |
+----------------------------------+---------+----------------+--------+

keystone role-list
+----------------------------------+--------+
| id | name |
+----------------------------------+--------+
| 9f64169c03ff459f95622948a2e3b41f | Member |
| efe0d8f10efd4f77bf049a45f93ae49f | admin |
+----------------------------------+--------+


3.将用户分配给各个租户,并赋予其角色

(1) 将用户admin赋予admin角色,并将其分配给admin租户
keystone user-role-add --user 3fb30ac496c14219bccfb3b1df2f67ee 
--role efe0d8f10efd4f77bf049a45f93ae49f 
--tenant_id 3dd7402d714b4911a8eb3578b4452123
(2) 将用户nova,glance,swift赋予admin角色,并将其分配给service租户
keystone user-role-add --user 429782d22065410591a7a4fa088e0cf6 
--role efe0d8f10efd4f77bf049a45f93ae49f 
--tenant_id 767edbdc20c9429da2e034a8fc08f915
keystone user-role-add --user 58776ce9bfda45f687f5b0441ab9d0c3 
--role efe0d8f10efd4f77bf049a45f93ae49f 
--tenant_id 767edbdc20c9429da2e034a8fc08f915
keystone user-role-add --user 6ff0a4fac88040ca8781543c6c5f9323 
--role efe0d8f10efd4f77bf049a45f93ae49f 
--tenant_id 767edbdc20c9429da2e034a8fc08f915
(3) 将admin用户赋予admin角色,并将其分配给admin租户
keystone user-role-add --user 3fb30ac496c14219bccfb3b1df2f67ee 
--role 9f64169c03ff459f95622948a2e3b41f 
--tenant_id 3dd7402d714b4911a8eb3578b4452123

4. 创建服务
keystone service-create --name nova     --type compute  --description 'OpenStack Compute Service'
keystone service-create --name volume   --type volume   --description 'OpenStack Volume Service'
keystone service-create --name glance   --type image    --description 'OpenStack Image Service'
keystone service-create --name keystone --type identity --description 'OpenStack Identity Service'
keystone service-create --name ec2      --type ec2      --description 'EC2 Service'

5.显示创建的服务

keystone service-list
+----------------------------------+----------+--------------+------------------ ----------+
| id | name | type | descriptio n |
+----------------------------------+----------+--------------+------------------ ----------+
| 0baafec268b04df9832418d07add0363 | swift | object-store | OpenStack Storage Service |
| 40fa2a064608492eb1929b8a689b5ed4 | volume | volume | OpenStack Volume Service |
| 5ce03b4918b54f1f93b761ee68d03e3f | glance | image | OpenStack Image S ervice |
| 6b0104e8acb646ed8257fe6e9375655a | ec2 | ec2 | EC2 Service |
| 89b9ddaf91c54ffb969dbb812fa9328b | nova | compute | OpenStack Compute Service |
| 9ba7fd8977a94269809fcf3cd31a8471 | keystone | identity | OpenStack Identit y Service |
+----------------------------------+----------+--------------+------------------

4.创建Endpoints

(1) nova-compute
keystone endpoint-create --region myregion
--service_id 89b9ddaf91c54ffb969dbb812fa9328b
--publicurl 'http://10.108.110.23:8774/v2/$(tenant_id)s'
--adminurl'http://10.108.110.23:8774/v2/$(tenant_id)s'
--internalurl'http://10.108.110.23:8774/v2/$(tenant_id)s'

(2) nova-volum
keystone endpoint-create --region myregion
--service_id40fa2a064608492eb1929b8a689b5ed4
--publicurl 'http://10.108.110.23:8776/v1/$(tenant_id)s'
--adminurl'http://10.108.110.23:8776/v1/$(tenant_id)s'
--internalurl'http://10.108.110.23:8776/v1/$(tenant_id)s'

(3) glance

keystone endpoint-create --region myregion
--service_id5ce03b4918b54f1f93b761ee68d03e3f
--publicurl 'http://10.108.110.23:9292/v1'
--adminurl 'http://10.108.110.23:9292/v1'
--internalurl 'http://10.108.110.23:9292/v1'

(4) swift
keystone endpoint-create --region myregion
--service_id 0baafec268b04df9832418d07add0363
--publicurl 'http://10.108.110.23:8080/v1/AUTH_$(tenant_id)s'
--adminurl 'http://10.108.110.23:8080/v1'
--internalurl'http://10.108.110.23/v1/AUTH_$(tenant_id)s'

(5) keystone
keystone endpoint-create --region myregion
--service_id 9ba7fd8977a94269809fcf3cd31a8471
--publicurl 'http://10.108.110.23:5000/v2.0'
--adminurl 'http://10.108.110.23:35357/v2.0'
--internalurl 'http://10.108.110.23:5000/v2.0'

(6) ec2
keystone endpoint-create --region myregion
--service_id6b0104e8acb646ed8257fe6e9375655a
--publicurl 'http://10.108.110.23:8773/services/Cloud'
--adminurl 'http://10.108.110.23:8773/services/Admin'
--internalurl'http://10.108.110.23:8773/services/Cloud'

Glance

1.安装glance
sudo apt-get install glance glance-api glance-clientglance-common glance-registry python-glance

2.配置glance

(1) 打开etc/glance/glance-api-paste.ini,在文件末尾找到
admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = %SERVICE_USER%
admin_password = %SERVICE_PASSWORD%
将其更改为
admin_tenant_name = service
admin_user = glance
admin_password

(2) 打开etc/glance/glance-registry-paste.ini按照步骤1更改。

(3) 打开etc/glance/glance-registry.conf找到”sql_connection = “将其更改为:
sql_connection =mysql://glanceUser:glancePwd@10.108.110.23/glance
(4) 打开etc/glance/glance-registry.conf,在末尾加入
[paste_deploy]
flavor = keystone
(5) 打开etc/glance/glance-api.conf,在末尾加入
[paste_deploy]
flavor = keystone
(6) 同步数据库
sudo glance-manage version_control 0
sudo glance-manage db_sync
(7) 重启glance-api和glance-registry使配置生效
sudo restart glance-api
sudo restart glance-registry
(8) 导入环境变量
export SERVICE_TOKEN=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
exportOS_AUTH_URL="http://localhost:5000/v2.0/"
export SERVICE_ENDPOINT=http://localhost:35357/v2.0

(9) 检查配置
glance index
此命令如果无任何输出,表示正常。(该命令输出image信息,由于当前没有上传image,所以无任何输出)



Nova

1.安装Nova
apt-get install nova-api nova-cert nova-computenova-compute-kvm nova-doc nova-network nova-objectstore nova-schedulernova-volume rabbitmq-server novnc nova-consoleauth

2.配置Nova

(1) 打开etc/nova/nova.conf,按照如下更改文件

# Rabbit-MQ
--rabbit_host=10.108.110.23

# SGBD with MySQL
--sql_connection=mysql://novaUser:novaPwd@10.108.110.23/nova

# API
--cc_host=10.108.110.23
--auth_strategy=keystone
--s3_host=10.108.110.23
--ec2_host=10.108.110.23
--ec2_url=http://10.108.110.23:8773/services/Cloud
--nova_url=http://10.108.110.23:8774/v1.1/
--keystone_ec2_url=http://10.108.110.23:5000/v2.0/ec2tokens
--api_paste_config=/etc/nova/api-paste.ini
--allow_admin_api=true
--use_deprecated_auth=false

# Nova-Schedule
--scheduler_driver=nova.scheduler.simple.SimpleScheduler

# network specific settings
--network_manager=nova.network.manager.FlatDHCPManager
--force_dhcp_release
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--routing_source_ip=10.108.110.23
--fixed_range=192.168.4.0/27
--network_size=32
--flat_network_dhcp_start=192.168.4.1
--public_interface=eth0
--flat_interface=eth0
--flat_network_bridge=br100
--floating_range=10.108.110.23/27
--flat_injected=False


# Nova-Compute with KVM Hypervisor
--libvirt_type=kvm
--libvirt_use_virtio_for_bridges=true
--start_guests_on_host_boot=true
--resume_guests_state_on_host_boot=true
--connection_type=libvirt

# Nova-Volume
--iscsi_ip_prefix=192.168.4
--iscsi_helper=tgtadm

# Glance
--glance_api_servers=10.108.110.23:9292
--image_service=nova.image.glance.GlanceImageService

# vnc specific configuration
--novnc_enabled=true
--novncproxy_base_url=http://10.108.110.23:6080/vnc_auto.html
--vncserver_proxyclient_address=10.108.110.23
--vncserver_listen=10.108.110.23

# Misc
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/run/lock/nova
--root_helper=sudo nova-rootwrap
--verbose

(2) 创建Volume

(1)查看fdisk -l (查看lvm格式的是哪个分区,我的是sda6)

(2)sudo pvcreate /dev/sda6

(3) 创建Group
sudo vgcreate nova-columes /dev/sda6
(注意:nova-columes名字不能变)

(4) 更改文件夹所有权等
sudo chown –R nova:nova /ect/nova
sudo chomd 644 /etc/nova/nova.conf
(5) 打开etc/nova/api-paste.ini,在文件末尾,找到
admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = %SERVICE_USER%
admin_password = %SERVICE_PASSWORD%
更改为
admin_tenant_name = service
admin_user = nova
admin_password = nova
(6) 同步数据库
sudo nova-manage db sync
(7) 分配私有ip
nova-manage network create private--fixed_range_v4=192.168.4.0/27 --num_networks=1 --bridge=br100--bridge_interface=eth0 --network_size=32
(8) 分配公有ip
nova-manage floating create--ip_range=10.108.110.23/27
(9) 导入环境变量
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL="http://localhost:5000/v2.0/"

(10) 重启nova服务

restart libvirt-bin
restart nova-network
restart nova-compute
restart nova-api
restart nova-objectstore
restart nova-scheduler
restart nova-volume
restart nova-consoleauth
restart nova-cert

(11)验证(全是笑脸)

sudo nova-manage service list
nova-network          ubuntu nova enabled :-) 2012-08-13 12:27:37
nova-compute        ubuntu nova enabled :-) 2012-08-13 12:27:40
nova-scheduler      ubuntu nova enabled :-) 2012-08-13 12:27:45
nova-consoleauth  ubuntu nova enabled :-) 2012-08-13 12:27:45
nova-cert                  ubuntu nova enabled :-) 2012-08-13 12:27:45
nova-volume           ubuntu nova enabled :-) 2012-08-13 12:27:45

DashBoard

1.安装
sudo apt-get install openstack-dashboard
2.重启apache
sudo service apache2 restart


现在可以打开浏览器,输入10.108.110.23,使用用户名admin,密码admin登陆。



上传镜像

(1)下载镜像

http://uec-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-amd64-disk1.img

(2)上传镜像到服务器

1.下载psftp.exe

2.通过psftp登陆Server

psftp open root@10.108.110.23

3.切换目录

psftp cd /

4.将放于C盘的镜像上传

fpsftp put c:/ ubuntu-11.10-server-cloudimg-amd64-disk1.img

(3) 加入镜像(首先要切换到 cd /)
glance add name=”Ubuntu 12-04 Server amd64”is_public=true container_format=ovf disk_format=qcow2 < ubuntu-11.10-server-cloudimg-amd64-disk1.img
(注:现在可以通过glance index查看上传镜像)


创建key
(将公钥注入镜像,这样可以通过ssh访问。访问时需要提供私钥)

ssh-keygen 一路回车)

cd /root/.ssh (注:ls可以看到两个文件,一个公钥,一个私钥)

nova keypair-add --pub_key id_rsa.pub mykey


启动instance

1.列出有image

nova image-list
+--------------------------------------+--------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+--------------------+--------+--------+
| a580028b-3eb8-47a4-a029-8f830c5a64e1 | ubuntu-11.10-amd64 | ACTIVE | |
+--------------------------------------+--------------------+--------+--------+

2.novaboot --flavor 1 --image a580028b-3eb8-47a4-a029-8f830c5a64e1

--key_name mykey myinstance

3.查看创建的实例
nova list
+--------------------------------------+------------+--------+---------------------+
| ID | Name | Status | Networks |
+--------------------------------------+------------+--------+---------------------+
| 444266d9-72dd-44d3-9663-b393dae8b221 | myinstance | ACTIVE | private=192.168.4.2 |
+--------------------------------------+------------+--------+---------------------+


访问instance

ssh -i /root/.ssh/id_rsa ubuntu@192.168.4.2

这样,即可登入新建实例

为instance分配公有地址
1.获得公有地址

nova floating-ip-create
+--------------+-------------+----------+------+
| Ip | Instance Id | Fixed Ip | Pool |
+--------------+-------------+----------+------+
| 10.108.110.2 | None | None | nova |
+--------------+-------------+----------+------+


2.分配ip地址

novaadd-floating-ip myinstance 10.108.110.2
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值