IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 企业运维之 openstack 的私有网络以及图形化配置 -> 正文阅读

[系统运维]企业运维之 openstack 的私有网络以及图形化配置

在上一篇的基础上,来继续完善 openstack 的相关配置。先将控制节点启动,然后在启动计算节点。
调用管理员的权限,查看相关组件的状态。

[root@controller ~]# source admin-openrc 
[root@controller ~]# openstack-status

1. 私有网络

私有网络在共有网络的基础上多了layer-3服务,支持实例连接到私有网络。demo或者其他没有特权的用户可以管理自己的私有网络,包含连接公网和私网的路由器。另外,浮动IP地址可以让实例使用私有网络连接到外部网络,例如互联网.

典型的私有网络一般使用覆盖网络。覆盖网络,例如VXLAN包含了额外的数据头,这些数据头增加了开销,减少了有效内容和用户数据的可用空间。在不了解虚拟网络架构的情况下,实例尝试用以太网 最大传输单元 (MTU) 1500字节发送数据包。网络服务会自动给实例提供正确的MTU的值通过DHCP的方式。

  1. 控制节点
    安装组件
yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

配置服务组件
在前面共有网络的基础上增加一些配置即可;

[root@controller ~]# vim /etc/neutron/neutron.conf 
 1 [DEFAULT]

 3 service_plugins = router		#路由服务和重叠的IP地址
 4 allow_overlapping_ips = True

[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
 99 [ml2]
100 type_drivers = flat,vlan,vxlan	#启用flat,VLAN以及VXLAN网络
101 tenant_network_types = vxlan	#启用VXLAN私有网络
102 mechanism_drivers = linuxbridge,l2population	#启用Linuxbridge和layer-2机制
205 [ml2_type_vxlan]
206 vni_ranges = 1:1000	#为私有网络配置VXLAN网络识别的网络范围


[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
#启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population
168 [vxlan]
169 enable_vxlan = True
170 local_ip = 172.25.25.1
171 l2_population = True

[root@controller ~]# vim /etc/neutron/l3_agent.ini
#配置Linuxbridge接口驱动和外部网络网桥

  1 [DEFAULT]
  2 interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
  3 external_network_bridge =

重启修改过的服务,

[root@controller ~]# systemctl restart neutron-server.service \
>   neutron-linuxbridge-agent.service
[root@controller ~]# systemctl enable --now neutron-l3-agent.service

[root@controller ~]# neutron agent-list	#查看组件信息
+----------+------------+----------+-------------------+-------+----------------+---------------+
| id       | agent_type | host     | availability_zone | alive | admin_state_up | binary        |
+----------+------------+----------+-------------------+-------+----------------+---------------+
| b111bed6 | Metadata   | controll |                   | :-)   | True           | neutron-      |
| -18f0-48 | agent      | er       |                   |       |                | metadata-     |
| 5f-9168- |            |          |                   |       |                | agent         |
| 9734251e |            |          |                   |       |                |               |
| 82a8     |            |          |                   |       |                |               |
| c642e952 | Linux      | computer |                   | :-)   | True           | neutron-      |
| -f88d-42 | bridge     | 1        |                   |       |                | linuxbridge-  |
| 92-bbe6- | agent      |          |                   |       |                | agent         |
| 7cf124dd |            |          |                   |       |                |               |
| 44ca     |            |          |                   |       |                |               |
| cac3fd3d | L3 agent   | controll | nova              | :-)   | True           | neutron-l3-ag |
| -1f4b-45 |            | er       |                   |       |                | ent           |
| 54-96a6- |            |          |                   |       |                |               |
| 6e39ae25 |            |          |                   |       |                |               |
| 251b     |            |          |                   |       |                |               |
| d71c96c1 | DHCP agent | controll | nova              | :-)   | True           | neutron-dhcp- |
| -1b1b-   |            | er       |                   |       |                | agent         |
| 4b9f-    |            |          |                   |       |                |               |
| a76a-a2a |            |          |                   |       |                |               |
| 077f111c |            |          |                   |       |                |               |
| 2        |            |          |                   |       |                |               |
| f59b2f02 | Linux      | controll |                   | :-)   | True           | neutron-      |
| -c047    | bridge     | er       |                   |       |                | linuxbridge-  |
| -4c3f-ae | agent      |          |                   |       |                | agent         |
| e4-374d9 |            |          |                   |       |                |               |
| a81f6da  |            |          |                   |       |                |               |
+----------+------------+----------+-------------------+-------+----------------+---------------+
  1. 计算节点
    在之前共有网络的基础上来修改配置信息即可;
[root@computer1 ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

168 [vxlan]
169 enable_vxlan = True
170 local_ip = 172.25.25.2
171 l2_population = True

[root@computer1 ~]# systemctl restart neutron-linuxbridge-agent.service

此时想要用图像的方式来配置,还不可用;需要将dashboard3层网络打开;

[root@controller ~]# vim /etc/openstack-dashboard/local_settings 

275 OPENSTACK_NEUTRON_NETWORK = {
276     'enable_router': True,
277     'enable_quotas': True,
278     'enable_ipv6': True,
279     'enable_distributed_router': True,
280     'enable_ha_router': True,
281     'enable_lb': True,
282     'enable_firewall': True,
283     'enable_vpn': True,
284     'enable_fip_topology_check': True,

[root@controller ~]# systemctl restart httpd.service memcached.service

2. 图形化配置虚拟机

用来模拟的主机没有共有的IP,在登陆图形化界面admin用户时,选择外部网络。将其视作共有IP。

在这里插入图片描述1. 创建私有网络和主机
然后切换到demo用户来创建私有网络:

定义网络名称;勾选创建子网,不对外可见;

在这里插入图片描述
设置子网名称以及网络地址;

在这里插入图片描述

激活dhcp 让其自动分配IP ;设定DNS ;

在这里插入图片描述

然后启动之前的云主机;然后再创建一个私有网络的云主机;

在这里插入图片描述

此处可以下载软件包来查看云主机:

[root@computer1 ~]# yum install -y libvirt-client
[root@computer1 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000002              running
 2     instance-00000003              running
  1. 路由器:
    此时是内网一台主机,外网一台主机;彼此是不能通信的,给其加路由让其可以通信;

在这里插入图片描述

创建完成之后,此时路由器已经和外部网络连接在一起,下来只需要将其和内部网络接通即可;

在这里插入图片描述
此时内网和外网便已经连通。此时内部网络主机打开控制台,可以ping通外部网络IP。

在这里插入图片描述

此时是一个SNAT ,也就是内外网络可以访问外部网络。但是外部网络不可以访问内部网络。

此时需要给内部网络做合法认证,此处直接申请一个外部IP,此时外网便可以访问内部网络;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时便完成了私有网络和共有网络的配置,并且可以让其之间互相通信。

3. 封装镜像

参考官网文档:https://docs.openstack.org/image-guide/centos-image.html

此处直接用图形化的虚拟机管理用具来封装镜像:
选择最小化的安装;设置需要的语言,时区等相应的信息。

注:此处需要根据文档中的内容。

在这里插入图片描述

安装完成之后,此时在开机时将selinux禁用;开启之后,编辑selinux文件,将其改为disabled;然后禁用火墙。为其添加IP;然后可以远程连接设置。

连接之后先配置软件源,然后下载相应的配件。

[westos@westos Desktop]$ ssh root@172.25.25.200
[root@localhost yum.repos.d]# vi dvd.repo
[root@localhost yum.repos.d]# cat dvd.repo
[dvd]
name=rhel7.6
baseurl=http://172.25.25.250/rhel7
gpgcheck=0

然后根据文档信息,安装需要的信息;

[root@localhost yum.repos.d]# yum install acpid -y
[root@localhost yum.repos.d]# systemctl enable acpid

此处有一些官方源里面没有,需要自己去下载,然后放在软件源中;

[root@localhost yum.repos.d]# cat cloud-init.repo 
[cloud]
name=cloud-init
baseurl=http://172.25.25.250/cloud-init
gpgcheck=0
[root@localhost yum.repos.d]# yum install cloud-init -y
[root@localhost yum.repos.d]# yum install cloud-utils-growpart -y #扩展根分区所需要
[root@localhost yum.repos.d]# cd /etc/cloud/
[root@localhost cloud]# ls		##配置信息
cloud.cfg  cloud.cfg.d  templates
[root@localhost cloud]# echo "NOZEROCONF=yes" >> /etc/sysconfig/network	#禁用0配置网络
[root@localhost cloud]# vi /boot/grub2/grub.cfg 
#让云主机将日志传到 console中
    100         linux16 /boot/vmlinuz-3.10.0-957.el7.x86_64 root=UUID=99b21c64-2bc0-4dbc-a5d9-        b6782663eb23 ro rhgb quiet LANG=en_US.UTF-8 console=tty0 console=ttyS0,115200n8 
[root@localhost cloud]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp	#激活dhcp
ONBOOT=yes
DEVICE=eth0
[root@localhost cloud]# poweroff

最后关机,关机之后就不要在启动,然后对封装的镜像进行清理;并压缩;此时镜像已经封装完成。

[root@westos images]# virt-sysprep -d small
[root@westos images]# du -sh small.qcow2 
8.1G	small.qcow2
[root@westos images]# virt-sparsify --compress small.qcow2 /var/www/html/small.qcow2
[root@westos html]# ll small.qcow2 
-rw-r--r--. 1 root root 545993216 Jul 24 15:27 small.qcow2
[root@westos html]# du -sh small.qcow2 
521M	small.qcow2

此时封装完毕,只须将其上传至云平台上即可使用;

4. 上传镜像

用管理员的身份来登陆上传镜像;

在这里插入图片描述

然后在创建一个云主机类型。然后来和该镜像结合。

在这里插入图片描述

此时再次切换到demo来将镜像和云主机结合起来;
从控制台进去之后,可以看到主机信息。

在这里插入图片描述

5. 块存储

参考官网文档:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder.html

块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。

典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点。

此处在开一台虚拟机,来做为存储;添加虚拟磁盘10G。

解析,时间同步,软件仓库;

[root@block1 ~]# vim /etc/hosts
[root@block1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.25.250	 foundation39.ilt.example.com
172.25.25.1	controller	
172.25.25.2	compute1
172.25.25.3	block1
[root@block1 ~]# yum install -y chrony
[root@block1 ~]# vim /etc/chrony.conf 
#同步时间
[root@block1 ~]# systemctl enable --now chronyd
[root@block1 yum.repos.d]# ls
dvd.repo  openstack.repo  redhat.repo
  1. 控制节点:
  1. 先决条件
    在你安装和配置块存储服务之前,你必须创建数据库、服务证书和API端点.
[root@controller ~]# mysql -pwestos

MariaDB [(none)]> CREATE DATABASE cinder;
#创建 cinder 数据库
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
    ->   IDENTIFIED BY 'cinder';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'    IDENTIFIED BY 'cinder'; 
#允许 cinder 数据库合适的访问权限

用超级用户创建服务证书:

[root@controller ~]# openstack user create --domain default --password cinder cinder
#创建一个 cinder 用户
[root@controller ~]# openstack role add --project service --user cinder admin
#添加 admin 角色到 cinder 用户上
[root@controller ~]# openstack service create --name cinder \
>   --description "OpenStack Block Storage" volume
[root@controller ~]# openstack service create --name cinderv2 \
>   --description "OpenStack Block Storage" volumev2
#创建 cinder 和 cinderv2 服务实体

创建块设备存储服务的 API 入口点:

[root@controller ~]# openstack endpoint create --region RegionOne \
>   volume public http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volume internal http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volume admin http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 public http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 admin http://controller:8776/v2/%\(tenant_id\)s

2)安装并配置组件

[root@controller ~]# yum install openstack-cinder -y
[root@controller ~]# vim /etc/cinder/cinder.conf

[database]	#配置数据库访问
connection = mysql+pymysql://cinder:cinder@controller/cinder

[DEFAULT]		#配置 “RabbitMQ” 消息队列访问
rpc_backend = rabbit

[oslo_messaging_rabbit]	#配置 “RabbitMQ” 消息队列访问
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

#在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder

#在 [DEFAULT] 部分,配置``my_ip`` 来使用控制节点的管理接口的IP 地址。
my_ip = 172.25.25.1[oslo_concurrency] 部分,配置锁路径
lock_path = /var/lib/cinder/tmp

[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
#初始化块设备服务的数据库

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| cinder             |
| glance             |
| information_schema |
| keystone           |
| mysql              |
| neutron            |
| nova               |
| nova_api           |
| performance_schema |
+--------------------+
9 rows in set (0.00 sec)
  1. 配置计算节点以使用块设备存储
[root@controller ~]# vim /etc/nova/nova.conf 

[cinder]
os_region_name = RegionOne
  1. 完成安装
[root@controller ~]# systemctl restart openstack-nova-api.service	#重启计算API 服务
[root@controller ~]# systemctl enable --now openstack-cinder-api.service openstack-cinder-scheduler.service
#启动块设备存储服务,并将其配置为开机自启
  1. 存储节点

1)先决条件

[root@block1 ~]# yum install lvm2
[root@block1 ~]# systemctl enable --now lvm2-lvmetad.service
#启动LVM的metadata服务并且设置该服务随系统启动	
[root@block1 ~]# pvcreate /dev/vdb	#创建LVM 物理卷 /dev/sdb
[root@block1 ~]# vgcreate cinder-volumes /dev/vdb
#创建 LVM 卷组 cinder-volumes,块存储服务会在这个卷组中创建逻辑卷

[root@block1 ~]# vim /etc/lvm/lvm.conf
 143         filter = [ "a/sdb/", "a/vdb/", "r/.*/"]
#在这两个盘上支持LVM卷,其他的全部拒绝

2)安装并配置组件

[root@block1 ~]# yum install openstack-cinder targetcli python-keystone -y
[root@block1 ~]# vim /etc/cinder/cinder.conf
[database]		#配置数据库访问
connection = mysql+pymysql://cinder:cinder@controller/cinder

#在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列访问
[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

#在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder

#在 [DEFAULT] 部分,配置 my_ip 选项
my_ip = 172.25.25.3

#在[lvm]部分,配置LVM后端以LVM驱动结束,卷组cinder-volumes,iSCSI 协议和正确的 iSCSI服务
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

#在 [DEFAULT] 部分,启用 LVM 后端
enabled_backends = lvm

#在 [DEFAULT] 区域,配置镜像服务 API 的位置
glance_api_servers = http://controller:9292

#在 [oslo_concurrency] 部分,配置锁路径
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

3)完成安装

[root@block1 ~]# systemctl enable --now openstack-cinder-volume.service target.service
  1. 验证

在控制结点上,获得 admin 凭证来获取只有管理员能执行的命令的访问权限;列出服务组件以验证是否每个进程都成功启动。

[root@controller ~]# cinder service-list
+------------------+------------+------+---------+-------+----------------------------+-----------------+
|      Binary      |    Host    | Zone |  Status | State |         Updated_at         | Disabled Reason |
+------------------+------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller | nova | enabled |   up  | 2021-07-24T10:14:26.000000 |        -        |
|  cinder-volume   | block1@lvm | nova | enabled |   up  | 2021-07-24T10:14:33.000000 |        -        |
+------------------+------------+------+---------+-------+----------------------------+-----------------+

此时再次登陆网页,会看到堕落一个卷;然后可以创建云硬盘:

在这里插入图片描述

将新建的硬盘加到云主机上;

在这里插入图片描述

然后打开控制台查看信息:

在这里插入图片描述
此时当挂载的外部设备中有数据时,先将设备从云主机中卸载,然后再分离云硬盘,此时便可以回收掉云主机,但是数据还是会保留。当云主机再次上线时,再将其挂载上去。

此处还有扩展硬盘等操作。此处扩展为5G,然后再将其挂载上去;查看大小,此时进入数据目录,此时可以看到数据已经可以显示;

在这里插入图片描述

在这里插入图片描述
此时数据恢复,但是之前挂载的大小还是位2G;需要扩展;

在这里插入图片描述

6. kolla-ansible

由于接下来的操作需要支持python2,企业七中缺一些依赖性,此处改为企业八来实现。

先创建一台企业八的虚拟机;双网卡双硬盘,CPU做直通。所有服务部署到一台主机。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 12:01:39  更:2021-07-25 12:01:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 14:01:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码