在OpenStack私有云上安装配置虚拟机
文章目录
- 零、学习目标
- 一、登录大数据实训云
- 二、创建网络
- 三、创建路由
- 四、添加接口
- 五、创建端口
- 六、添加安全组规则
- 七、创建实例
- (一)实例规划
- (二)创建实例 - ied
- (三)创建实例 - master、slave1与slave2
- (四)创建虚拟机 - ubuntu
- 八、本机利用FinalShell连接虚拟机
- (一)连接虚拟机 - ied
- (二)连接其它虚拟机
- 九、在ubuntu虚拟机上通过FinalShell连接虚拟机
- (一)本机远程桌面连接ubuntu
- (二)利用FinalShell连接虚拟机
- 1、连接虚拟机ied
- 2、连接其它虚拟机
- 十、配置虚拟机
- (一)查看IP地址
- (二)配置主机名
- (三)配置IP地址与主机名映射
- (四)虚拟机ping外网
- 十一、课后作业
零、学习目标
- 登录大数据实训云
- 能熟练创建网络
- 能熟练创建路由
- 能熟练添加接口
- 能熟练创建端口
- 能熟练添加安全组规则
- 能基于镜像创建实例
- 能利用FinalShell连接虚拟机
- 能熟练配置虚拟机
- 开源云计算平台进一步拓展了云计算领域,推动了云计算技术的发展。OpenStack是 Rackspace(全球三大云计算中心之一)和美国国家航空航天局(National Aeronautics and Space Administration - NASA)共同发起的开源项目,是一系列开源软件项目的组合,目前已经成为开源云架构的事实标准。OpenStack正成为许多机构和服务提供商的战略选择,一些大型企业通过 OpenStack 支持核心生产业务,一些 IT厂商基于 OpenStack开发自己的云计算产品。
一、登录大数据实训云
-
校园内网地址:http://192.168.176.250,输入用户名和密码(每个同学都已经分配了账号)

-
单击【登入】按钮,大家首先看到的是资源概览

-
关注VCPU数量和内存,创建实例好分配相应的VCPU和内存资源,比如, 4 4 4核虚拟机最多能创建 5 5 5个( 20 ÷ 4 = 5 20 \div 4 = 5 20÷4=5)
-
规划网络实例
| 实例 | 私有IP地址 | 虚拟内核 |
|---|---|---|
| ied | 192.168.1.100 | 4 |
| master | 192.168.1.101 | 4 |
| slave1 | 192.168.1.102 | 4 |
| slave2 | 192.168.1.103 | 4 |
| ubuntu | 192.168.1.99 | 4 |
二、创建网络
-
要先创建网络,名称自定,然后在网络里创建我们搭建集群需要的实例(虚拟机)。
-
点开【网络】|【网络】

-
单击【创建网络】按钮(大家取自定的网络名称)

-
输入网络名称之后,单击【下一项】按钮

-
输入子网名称和网络地址之后,单击【下一项】

-
单击【创建】按钮

-
查看网络拓扑,我们创建的网络跟校园网尚未连接

三、创建路由
-
自建网络要与校园网建立连接,首先得创建路由,下面我们学习创建路由的方法。
-
点开【网络】|【路由】

-
单击【新建路由】按钮

-
输入路由名称,选择外部网络-
校园网,然后单击【新建路由】按钮

-
查看网络拓扑,路只修了一半

-
自建网络与校园网还没有连接起来,还需要基于路由添加接口,下面我们学习如何添加接口。
四、添加接口
-
点开网络拓扑,将鼠标移到路由器图标上,弹出一个对话框

-
在弹出的对话框里,单击【添加接口】按钮

-
单击【提交】按钮

-
再查看网络拓扑

-
基于路由添加接口之后,我们创建的网络与校园网就连接起来,后面我们创建的实例就可以通过校园网ping通外网(因特网)。
五、创建端口
-
要让我们创建的实例(虚拟机)有固定的IP地址,我们需要创建端口,绑定固定的IP地址。
-
点开【网络】|【网络】

-
单击【huawei】链接,显示概览

-
单击【端口】选项卡

-
单击【创建端口】按钮

-
输入端口名称,采用固定IP地址,设置固定的IP地址 -
192.168.1.100,然后单击【创建】按钮

-
同理,我们再创建实训需要的5个端口:master_port、slave1_port、slave2_port、ubuntu_port

六、添加安全组规则
- 我们后面要用FinalShell工具软件SSH连接我们创建的虚拟机,需要添加安全组规则,放开ICMP协议和TCP协议入口的全部端口。
- 点开【网络】|【安全组】

- 单击
default安全组的【管理规则】按钮,默认有4条规则

- 单击【添加规则】按钮,然后选择【所有ICMP协议】规则

- 单击【添加】按钮

- 单击【添加规则】按钮,然后选择【所有TCP协议】规则

- 单击【添加】按钮

七、创建实例
- 基于镜像源创建实例,绑定先前我们在自建网络里创建的端口,这样我们创建的实例就有了固定的私有IP地址,但是为了在本机使用FinalShell工具软件来SSH连接虚拟机实例,我们还得绑定一个浮动的IP地址。下面我们学习如何创建实例。
(一)实例规划
| 实例名称 | IP地址 | 主机名 |
|---|---|---|
| ied | 192.168.1.100 | ied |
| master | 192.168.1.101 | master |
| slave1 | 192.168.1.102 | slave1 |
| slave2 | 192.168.1.103 | slave2 |
| ubuntu | 192.168.1.99 | ubuntu |
(二)创建实例 - ied
-
点开【计算】|【实例】

-
单击【创建实例】按钮,输入实例名称 - ied

-
单击【下一项】按钮,然后选择【CentOS 7.9_2207】镜像源

-
单击【下一项】按钮,然后选择实例类型 -
4C4G-40G(四核CPU、4G内存、40G硬盘)

-
单击【下一项】按钮,不分配网络

-
单击【下一项】,分配端口 -
ied_port

-
单击【下一项】按钮,分配默认安全组

-
单击【创建实例】按钮

-
如果我们希望本机能够访问虚拟机
ied,就要绑定浮动IP地址

-
单击【绑定浮动IP】选项

-
单击【+】按钮

-
单击【分配IP】按钮

-
单击【关联】按钮

-
控制台进入虚拟机
ied,用户名:root,密码:p@ssw0rd

-
查看防火墙状态,执行命令:
systemctl status firewalld

-
关闭并禁用防火墙

-
再次查看防火墙状态

-
本机无法通过私有IP地址访问虚拟机ied

-
本机只能通过浮动IP地址(192.168.218.185)ping虚拟机ied

(三)创建实例 - master、slave1与slave2
- 按照同样的方式,创建三个实例 -
master、slave1与slave2,绑定浮动IP地址

- 此时,查看网络拓扑

(四)创建虚拟机 - ubuntu
- 创建实例 - ubuntu

- 单击【下一项】,选择[桌面环境]-UbuntuDesktop22.04镜像源

- 单击【下一项】按钮,选择【4C4G-40G】实例类型

- 单击【下一项】按钮,分配校园网

- 单击【下一项】按钮,分配端口,绑定固定的IP地址

- 单击【创建实例】按钮

- 在控制台进入ubuntu虚拟机

- 以
ied用户登录ubuntu

八、本机利用FinalShell连接虚拟机
- FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发、运维工具,充分满足开发、运维需求。另外还具备免费海外服务器远程桌面加速、ssh加速、双边tcp加速、内网穿透等特色功能。
- 准备工作:下载并安装FinalShell

- 启动FinalShell

(一)连接虚拟机 - ied
- 查看虚拟机绑定的浮动IP地址

- 单击【打开文件夹】图标,弹出【连接管理器】窗口

- 单击【新建连接】按钮

- 选择SSH连接(Linux)

- 单击【确定】按钮

- 单击【ied】连接

- 最好单击【接受并保存】按钮,这样下次就直接连接ied虚拟机

(二)连接其它虚拟机
- 查看虚拟机绑定的浮动IP地址

- 按照同样的方式,创建其它三个虚拟机 -
master、slave1、slave2的SSH连接

- 连接
master、slave1、slave2



九、在ubuntu虚拟机上通过FinalShell连接虚拟机
(一)本机远程桌面连接ubuntu
- 查看ubuntu的校园网IP地址

- 在运行窗口里执行
mstsc命令

- 单击【确定】按钮,输入ubuntu虚拟机的校园网IP地址

- 单击【连接】按钮

- 单击【是(Y)】按钮,输入用户名和密码

- 单击【OK】按钮

- 查看ubuntu上安装的FinalShell

(二)利用FinalShell连接虚拟机
- 启动FinalShell

1、连接虚拟机ied
- 注意,必须使用虚拟机ied的私有IP地址

- 单击【确定】按钮

- 单击【ied】连接

- 单击【接受并保存】按钮

2、连接其它虚拟机
- 按照同样的方式,创建其它三个虚拟机 -
master、slave1、slave2的SSH连接

- 连接虚拟机 -
master、slave1、slave2



十、配置虚拟机
- 针对虚拟机
ied来操作,查看IP地址,设置主机名,以及配置IP地址与主机名映射。
(一)查看IP地址
- 执行命令:
ip addr
·
- 注意:不能在
/etc/sysconfig/network-scripts/ifcfg-eth0文件里配置静态IP地址

- 如果像在VMware虚拟机上那样配置静态IP地址,会导致FinalShell无法连接虚拟机。
(二)配置主机名
- 查看主机名

- 执行命令:
hostnamectl set-hostname ied

- 执行命令:
reboot

- 再次查看主机名

(三)配置IP地址与主机名映射
-
执行命令:
vim /etc/hosts

-
通过主机名ping自己

-
本机通过主机名ping虚拟机

-
修改
C:\Windows\System32\drivers\etc\hosts

-
现在本机就可以通过主机名ping通虚拟机

(四)虚拟机ping外网
- 执行命令:
ping www.baidu.com

十一、课后作业
- 配置虚拟机master、slave1、slave2的主机名,以及IP地址与主机名映射
- 虚拟机
/etc/hosts文件
192.168.1.101 master
192.168.1.102 slave1
192.168.1.103 slave2
- 本机
C:\Windows\System32\drivers\etc\hosts文件
192.168.218.181 master
192.168.219.164 slave1
192.168.218.147 slave2
- 注意:三个虚拟机绑定的浮动IP地址(因人而异)
相关文章:
在OpenStack私有云上安装配置虚拟机
文章目录 零、学习目标一、登录大数据实训云二、创建网络三、创建路由四、添加接口五、创建端口六、添加安全组规则七、创建实例(一)实例规划(二)创建实例 - ied(三)创建实例 - master、slave1与slave2&…...
pyCharm远程DEBUG
第一步,添加一个远程机器的解释器 ssh 远程机器解释器添加, 我本地ssh有配置目标机器。 如果没配置,那就选着new server configuration 新增一个。 interpreter 指定远程机器python, (机器上有多个版本python里尤其要…...
微服务框架Go-kit
微服务框架Go-kit go kit简介第一个go kit应用go kit基本概念go kit Endpointsgo kit Endpoint 定义go kit Endpoint 函数签名go kit Endpoint 链式操作go kit Endpoint 请求和响应转换go kit Endpoint 中间件go kit Endpoint 错误处理go kit 传输层go kit HTTP 传输层go kit …...
《王道24数据结构》课后应用题——第三章 栈和队列
第三章 【3.1】 03、 假设以I和O分别表示入栈和出操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,可以操作的序列称为合法序列,否则称为非法序列。 如IOIIOIOO 和IIIOOIOO是合法的,而IOOIOIIO和II…...
查看linux开发板的CPU频率
1)查看CPU可设置的频率列表 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 2)查看CPU当前所使用的频率: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 3)设置CPU频率(最高…...
对象模型和this指针(个人学习笔记黑马学习)
1、成员变量和成员函数 #include <iostream> using namespace std; #include <string>//成员变量和成员函数分开存储class Person {int m_A;//非静态成员变量 属于类的对象上的static int m_B;//静态成员变量 不属于类的对象上void func() {} //非静态成员函数 不…...
SpringCloudAlibaba常用组件
SpringCloudAlibaba常用组件 微服务概念 1.1 单体、分布式、集群 单体 ⼀个系统业务量很⼩的时候所有的代码都放在⼀个项⽬中就好了,然后这个项⽬部署在⼀台服务器上就 好了。整个项⽬所有的服务都由这台服务器提供。这就是单机结构。 单体应⽤开发简单,部署测试…...
Shotcut for Mac:一款强大而易于使用的视频编辑器
随着数码相机的普及,视频编辑已成为我们日常生活的一部分。对于许多专业和非专业用户来说,找到一个易于使用且功能强大的视频编辑器是至关重要的。今天,我们将向您介绍Shotcut——一款专为Mac用户设计的强大视频编辑器。 什么是Shotcut&…...
【数学建模】2023数学建模国赛C题完整思路和代码解析
C题第一问代码和求解结果已完成,第一问数据量有点大,经过编程整理出来了单品销售额的汇总数据、将附件2中的单品编码替换为分类编码,整理出了蔬菜各品类随着时间变化的销售量,并做出了这些疏菜品类的皮尔森相关系数的热力图&#…...
论数据库的种类
摘要 数据库是现代信息管理和数据存储的重要工具,几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类,并探讨它们的特点和适用范围。 正文 一、关系型数据库(RDBMS) 关…...
docker笔记4:高级复杂安装-mysql主从复制
1.主从搭建步骤 1.1新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d…...
MySQL卸载干净再重新安装【Windows】
家人们,谁懂啊? 上学期学的数据库,由于上学期不知道为什么抽风,过得十分的迷,上课跟老师步骤安装好了Mysql,但后面在使用的过程中出现了问题,而且还出现了忘记密码这么蠢的操作,后半…...
在VScode中如何将界面语言设置为中文
VSCode安装后的默认界面是只有英文的,如果想用中文界面,那么就需要安装对应的插件,vscode插件可以从扩展中心去搜索并安装。 安装vscode后打开vscode,点击左侧的扩展按钮。 在搜索框中输入chinese,弹出chinese&#x…...
jenkins如何请求http接口及乱码问题解决
文章目录 1.插件安装2.请求pipline语法3.插件方式实现4.乱码问题解决5.值得注意 1.插件安装 需要安装HTTP Request 插件;安装方式不介绍。 2.请求pipline语法 官网链接,上面有详细语法:https://plugins.jenkins.io/http_request/ 附一个d…...
景区洗手间生活污水处理设备厂家电话
诸城市鑫淼环保小编带大家了解一下景区洗手间生活污水处理设备厂家电话 MBR生活污水处理设备构造介绍: mbr一体化污水处理的设计主要是对生活污水和相类似的工业有机污水的处理,其主要处理手段是采用目前较为成熟的生化处理技术接触氧化法,水…...
Java基础(四)
151. LinkedList特征分析 增删快 可以打断连接,重新赋值引用,不 涉及数据移动操作,效率高 查询慢 双向链表结构数据存储非连 续,需要通过元素一一 跳转 152 ArrayList和LinkedList对比分析 ArrayList特征 查询快。增删慢 适用于数据产出之…...
Android WIFI工具类 特别兼容Android12
直接上代码: package com.realtop.commonutils.utils;import android.annotation.SuppressLint; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; import android.bluetooth.BluetoothProfile; import android.content.Con…...
【Android Framework系列】第14章 Fragment核心原理(AndroidX版本)
1 简介 Fragment是一个历史悠久的组件,从API 11引入至今,已经成为Android开发中最常用的组件之一。 Fragment表示应用界面中可重复使用的一部分。Fragment定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。…...
Python 网页爬虫原理及代理 IP 使用
目录 前言 一、Python 网页爬虫原理 二、Python 网页爬虫案例 步骤1:分析网页 步骤2:提取数据 步骤3:存储数据 三、使用代理 IP 四、总结 前言 随着互联网的发展,网络上的信息量变得越来越庞大。对于数据分析人员和研究人…...
失效的访问控制及漏洞复现
失效的访问控制(越权) 1. 失效的访问控制(越权) 1.1 OWASP TOP10 1.1.1 A5:2017-Broken Access Control 未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
