准备环境
新建虚拟机采用Ubuntu 18.04版,双网卡
界面配置第一个网卡
address:192.168.210.xxx
netmask:255.255.255.0
gateway:192.168.210.254
dns-nameserver:8.8.8.8
(选择安装)
网络工具:apt install net-tools 查看ifconfig 网卡信息
interfaces网卡配置详解
打开SSH
更换apt源(清华源)和pip源(清华源)
更新apt-get update, apt-get upgrade,安装 apt install python-pip
安装apt-get install git
开始安装
参看教程
需要更改的地方:
- 更换devstack的Git源(https://github.com/openstack/devstack.git)
- 脚本文件中更换其中各个组件的Git源(到devstack中逐个查找更换)
- 注意网卡的配置信息,切记
问题解决
- 虚拟环境问题
参考博客1,参考博客2中的问题1 - Hacking版本问题
打开并修改/opt/stack/tacker-horizon/test-requirements.txt中的版本限制,选择直接注释掉 - 报错Unable to establish SSL connection
参考博客中的问题2 - 解压uwsgi,找不到相关目录或者文件
打开devstack/lib/apache,修改第97行的匹配模式(ls uwsgi*)为(.tar.gz);修改打开路径(uwsgi/apache2)为($dir/apache2)。 - openstack的组件克隆问题
因为网络问题可能克隆失败,可以选择更换克隆地址,单独执行。 - 无法卸载某些安装包(pustil)的问题
执行命令sudo pip install XXX -U --ignore-installed - 卡在cloning Nova(或者其他组件)
换网址https://gitee.com/sulinuxsu/nova.git 单独执行命令 - openstack服务器重启后无法上网
原因是openstack将外网网卡ens3加入网桥之中,配置无法生效。给网桥配置相关的IP地址和路由即可。
ifconfig br-ex 192.168.210.XXX/24
ip route add default via 192.168.210.254 dev br-ex
- openstack中存在界面删除失败的问题,一下分类解决
- 虚拟机删除失败的问题:打开对应的nova数据库(多节点情况下找到对应的节点nova_cell**)将虚拟机对应的deleted状态置为id号即可;
- 卷服务删除的问题:先在数据库中删除对应的信息,然后将饼图(quota)中卷的deleted状态置为1;
- 网络服务无法删除的问题:包含网络服务、网络服务模板、转发图模板、和VNF。删除数据库时会遇见外键约束的问题无法删除,可以根据外键约束信息提示找到相应的依赖表,然后逐个删除。
常用命令:
给虚拟机分配单个固定地址
nova boot --image ubuntu 18.04 --flavor m1.small --nic net-name=net_5g,v4-fixed-ip=5.5.100.2 mano_k8s_master
指定虚拟机的镜像、实例类型名称、虚拟机创建在的可用域名称及可用域中指定的node节点名称、网络名称以及分配给虚拟机的固定IP地址、所创建的虚拟机名称
给虚拟机分配双网卡固定地址
nova boot \
--image ubuntu_5gc \
--flavor m1.small \
--nic net-name=net_5g,v4-fixed-ip=5.5.100.51 \
--nic net-name=net_ngap,v4-fixed-ip=5.5.200.101 \
amf
openstack是有多用户的,网络名称可能会冲突,通过网络ID区分不会冲突;
通过 openstack network list 查看网络ID
批量创建100个虚拟机到10个node节点上
vim create-virtual-machine.sh
#!/bin/bash
node=1
for i in `seq 100`;do
while true;do
if [ $node -le 10 ];
then
nova boot --image CentOS-7.2.1511-template --flavor 1C-1G-25G --availability-zone projectA:openstack-node${node}.example.local --nic net-name=internal-net,v4-fixed-ip=10.10.7.${i} VM${i}
node=$[node+1]
break
else
node=1
nova boot --image CentOS-7.2.1511-template --flavor 1C-1G-25G --availability-zone projectA:openstack-node${node}.example.local --nic net-name=internal-net,v4-fixed-ip=10.10.7.${i} VM${i}
node=$[node+1]
break
fi
done
done
数据库操作常用的命令:
进入数据库:~# mysql -u root -p,然后输入密码
查看数据库:~# show databases;
使用数据库:~# use <database name>;
查看数据库包含表:~# show tables;
查看表内容:~# select * from <table name>;
删除表中对应行的内容:~# delete from <table name> where INFORMATION=;
删除表中所有内容:~# delete from <table name>;
更新表中的信息:~# update from <table name> set KEY-NAME= where INFORMATION=*;
Openstack日志查看
Openstack的日志全部放在了systemctl里面
- 查看各个组件的服务名
~# sudo systemctl status “devstack@*”
看到tacker的服务名为:devstack@tacker.service - 查看报错的日志:
~# sudo journalctl -a -u devstack@c-vol.service | grep “ERROR”