×

openstack安装教程

openstack安装教程(如何在OpenStack上安装Ubuntu系统)

admin admin 发表于2023-04-27 13:32:36 浏览24 评论0

抢沙发发表评论

本文目录

如何在OpenStack上安装Ubuntu系统


OpenStack是一个Iaas即基础即服务的云架构,用户可以在OpenStack上创建自己的虚拟机,然后就像使用自己的电脑一样的时候云主机。接下来一ubuntu为例,在OpenStack上创建一个Ubuntu系统。
并不是所有的系统都能在OpenStack上运行,必须是集成了某些特殊功能的系统才可以,具体的要求可以参考

如何制作安装了openstack的Ubuntu系统ISO镜像


1. 下载对应需求的Ubuntu镜像
2. 安装kvm-pxe(此步骤因为在搭建openstack环境应该已经下载,故应该可以省略)
apt-get install kvm-pxe
Note:用于解决出现:failed to find romfile “pxe-rtf8138.bin”错误
3. 创建一个大小10G的“硬盘”(raw格式)
kvm-img create -f raw ubuntu.img 10G
4. 使用刚才下载的ubuntu“安装盘”和刚创建的“硬盘”引导启动系统,为了简单起见,本文使用kvm虚拟技术,避开xen繁琐的配置。-vnc参数代表撕开vnc访问,以便可以使用其他机器远程登陆到这个引导界面进行安装操作:
kvm -m 1024 -cdrom ubuntu-11.10-server-amd64.iso -drive file=ubuntu.img -boot d -nographic -vnc :5
Note:
1. 本命令是前台进程,会占用一个终端,后续操作需要打开一个新的终端
2. 启动kvm命令可以在server版本中运行,但是安装系统的操作需要桌面图形支持
3. 如果提示端口3被占用,访问拒绝,那么继续向后调整到端口4,5直到不提示错误
状态是上面一行命令保持不动,此时继续执行下面操作
5. 用vncviewer登陆引导界面后按照屏幕的提示完成ubuntu的安装工作(安装过程和自己电脑一样,安装过程省略)。需要注意的是在分区阶段把10GB硬盘全部分成一个ext4分分区,并挂在到/下,不要创建多个分区也不要创建swap分区
vncviewer 192.168.1.198:5905
Note:
1. 192.168.1.198是本机IP
2. 安装完成后退出,必要时kill掉kvm进程
3. 5905的数字3对应之前的vnc:5,如果修改,则二者应该保持一致。
6. 重启虚拟机镜像
kvm -m 1024 -drive file=ubuntu.img -boot c -net nic -net user -nographic -vnc :5

主意:2048代表虚拟机内存大小,如果真机内存较大的情况下,建议将该值调整到1024或者2048,这样可以保证较为流畅的操作
7. 安装相关模板服务制作
vncviewer 192.168.1.198:5905进入模板系统
(因为vnc内对ctrl+alt+t组合键不能识别,故不能通过快捷键在虚拟机内直接调用终端,所以需要手动点击左上角ubuntu图标,在搜索一栏输入终端,并启动终端),然后执行如下三行
apt-get update

OpenStack部署都有哪些方式


OpenStack部署都有:

一、个人使用方面

1、DevStack 

无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选安装方式或工具。该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境。

Github:


熟练操作OpenStack平台需要掌握哪些组件的安装与配置


Swift、Keystone及Horizon(OpenStack的Web UI)服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几个部分都可以安装在任意服务器上。
Client1并不是安装所必须的,在本例中,它仅用来制作打包镜像,并使用它访问Horizon在Web上管理OpenStack设施。于是就避免了使用服务器来完成镜像打包等诸如此类的任务了,而且在制作桌面系统镜像时如果包含视窗界面的话,我们也只能相应地使用有GUI的电脑来完成。建议Client1支持虚拟化技术,以便在制作完镜像打包时可以运行KVM。
OpenStack安装需要设定主机名、IP地址等,按你实际的环境进行配置。下表是译者安装的网络参数清单:
这里写图片描述
二、Server1
正如上表所示,Server1包含了所有的Nova服务:nova-compute、nova-api、nova-volume、nova-network以及Glance、Swift、Keystone和Horizon。这台服务器上需要双网卡。
(一)安装底层OS
不必多想,请参照下述说明,记住相关参数,选择64位Ubuntu12.04版,进行安装。
l 创建的第一个用户命名为“localadmin”
l 为eth0和eth1设定IP及其相关参数
l 在安装服务包中,仅选择“Openssh-server”作为预装项
因为Server1上也将安装nova-volume软件,而nova-volume需要一块专用分区,所以在安装Ubuntu Server时请选择手动分区,并另行创建一块合适大小的分区。从本章起,教程都将以/dev/sda6作为这块分区。你可以根据自己分区的实际情况进行修改。此外,请使用fdisk工具将该分区需要格式化为LVM(8e)格式,这一操作在安装中或刚安装完毕格式化均可。进一步,如果你还计划在这台服务器上再新建一个分区配给Swift的话,那么就新建一块分区并参照本章后文“安装Swift”一节相关内容进行安装。
待12.04的UbuntuOS安装完毕后 ,可以使用

如何从零开始学习OpenStack


1)先安装OpenStack的环境,几种方法
第一种方法:先安装docker,下载openstack的镜像,关于docker的使用资料Docker资料 网上搜索一下,很多,比较容易学习和使用
第二种方法:使用fuel来安装 Fuel 30 分钟快速安装OpenStack
2)安装后,先去熟悉如何应用OpenStack
3)建议你先从horizon模块开始研究源码,边研究,边试着做些修改,这样切入比较容易点,千万别以上来就去啃nova neutron模块,难度太大,不太容易切如进去
4)开发环境可以考虑
pychorm
devstack
另外,官方文档资料写的很详细,多去看看

如何在windows下安装openstack的依赖包


本文主要讲述在windows系统中如何安装openstack源代码的依赖包,以便于在windows操作系统下进行源码阅读。为了可以在windows下阅读openstack源码,首先我们需要在windows系统下安装python2.7。安装好后将python目录配置到系统的环境变量中(我的电脑-》属性-》高级-》环境变量)。可以在命令行输入echo %PATH%观察系统其值是否发生了变化。如果发生了变化可以继续安装pip。如果没有包括python的路径则需要注销电脑,重新登陆或者重启电脑。

为了完成pip的安装,首先需要安装setuptools,下载完成后解压,然后使用命令行进入到解压后的目录,输入pythonsetup.py install进行安装。安装完成后就可以下载pip进行安装了,其安装过程与setuptools一样。在pip安装完成后,需要修改Path环境变量,将python目录下的Scripts添加进环境变量。然后参考上一段的做法激活环境变量后就可以使用pip方面地安装扩展包了。

在完成上面的操作后就可以安装openstack源代码中所需要的扩展包的。其安装命令主要是pip installrequirements.txt 或者pip install-r tools/requirements。至于执行哪个命令要根据openstack组件的源代码结构而定。

下面主要说明安装过程可能出现的问题。

1)distutils.errors.DistutilsError: Setup script exited with error:Unable to find vcvarsall.bat

注意:系统可能需要安装vs2008,因为windows python以来vc++ 2008版本的。

2)UnicodeDecodeError:’ascii’ codec can’t decode byte 0xb2 in position 0: ordinal not in range
3)以下这些扩展包需要手动安装或者下载安装,不能使用pip安装

A.pyOpenSSL

B.lxml

C.cffi

D.pycparser

E.thrift

F.mysql-python

ubuntu怎么安装openstack


一、安装Ubuntu
1、DVD:Ubuntu 12.04 Server版
2、分区:
490G的主分区 + 16G的SWAP(其实还能减少,服务器16G内存) + 490G空闲空间
注:490G的空闲空间用于OpenStack的Swift数据存储。同时一定要给主分区格式化,并且将boot写入。
3、安装语言,选择“English”,因为汉化不太好,尤其是到Openstack后,故直接选择英语,避免各种乱码方块出现
4、不适用代理服务器,因为本身就已经有外网IP,自身就可以连入Internet
5、选择“不使用自动更新 No auto Update”
6、只安装OpenSSH服务。
7、等待安装结束。重启,进入第二阶段。
二、安装OpenStack
1、使用putty,远程连接:
login as: localadmin
localadmin@122.xxx.144.xxx’s password:
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)
* Documentation:
localadmin@server1:~$ sudo vi /etc/mysql/my.cnf
localadmin@server1:~$ sodo service mysql restart

如何在vmware下的虚拟机中安装openstack


记得以前就有人问过“能不能在一个虚拟机上运行虚拟机”,答案当然是可以的,Xen HVM, KVM, VMware, Qemu 等Hypervisor 都可以这样嵌套虚拟,不过由于性能低下实际用处不大。在VMware ESXi 虚拟机上运行虚拟机,被称为多层虚拟或者嵌套虚拟机(Nested VMs)。如果只有一台电脑想测试多节点OpenStack 环境的话,使用VMware ESXi 虚拟几个运行KVM Hypervisor 的OpenStack 计算节点是个不错的办法。VMware ESXi 5.0 默认情况下不支持嵌套虚拟,所以在VMware ESXi 虚拟机里安装完KVM 以后会发现KVM 虽然能装但不可用: # kvm-ok INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used 解决办法很简单:1、修改VMware ESXi 的设置;2、修改对应虚拟机的设置。 登陆VMware ESXi 控制台打开VMware ESXi 5.0 的SSH 服务(默认SSH 服务是关闭的),然后用ssh 登陆VMware ESXi 后在config 文件中最后加入vhv.allow = “TRUE”一行: # vi /etc/vmware/config libdir = “/usr/lib/vmware“ authd.proxy.vim = “vmware-hostd:hostd-vmdb“ authd.proxy.nfc = “vmware-hostd:ha-nfc“ authd.proxy.nfcssl = “vmware-hostd:ha-nfcssl“ authd.proxy.vpxa-nfcssl = “vmware-vpxa:vpxa-nfcssl“ authd.proxy.vpxa-nfc = “vmware-vpxa:vpxa-nfc“ authd.fullpath = “/sbin/authd“ authd.soapServer = “TRUE“ vmauthd.server.alwaysProxy = “TRUE“ vhv.allow = “TRUE“ 重启VMware ESXi 后编辑虚拟机选项(需要先关闭虚拟机),打开Edit virtual machine settings 对话框,在options 页面的General Options 选项里把Guest Operating System 的类型换成Other 里面的VMware ESxi 5.x,如图: 最后启动虚拟机后再kvm-ok 一下就可以看到KVM 可以用了: # kvm-ok INFO: /dev/kvm exists KVM acceleration can be used

如何在CentOS7上玩openstack


前言:
我们知道,云时代来了,以后不会玩openstack的运维绝对会被淘汰,而且以后也会是CentOS7的天下了,所以呢,大家抓紧学习吧!
今天我会带来非常详细的openstack的教程,相信鸡血哥。我保证你绝对能成功。
一、环境准备
需要2台机器,一台控制节点node1,一台计算节点node2
node1:
[root@linux-node1 ~]# hostname
linux-node1.oldboyedu.com
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@linux-node1 network-scripts]# ip ro li
default via 192.168.56.2 dev eth0 proto static metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.11 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
node2:
[root@linux-node2 ~]# hostname
linux-node2.oldboyedu.com
[root@linux-node2 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@linux-node2 ~]# ip ro li
default via 192.168.56.2 dev eth0 proto static metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.12 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
配置主机名解析
node1:
[root@linux-node1 ~]# tail -3 /etc/hosts
192.168.56.11 linux-node1.oldboyedu.com linux-node1
192.168.56.12 linux-node2.oldboyedu.com linux-node2
node2:
[root@linux-node2 ~]# tail -3 /etc/hosts
192.168.56.11 linux-node1.oldboyedu.com linux-node1
192.168.56.12 linux-node2.oldboyedu.com linux-node2
二、服务包的安装
node1:
#Base
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install centos-release-openstack-liberty
yum install python-openstackclient

##MySQL
yum install -y mariadb mariadb-server MySQL-python
##RabbitMQ
yum install -y rabbitmq-server
##Keystone
yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached
##Glance
yum install -y openstack-glance python-glance python-glanceclient
##Nova
yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console \
openstack-nova-novncproxy openstack-nova-scheduler python-novaclient

##Neutron linux-node1.example.com
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge python-neutronclient ebtables ipset
##Dashboard
yum install openstack-dashboard
node2:
##Base
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install centos-release-openstack-liberty
yum install python-openstackclient
##Nova linux-node2.example.com
yum install openstack-nova-compute sysfsutils
##Neutron linux-node2.example.com
yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset
三、配置
node1:
时间同步
它会影响后期虚拟机的创建
[root@linux-node1 ~]# yum install chrony -y
修改配置文件
[root@linux-node1 ~]# vi /etc/chrony.conf
22 allow 192.168/16
#设为开机启动并启动起来
[root@linux-node1 ~]# systemctl enable chronyd.service
[root@linux-node1 ~]# systemctl start chronyd.service
设置时区
[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai
[root@linux-node1 ~]# date
Tue Dec 15 23:27:24 CST 2015
2.mysql
拷贝配置
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
配置文件放在my.cnf的[mysqld]下
[root@linux-node1 ~]# vim /etc/my.cnf
28 [mysqld]
29 default-storage-engine = innodb
30 innodb_file_per_table
31 collation-server = utf8_general_ci
32 init-connect = ’SET NAMES utf8’
33 character-set-server = utf8
服务设置为开机自动机并启动
[root@linux-node1 ~]# systemctl enable mariadb.service
ln -s ’/usr/lib/systemd/system/mariadb.service’ ’/etc/systemd/system/multi-user.target.wants/mariadb.service’
[root@linux-node1 ~]# systemctl start mariadb.service
设置密码
[root@linux-node1 ~]# mysql_secure_installation
回车
Y
123456
Y
Y
Y
Y
登陆看看
[root@linux-node1 ~]# mysql -uroot -p123456
创建数据库并授权
直接在命行执行即可
Keystone数据库
mysql -u root -p123456 -e “CREATE DATABASE keystone;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON keystone.* TO ’keystone’@’localhost’ IDENTIFIED BY ’keystone’;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON keystone.* TO ’keystone’@’%’ IDENTIFIED BY ’keystone’;“
Glance数据库
mysql -u root -p123456 -e “CREATE DATABASE glance;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON glance.* TO ’glance’@’localhost’ IDENTIFIED BY ’glance’;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON glance.* TO ’glance’@’%’ IDENTIFIED BY ’glance’;“
Nova数据库
mysql -u root -p123456 -e “CREATE DATABASE nova;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON nova.* TO ’nova’@’localhost’ IDENTIFIED BY ’nova’;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON nova.* TO ’nova’@’%’ IDENTIFIED BY ’nova’;“
Neutron 数据库
mysql -u root -p123456 -e “CREATE DATABASE neutron;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON neutron.* TO ’neutron’@’localhost’ IDENTIFIED BY ’neutron’;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON neutron.* TO ’neutron’@’%’ IDENTIFIED BY ’neutron’;“
Cinder数据库
mysql -u root -p123456 -e “CREATE DATABASE cinder;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON cinder.* TO ’cinder’@’localhost’ IDENTIFIED BY ’cinder’;“
mysql -u root -p123456 -e “GRANT ALL PRIVILEGES ON cinder.* TO ’cinder’@’%’ IDENTIFIED BY ’cinder’;“
登陆数据库查看
[root@linux-node1 ~]# mysql -uroot -p123456
MariaDB [(none)]》 show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cinder |
| glance |
| keystone |
| mysql |
| neutron |
| nova |
| performance_schema |
+--------------------+
8 rows in set (0.00 sec)

openstack centos7 怎么安装


三个节点ip信息
controller:192.168.100.10
network:192.168.100.20
compute1:192.168.100.30
修改各节点的/etc/hosts 文件
测试各节点到openstack.org的连通性
controller node
配置NTP服务
yum install -y ntp
vi /etc/ntp.conf 修改文件如下:
server NTP_SERVER iburst #此处未做修改,采用默认
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify

systemctl enable ntpd.service #开机启动
systemctl start ntpd.service
其他节点同样安装
yum install ntp
修改/etc/ntp.conf文件如下:
server controller iburst

开机启动服务:
systemctl enable ntpd.service
systemctl start ntpd.service
OpenStack packages

Install the yum-plugin-priorities package to enable assignment of relative priorities within repositories:
# yum install -y yum-plugin-priorities

Install the epel-release package to enable the EPEL repository:
# yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Install the rdo-release-juno package to enable the RDO repository:
# yum install http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm

Upgrade the packages on your system:
# yum upgrade
# reboot

RHEL and CentOS enable SELinux by default. Install the openstack-selinux package to automatically manage security policies for OpenStack services:
# yum install openstack-selinux
安装如果报错,可通过下面安装:
#yum install http://repos.fedorapeople.org/repos/openstack/openstack-juno/epel-7/openstack-selinux-0.5.19-2.el7ost.noarch.rpm

To install and configure the database server
# yum install mariadb mariadb-server MySQL-python
修改/etc/my.cnf
bind-address = 127.0.0.1
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = ’SET NAMES utf8’
character-set-server = utf8
# systemctl enable mariadb.service
# systemctl start mariadb.service
To install the RabbitMQ message broker service
# yum install rabbitmq-server
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
启动服务时出现如下错误:
# rabbitmqctl change_password guest 123456
执行时如果有报错