五、Microsoft群集服务(MSCS)环境的搭建
一、【目的】
学会利用Windows Server布置群集环境。
二、【设备】
FreeNAS11.2,Windows Server 2019
三、【要求】
学会利用Windows Server布置群集环境,掌握处理问题的能力。
配置表:
| 节点 | 公网IP(public) | 内网IP(private) | 群集IP(cluster) | 域名(ha) |
| nodeA | 192.168.91.236 | 10.1.1.2 | 192.168.91.239 | NODEA |
| nodeB | 192.168.91.237 | 10.1.1.3 | 192.168.91.239 | NODEB |
| master | 192.168.91.239 | HA.COM | ||
| NAS | 192.168.91.234 |
四、【步骤】
1、在虚拟机中安装3个Windows Server 2019
打开VMware,“创建新的虚拟机”->“自定义”->兼容性“Workstation 16.x”

安装程序光盘映像文件,选择:server 2019
要安装的Windows版本选择“Windows Server 2019Datacenter” 配置全名及密码,可不设置密码

配置虚拟机名称及存储位置

引导类型选怎“BIOS”

处理器、内存及磁盘容量按需配置,其余选项默认


点击完成后,启动虚拟机,自动进入安装

安装完成可正常登录后根据上述内容再安装2个Windows Server 2019,并重命名。

编辑nodeA设置,单击“添加”->“网络适配器”,将原适配器设置为“仅主机模式”,适配器2为“NAT”,nodeB节点进行一样的操作。

2、群集环境部署
同时启动nodeA节点和nodeB节点(以下配置双节点同步进行)
登录nodeA,更改名字方法:进入控制面板\用户帐户\用户帐户\管理帐户,选择账户,单击“更改账户名称”为“nodeA”。
登录节点,关闭防火墙
打开服务器管理器面板,单击“工具”->“高级安全Windows Defender防火墙”->“Windows Defender防火墙属性”,域配置文件“防火墙状态关闭”,专用配置文件“防火墙状态关闭”,公用配置文件“防火墙状态关闭”。



进入:控制面板\网络和 Internet\网络和共享中心\更改适配器设置,修改内网网卡为“private”,外网网卡为“public”

右键心跳网卡“private”,单击“属性”->“internet协议版本4”,配置IP地址及子网掩码

单击“高级”,进入高级TCP/IP设置
打开“DNS”选项卡,取消选中“附加主DNS后缀的父后缀”

打开“WINS”选项卡,选择“禁用TCP/IP上的NetBIOS”,点击确定。

注意:私有网卡这两项设置的主要原因是组建节点间的心跳网络,为了消除可能的通信问题,必须从网络适配器删除所有不必要的网络流量以防干扰心跳网络的正常运行。
右键公网网卡“public”,配置IP地址及子网掩码,首选DNS指向master节点

同理配置nodeB节点。双节点配置完成在nodeB节点win+r打开运行程序,输入“cmd”,通过ping “nodeA节点ip测试连通性”

3、设置共享磁盘
IP-SAN组件参考:三、FreeNAS安装及实现SMB共享_yyn01的博客-CSDN博客
Windows Service 2019自带iSCSI,无需下载,登录nodeA,打开服务器管理器,单击“工具”——“iSCSI发起程序”->“目标”->“快速连接”

打开:控制面板\系统和安全\管理工具\计算机管理,查看“磁盘管理”

右键“磁盘1”->单击“联机”。 打开“此电脑”查看。

nodeB进行同样操作,无需关闭nodeA,至此共享磁盘环境搭建完成。
4、创建域服务器
将master节点设置为域控制器的操作系统。关闭nodeB节点,开启master节点,关闭master节点防火墙,配置ip地址及子网掩码,首选DNS为环回地址127.0.0.1,并测试与nodea的连通性

打开服务器管理器面板,单击“添加角色和功能”

进入下一步,选择“基于角色或基于功能的安装”

默认进入下一步,选择“Active Directory域服务”

默认“下一步”到确认,单击“安装”,安装完毕单击“将此服务器提升为域控制器”

选择“添加新林”,配置根域名ha.com

设置DSRM密码(有强度要求,本例密码123456QAZ.),用于还原恢复域控制器上的Sysvol目录和Directory目录

略过“DNS选项”,进入“其他选项”,使用系统建议的NetBIOS域名“HA”

默认进入“下一步”,进入“先决条件检查” , 系统检测失败,报错是未设置Administrator账户密码

通过进入:控制面板\用户帐户\用户帐户\管理帐户\更改帐户,选择更改密码,创建Administrator账户密码,重新检测通过,单击“安装”

(安装完成将自动重启,完成域服务器的安装)(nodeB可能也会做这个步骤,视情况而定)
5、群集节点加入ha.com域
登录nodeA节点,加入HA.COM域,nodeB节点同理,最好做nodeB时候关掉nodeA。
添加角色和功能,默认下一步,安装DNS服务。

进入:控制面板\系统和安全\系统,单击“更改设置”

进入“计算机名”选项框,单击“更改”

修改计算机名为“nodeA”,隶属于域“ha.com”

单击“确定”,输入管理员账户密码(Administrator,123456QAZ.)

成功加入ha.com域

6、群集域账号
建立用于启动群集服务的域账号
登录域节点“master”,打开服务器管理器面板,单击“工具”——“Active Directory用户和计算机”,右键“Users”,单击“新建”->“用户”

配置姓、名、登录名及密码

取消勾选“用户下次登录时须更改密码”,勾选“密码永不过期”、“用户不能更改密码”选项,单击“下一步”(本例密码123456QAZ.)

7、创建群集服务
登录nodea节点,打开服务器管理器面板,单击“添加角色和功能”,默认配置“下一步”,进入“功能”选项区,添加“故障转移群集”,进入安装,安装完毕手动重启


在nodeb重复上一步操作,再从“服务器管理器面板”->“工具”->“注册表”,找到目录
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
新建DWORD(32位)值,键名:LocalAccountTokenFilterPolicy 键值为十进制 1
注:这步可省略,出现问题再操作,两个节点均要操作。

重新登录nodea节点,打开服务器管理器面板,单击“工具”->“故障转移群集管理器”->右侧“创建群集”

输入服务器名称:nodeA,nodeB,点击“添加”,可以先添加一个,后面再添加

进行配置验证

运行测试


配置群集网卡,这里我只选择一张对外网卡,对192.168.91.0/24网段进行配置

nodeA节点连接群集,单击右侧“连接到群集”

这里列举的先添加nodeB,查看节点,仅有nodeB节点,正常后可在后面操作处添加节点
相关文章:
五、Microsoft群集服务(MSCS)环境的搭建
一、【目的】 学会利用Windows Server布置群集环境。 二、【设备】 FreeNAS11.2,Windows Server 2019 三、【要求】 学会利用Windows Server布置群集环境,掌握处理问题的能力。 配置表: 节点公网IP(public)内网IP(private)群集IP(clust…...
通义千问 Qwen-72B-Chat在PAI-DSW的微调推理实践
01 引言 通义千问-72B(Qwen-72B)是阿里云研发的通义千问大模型系列的720亿参数规模模型。Qwen-72B的预训练数据类型多样、覆盖广泛,包括大量网络文本、专业书籍、代码等。Qwen-72B-Chat是在Qwen-72B的基础上,使用对齐机制打造的…...
web应用体系以及windows网络常见操作应用
本课程目标 1.Dos命令(必须掌握) 2.网络体系(笔试选择填空题) 3.搭建windows测试环境 一、Dos命令 1.DOS窗口启动 启动方式1.进入DOS页面:win+R,键入cmd 启动方式2.开始-运行--输入cmd-回车,此时将出现一个显示命令提示符的窗口,如下图 2、常见的Dos命令: 1、cd…...
FFmpeg 安装配置
FFmpeg 安装配置 依赖包 sudo apt-get install -y autoconf automake bzip2 cmake freetype-devel gcc gcc-c git libtool make mercurial pkgconfig zlib-devel x264-develsudo apt-get install yasm -y安装 wget https://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2tar -…...
14:00面试,14:08就出来了,问的问题有点变态。。。。。。
从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...
vue3 添加编辑页使用 cron 表达式生成
示例效果图 1、添加组件 <template><div class"v3c"><ul class"v3c-tab"><li class"v3c-tab-item" :class"{ v3c-active: tabActive 1 }" click"onHandleTab(1)">秒</li><li class&qu…...
洛谷P1722 矩阵Ⅱ——卡特兰数
传送门: P1722 矩阵 II - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1722 用不需要除任何数的公式来求。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cmath> #includ…...
Unity | Shader基础知识(第六集:语法<如何加入外部颜色资源>)
目录 一、本节介绍 1 上集回顾 2 本节介绍 二、语法结构 1 复习 2 理论知识 3 Shader里声明的写法 4 Properties和SubShader毕竟不是一家人 三、 片元着色器中使用资源 四、代码实现 五、全部代码 六、下集介绍 相关阅读 Unity - Manual: Writing Surface Shaders…...
使用opencv的Laplacian算子实现图像边缘检测
1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题,也是经典的技术难题之一。如何快速、精确地提取图像边缘信息,一直是国内外的研究热点,同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…...
5. PyTorch——数据处理模块
1.数据加载 在PyTorch中,数据加载可通过自定义的数据集对象。数据集对象被抽象为Dataset类,实现自定义的数据集需要继承Dataset,并实现两个Python魔法方法: __getitem__:返回一条数据,或一个样本。obj[in…...
Android 移动端编译 cityhash动态库
最近做项目, 硬件端 需要 用 cityhash 编译一个 动态库 提供给移动端使用,l 记录一下 编译过程 city .cpp // // Created by Administrator on 2023/12/12. // // Copyright (c) 2011 Google, Inc. // // Permission is hereby granted, free of charg…...
IO流学习
IO流:存储和读取数据的解决方案 import java.io.FileOutputStream; import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {//1.创建对象//写出 输入流 OutputStream//本地文件fileFileOutputStream fos new FileOutputS…...
新手HTML和CSS的常见知识点
目录 1.HTML标题标签(到)用于定义网页中的标题,并按照重要性递减排列。例如: 2.HTML段落标签()用于定义网页中的段落。例如: 3.HTML链接标签()用于创建链接…...
RocketMQ系统性学习-RocketMQ领域模型及Linux下单机安装
MQ 之间的对比 三种常用的 MQ 对比,ActiveMQ、Kafka、RocketMQ 性能方面: 三种 MQ 吞吐量级别为:万,百万,十万消息发送时延:毫秒,毫秒,微秒可用性:主从,分…...
微服务架构之争:Quarkus VS Spring Boot
在容器时代(“Docker时代”),无论如何,Java仍然活着。Java在性能方面一直很有名,主要是因为代码和真实机器之间的抽象层,多平台的成本(一次编写,随处运行——还记得吗?&a…...
如何使用ArcGIS Pro拼接影像
为了方便数据的存储和传输,我们在网上获取到的影像一般都是分块的,正式使用之前需要对这些影像进行拼接,这里为大家介绍一下ArcGIS Pro中拼接影像的方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的…...
[论文笔记] chatgpt系列 SparseMOE—GPT4的MOE结构
SparseMOE: 稀疏激活的MOE Swtich MOE,所有token要在K个专家网络中,选择一个专家网络。 显存增加。 Experts Choice:路由MOE: 由专家选择token。这样不同的专家都选择到某个token,也可以不选择该token。 由于FFN层的时间复杂度和attention层不同,FFN层的时…...
C# WPF上位机开发(键盘绘图控制)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在软件开发中,如果存在canvas图像的话,一般有几种控制方法。一种是鼠标控制;一种是键盘控制;还有一…...
《地理信息系统原理》笔记/期末复习资料(10. 空间数据挖掘与空间决策支持系统)
目录 10. 空间数据挖掘与空间决策支持系统 10.1. 空间数据挖掘 10.1.1. 空间数据挖掘的概念 10.1.2. 空间数据挖掘的方法与过程 10.1.3. 空间数据挖掘的应用 10.2. 空间决策支持系统 10.2.1. 空间决策支持系统的概念 10.2.2. 空间决策支持系统的结构 10.2.3. 空间决策…...
uniapp播放 m3u8格式视频 兼容pc和移动端
支持全自动播放、设置参数 自己摸索出来的,花了一天时间,给点订阅支持下,订阅后,不懂的地方可以私聊我。 代码实现 代码实现 1.安装dplayer组件 npm i dplayer2. static/index.html下引入 hls 引入hls.min.js 可以存放在static项目hls下面<script src="/static…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
