自动化部署--openstack
一、安装环境:
1、 所需物理主机的要求如下
内存:8GB+,推荐16GB;(少于8GB的就免谈了)
磁盘:500GB+;
物理机OS:ubuntu-desktop-amd64 14.04(推荐) 或windows64位
物理机安装软件:安装virtualBox4.3.36及以上版本以及相应扩展包(推荐
4.3.36for ubuntu ,5.0.20for windows)。系统需要支持IVT即虚拟化。
2、 如何查看IVT
开机进入系统主板,Advance->Intel Virtualization Tech->设置为enable
3、网络环境
3.1、Vmware网络设置:
3.2云环境物理网络规划:
网卡名称 |
IP地址 |
描述 |
vmnet2 |
10.20.0.0/24 |
PXE网络 |
vmnet3 |
10.0.0.0/24 |
外部网络 |
vmnet4 |
192.168.10.0/24 |
管理网络 |
vmnet5 |
192.168.20.0/24 |
存储网络 |
vmnet6 |
192.168.30.0/24 |
私有网络 |
外部网络:controller每个节点需要一个外网IP地址,该网络还用于虚拟机外部网络访问(例如:float网络)
管理网络:管理网络OpenStack api网络;
存储网络:机访问ceph的网络
私有网络:租户网络(vm网络)
二、安装fule
1、fule下载地址:
注意:安装fule时系统盘的大小最少需要50GB
2、启动fule-master虚拟机
(如果使用vmware虚拟机创建磁盘的类型为IDE,否则在安装fuel的时候会报错),看到如下画面,选择第一项,如果要更改PXE网络的IP地址和子网掩码等信息,按tab键更改,更改完成后按enter进行安装;推荐默认的IP地址和子网掩码,这里直接enter进行安装。
安装过程不用人为干预,一直等待安装便可,注意:安装master的过程强烈推荐使用默认配置,不要更改任何配置,以免安装完毕出问题。
注意:如果安装过程中没有出现上面设置界面输入fuelmenu命令,进入配置。
配置完成选择
Quit setup > Save and Quit
继续等待半个小时左右提示安装ok即可
三、更新fuel9.0版本到fuel9.2
1、安装fuel9.2的源
yum install -y \
yum clean all
yum makecache
yum install -y mos-updates
2、更新fuelmaster(以下playbook必须在指定路径执行)
cd mos_playbooks/mos_mu
ansible-playbook playbooks/mos9_prepare_fuel.yml
ansible-playbook playbooks/update_fuel.yml \
-e '{"rebuild_bootstrap":false}'
ansible-playbook playbooks/update_fuel.yml
ansible-playbook \
playbooks/mos9_fuel_upgrade_kernel_4.4.yml
验证版本更新成功
fuel2 fuel-version
3、制作本地MOS和mirrors源
修改配置文件/usr/share/fuel-mirror/ubuntu.yaml
ubuntu_baseurl http://mirrors.aliyun.com/ubuntu
开始在线同步mirrors源到本地
fuel-createmirror
4、制作bootstrap源
创建bootstrap配置 文件
cd /usr/share/fuel_bootstrap_cli/
cp fuel_bootstrap_cli.yaml.sample fuel_bootstrap_cli.yaml
修改配置文件,取消配置文件95~115行注释;修改源地址为http://mirrors.aliyun.com
sed –i ‘s/archive.ubuntu.com/mirrors.aliyun.com/g \
fuel_bootstrap_cli.yaml
在线制作bootstraps
fuel-bootstrap build
fuel-bootstrap import /tmp/$uuid.tar.gz
fuel-bootstrap activate
验证bootstrap制作完成
fuel-bootstrap list
四、配置本地源 (可选)
2、将下载的mirrors文件上传到/var/www/nailgn目录下并解压。
unzip mirrors.zip
mv mirrors /var/www/nailgun/
运行fuel-createmirror将fuel源地址变为本地源,在执行的过程中可能需要联网,如果您的fuel master节点不能访问外网在createmirror的时候会报错,这个错误可以忽略。
fuel-createmirror
3、导入Bootstrap
3.1、先将bootstrap.tar.gz拷贝至master节点的/root目录下。
[root@fuel ~]# ls
anaconda.cmdline.vars anacondapost-configure-repos.log
anaconda-ks.cfg anaconda-post-configure-sysconfig.log
anaconda-parse-cmdline.log anaconda-post-interface-settings.log
anaconda-post-before-chroot.log anaconda-post-partition.log
anaconda-post-configure-autologon.log bootstrap.tar.gz
3.2、查看是否有激活的bootstrap
还可以使用在线创建bootstrap
fuel-bootstrap build --activate
3.5、验证bootstrap
4、部署报错记录
ERR(/Stage[main]/Main/Exec[sync_time_shell]/returns) change from notrun to 0 failed: /bin/bash "/etc/puppet/shell_manifests/sync_time_command.sh" returned 1 instead of one of [0]
测试节点使用ntpdate命令无法与fuelmaster节点同步时间,解决ntp-server即可。
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
在openstack各个节点添加host
172.16.1.21.fuel.pool.ntp.org
172.16.1.20.fuel.pool.ntp..org
172.16.1.22.fuel.pool.ntp.org
或者在fuelmaster ntp配置文件中删除server
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
每个控制节点:
vim /etc/cinder/cinder.conf
注释掉verbose = true
执行su -s /bin/bash cinder -c "cinder-manage db sync"