OpenStack安装配置
- 格式:doc
- 大小:54.50 KB
- 文档页数:10
云计算基础平台搭建与管理OpenStack云计算平台运维步骤2:创建网络需要注意地是,在弹出地"创建网络"向导,"供应商网络类型"选择了Flat类型后,会多出来一个"物理网络"文本框,填入与控制节点地"/etc/neutron/plugins/ml2/ml2_conf.ini"文件"flat_works = provider"一致地内容,此处为"provider"。
步骤3:创建子网这里地网络地址是外网物理网段,网关IP设置是前面课程VMware设置地NAT网关。
步骤4:设置DHCP在这个界面,"分配地址池"填写地第一个IP地址是起始IP地址,第二个IP地址是结束IP地址,以逗号隔开。
1步骤1:创建实例类型。
在创建云主机地CPU,内存与磁盘等信息时,需要根据自己地硬件配置来设定,比如当前地计算节点内存为4GB时,这里地内存建议不要超过1GB,因为这样可以保证OpentStack有3GB地运行内存。
在实际工作,我们可以预先创建多种实例类型来满足不同虚拟机地需要。
步骤2:创建云主机实例在 OpenStack 地术语,一个实例就是一台虚拟机。
它从操作系统镜像启动,并且配置有特定数量地CPU,RAM 与磁盘空间,以及其它参数,例如网络或安全设置。
在创建实例对话框,填写地实例数量如果大于1地话会一次性建立多个实例,如果内存不够地话建议不要设置太多。
步骤2:创建云主机实例在 OpenStack 地术语,一个实例就是一台虚拟机。
它从操作系统镜像启动,并且配置有特定数量地CPU,RAM 与磁盘空间,以及其它参数,例如网络或安全设置。
在创建实例对话框,填写地实例数量如果大于1地话会一次性建立多个实例,如果内存不够地话建议不要设置太多。
2.在创建实例类型时,分配地硬件资源需要根据节点地硬件配置来设定。
以下是使用openstack的基本操作手册:
1. 安装openstack:根据您的系统和环境要求,遵循官方的安装指南进行安装。
2. 创建项目:使用命令行或管理界面创建一个新的项目。
项目将包含一组资源,包括计算、网络和存储资源。
3. 创建网络:在项目中创建一个新的网络。
网络是用于连接云中的虚拟机和其他资源的虚拟架构。
4. 创建虚拟机:使用命令行或管理界面在项目中创建一个新的虚拟机。
您需要指定所需的配置选项,例如操作系统、处理器、内存和存储。
5. 连接到虚拟机:使用SSH或其他远程桌面工具连接到虚拟机。
您需要提供虚拟机的IP地址和密码或密钥。
6. 配置和管理虚拟机:根据需要配置和管理虚拟机,例如安装软件、配置网络设置等。
7. 创建和管理云存储:使用命令行或管理界面在项目中创建一个新的云存储后端。
您可以定义存储的容量、访问级别和其他配置选项。
8. 创建和管理镜像:使用命令行或管理界面在项目中创建一个新的镜像。
镜像是虚拟机的完整快照,可用于创建新的虚拟机实例。
9. 管理和监控资源:使用命令行或管理界面监控和管理项目中的资源使用情况,例如CPU、内存和存储。
10. 删除项目和资源:根据需要删除项目和其中的资源,以释放云资源并降低成本。
以上是openstack的基本操作手册,根据您的具体需求,您可能需要进行其他高级配置和管理操作。
建议参考openstack的官方文档以获取更详细的信息和指导。
形考任务3:配置 OpenStack 服务实训报
告
1. 介绍
本报告旨在记录并总结在形考任务3中配置 OpenStack 服务的实训过程和所获得的成果。
2. 配置过程
在实训过程中,我们按照以下步骤进行了 OpenStack 服务的配置:
步骤一:安装 OpenStack
步骤二:配置网络
在安装完成后,我们进一步配置了网络,确保各个节点能够正确通信。
步骤三:创建项目和用户
接下来,我们创建了项目和用户,并为其分配了相应的权限,以便管理和访问 OpenStack 服务。
步骤四:导入镜像
我们从官方镜像库中导入了所需的镜像,以供实验和测试使用。
步骤五:创建虚拟机
通过使用导入的镜像,我们成功创建了多台虚拟机,并进行了
实验和测试。
3. 实训成果
通过上述配置过程,我们成功地完成了OpenStack 服务的配置,并获得了以下成果:
- 实验环境稳定:通过测试和验证,我们确认 OpenStack 服务
可以正常运行,并且各个组件之间能够正确通信。
- 虚拟机管理:成功创建了多台虚拟机,并对其进行了管理和
测试,包括启动、停止和重启等操作。
- 用户权限管理:通过创建项目和用户,并为其分配权限,我
们可以限制用户的访问和操作范围,保护系统安全。
4. 总结
通过完成形考任务3,我们对配置 OpenStack 服务有了更深入的了解,并掌握了基本的配置和管理技巧。
这对我们未来在云计算和虚拟化领域的研究和工作将会有很大的帮助。
以上是本次实训的配置报告,感谢您的阅读。
形考作业(三)部署-___-服务实训概述本文档旨在提供形考作业(三)部署___服务实训的指导。
OpenStack是一个开源的云计算平台,可用于创建和管理云环境中的各种资源,如虚拟机、网络和存储等。
本次实训旨在帮助学生了解并掌握OpenStack的基本使用和部署方法。
步骤一: 安装OpenStack1. 系统要求- 操作系统: 推荐使用Ubuntu Server 18.04 LTS- 硬件要求: 至少4GB RAM和100GB硬盘空间- 网络要求: 推荐使用静态IP地址,并确保网络连通性2. 系统准备- 更新系统软件包: 在终端中运行命令`sudo apt update`和`sudo apt upgrade`来更新系统软件包。
- 安装依赖项: 运行命令`sudo apt install python3-dev python3-pip`来安装Python相关依赖项。
- 安装OpenStack客户端: 运行命令`sudo pip3 install python-___来安装OpenStack客户端。
3. 安装OpenStack服务- 安装___主节点: 运行命令`sudo apt install ___来安装OpenStack主节点。
- 安装___网络节点: 运行命令`sudo apt install neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent`来安装OpenStack网络节点。
- 安装OpenStack存储节点: 运行命令`sudo apt install cinder-volume`来安装OpenStack存储节点。
步骤二: 配置OpenStack1. 配置数据库- 创建数据库: 运行命令`sudo mysql`进入MySQL命令行界面,并执行以下命令创建数据库:___;___ 'openstack'@'localhost' IDENTIFIED BY '密码';___'@'%' IDENTIFIED BY '密码';- 修改配置文件: 打开文件`/etc/neutron/neutron.conf`,找到并修改如下部分:[database]n = mysql+[DEFAULT]core_plugin = ml2service_plugins = routerallow_overlapping_ips = true- 重启服务: 运行命令`sudo service apache2 restart`来重启Apache服务。
花了几天时间尝试在VMWare Workstation的Ubuntu虚拟机中安装OpenStack,多次失败,最后还是用DevStack安装成功,这里记录一下最后总结的安装步骤和一些问题的解决方法。
创建虚拟机创建虚拟机时的一些注意事项:1.虚拟机的Type选择Custom,以自己定制一些选项;2.“Install from”选择“I will install operating system later”,这样能够自己控制Ubuntu的安装过程;3.Guest operating system选择Linux,V ersion选择“Ubuntu 64-bit”(64位虚拟机需要硬件支持;如果无法创建64位虚拟机,请选择Ubuntu);4.“Network connection”选择“Use bridged networking”,这样虚拟机将连接到你的物理网络,方便管理;其余的设置使用默认项就可以。
安装Ubuntu Server 12.10安装镜像下载从/download/server下载安装镜像,这里需要的是Ubuntu Server版本,而不是Desktop版本;如果能够用BT下载,建议到/download/desktop/alternative-downloads 下载.torrent种子进行下载,速度会比直接HTTP下载快;如果需要安装64位的Ubuntu,请下载ubuntu-12.10-server-amd64.iso,否则请下载ubuntu-12.10-server-i386.iso。
安装Ubuntu Server1.回到VMWare Workstation中,编辑在上一步中创建的虚拟机的属性,在Hardware列表中选中“CD/DVD”,在右侧设置中确认选中了“Connect at power on”,在“Connection”中选中“Use ISO image file:”,点击“Browse…”选择上一部下载的ISO镜像文件,点击OK保存设置。
openstack的安装和部署1.什么是云计算1:什么是云计算?云计算是通过虚拟化技术去实现的,它是⼀种按量付费的模式!2:为什么要⽤云计算?⼩公司:1年,20⼈+,500w,招⼀个运维,15k,(10台*1.5w,托管IDC机房,8k/年,带宽 100M,5个公⽹ip, 10k/⽉), 买10台云主机,600*10=6000⼤公司:举⾏活动,加集群,把闲置时间出租,超卖(kvm)16G,kvm,64G(ksm),⾦牌⽤户(200w+/⽉)3:云计算有哪些功能?虚拟机的管理平台(计费)kvm:1000宿主机(agent),虚拟出2w虚拟机,虚拟机的详细情况:硬件资源,ip情况统计?虚拟机管理平台:每台虚拟机的管理,都⽤数据库来统计4:云计算的服务类型IAAS 基础设施即服务 ECS云主机⾃⼰部署环境,⾃⼰管理代码和数据infrastructure as an servicePAAS(docker) 平台即服务提供软件的运⾏环境,java ,python,go, c#,nodejs ⾃⼰管理代码和数据platfrom as an serviceSAAS 软件即服务企业邮箱,cdn,rdssoftware as an serviceopenstack实现的是云计算IAAS,开源的云计算平台,apache 2.0,阿⾥云(飞天云平台)2.openstack (soa架构)云平台(keystone认证服务,glance镜像服务,nova计算服务,neutron⽹络服务,cinder存储服务,horizon web界⾯)每个服务:数据库,消息队列,memcached缓存,时间同步⾸页/index.html秒杀/miaosha/index.html会员:/plus/index.html登录:/login/indexnginx+php +mysql(500张表)SOA(拆业务,把每⼀个功能都拆成⼀个独⽴的web服务,每⼀个独⽴的web服务,⾄少拥有⼀个集群)微服务架构:亿级⽤户开源的微服框架阿⾥开源的dubbospring boot⾃动化代码上线 Jenkins + gitlab ci⾃动化代码质量检查 sonarqube官⽹:openstack 版本A-Z 开头3.虚拟机规划controller:内存3G,cpu开启虚拟化,ip:10.0.0.11compute01:内存1G,cpu开启虚拟化(必开),ip:10.0.0.31host解析,[root@controller ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.11 controller10.0.0.31 computer1[root@controller ~]# scp -rp /etc/hosts 10.0.0.31 /etc/hosts4.配置yum源1.挂载光盘[root@computer1 ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@controller ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only#查看(如果有内容代表挂载成功)[root@computer1 ~]# ll /mnttotal 686-rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTagdrwxr-xr-x 3 root root 2048 Nov 26 2018 EFI-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPLdrwxr-xr-x 3 root root 2048 Nov 26 2018 imagesdrwxr-xr-x 2 root root 2048 Nov 26 2018 isolinuxdrwxr-xr-x 2 root root 2048 Nov 26 2018 LiveOSdrwxrwxr-x 2 root root 663552 Nov 26 2018 Packagesdrwxrwxr-x 2 root root 4096 Nov 26 2018 repodata-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL[root@controller ~]# scp -rp openstack_rpm.tar.gz 10.0.0.31:/optrz 上传openstack_rpm.tar.gz到/opt,并解压⽣成repo配置⽂件root@controller opt]# vim/etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntgpgcheck=0[openstack]name=openstackbaseurl=file:///opt/repogpgcheck=0root@controller opt]#echo 'mount /dev/cdrom /mnt' >>/etc/rc.localroot@controller opt]# chmod +x /etc/rc.d/rc.local[root@controller opt]# scp -rp /etc/yum.repos.d/local.repo 10.0.0.31:/etc/yum.repos.d/local.repo [root@computer1 opt]# vim /etc/yum.repos.d/local.repo[root@computer1 opt]# echo 'mount /dev/cdrom /mnt' >>/etc/rc.local[root@computer1 opt]# chmod +x /etc/rc.d/rc.local#注意:两台都要配2.安装基础服务在所有节点上执⾏:a:时间同步[root@controller opt]# yum install -y chrony[root@computer1 opt]# yum install -y chrony#编辑控制节点配置⽂件[root@controller opt]# vim /etc/chrony.conf1.将 server iburst 改成server iburst另三⾏删掉2.将 #allow 192.168.0.0/1改成allow 10.0.0.0/24#重启服务[root@controller opt]# vim /etc/chrony.confsystemctl restart chronyd#编辑计算节点[root@computer1 opt]# vim /etc/chrony.conf将 server iburst 改成server 10.0.0.11 iburst另三⾏删掉[root@computer1 opt]# systemctl restart chronyd5.安装openstack客户端和openstack-selinux1.在所有节点上执⾏[root@control ~]# yum install python-openstackclient openstack-selinux -y[root@computer1 ~]# yum install python-openstackclient openstack-selinux -y查看官⽅⽂档6.安装数据库以及安全初始化2.仅控制节点执⾏:[root@control ~]# yum install mariadb mariadb-server python2-PyMySQL -y在官⽅⽂档上有https:///mitaka/zh_CN/install-guide-obs/environment-sql-database.html3.创建并编辑 /etc/f.d/f[root@control ~]# cat /etc/f.d/f[mysqld]bind-address = 10.0.0.11 # 值为控制节点的管理⽹络IP地址以使得其它节点可以通过管理⽹络访问数据库default-storage-engine = innodb #默认存储引擎innodb_file_per_table #为每个表独⽴表空间⽂件max_connections = 4096 #最⼤连接数collation-server = utf8_general_ci # 默认字符集character-set-server = utf84.启动mariadb 并加⼊开机⾃启[root@control ~]# systemctl start mariadb[root@control ~]# systemctl enable mariadb5. 为了保证数据库服务的安全性,运⾏[root@control ~]# mysql_secure_installation ⼀定要执⾏要不然后⾯时间同步会有坑脚本。
项目一 OpenStack安装云计算技术OpenStack云计算平台能力CAPACITY 要求了解云计算的概念、架构和模式,以及主流的云计算平台了解OpenStack项目,调查OpenStack的应用情况理解OpenStack的架构,了解OpenStack的物理部署了解OpenStack部署工具,掌握OpenStack的快捷安装方法内容导航CONTENTS任务一了解云计算任务二了解OpenStack项目任务三理解OpenStack架构任务四部署与安装OpenStack任务说明01OPTION02OPTION03OPTION了解OpenStack部署拓扑了解OpenStack部署工具准备OpenStack安装环境04OPTION使用Packstack安装器安装OpenStack知识引入•什么是虚拟化•虚拟化是云计算的基础。
•虚拟化是指计算元件在虚拟的而不是真实的硬件基础上运行。
•虚拟化将物理资源转变为具有可管理性的逻辑资源,以消除物理结构之间的隔离,将物理资源融为一个整体。
虚拟化是一种简化管理和优化资源的解决方案。
知识引入•什么是云计算•云(Cloud)是网络、互联网的一种比喻说法。
•云计算是提供虚拟化资源的模式。
•云计算提供的是IT资源租用服务。
•云计算是IT系统架构不断发展的产物。
知识引入•云计算架构知识引入云计算部署模式公有云(Public Cloud)私有云(Private Cloud )混合云(Hybrid Cloud )知识引入•裸金属云•裸金属云(Bare Metal Cloud)是一种提供物理服务器服务的云产品。
•裸金属云没有虚拟机管理程序(Hypervisor)。
•裸金属云支持的处理器ØIntelØPOWERØARMØGPUØFPGA•随着容器技术的兴起,物理服务器正成为更多用户的选择。
•Amazon 公司的AWS(Amazon Web Services )•Microsoft 公司的Azure •阿里云(AliCloud )了解商用云计算平台任务实现11项目一 OpenStack安装任务一 了解云计算开源云计算平台OpenStack OpenNebula Eucalyptus CloudStack任务实现项目一 OpenStack安装12 内容导航CONTENTS任务一了解云计算任务二了解OpenStack项目任务三理解OpenStack架构任务四部署与安装OpenStack任务说明01OPTION 02OPTION 03OPTION 了解OpenStack的概念了解OpenStack项目的组成了解OpenStack版本演变04OPTION 了解OpenStack基金会与社区05OPTION 调查OpenStack的应用情况知识引入•什么是OpenStack•OpenStack是一系列开源软件项目的组合。
openstack操作手册摘要:I.简介- Openstack 简介- 为什么使用Openstack- Openstack 的组成部分II.Openstack 安装与配置- 安装Openstack 的前提条件- 安装Openstack 的步骤- 配置OpenstackIII.Openstack 服务与组件- Openstack 服务的概述- 主要Openstack 组件的作用- Openstack 服务的实例IV.Openstack 命令行操作- 使用命令行操作Openstack- 常见命令介绍与示例- 高级命令与选项V.Openstack API 与自动化- Openstack API 概述- 使用Openstack API 进行自动化- 常见API 请求与响应VI.Openstack 与其他开源工具的集成- Openstack 与Keystone 集成- Openstack 与Glance 集成- Openstack 与Horizon 集成VII.常见问题与解决方案- 安装与配置问题- 操作与使用问题- 安全与稳定性问题正文:Openstack 是一个开源的云计算平台,用于部署私有云和公有云。
它提供了计算、存储和网络服务,并具有高度可扩展性和弹性。
Openstack 由几个主要组件组成,包括Nova、Glance、Keystone、Swift、Cinder、Neutron 等。
安装与配置Openstack 需要满足一些前提条件,例如安装Python、OpenSSL、Linux 内核等。
安装过程可以使用TripleO、Kolla、Packstack 等工具进行自动化部署。
在安装完成后,需要对Openstack 进行配置,包括设置数据库、消息队列、认证服务等方面的参数。
Openstack 提供了丰富的命令行工具,可以进行各种操作,例如创建项目、创建实例、挂载卷等。
常见的命令包括nova 命令、glance 命令、keystone 命令等。
OpenStackQ版本私有云平台搭建⼀、基本环境配置1.实训室局域⽹需添加路由访问服务器:route add 192.168.10.0/24 192.168.1.12.yum源配置(http)(1)yum源备份mv /etc/yum.repos.d/* /opt/(2)创建repo⽂件主备分别创建⽂件/etc/yum.repos.d/centos.repo。
touch /etc/yum.repos.d/centos.repo1)控制节点echo '[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1[iaas]name=iaasbaseurl=file:///opt/iaas-repogpgcheck=0enabled=1' > /etc/yum.repos.d/centos.repo2)计算节点echo '[centos]name=centos# baseurl=ftp://192.168.10.10/centosbaseurl=http://192.168.10.10/centosgpgcheck=0enabled=1[iaas]name=iaas# baseurl=ftp://192.168.10.10/iaas-repobaseurl=http://192.168.10.10/iaas-repogpgcheck=0enabled=1 ' > /etc/yum.repos.d/centos.repo(3)挂载iso⽂件(主)1)挂载ceontos镜像需要先上传镜像cd /root/;mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt/;mkdir /opt/centos;cp -rvf /mnt/* /opt/centos/ && umount /mnt/;cp -rvf /mnt/* /opt/;umount /mnt/;(4)搭建http服务器,开启并设置⾃启1)控制节点yum repolistyum install -y httpdvi /etc/httpd/conf/httpd.conf将/var/www 改为/optDocumentRoot "/opt"<Directory "/opt">AllowOverride None# Allow open access:Require all granted</Directory># Further relax access to the default document root:<Directory "/opt">systemctl restart httpd;systemctl enable httpd;systemctl stop firewalld;systemctl disable firewalld;netstat -pant;2)计算节点yum clean all;yum repolist;(5)配置防⽕墙和selinux(控制/计算节点)编辑selinux⽂件sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config 关闭防⽕墙并设置开机不⾃启systemctl stop firewalld.service;systemctl disable firewalld.service;yum remove -y NetworkManager firewalld;yum -y install iptables-services;systemctl enable iptables;systemctl restart iptables;iptables -F;iptables -X;iptables -Z;service iptables save;(6)清除缓存,验证yum源【controller/compute】yum clean all;yum list;3.编辑环境变量在controller和compute节点安装iaas-xiandian包:yum install iaas-xiandian -y创建两个空⽩磁盘空间fdisk /dev/sdcn,p,回车,回车,+500Gn,p,回车,回车,+500Gw编辑修改配置⽂件/etc/xiandian.openrc.shecho '##--------------------system Config--------------------####Controller Server Manager IP. example:x.x.x.xHOST_IP=192.168.10.10##Controller HOST Password. example:000000HOST_PASS=000000##Controller Server hostname. example:controllerHOST_NAME=controller##Compute Node Manager IP. example:x.x.x.xHOST_IP_NODE=192.168.10.20##Compute HOST Password. example:000000HOST_PASS_NODE=000000##Compute Node hostname. example:computeHOST_NAME_NODE=compute##--------------------Chrony Config-------------------####Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24) network_segment_IP=192.168.10.0/24##--------------------Rabbit Config ------------------####user for rabbit. example:openstackRABBIT_USER=openstack##Password for rabbit user .example:000000RABBIT_PASS=000000##--------------------MySQL Config---------------------####Password for MySQL root user . exmaple:000000DB_PASS=000000##--------------------Keystone Config------------------####Password for Keystore admin user. exmaple:000000 DOMAIN_NAME=demoADMIN_PASS=000000DEMO_PASS=000000##Password for Mysql keystore user. exmaple:000000 KEYSTONE_DBPASS=000000##--------------------Glance Config--------------------####Password for Mysql glance user. exmaple:000000 GLANCE_DBPASS=000000##Password for Keystore glance user. exmaple:000000 GLANCE_PASS=000000##--------------------Nova Config----------------------####Password for Mysql nova user. exmaple:000000##Password for Mysql neutron user. exmaple:000000 NEUTRON_DBPASS=000000##Password for Keystore neutron user. exmaple:000000 NEUTRON_PASS=000000##metadata secret for neutron. exmaple:000000METADATA_SECRET=000000##Tunnel Network Interface. example:x.x.x.xINTERFACE_IP=192.168.10.10/192.168.10.20##External Network Interface. example:eth1 第⼆张⽹卡INTERFACE_NAME=enp8s0##External Network The Physical Adapter. example:provider Physical_NAME=provider##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101 minvlan=1##Last Vlan ID in VLAN RANGE for VLAN Network. example:200 maxvlan=2000##--------------------Cinder Config--------------------####Password for Mysql cinder user. exmaple:000000CINDER_DBPASS=000000##Password for Keystore cinder user. exmaple:000000 CINDER_PASS=000000##Cinder Block Disk. example:md126p3BLOCK_DISK=sdc2##--------------------Swift Config---------------------####Password for Keystore swift user. exmaple:000000SWIFT_PASS=000000##The NODE Object Disk for Swift. example:md126p4. OBJECT_DISK=sdc3##The NODE IP for Swift Storage Network. example:x.x.x.x. STORAGE_LOCAL_NET_IP=192.168.10.20##--------------------Heat Config----------------------####Password for Mysql heat user. exmaple:000000HEAT_DBPASS=000000##Password for Keystore heat user. exmaple:000000HEAT_PASS=000000##--------------------Zun Config-----------------------####Password for Mysql Zun user. exmaple:000000ZUN_DBPASS=000000##Password for Keystore Zun user. exmaple:000000ZUN_PASS=000000##Password for Mysql Kuryr user. exmaple:000000##Password for Gnocchi ceilometer user. exmaple:000000CEILOMETER_DBPASS=000000##Password for Keystore ceilometer user. exmaple:000000CEILOMETER_PASS=000000##--------------------AODH Config----------------####Password for Mysql AODH user. exmaple:000000AODH_DBPASS=000000##Password for Keystore AODH user. exmaple:000000AODH_PASS=000000##--------------------Barbican Config----------------####Password for Mysql Barbican user. exmaple:000000BARBICAN_DBPASS=000000##Password for Keystore Barbican user. exmaple:000000BARBICAN_PASS=000000' > /etc/xiandian/openrc.sh计算节点:sed -i 's/#INTERFACE_IP=/INTERFACE_IP=192.168.10.20/g' /etc/xiandian/openrc.sh4.通过脚本安装服务(openstack包安装、配置域名解析、安装chrony服务)控制/计算节点分别执⾏: (/usr/local/bin/)iaas-pre-host.shctrl+d退出登录,重新登录服务器。
实验二:认证服务Keystone的安装、配置实验目的本次实验的目的是为了让学生通过实际安装配置Keystone来加深对Keystone组件的理解。
(本次实验Keystone安装在controller上)实验内容配置认证服务配置apache服务创建服务实体和API端点创建一个domain,projects、users、roles验证操作创建OpenStack脚本实验步骤①、首先输入密码123456,登录进入虚拟机。
②、然后单击Terminal,进入命令行界面。
③、由于所有步骤与操作均需要在root权限下执行,所以需要切换到root用户下:su输入密码:1234561. 配置认证服务(CONTROLLER下)以root用户身份进入数据库(本环境中默认MYSQL数据库密码为123456):mysql -u root -p创建keystone数据库:CREATE DATABASE keystone;赋予keystone相关权限(替换KEYSTONE_DBPASS为你自己的密码,如123456):GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';退出数据库:quit生成一个20位随机值作为初始配置期间管理令牌并记录下来:openssl rand -hex 10例如:我们这里生成的值为34755335fed9c5827e34禁用keystone自动启动:echo "manual" > /etc/init/keystone.override安装软件包keystone apache2 libapache2-mod-wsgi:apt-get install keystone apache2 libapache2-mod-wsgi编辑/etc/keystone/keystone.conf:gedit /etc/keystone/keystone.conf在[DEFAULT]下面添加(替换ADMIN_TOKEN为之前生成的20位随机数,例如本例中生成的34755335fed9c5827e34),记得把注释的#去掉。
OpenStack安装配置篇OpenStack是一套用来管理虚拟机的平台软件。
它不是一个单一的软件,而是集成了很多个组件用来协同合作。
简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。
类似的,红帽也有virsh 这种管理虚拟机的程序。
在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。
如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。
在本篇文章里,我将介绍采用ec2兼容认证的方式。
所有组件安装在一台controller 上。
关键字定义控制端:类似vcenter的管理系统。
节点:类似安装了esx的服务器。
nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。
glance组件:用来管理镜像。
环境准备ubuntu 11.10,服务器双网卡步骤安装完基本的操作系统后$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install bridge-utils #安装网桥软件配置网络接口在这里我的架构是eth0连接了外网,即我們可以访问的网口。
eth1做了网桥,和节点之间通过一个交换机连接。
这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。
$ sudo vi /etc/network/interfacesauto eth0iface eth0 inet staticaddress 192.168.200.21netmask 255.255.255.0network 192.168.200.0broadcast 192.168.200.255gateway 192.168.200.10auto br100iface br100 inet staticbridge_ports eth1bridge_stp offbridge_maxwait 0bridge_fd 0address 10.200.200.2netmask 255.255.255.0$ sudo /etc/init.d/networking restart初期准备工作做好,接下来就是要安装关于nova,glance等组件$ sudo apt-get install -y rabbitmq-server #安装MQ消息組件$ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖$ sudo apt-get install nova-volume nova-vncproxy nova-apinova-ajax-console-proxy$ sudo apt-get install nova-doc nova-scheduler nova-objectstore$ sudo apt-get install nova-network nova-compute$ sudo apt-get install glance安装euca2ools和unzip$ sudo apt-get install -y euca2ools unzip接下来我们安装数据库,这裡我选择了MySQL,其实个人觉得PostgreSQL更好。
$ sudo su -# MYSQL_PASS=nova 设定mysql的密码和nova数据库的密码# cat <<MYSQL_PRESEED | debconf-set-selections>mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS>mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS>mysql-server-5.1 mysql-server/start_on_boot boolean true>MYSQL_PRESEED# apt-get install -y mysql-server# exit 退出root环境$ sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/f 修改f配置文件$ sudo service mysql restart$ MYSQL_PASS=nova 在普通用户环境下把密码再次设置一下变量$ NOVA_PASS=notnova 这是nova数据库的密码$ sudo mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;' 创建一个名字为nova 的数据库,这裡建议新手使用nova的名字,如果这裡换别的名字,那麽在nova的配置文件裡面也需要更改$ sudo mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'nova'@'%' WITH GRANT OPTION;"$ sudo mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'nova'@'%' = PASSWORD('$NOVA_PASS');"至此,nova,glance的安装部分完成,接下来是配置。
nova配置$ sudo vi /etc/nova/nova.conf--dhcpbridge_flagfile=/etc/nova/nova.conf--dhcpbridge=/usr/bin/nova-dhcpbridge--logdir=/var/log/nova--state_path=/data/openstack/nova 这裡的/data/openstack/nova是我新建的一个卷和目录,确保你有这个,并且要属于nova用户,或者你也可以使用他的默认设置--instances_path=/data/openstack/nova/instances 修改了默认存放instances的地方--lock_path=/var/lock/nova--force_dhcp_release=True--use_deprecated_auth--iscsi_helper=tgtadm--verbose--scheduler_driver=nova.scheduler.simple.SimpleScheduler--network_manager=work.manager.FlatDHCPManager--my_ip=10.200.200.2 这是我的内网ip地址--public_inter>--sql_connection=mysql://nova:notnova@localhost/nova 刚才建立的数据库--libvirt_type=kvm--api_paste_config=/etc/nova/api-paste.ini--image_service=nova.image.glance.GlanceImageService--ec2_dmz_host=192.168.200.21--ec2_url=http://192.168.200.21:8773/services/Cloud--rabbit_host=localhost--glance_api_servers=10.200.200.2:9292--flat_network_bridge=br100--flat_inter>--flat_network_dhcp_start=10.200.200.51 指定从instances分配从51开始,但貌似这个选项不起作用--fixed_range=10.200.200.0/24 这个选项指定instances的网段--flat_injected=False--multi_host=1 使用multi_host,即以后可以在节点上也使用nova-network--libvirt_use_virtio_for_bridges 使用virtio做instances的网卡模式然后是glance的:$ sudo vi /etc/glance/glance-api.conf修改filesystem_store_datadir参数,来指定你需要存放images的目录,当然属主也要改成glance用户。
$ sudo vi /etc/glance/glance-registry.conf这个文件可以选修改sql_connection参数来指定你的数据库。
如果你要修改,使用mysql里面的数据库,请确保在mysql裡面建立了一个相对应的数据库sql_connection = mysql://nova:notnova@localhost/glance这是我的配置,我在mysql建立了一个glance的数据库$ sudo chown -R root:nova /etc/nova改变一下/etc/nova的属主$ sudo chmod 640 /etc/nova/nova.conf重启各个服务$ sudo restart libvirt-bin$ sudo restart nova-network$ sudo restart nova-compute$ sudo restart nova-api$ sudo restart nova-objectstore$ sudo restart nova-scheduler$ sudo restart glance-registry$ sudo restart glance-api注意:我们这裡没有起nova-volume,是因为虽然我们安装了volume,但是volume需要单独的一个vg来使用,我们现在还没配置volume,所以起不来。
这裡可能network服务和compute没法起来,先暂时不要去管。
接下去,我们做配置nova的运行环境了$ sudo nova-manage db syncnova-manage user admin <user_name>在这裡我们可以创建一个用户,如$ sudo nova-manage user admin test创建成功屏幕上会返回下面这样的输出:export EC2_ACCESS_KEY=d6aa7747-4324-4abc-9604-4f7d6a2f8f3fexport EC2_SECRET_KEY=2b204b75-da2d-47b8-ba7a-611d71f0ecbfnova-manage project create <project_name> <user_name>创建一个项目,属于刚才我们建的那个用户如:$ sudo nova-manage project create test-proj testnova-manage network create --help创建一个实例的网络,如:$ sudo nova-manage network create --label=test-net--fixed_range_v4=10.200.200.0/24 --num_network=1 --network_size=256 再次启动刚才失败的服务$ sudo start nova-network$ sudo start nova-compute$ sudo start nova-scheduler怎么样,成功了吧。