Openstack从搭建到创建VM(网页端创建)

发布于 / 系统运维 / 0 条评论

安装三个redhat系统先

如果xshell连接慢

echo “UseDNS no” >> /etc/ssh/sshd_config

systemctl restart sshd

关闭SELINUX(三台机器都要)

sed ‘7d’  /etc/selinux/config

echo “SELINUX=disabled” >> /etc/selinux/config

设置ntp服务器名称

hostnamectl set-hostname ntp

设置serverA服务器名称

hostnamectl set-hostname serverA

设置serverB服务器名称

hostnamectl set-hostname serverB

设置网卡(三台机器都要)

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

TYPE=”Ethernet”

NAME=”eno16777736″

UUID=”5e9a2fe1-29f7-439b-b1a9-23a47b98d186″

DEVICE=”eno16777736″

ONBOOT=”yes”

IPADDR=192.168.73.10

NETMASK=255.255.255.0

GATEWAY=192.168.73.1

关闭防火墙和自启动(三台机器都要)

systemctl disable NetworkManager.service

systemctl disable firewalld.service

systemctl stop firewalld.service

systemctl status firewalld.service

重启

reboot

先将挂载的DVD镜像作为软件源先把软件装上,后面再改

配置yum仓库

  首先挂载光盘到/media

ls /dev | grep cd

找到dvd的路径

mount /dev/cdrom /media/

挂载

 然后  cd    /etc/yum.repos.d/

vim   dvd.repo  创建一个文件,写入如下配置

[Media-DVD]
name=rhel7-x86-64
baseurl=file:///media/
enable=1

清空缓存中的之前的仓库里面的软件包的缓存

yum clean all

在把新配置仓库的软件包加载到内存

yum list all

装包之前会让你导入gpg.key ,不导入装不了

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

安装httpd (仅NTP服务器)

yum install httpd

开机自启

systemctl enable httpd.service

systemctl start httpd.service

创建网站目录

mkdir /var/www/html/openstack

mkdir /var/www/html/dvd

挂载(仅NTP服务器)

将红帽7.1的镜像和7sp镜像都放在根目录ISO文件夹内

设置开机挂载

cat /etc/fstab

/dev/mapper/rhel-root   /                       xfs     defaults        0 0

UUID=1e5a1ef0-c7c0-478f-9b11-d97a52938cb8 /boot                   xfs     defaults        0 0

/dev/mapper/rhel-home   /home                   xfs     defaults        0 0

/dev/mapper/rhel-swap   swap                    swap    defaults        0 0

/ISO/R7.iso /var/www/html/openstack                   iso9660  defaults        0 0

/ISO/R71.iso /var/www/html/dvd                iso9660  defaults        0 0

挂载iso

 mount -a

 测试挂载结果

 df -TH

配置http软件源

 cat /etc/yum.repos.d/dvd.repo

[media-DVD]

name=rhel7-x86-64

baseurl=http://192.168.73.10/dvd/

enable=1

cat /etc/yum.repos.d/openstack.repo

[RH7-RHOS-6.0]

name=RH7-RHOS-6.0

baseurl=http://192.168.73.10/openstack/RH7-RHOS-6.0

gpgcheck=0

enabled=1

[RH7-RHOS-6.0-Installer]

name=RH7-RHOS-6.0-Installer

baseurl=http://192.168.73.10/openstack/RH7-RHOS-6.0-Installer

gpgcheck=0

enabled=1

[RHEL7-Errata]

name=RHEL7-Errata

baseurl=http://192.168.73.10/openstack/RHEL7-Errata

gpgcheck=0

enabled=1

[RHEL-7-RHSCL-1.2]

name=RHEL-7-RHSCL-1.2

baseurl=http://192.168.73.10/openstack/RHEL-7-RHSCL-1.2

gpgcheck=0

enabled=1

将repo文件分享给另外两台机器

scp /etc/yum.repos.d/* [email protected]:/etc/yum.repos.d/

scp /etc/yum.repos.d/* [email protected]:/etc/yum.repos.d/

清空缓存中的之前的仓库里面的软件包的缓存(三台机器都要)

在把新配置仓库的软件包加载到内存

yum clean all

yum list all

转包之前会让你导入gpg.key ,不导入装不了

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

安装NTP软件(三台机器都要)

yum install ntp

vi /etc/ntp.conf

server 127.127.1.0

fudge 127.127.1.0 stratum 10

systemctl start ntpd (只启动NTP服务器的)

systemctl status ntpd

测试服务

ntpq -p

开机自启

systemctl enable ntpd

然后需要把两台服务器的NTP停掉

(如果你启动了的话,不停的话,安装openstack时会报错)

systemctl stop ntpd

systemctl stop ntpdate

( 1 Jan 01:01:25 ntpdate[2915]: the NTP socket is in use, exiting  测试中出现报错,也是需要停止ntp服务)

设置serverA和B当前时间为错误,进行同步测试

[root@servera ~]# date

2022年 08月 03日 星期三 11:12:07 CST

[root@servera ~]# date -s “2009-1-1 1:1:1”

2009年 01月 01日 星期四 01:01:01 CST

[root@servera ~]# date

2009年 01月 01日 星期四 01:01:09 CST

ntpdate 192.168.73.10

安装Openstack主程序

(安装在server控制节点上)

yum update

yum install openstack-packstack

设置应答文件

packstack –gen-answer-file=/root/ans.txt

修改文件

vim /root/ans.txt

CONFIG_NTP_SERVERS=192.168.73.10                  ##NTP服务器IP

CONFIG_CONTROLLER_HOST=192.168.73.11              ##控制节点IP

CONFIG_COMPUTE_HOSTS=192.168.73.11,192.168.73.12   ##计算节点IP

(建立多计算节点,此处控制节点复用)

CONFIG_NETWORK_HOSTS=192.168.73.11               ##网络节点IP

(暂时由控制节点担当此角色)

CONFIG_KEYSTONE_ADMIN_PW=redhat              ##WEB界面管理员口令

CONFIG_HORIZON_SSL=y                            ##加密通信WEB界面

CONFIG_PROVISION_DEMO=n       #不必创建演示环境

配置好后开始初始化

packstack –answer-file=/root/ans.txt

需要跑很久,静等

遇到报错,经过互联网搜索,得出解决方案:

修改answer-file,之前遇到教程不要改这里,所以错了

CONFIG_PROVISION_DEMO=y改为n

选择控制节点配置OVS桥接

备份网卡配置文件

cp /etc/sysconfig/network-scripts/ifcfg-eno16777736{,.bak}

ll /etc/sysconfig/network-scripts/ifcfg-eno16777736{,.bak}

创建OVS桥接

进入网卡配置文件目录,创建桥接,必须命名为“br-ex”

cd /etc/sysconfig/network-scripts/

cp ifcfg-eno16777736 ifcfg-br-ex

ll ifcfg-eno16777736 ifcfg-br-ex

修改网卡配置文件

vim ifcfg-eno16777736

TYPE=OVSPort

BOOTPROTO=none

NAME=eno16777736

UUID=ef996813-441b-4710-b830-456e7c53cd4b

DEVICE=eno16777736

ONBOOT=yes

IPADDR=192.168.73.11

NETMASK=255.255.255.0

DNS1=192.168.73.1

GATEWAY=192.168.73.1

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

vim ifcfg-br-ex

TYPE=OVSBridge

BOOTPROTO=none

NAME=br-ex

DEVICE=br-ex

ONBOOT=yes

IPADDR=192.168.73.11

NETMASK=255.255.255.0

DNS1=192.168.73.1

GATEWAY=192.168.73.1

然后重启

 service network restart

https://192.168.73.201/dashboard

账号admin,密码就是刚刚自己在文件里设置

创建主机,将主机添加到AZ中

红帽叫做项目,华为叫做VDC,虚拟数据中心,也就是租户所租下来的一堆CPU,内存,网络资源的集合(我们如果自己买一堆硬件组建的叫做数据中心,我们在网上租的这堆硬件所以就被称为虚拟数据中心),创建项目配额就是此数据中心可以使用的资源

老板已经买好了数据中心配额,那么得整个人帮他管理VDC,那么我们就创建一个用户

创建一个可客户购买的云主机类型,也就是在用户界面购买的套餐,同时可以设置哪些用户可见

创建一个给用户用的系统镜像,我这个用的是kvm的模板镜像,所以要选择QEMU,要让所有人看到就得勾选共有,受保护的功能就是防止误删除,建议都勾上

然后创建网络,但是管理员里面的网络创建好像有问题,采用曲线救国的方式,到项目里去

由于防止给vm分配的IP与我们创建的serverA B冲突 因此我们需要将地址池不能包含他们,创建完成后回到管理员里面的网络,编辑这个网络,设置为外部网络(连通外网)+共享(大家可见)

然后切换至之前创建好的用户账号

进入用户的网络界面

创建一个内部网络,网段随便填,然后假设公司需要两个网络,我们需要考虑隔离安全问题,因此我们再建一个网络,这里我们需要勾选DHCP,因为没有冲突

然后我们以后如果需要通过外网访问这些内部网络怎么办呢?

我们创建一个路由,然后将两个内部网络和路由器都连起来

然后给他配置一个网关,让他和外部网络连起来

然后继续创建安全组,根据自己的需要添加规则

不同的安全组 之间天然无法通信,我们要如何让他们通信?

假设我们一号机用 安全组1  二号机用 安全组2 我们只需要在组1中放行安全组2即可

由于红帽系列天生禁止了密码登录,我们ssh只能创建密钥来登录,这点和aws一模一样

然后再分配浮动IP,也就是公网IP,我们没有,所以用这个内网来实验

好,这些都弄好了,就要开始创建主机了,我们之前划分了两个可用区,一个区一个机器,那么这样选就只能选单台机器,如果我们想让nova里面的算法去挑选最优的机器,就需要创建一个包含了两台机器的可用区,这里我们就去admin那里删除设置好的集合

然后创建主机,绑定刚刚网络分配的浮动IP

以上图是随便截的,ip与实际不一定一样,好了现在我们创建的第一台机器是这样的

把下载的key丢到linux随便一个文件夹下,然后

chmod 700 my_key.pem

ssh -i my_key.pem [email protected]

不要把密钥设为777!会报错!不能让其他用户能够读取到

VNC连不上1006错误

vim /etc/nova/nova.conf

修改vnc proxy 地址为计算节点IP,然后重启服务

systemctl restart openstack-nova-compute.service

VNC正常,账号root,密码redhat

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
转载原创文章请注明,转载自: 沧水的博客 » Openstack从搭建到创建VM(网页端创建)
Not Comment Found