Fuel-Openstack的搭建以及PXE方式的节点安装
Posted 何以解忧 `唯有暴富
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fuel-Openstack的搭建以及PXE方式的节点安装相关的知识,希望对你有一定的参考价值。
什么是OPENSTACK
OpenStack是一个云操作系统,它控制着整个数据中心的大量计算、存储和网络资源池,所有这些资源都通过api进行管理和发放,这些api具有通用的认证机制。
仪表板也可用,让管理员控制,同时授权他们的用户提供资源通过一个web界面。
除了标准的基础设施即服务功能外,其他组件还在其他服务中提供编排、故障管理和服务管理,以确保用户应用程序的高可用性。
网站
https://www.openstack.org/software/
下载镜像
https://www.mirantis.com/software/mcp/openstack/download/thank-you/
下载地址
bootstraps
https://download.csdn.net/download/g313105910/19326642
https://pan.baidu.com/s/1jij8Ljmd6EnjcfGGosbG_A提取码qore
mirrors.zip
https://pan.baidu.com/s/1f3I_cnOw2x695o-bvNYFOg提取码t0dj
MirantisOpenStack-9.0.iso
https://pan.baidu.com/s/1ZPVAL46U3c0Jhgq2Q3jIiQ提取码0a7o
一、在虚拟机中安装Openstack管理节点
常用的虚拟机软件有vmware和virtualbox,这里我们使用virtualbox,下载
地址:https://www.virtualbox.org/wiki/Downloads
配置Virtual Box网络,单击右键选择“主机网络管理器”,然后创建三张虚拟网卡,IP地址设置如下,禁用DHCP服务器。
1、10.20.0.1 master节点通过pxe网络部署openstack的专用网络;
2、192.168.0.1 openstack公共网络,给实例提供浮动IP并提供外部网络;
3、192.168.20.1 openstack的内部,管理,存储网络,该网络在vintualbox要开启混合模式,在VMware Workstation要配置该网络的vintualbox要配置该网络的vlan id的值为4095。
第一个网卡、10.20.0.1 master节点通过pxe网络部署openstack的专用网络;
第二个网卡、192.168.0.1 openstack公共网络,给实例提供浮动IP并提供外部网络;
第三个网卡、192.168.10.1 openstack的内部,管理,存储网络
一共使用3台虚拟机进行测试
Fuel-master 1 CPU+ 60GB +3网卡+2GB以上内存,使用iso镜像安装
Fuel-Controller 2 CPU +120GB+3网卡+4GB内存,PXE模式安装,切记不要用iso安装
Fuel-Compute 4 CPU +120GB+3网卡+4GB内存,PXE模式安装,切记不要用iso安装
新建虚拟机
然后设置3个网卡
网卡1
网卡2
网卡3
热键-热键-热键设置,将主机组合键设置为Ctrl+Alt就可以将鼠标从虚拟机中切出了
运行起来选择镜像MirantisOpenStack-9.0.iso
一段时间后进入Fuel-Menu界面你可以在这里修改默认密码和一些设置.
在BootstrapImage选项,选择Skip building bootstrap image,
因为如果不选择的话,默认Fuel会从国外获取源,速度很慢的,会导致安装失败,选择以后使用本地源进行部署
经过漫长的等待,期间很久都没有变化,以为卡死了,大概1小时左右我们就可以进入Fuel的登录界面了,此过程中切勿关闭或者重启虚拟机,任何不必要的操作都可能导致安装失败,出现下面的画面,到这里Fuel-master的安装就结束了。
密码默认是r00tme,修改IP
上面已经显示用户名和密码了,直接登录就可以了,输入cat /etc/redhat-release查看系统版本
开启ssh服务service sshd start,使用PuTTY远程连接,如果能ping通但是无法远程,需要关闭防火墙service iptables stop
########
此处可以忽略不影响测试运行,这种方式下载源的速度会快些
然后使用FileZilla把本地源和bootstrp上传,如果有冲突直接替换掉,如果网络好可以不用替换源和bootstraps程序
然后使用xshell,运行Fuel-createmirror命令,此命令目的是让web后台管理界面的源地址变为本地地址.
########
三个网卡都能ping通
OpenStack已经可以登录了,剩下两个节点使用PXE模式安装,切记不要用iso安装
二、部署Openstack
2.1登录
用户名admin密码可能是admin也可能是123456自己尝试
2.2新建Openstack环境
名称和版本
计算
网络设置、选择使用Neutron ML2插件,并使用VLAN
后端存储
附加服务、暂不选择安装附加服务
在关闭服务器的时候,一定要先执行 stop-all ,不然,会使内存信息丢失,再次启动服务器的时候,就会出现这个问题
三、节点安装,节点使用PXE方式安装,有好多教程这里没有详细说明,我也采坑了
PXE有什么用?
前面已经提到,PXE是用来通过网络引导系统的,但是为什么要这么做呢?可以参考下面的场景:
1. 你现在有1台电脑需要装系统,那么很简单,你拿上一个U盘安装盘插在这台电脑上,然后从U盘启动,之后就可以手动安装系统了;但如果你现在有100台电脑,如果你在拿着一个U盘安装盘一台台安装,那效率肯定是太低了,这个时候PXE就派上用场了。
2. 某公司对信息安全要求比较高,需要使用无盘系统(系统不在本地电脑上,而在公司特定的服务器上),这个时候也需要使用PXE。
3. 你想要一台远程的电脑运行你手上特定的系统,这个时候你就可以在本地布置一个你手上的系统,然后通过PXE启动你本地的系统(这个可能需要额外的支持,比如BMC,因为要远程)。
3.1新建一台虚拟机Fuel-Controller
网络与master使用相同配置,启动顺序要将网络启动放到第一位,然后启动虚拟机
选择ubuntu_bootstrap启动
提示invalid or corrupt kernel image.
验证一下激活状态
#fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6
#fuel-bootstrap list
这就好了,如果没有上传过资源,使用iso自带的就不会出现这个错误
安装好Ubuntu后系统自动运行,然后Fuel控制台中就会出现一个未分配节点,在创建一个虚拟机
新建计算几点虚拟机
同样设置3个网卡
设置网络启动为第一启动项,需要开启它CPU硬件辅助虚拟化
硬件加速
开始安装计算机节点
安装完毕三个节点都正常运行,网络都可以互相连通
四、节点配置
添加Controller节点
添加Computer节点
配置端口Controller端口
只是看了一眼,什么也没修改
修改default配置
修改Host OS DNS Servers配置
然后验证一下网络,大约需要1分钟左右
基础配置,找到operating system access,修改密码为简单点的,不然部署好以后输入密码可麻烦了!
没有问题后部署
等待
进入节点中可以看见,节点正在安装Ubuntu,一会会安装Openstack,等待全部安装完毕,状态会显示为已就绪
错误1
如果出现错误,点击日志查看,根据日志错误进行修改,如果出现下面错误
ERROR: Unable to communicate with at least one of NTP server, checked the following host(s): ["0.fuel.pool.ntp.org", "1.fuel.pool.ntp.org", "2.fuel.pool.ntp.org"] on node node-1.domain.tld
是Host OS DNS Servers配置不对,因为仅主机模式虚拟机是无法访问公网的
也可以通过在openstack各个节点添加host(本人没试过)
172.16.1.2 1.fuel.pool.ntp.org
172.16.1.2 0.fuel.pool.ntp..org
172.16.1.2 2.fuel.pool.ntp.org
或者在fuelmaster ntp配置文件中删除server,配置查看cat /etc/fuel/astute.yaml
可以在主机上搭建一个ntp时间服务器,亲测可以
连接:Windows10搭建NTP授时服务器
错误2
我也没遇见过,网上其他人遇到过,说是将虚拟机内存调整到6G就好了
如果远程链接不到虚拟机里的各个节点系统,需要关闭防火墙
firewall-cmd --state
systemctl stop firewalld.service
永久关闭
systemctl status firewalld.service
systemctl disable firewalld.service
常用命令
列出所有节点fuel node list
fuel help
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
--fuel-version show Fuel server's version number and exit. WARNING:
deprecated since 7.0 release. Please use fuel-version
command instead
--debug prints details of all HTTP request
--yaml prints only yaml to stdout
--json prints only json to stdout
--os-auth-url <auth-url>
Authentication URL, defaults to env[OS_AUTH_URL].
--os-tenant-name <auth-tenant-name>
Authentication tenant name, defaults to
env[OS_TENANT_NAME].
--os-username <auth-username>
Authentication username, defaults to env[OS_USERNAME].
--os-password <auth-password>
Authentication password, defaults to env[OS_PASSWORD].
Namespaces:
actions
openstack-config Manage openstack configuration
vip Download or upload VIP settings of specific
environments.
notify Shortcut for quickly sending a notification.
plugins List and modify currently available releases
fuel-version Show Fuel server's version
network Show or modify network settings of specific
environments
graph Manipulate deployment graph's representation.
network-template Manipulate network templates for a specific
environment
provisioning Show computed provisioning facts for orchestrator
environment Create, list and modify currently existing
environments(clusters)
deploy-changes Deploy changes to environments
health Run health check on environment
network-group Show or modify network groups
role List all roles for specific release
nodegroup Show or modify node groups
node List and assign available nodes to environments
redeploy-changes Redeploy changes to environment which is in the
operational state
stop Stop deployment process for specific environment
deployment-tasks Show deployment tasks
notifications List and create notifications
user Change password for user
deployment Show computed deployment facts for orchestrator
reset Reset deployed process for specific environment
task Show tasks
settings Show or modify environment settings
token Return a valid keystone auth token
snapshot Generate and download snapshot.
release List and modify currently available releases
vmware-settings Show or modify environment vmware settings
登录节点系统,亲测是可以登录的,修改后不一定好使
fueladmin
2RaXiI91DTyEHybeVPwHA8UB
在节点测试ntp授时是否成功,需要加sudo
sudo ntpdate -u 10.20.0.1
ntp解决后,2个节点统统安装成功
五、创建云主机并实现远程访问
5.1、登录
输入用户名admin和密码admin
登录成功界面
5.2、添加访问规则
进入 “访问&安全”页面
点击“管理规则”,进入“管理安全组规则”页面,点击“添加规则”,进入“添加规则”对话框,分别添加“ALL ICMP”和“SSH”规则。
5.3、上传镜像(请使用谷歌浏览器,其他浏览器有可能会出错)
下载地址:
CentOS6:http://cloud.centos.org/centos/6/images/
CentOS7:http://cloud.centos.org/centos/7/images/
Ubuntu14.04:http://cloud-images.ubuntu.com/trusty/current/
Ubuntu16.04:http://cloud-images.ubuntu.com/xenial/current/
在使用QEMU或在QEMU-KVM时,如果不知道下载的image文件的root用户的密码,可以使用guestfish工具去修改。
进入“镜像”页面,点击创建镜像
5.4、创建云主机
进入“云主机”页面,点击 “创建云主机”,填入名称:
选择源:
选择内存大小:
选择网络:
选择安全组:
选择密钥对,如果没有,创建一个
在其他选项,如果需要可以去添加,不需要,我们就不添加了。点击启动实例,等待一段时间后,就可以看到启动的实例了,启动速度取决于服务器的配置,我的服务器配置较低启动用了5分钟
成功运行起来了
我们可以点击云主机名称,来查看云主机的基本信息:
通过VNC访问云主机这种方式的访问速度不太理想,所以我们采用其他工具进行访问
5.5、绑定浮动IP
进入“云主机”页面,点击创建的云主机后面的下拉箭头,选择“绑定浮动IP”
点击IP地址栏的加号,在出现的界面点击“分配IP”
5.6远程访问云主机
使用用户名密码访问
以上是关于Fuel-Openstack的搭建以及PXE方式的节点安装的主要内容,如果未能解决你的问题,请参考以下文章
使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器