搭建OpenStack AllInOne的沙箱模拟环境
来源:互联网 发布:征途重置版网络不稳定 编辑:程序博客网 时间:2024/05/24 13:28
本文介绍Windows安装 VirtualBox,并创建Ubuntu-Server 12.04 x86_64虚拟机,再在Ubuntu虚拟机中构建一个OpenStack Essex AllInOne的沙箱模拟环境。
(一)物理主机设置
启用物理主机CPU的VT支持:BIOS Setup Utility Config ==> CPU ==> Intel(R) Virtualization Technology ==> 设置为 Enabled
(二)安装虚拟机软件
选择Oracle VirtualBox,下载地址 http://dlc.sun.com.edgesuite.net/virtualbox/4.2.16/VirtualBox-4.2.16-86992-Win.exe
(三)配置虚拟机软件
设置-系统-处理器 扩展特性启用PAE/NX
设置-系统-硬件加速 启用VT-x/AMD-V 启用嵌套分页
管理-全局网络 创建两个HostOnly接口分别用于OpenStack公有网和私有网
# Public Network vboxnet0 (172.16.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 172.16.0.254 --netmask 255.255.0.0
# Private Network vboxnet1 (10.0.0.0/8)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet1 --ip 10.0.0.254 --netmask 255.0.0.0
虚拟机网络 设置启用三张网卡
网卡1 桥接网卡,用于主机和虚拟机通信,并可以接入Internet
网卡2 仅主机(Host-Only)适配器,对应全局网络的OpenStack公有网
网卡3 仅主机(Host-Only)适配器,对应全局网络的OpenStack私有网
(四)创建Ubuntu-Server 12.04 x86_64虚拟机,ISO介质下载地址
http://mirror.umd.edu/ubuntu-iso/12.04/ubuntu-12.04-server-amd64.iso
对于32位操作系统,建议只创建1GB虚拟内存
(五)配置主机域名及虚拟机网络
$sudo vim /etc/hosts
192.168.0.104 mgmt1.openstack.org
$sudo vim /etc/hostname
mgmt1.openstack.org
/etc/network/interfaces 对应如下:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
pre-up ifconfig eth0
address 192.168.0.104
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
getway 192.168.0.1
# Public Interface
auto eth1
iface eth1 inet static
address 172.16.0.1
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
# Private Interface
auto eth2
iface eth2 inet manual
up ifconfig eth2 up
/etc/resolv.conf 对应如下:
nameserver 202.96.134.33 (以本机所处网络广东电信SP为例)
nameserver 202.96.128.86
注:如果发现每次重启后DNS都会消失需要重新配置,可在/etc/rc.local文件追加以下内容:
echo "nameserver 202.96.128.33" >>/etc/resolv.conf
echo "nameserver 202.96.134.86" >>/etc/resolv.conf
重启网络使之生效
$ sudo /etc/init.d/networking restart
(六)创建用户
创建用户openstack 密码openstack, 并指定加入sudo组
$ sudo addgroup openstack -gid 1001
$ sudo useradd openstack -g openstack -G openstack,sudo -m -s /bin/bash
$ sudo passwd openstack --输入密码openstack
(七)安装OpenStack Essex必要组件
$ sudo apt-get -y install rabbitmq-server nova-api nova-objectstore nova-scheduler nova-network nova-compute nova-cert glance qemu unzip
(八)安装配置NTP
$ sudo apt-get -y install ntp
$ sudo vi /etc/ntp.conf
替换所有内容如下:
# Replace ntp.ubuntu.com with an NTP server on your network
server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 10
重启NTP
$ sudo service ntp restart
(九)安装配置MySQL数据库(root用户)
# cat <<MYSQL_PRESEED | debconf-set-selections
> mysql-server-5.1 mysql-server/root_password password openstack
> mysql-server-5.1 mysql-server/root_password_again password openstack
> mysql-server-5.1 mysql-server/start_on_boot boolean true
> MYSQL_PRESEED
安装数据库,并使其可以对外访问
# apt-get update
# apt-get -y install mysql-server
# sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
# service mysql restart
创建nova数据库,并修改口令密码
# MYSQL_PASS=openstack
# mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
# mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'"
# mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'nova'@'%' = PASSWORD('$MYSQL_PASS');"
修改nova配置文件
# mv /etc/nova/nova.conf /etc/nova/nova.conf.sav
# touch /etc/nova/nova.conf
# vi /etc/nova/nova.conf
内容如下:
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--force_dhcp_release
--iscsi_helper=tgtadm
--libvirt_use_virtio_for_bridges
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--ec2_private_dns_show_ip
--sql_connection=mysql://nova:openstack@172.16.0.1/nova
--use_deprecated_auth
--s3_host=172.16.0.1
--rabbit_host=172.16.0.1
--ec2_host=172.16.0.1
--ec2_dmz_host=172.16.0.1
--public_interface=eth1
--image_service=nova.image.glance.GlanceImageService
--glance_api_servers=172.16.0.1:9292
--auto_assign_floating_ip=true
--scheduler_default_filters=AllHostsFilter
修改虚拟软件
# vi /etc/nova/nova-compute.conf
修改为
--libvirt_type=qemu
更新数据库表初始化数据
# sudo nova-manage db sync
建立OpenStack计算实例私有网络
# sudo nova-manage network create vmnet --fixed_range_v4=10.0.0.0/8 --network_size=64 --bridge_interface=eth2
建立OpenStack计算实例公有网络
# sudo nova-manage floating create --ip_range=172.16.1.0/24
(十)重启OpenStack(root用户)
#stop nova-compute
#stop nova-network
#stop nova-api
#stop nova-scheduler
#stop nova-objectstore
#stop nova-cert
#stop libvirt-bin
#stop glance-registry
#stop glance-api
#sudo start nova-compute
#sudo start nova-network
#sudo start nova-api
#sudo start nova-scheduler
#sudo start nova-objectstore
#sudo start nova-cert
#sudo start libvirt-bin
#sudo start glance-registry
#sudo start glance-api
(十一)创建OpenStack用户、角色、项目
#sudo nova-manage user admin openstack
#sudo nova-manage role add openstack cloudadmin
#sudo nova-manage project create cookbook openstack
打包OpenStack项目相关凭证文件
#sudo nova-manage project zipfile cookbook openstack
(十二)安装相关命令行工具
#sudo apt-get install euca2ools python-novaclient unzip
(十三)在宿主机配置OpenStack项目
将OpenStack项目相关凭证文件放到openstack用户主目录
#sudo cp nova.zip /home/openstack
切换openstack用户
#su openstack
解压OpenStack项目相关凭证文件
$unzip nova.zip
建立环境变量
$. novarc
$ vim /home/openstack/.bashrc
增加下列内容:
cd /home/openstack
. novarc
env
退出保存,并用source激活.bashrc
增加权限
$euca-add-keypair openstack > openstack.pem
$chmod 0600 *.pem
(十四)下载与安装VM镜像
Ubuntu-Server 12.04 x86 镜像下载地址
http://uec-images.ubuntu.com/releases/precise/release-20130603/ubuntu-12.04-server-cloudimg-i386.tar.gz
利用SecureCRT工具的SFTP上传
sftp>put D:/Download/ubuntu-12.04-server-cloudimg-i386.tar.gz
安装cloud-utils
$sudo apt-get -y install cloud-utils
发布VM
$cloud-publish-tarball ubuntu-12.04-server-cloudimg-i386.tar.gz images i386
验证VM发布状态
$euca-describe-images
当ami-****显示为available时,即表示发布成功,如图所示:
或者$nova image-list
当nova镜像为ACTIVE时,即表示发布成功,如图所示:
允许SSH连接
$euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
允许Ping
$euca-authorize default -P icmp -t -1:-1
重启虚拟机
$sudo reboot
(十五)启动VM
$nova flavor-list
选择VM类型,这里选择微型tiny,对应flavor=1
使用euca2ools创建并启动实例,其中ami-00000002为euca-describe-images显示的镜像ID
$euca-run-instances ami-00000002 -t m1.tiny -k openstack
使用Nova Client tools创建并启动实例,其中a9d5a570-3f8e-40fc-9f65-8892dd5f0444为nova image-list显示的images/precise-server-cloudimg-i386.img的ID
$nova boot myInstance --image a9d5a570-3f8e-40fc-9f65-8892dd5f0444 --flavor 1 --key_name openstack
使用euca-describe-instances与nova list命令监控启动情况,当VM变成running状态时,再使用pstree命令检查libvirtd是否以{qemu-system-x86}方式启动,并尝试ping 172.16.1.1。若无法ping通,nova reboot a9d5a570-3f8e-40fc-9f65-8892dd5f0444 重新启动虚拟机实例,并再次重复该步骤,持续验证观察!
使用密钥文件用ssh建立连接
$ssh -i openstack.pem ubuntu@172.16.1.1
如果公网IP172.16.1.1可以ping通,而且可以使用ssh连接,那么说明VM已经建立好了
(十六)删除VM实例
$euca-describe-instances
$euca-terminate-instances i-00000002
其中i-00000002为实例ID
$nova list
$nova delete myInstance
其中myInstance为实例名称
Nova 详细命令参考:
http://docs.openstack.org/essex/openstack-compute/starter/content/Nova_Commands-d1e2589.html
(一)物理主机设置
启用物理主机CPU的VT支持:BIOS Setup Utility Config ==> CPU ==> Intel(R) Virtualization Technology ==> 设置为 Enabled
(二)安装虚拟机软件
选择Oracle VirtualBox,下载地址 http://dlc.sun.com.edgesuite.net/virtualbox/4.2.16/VirtualBox-4.2.16-86992-Win.exe
(三)配置虚拟机软件
设置-系统-处理器 扩展特性启用PAE/NX
设置-系统-硬件加速 启用VT-x/AMD-V 启用嵌套分页
管理-全局网络 创建两个HostOnly接口分别用于OpenStack公有网和私有网
# Public Network vboxnet0 (172.16.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 172.16.0.254 --netmask 255.255.0.0
# Private Network vboxnet1 (10.0.0.0/8)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet1 --ip 10.0.0.254 --netmask 255.0.0.0
虚拟机网络 设置启用三张网卡
网卡1 桥接网卡,用于主机和虚拟机通信,并可以接入Internet
网卡2 仅主机(Host-Only)适配器,对应全局网络的OpenStack公有网
网卡3 仅主机(Host-Only)适配器,对应全局网络的OpenStack私有网
(四)创建Ubuntu-Server 12.04 x86_64虚拟机,ISO介质下载地址
http://mirror.umd.edu/ubuntu-iso/12.04/ubuntu-12.04-server-amd64.iso
对于32位操作系统,建议只创建1GB虚拟内存
(五)配置主机域名及虚拟机网络
$sudo vim /etc/hosts
192.168.0.104 mgmt1.openstack.org
$sudo vim /etc/hostname
mgmt1.openstack.org
/etc/network/interfaces 对应如下:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
pre-up ifconfig eth0
address 192.168.0.104
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
getway 192.168.0.1
# Public Interface
auto eth1
iface eth1 inet static
address 172.16.0.1
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
# Private Interface
auto eth2
iface eth2 inet manual
up ifconfig eth2 up
/etc/resolv.conf 对应如下:
nameserver 202.96.134.33 (以本机所处网络广东电信SP为例)
nameserver 202.96.128.86
注:如果发现每次重启后DNS都会消失需要重新配置,可在/etc/rc.local文件追加以下内容:
echo "nameserver 202.96.128.33" >>/etc/resolv.conf
echo "nameserver 202.96.134.86" >>/etc/resolv.conf
重启网络使之生效
$ sudo /etc/init.d/networking restart
(六)创建用户
创建用户openstack 密码openstack, 并指定加入sudo组
$ sudo addgroup openstack -gid 1001
$ sudo useradd openstack -g openstack -G openstack,sudo -m -s /bin/bash
$ sudo passwd openstack --输入密码openstack
(七)安装OpenStack Essex必要组件
$ sudo apt-get -y install rabbitmq-server nova-api nova-objectstore nova-scheduler nova-network nova-compute nova-cert glance qemu unzip
(八)安装配置NTP
$ sudo apt-get -y install ntp
$ sudo vi /etc/ntp.conf
替换所有内容如下:
# Replace ntp.ubuntu.com with an NTP server on your network
server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 10
重启NTP
$ sudo service ntp restart
(九)安装配置MySQL数据库(root用户)
# cat <<MYSQL_PRESEED | debconf-set-selections
> mysql-server-5.1 mysql-server/root_password password openstack
> mysql-server-5.1 mysql-server/root_password_again password openstack
> mysql-server-5.1 mysql-server/start_on_boot boolean true
> MYSQL_PRESEED
安装数据库,并使其可以对外访问
# apt-get update
# apt-get -y install mysql-server
# sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
# service mysql restart
创建nova数据库,并修改口令密码
# MYSQL_PASS=openstack
# mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
# mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'"
# mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'nova'@'%' = PASSWORD('$MYSQL_PASS');"
修改nova配置文件
# mv /etc/nova/nova.conf /etc/nova/nova.conf.sav
# touch /etc/nova/nova.conf
# vi /etc/nova/nova.conf
内容如下:
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--force_dhcp_release
--iscsi_helper=tgtadm
--libvirt_use_virtio_for_bridges
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--ec2_private_dns_show_ip
--sql_connection=mysql://nova:openstack@172.16.0.1/nova
--use_deprecated_auth
--s3_host=172.16.0.1
--rabbit_host=172.16.0.1
--ec2_host=172.16.0.1
--ec2_dmz_host=172.16.0.1
--public_interface=eth1
--image_service=nova.image.glance.GlanceImageService
--glance_api_servers=172.16.0.1:9292
--auto_assign_floating_ip=true
--scheduler_default_filters=AllHostsFilter
修改虚拟软件
# vi /etc/nova/nova-compute.conf
修改为
--libvirt_type=qemu
更新数据库表初始化数据
# sudo nova-manage db sync
建立OpenStack计算实例私有网络
# sudo nova-manage network create vmnet --fixed_range_v4=10.0.0.0/8 --network_size=64 --bridge_interface=eth2
建立OpenStack计算实例公有网络
# sudo nova-manage floating create --ip_range=172.16.1.0/24
(十)重启OpenStack(root用户)
#stop nova-compute
#stop nova-network
#stop nova-api
#stop nova-scheduler
#stop nova-objectstore
#stop nova-cert
#stop libvirt-bin
#stop glance-registry
#stop glance-api
#sudo start nova-compute
#sudo start nova-network
#sudo start nova-api
#sudo start nova-scheduler
#sudo start nova-objectstore
#sudo start nova-cert
#sudo start libvirt-bin
#sudo start glance-registry
#sudo start glance-api
(十一)创建OpenStack用户、角色、项目
#sudo nova-manage user admin openstack
#sudo nova-manage role add openstack cloudadmin
#sudo nova-manage project create cookbook openstack
打包OpenStack项目相关凭证文件
#sudo nova-manage project zipfile cookbook openstack
(十二)安装相关命令行工具
#sudo apt-get install euca2ools python-novaclient unzip
(十三)在宿主机配置OpenStack项目
将OpenStack项目相关凭证文件放到openstack用户主目录
#sudo cp nova.zip /home/openstack
切换openstack用户
#su openstack
解压OpenStack项目相关凭证文件
$unzip nova.zip
建立环境变量
$. novarc
$ vim /home/openstack/.bashrc
增加下列内容:
cd /home/openstack
. novarc
env
退出保存,并用source激活.bashrc
增加权限
$euca-add-keypair openstack > openstack.pem
$chmod 0600 *.pem
(十四)下载与安装VM镜像
Ubuntu-Server 12.04 x86 镜像下载地址
http://uec-images.ubuntu.com/releases/precise/release-20130603/ubuntu-12.04-server-cloudimg-i386.tar.gz
利用SecureCRT工具的SFTP上传
sftp>put D:/Download/ubuntu-12.04-server-cloudimg-i386.tar.gz
安装cloud-utils
$sudo apt-get -y install cloud-utils
发布VM
$cloud-publish-tarball ubuntu-12.04-server-cloudimg-i386.tar.gz images i386
验证VM发布状态
$euca-describe-images
当ami-****显示为available时,即表示发布成功,如图所示:
或者$nova image-list
当nova镜像为ACTIVE时,即表示发布成功,如图所示:
允许SSH连接
$euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
允许Ping
$euca-authorize default -P icmp -t -1:-1
重启虚拟机
$sudo reboot
(十五)启动VM
$nova flavor-list
选择VM类型,这里选择微型tiny,对应flavor=1
使用euca2ools创建并启动实例,其中ami-00000002为euca-describe-images显示的镜像ID
$euca-run-instances ami-00000002 -t m1.tiny -k openstack
使用Nova Client tools创建并启动实例,其中a9d5a570-3f8e-40fc-9f65-8892dd5f0444为nova image-list显示的images/precise-server-cloudimg-i386.img的ID
$nova boot myInstance --image a9d5a570-3f8e-40fc-9f65-8892dd5f0444 --flavor 1 --key_name openstack
使用euca-describe-instances与nova list命令监控启动情况,当VM变成running状态时,再使用pstree命令检查libvirtd是否以{qemu-system-x86}方式启动,并尝试ping 172.16.1.1。若无法ping通,nova reboot a9d5a570-3f8e-40fc-9f65-8892dd5f0444 重新启动虚拟机实例,并再次重复该步骤,持续验证观察!
使用密钥文件用ssh建立连接
$ssh -i openstack.pem ubuntu@172.16.1.1
如果公网IP172.16.1.1可以ping通,而且可以使用ssh连接,那么说明VM已经建立好了
(十六)删除VM实例
$euca-describe-instances
$euca-terminate-instances i-00000002
其中i-00000002为实例ID
$nova list
$nova delete myInstance
其中myInstance为实例名称
Nova 详细命令参考:
http://docs.openstack.org/essex/openstack-compute/starter/content/Nova_Commands-d1e2589.html
- 搭建OpenStack AllInOne的沙箱模拟环境
- packstack allinone + vxlan 用vbox的虚拟机搭建openstack(单节点双网卡)
- 手动安装liberty版本openstack环境(allinone)---环境准备
- 手动安装liberty版本openstack环境(allinone)---安装keystone
- 手动安装liberty版本openstack环境(allinone)---安装glance
- 手动安装liberty版本openstack环境(allinone)---安装nova
- 手动安装liberty版本openstack环境(allinone)---安装cinder
- 手动安装liberty版本openstack环境(allinone)---安装neutron
- 手动安装liberty版本openstack环境(allinone)---安装dashboard
- 搭建openstack swift环境的学习心得
- OpenStack Dashboard二次开发环境的搭建
- OpenStack开发环境搭建
- Openstack CI 环境搭建
- 搭建 OpenStack 实验环境
- [准备篇5]VMWare搭建Openstack——使用VMnet的方式模拟多网卡的OpenStack环境配置(1)
- [准备篇6]VMWare搭建Openstack——使用VMnet的方式模拟多网卡的OpenStack环境配置(2)
- allinone—openstack development environment
- 在CentOS 7部署配置OpenStack Juno(ml2+vlan)版ALLINONE环境
- C结构体之位域(位段)
- 常用的主机监控Shell脚本
- MyEclipse修改JSP页面模板
- webview使用总结
- HBase性能优化方法总结
- 搭建OpenStack AllInOne的沙箱模拟环境
- 在linux下使用cat命令时如何退出
- ffmpeg 从mp4上提取H264的nalu
- 无需任何启动盘,在windows系统上一键安装linux(ubuntu)双系统的方法!
- 火狐下table中创建form导致两个table之间出现空白
- Proof of concept (POC) 即 概念原型
- 大数据案例分析:电信业Hadoop应用分析 原文出自【比特网】,转载请保留原文链接:http://do.chinabyte.com/228/12410228.shtml
- Linux内核基础-container_of
- ubuntu 下设置双网卡 实现内外网访问