OpenStack云计算(十)——OpenStack虚拟机实例管理,增加一个计算节点并进行实例冷迁移,增加一个计算节点的步骤,实例冷迁移的操作方法

项目实训一

本实训任务对实验环境要求较高,而且过程比较复杂,涉及的步骤非常多,有一定难度,可根据需要选做。可以考虑改为直接观看相关的微课视频

【实训题目】

增加一个计算节点并进行实例冷迁移

【实训目的】

熟悉增加一个计算节点的步骤。

熟悉实例冷迁移的操作方法。

【实训准备】

(1)复习使用Packstack安装器增加节点的基本方法。

(2)另外准备一台操作系统为CentOS 7的主机作为计算节点。

【实训内容】

(1)在实验1的基础上克隆一台虚拟机,将IP地址改为其他地址,确保跟openstack主机IP地址不一样。然后重启网卡。此为第2个节点虚拟机

cd /etc/sysconfig/network-scripts

修改IP地址:IPADDR=192.168.128.29(自己的IP段)

节点1:192.168.128.128

节点2:192.168.128.28

重启网卡

systemctl restart network

(2)修改主机名

建议第1个节点名为:node-a 第2个节点名为:node-b

vi /etc/hostname

修改之后退出重启虚拟机,在命令行前面就显示了

init 6

(3)如果需要修改原来的openstack主机名,则按照如下步骤实现,建议直接在原来的主机名基础上做,不用修改主机名

在单节点的RDO一体化OpenStack云平台的基础上使用Packstack安装器再增加计算节点,构建双节点的实验平台时,如果在部署RDO一体化OpenStack云平台时,/etc/hosts配置文件中保留了以下默认配置:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

那么,该节点的计算主机名会显示为localhost,这种情形在增加计算节点之前,为便于区分不同节点,最好将localhost改为明确的节点主机名(如node-a),只是操作有些复杂,下面给出操作步骤供参考(这可以作为修改计算节点名的通用方法)。

(3.1)停止相关的计算服务
systemctl stop libvirtd.service openstack-nova-compute.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-novncproxy.service
 (3.2)修改/etc/nova/nova.conf配置文件,将其中的host改为指定的节点主机名,将

#host=<current_hostname>

host=localhost

改为:

#host=<current_hostname>

host=node-a

(3.3)修改底层的数据库
[root@node-a ~]# mysql -u rootEnter password:              #密码可以从Packstack安装自动产生的应答文件中查找。Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 3402Server version: 10.3.20-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> use nova;                       #指定当前数据库Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changed#更改计算节点名MariaDB [nova]> update compute_nodes set host='node-a' where host='localhost';    Query OK, 1 row affected (0.001 sec)Rows matched: 1  Changed: 1  Warnings: 0#更改现有虚拟机实例的计算节点名MariaDB [nova]> update instances set host='node-a' where host='localhost';Query OK, 12 rows affected (0.005 sec)Rows matched: 12  Changed: 12  Warnings: 0#更改现有虚拟机实例的启动的计算节点名MariaDB [nova]> update instances set launched_on='node-a' where launched_on='localhost';           Query OK, 14 rows affected (0.002 sec)Rows matched: 14  Changed: 14  Warnings: 0#更改计算服务的节点主机名MariaDB [nova]> update services set host='node-a' where host='localhost';Query OK, 5 rows affected (0.001 sec)Rows matched: 5  Changed: 5  Warnings: 0MariaDB [(none)]> use nova_api; #指定当前数据库Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A#更改主机映射的节点主机名MariaDB [nova_api]> update host_mappings set host='node-a' where host='localhost';MariaDB [nova]> flush privileges;Query OK, 0 rows affected (0.001 sec)MariaDB [nova]> quit;Bye
 (3.4)启动相关的计算服务

systemctl start libvirtd.service openstack-nova-compute.service openstack-nova-scheduler.service   openstack-nova-conductor.service openstack-nova-novncproxy.service  

(4)修改/etc/hosts配置文件

(节点1、节点2都要改)

vi /etc/hosts

将节点1的文件改为: 

节点2的文件改为

节点1:

节点2:

(5)在节点2,安装必要的软件

yum -y install centos-release-openstack-train

yum makecache

yum -y install openstack-packstack

(6)在节点1,编辑应答文件

将root文件夹下生成的应答文件复制一份:packstack-answers-addnode.txt

cp packstack-answers-20230922-094512.txt packstack-answers-addnode.txt

vi packstack-answers-addnode.txt

CONFIG_COMPUTE_HOSTS=192.168.233.128,192.168.233.28

CONFIG_PROVISION_DEMO_FLOATRANGE=192.168.233.0/24

CONFIG_KEYSTONE_ADMIN_PW=123456

CONFIG_KEYSTONE_DEMO_PW=123456

(7)在节点1执行,使用修改过的应答文件运行Packstack安装器

packstack --answer-file=packstack-answers-addnode.txt
…
Installing:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
root@192.168.199.32's password:                     #提供第2个节点root账户密码
Setting up ssh keys                                  [ DONE ]
Preparing servers                                    [ DONE ]
…
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.199.31_controller.pp
192.168.199.31_controller.pp:                        [ DONE ]           
Applying 192.168.199.31_network.pp
192.168.199.31_network.pp:                           [ DONE ]        
Applying 192.168.199.31_compute.pp
Applying 192.168.199.32_compute.pp                     #应用第2个计算节点
192.168.199.31_compute.pp:                           [ DONE ]        
192.168.199.32_compute.pp:                           [ DONE ]        
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]
(7.1)//在节点2处理错误,在节点1继续执行安装命令

------------------------------------------------------------------------------------------------------------------

//错误1:leatherman_curl.so.1.3.0: cannot open shared object file

//处理:# yum downgrade -y leatherman

出现节点一错误:

------------------------------------------------------------------------------------------------------------------

//错误2:Error: Package: python2-qpid-proton-0.26.0-2.el7.x86_64 (centos-openstack-train)

//处理:# yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64

------------------------------------------------------------------------------------------------------------------

//安装成功截图

//错误3:Could not set 'present' on ensure: undefined method `split' for nil:NilClass

(8)验证双节点部署

虚拟机管理器列表

计算主机列表

计算服务列表

网络代理列表

新创建测试用的虚拟机实例

新创建的虚拟机实例在node-b主机上运行

任务3 迁移虚拟机实例

------------------------------------------------------------------------------------------------------------------

1)在计算节点之间配置SSH无密码访问

------------------------------------------------------------------------------------------------------------------

//配置ssh无密码访问(第4步,两个节点都要执行)

ls -l /var/lib/nova/.ssh

echo -e 'strictHostKeyChecking no' > /var/lib/nova/.ssh/config 

节点1:

scp -r /var/lib/nova/.ssh/config ZHT-A:/var/lib/nova/.ssh/config

节点2:

scp -r /var/lib/nova/.ssh/config zht33:/var/lib/nova/.ssh/config

usermod -s /bin/bash nova

节点1:

节点2:

//测试

su - nova

ssh zht33

ssh ZHT-A

exit

//在两个节点都要重启nova服务

# systemctl restart libvirtd openstack-nova-compute

节点1:

节点2:

2)执行实例的冷迁移操作(Web界面操作)

------------------------------------------------------------------------------------------------------------------

//admin用户——管理员——计算——实例——迁移实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客NC199 字符串解码【中等 递归,栈的思想 C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/4e008fd863bb4681b54fb438bb859b92 相同题目&#xff1a; https://www.lintcode.com/problem/575 思路 解法和基础计算器1&#xff0c;2,3类似,递归参考答案C struct Info {string str;int stopindex;Info(str…

AOC vs. DAC:哪个更适合您的网络需求?

在现代网络通信中&#xff0c;选择合适的连接线缆对于数据传输的稳定性和速度至关重要。两种常见的线缆类型是 AOC&#xff08;Active Optical Cable&#xff09; 和 DAC&#xff08;Direct Attach Cable&#xff09;。本文将详细介绍这两种线缆的特点、优势和适用场景&#xf…

Aigtek:介电弹性体高压放大器在软体机器人研究中的应用

近年来软体机器人的研究成为目前机器人研究领域的热点&#xff0c;由于软体材料的自由度可以根据需求自由变化&#xff0c;因此软体机器人有着极高的灵活性&#xff0c;而且软体机器人因其材料的柔软性有着很好的人机交互性能和安全性。它的出现成功解决了传统的刚性机器人人机…

JavaScript云LIS系统概述 前端框架JQuery+EasyUI+Bootstrap医院云HIS系统源码 开箱即用

云LIS系统概述JavaScript前端框架JQueryEasyUIBootstrap医院云HIS系统源码 开箱即用 云LIS&#xff08;云实验室信息管理系统&#xff09;是一种结合了计算机网络化信息系统的技术&#xff0c;它无缝嵌入到云HIS&#xff08;医院信息系统&#xff09;中&#xff0c;用于连…

《异常检测——从经典算法到深度学习》27 可执行且可解释的在线服务系统中重复故障定位方法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

Oracle 监控 SQL 精选 (一)

Oracle数据库的监控通常涉及性能、空间、会话、对象、备份、安全等多个层面。 有效的监控可以帮助 DBA 及时发现和解决问题&#xff0c;提高数据库的稳定性和性能&#xff0c;保障企业的数据安全和业务连续性。 常用的监控指标有&#xff1a; 性能指标&#xff1a; 查询响应时间…

抽象工厂模式(Redis 集群升级)

目录 定义 Redis 集群升级 模拟单机服务 RedisUtils 模拟集群 EGM 模拟集群 IIR 定义使⽤接⼝ 实现调⽤代码 代码实现 定义适配接⼝ 实现集群使⽤服务 EGMCacheAdapter IIRCacheAdapter 定义抽象⼯程代理类和实现 JDKProxy JDKInvocationHandler 测试验证 定义 …

Mockaroo - 在线生成测试用例利器

简介&#xff1a;Mockaroo 是一个无需安装的在线工具&#xff0c;用于生成大量的自定义测试数据。它支持多种数据格式&#xff0c;如JSON、CSV、SQL和Excel&#xff0c;并能模拟复杂的数据结构。 历史攻略&#xff1a; 测试用例&#xff1a;多条件下编写&#xff0c;懒人妙用…

ChatGPT付费创作系统V2.8.4独立版 WEB+H5+小程序端 (新增Pika视频+短信宝+DALL-E-3+Midjourney接口)

小狐狸GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序&#xff0c;是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。当前全民热议ChatGPT&#xff0c;流量超级大&#xff0c;引流不要太简单&#xff01;一键下单即可拥有自己的GPT&#xff01;无限多…

网盘——文件重命名

文件重命名具体步骤如下&#xff1a; 目录 1、具体步骤 2、代码实现 2.1、添加重命名文件的槽函数 2.2、关联重命名文件夹信号槽 2.3、添加重命名文件的协议 2.4、添加槽函数定义 2.5、服务器 2.6、添加重命名文件的case 2.7、客户端接收回复 3、测试 3.1、点击重命…

debian配置四叶草输入法

效果展示 一、前言 在linux下体验比较好的输入法只有两款&#xff1a;搜狗输入法、四叶草输入法。 ubuntu下可以成功配置搜狗输入法&#xff0c;但debian下从来没有成功过。 今天在用fcitx5 四叶草时发现VNC远程输入法会失灵&#xff0c;于是改用了ibus 四叶草&#xff0c…

Qt : 禁用控件默认的鼠标滚轮事件

最近在写一个模拟器&#xff0c;在item中添加了很多的控件&#xff0c;这些控件默认是支持鼠标滚动事件的。在数据量特别大的时候&#xff0c;及容易不小心就把数据给修改了而不自知。所有&#xff0c;我们这里需要禁用掉这些控件的鼠标滚轮事件。 实现的思想很简单&#xff0c…

原生微信小程序中案例--仿boss区域树选择列多选功能

1. 需求描述&#xff1a; 区域三级列表&#xff0c; 有添加&#xff0c;编辑&#xff0c;删除功能。 选择父级分类&#xff0c;其下子类全部选中&#xff0c;当前分类后加标志显示全字样取消选中子类&#xff0c;其父类分类后标志显示选中数量若子类全部选中&#xff0c;除当…

对2023年图灵奖揭晓看法

2023年图灵奖揭晓&#xff0c;你怎么看&#xff1f; 2023年图灵奖&#xff0c;最近刚刚颁给普林斯顿数学教授 Avi Wigderson&#xff01;作为理论计算机科学领域的领军人物&#xff0c;他对于理解计算中的随机性和伪随机性的作用&#xff0c;作出了开创性贡献。这些贡献不仅推…

【stomp 实战】spring websocket源码分析之握手请求的处理

上一节【搭建一套websocket推送平台】我们通过一个项目&#xff0c;实现了一套推送平台。由于spring框架对于websocket的支持和stomp协议的良好封装&#xff0c;我们很容易地就实现了websocket的消息推送功能。虽然搭建这么一套推送系统不难&#xff0c;但是如果不了解其底层原…

Spring Cloud Alibaba Sentinel 使用

初识Sentinel Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址&#xff1a; home | Sentinel 需要了解的概念 簇点链路 在学习 Sentinel 的使用之前&#xff0c;我们有必要首先了解一下簇点链路。当请求进入微服务时&#xff0c;首先会访Controller、Service、Ma…

赋能智慧校园!A3D数字孪生可视化,轻量又高效!

放假之后&#xff0c;学生们会逐步返学&#xff0c;大量人员出入校园&#xff0c;安全更是不容忽视&#xff0c;如何在短时间内对大批人员及设施进行智能监管&#xff1f;数字化转型是关键手段&#xff0c;我们可以融合线上线下数据&#xff0c;搭建3D立体的智慧校园&#xff0…

Unity 按下Play键后,Scene View里面一切正常,但是Game View中什么都没有 -- Camera Clear Flags的设置

问题如下所示。 最先遇到这个问题是我想用Unity开发一个VR 360-degree Image Viewer。在Scene View中可以看到球体&#xff0c;但是Game View什么都看不到。最后找到的原因是&#xff0c;我使用的shader是Skybox/Panorama&#xff0c; 需要把Main Camera的Clear Flags设置成Do…

hanoi塔

hanoi塔问题&#xff1a; 1.规则&#xff1a;一次移动一个盘子&#xff0c;小盘子压大盘子上面&#xff0c;有A、B、C三个柱子&#xff0c;A是起始放盘子的柱子&#xff0c;B是中间可以借助的柱子&#xff0c;C是最后放盘子的位置 2.简单思路&#xff1a; 如果有1个盘子&…

netsh int ipv4 show dynamicport tcp动态端口port设置

netsh int ipv4 show dynamicport tcp netsh int ipv4 set dynamicport tcp start4000 num10000