千家信息网

WSFC 群集编排任务计划

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,任务计划是操作系统中重要的组件,通过任务计划,电脑可以自动帮助我们在某条件下触发某操作,以完成任务对应到现实生活类似于现在的智能电饭锅,你每天早上需要吃早餐,但是又不想做,就用智能电饭锅做了个定时操作
千家信息网最后更新 2024年11月21日WSFC 群集编排任务计划

任务计划是操作系统中重要的组件,通过任务计划,电脑可以自动帮助我们在某条件下触发某操作,以完成任务


对应到现实生活类似于现在的智能电饭锅,你每天早上需要吃早餐,但是又不想做,就用智能电饭锅做了个定时操作,每天早上七点,用小火帮我煮好粥,到点起来吃就可以了,操作系统中的任务计划也是相通的概念,意义在于通过电脑自动帮助我们完成任务,不用每次亲力亲为


任务计划通常被用于操作系统或后端的应用程序,例如定期执行审核收集脚本,定期生成硬件报告,定期处理应用程序缓存,等等


高级电脑用户可以用任务计划,自动帮助我们执行某事,例如你知道今天下午三点要做某事,但是你三点有事不在,就可以做个任务计划,到时间电脑自动帮你完成

企业IT管理员可以用任务计划,帮助我们来完成自动化的服务器收集监视,或需要重复性执行的操作

应用开发人员可以用任务计划,定期自动执行应用程序所需配置,例如定期启动某个exe,定期处理某个缓存


当我们提任务计划,通常我们是指计划某事,然后做某事,而不仅仅是计划,因此电脑中的任务计划与日历提醒有所区别,所谓的提醒软件只是提醒你去做某事,但不会帮你去做


任务计划在Windows Server 上面和Windows Client 上面都有,最早老王记得Server 2000上面就曾看到过,那时它叫做任务计划,一直到2003,2003任务计划和2000时代并不太大差别,当创建任务计划时会跑一个向导,可以指定任务要执行的程序,运行任务的周期,每天,每周,每月,一次性,计算机启动时,登录时,执行任务密码,创建完成后任务计划可以在控制面板-任务计划文件夹下看到


到了Sever 2008和vista时代,任务计划得到了增强,改名为任务计划程序,移至管理工具中,里面将任务计划更明确的划分为 触发器 - 操作 - 条件 三个层级,满足什么触发前提下触发任务计划,触发之后要执行什么操作,执行操作之前有哪些条件需要满足,例如可以设定只在操作系统空闲时间执行等等,对于界面上面显示也更加友好,支持显示任务历史执行记录,支持导出任务,导入任务


在那个时代不像现在,那时微软还没有powershell3.0,DSC,SCO这些强大的自动化工具,那时微软自身并没有太多自动化工具,因此,如果管理员需要执行一些自动化管理操作,通常会选择ps1+任务计划,VBS+任务计划,BAT+任务计划,写好一个脚本,然后配合任务计划,定期执行


到了Powershell 3.0,Windows Server 2012,任务计划程序得到了更进一步的增强,支持直接通过Powershell去管理创建任务计划,更加的灵活方便


示例:


注册任务计划操作,已注册的Job不会因为Powershell的控制台关闭而消失

Register-ScheduledJob -Name querydriver -ScriptBlock {driverquery }


创建任务计划操作变量

$job=Get-ScheduledJob -Name querydriver


创建任务计划触发器

下午七点半执行,每隔五天执行一次

$jobtrigger=New-JobTrigger -Daily -At "19:30 PM" -DaysInterval 5


为任务计划操作分配触发器

$job=Get-ScheduledJob -Name querydriver | Add-JobTrigger -Trigger $jobtrigger


Powershell创建的任务计划将在后台异步执行,同样也是底层调用了任务计划,只不过通过powershell包上一层,管理起来更加灵活,创建完成的任务计划可以在任务管理程序 taskschd.msc 里面看到,Powershell 创建的任务计划位于Windows - Powershell - ScheduledJobs文件夹


查看任务计划

Get-ScheduledJob -Name querydriver


删除任务计划

Get-ScheduledJob -Name querydriver | Unregister-ScheduledJob


禁用任务计划

Get-ScheduledJob -Name querydriver | Disable-scheduledjob


以上为大家简单讲了下任务计划来龙去脉,以及最新2012开始对于Powershell管理的支持,下面我们切入主题,群集编排任务计划


也是在2012动态数据中心时代新增进来的功能,虽然我们有了通过powershell管理任务计划的功能,但是这只能在单台机器执行,如果是一个大规模群集的话,需要将任务计划复制到其它节点才可以,如果节点过多也过于麻烦,通过群集编排任务计划,提供了三种在群集内编排任务计划的方法


任何节点:将任务计划注册到群集中,执行程序放在群集共享磁盘,当到达触发条件时会在任意1个节点上执行任务计划,适用于对于群集审核日志,报告收集,应用程序预热等需求,我不需要在每个节点上面执行,只要有一个节点执行了就好,如果上次执行的节点宕机,下次会挑选其它的正常节点执行。


资源特定:将任务计划注册到群集中,执行程序放在群集共享磁盘,当到达触发条件时,自动针对于群集的指定资源执行,该类型任务计划与群集资源绑定,资源迁移到那个节点,任务计划就在那个节点执行,如果资源被删除,则任务也被删除,适用于针对群集磁盘执行碎片整理操作,默认情况下对于CSV,永远不会执行磁盘整理操作,如果您在CSV上面存放了大量动态VHDX,建议您创建一个此类型的编排任务,定期自动执行磁盘整理,将帮助CSV提升性能。


群集范围:将任务计划注册到群集中,执行程序放在群集共享磁盘,当到达触发条件时,任务计划程序将在所有有效的群集节点上执行,例如如果您希望在登录到任何节点时要打开一个或一组工具,则可以将这种任务添加为群集范围任务


群集编排任务从2012开始引入至今,目前还是只能通过powershell方式管理,所有群集编排任务的管理命令如下


Get-ClusteredScheduledTask 查询集群任务

Register-ClusteredScheduledTask 注册集群任务

Set-ClusteredScheduledTask 更新已经注册的集群任务

Unregister-ClusteredScheduledTask 取消注册群集任务


本例老王以创建一个资源特定类型的群集编排任务计划为例


1.创建编排操作

$action = New-ScheduledTaskAction - Execute C\ClusterStorage\Volume2\1.bat


内容如下,老王实作了CSV的碎片整理,由于属于群集磁盘,因此对于CSV执行磁盘整理命令前需置为重定向模式,整理结束后再行恢复


2.创建编排触发器,每周周五晚上十一点执行

$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Friday -At "23:00"


3.将编排操作,编排触发器注册至群集编排任务

Register-ClusteredScheduledTask -Cluster hvclus -TaskName csvdefrag -TaskType ResourceSpecific -Resource "群集磁盘3"-Action $action -Trigger $trigger


TaskType其他类型参数:AnyNode ,ClusterWide,注册后不可变更编排任务类型


经过群集编排注册的任务计划会显示在任务计划程序-Windows -Failover Clustering文件夹中,此文件夹在未创建群集编排任务计划前处于隐藏状态,创建编排任务后显示,虽然UI界面也可以创建任务,但是UI界面创建的任务计划无群集编排效果,仅用作单机,当节点被群集逐出后,所有该文件夹的任务都将被删除


创建完成群集编排任务后,可以看到,资源特定类型的编排任务仅在资源所有者节点为准备就绪状态,其它节点上也会显示群集编排任务,但为禁用状态


移动资源至12HV02后,群集编排任务计划在12HV01上面禁用,12HV02上面就绪




任意节点类型编排任务,将随机在一个节点上面就绪,如果该节点宕机,则寻找其它正常节点就绪

群集范围类型编排任务,将在所有节点上面就绪,达到触发器条件时,所有节点一起执行,如果节点从群集被逐出,则编排任务将自动删除


老王这里把群集编排任务计划的操作程序放在群集共享磁盘中,是处于高可用考虑,您也可以尝试把操作程序放在所有节点本地磁盘相同位置


查询群集内所有编排任务计划

Get-ClusteredScheduledTask -Cluster hvclus


查询群集内特定资源类型编排任务计划

Get-ClusteredScheduledTask -Cluster hvclus -TaskType ResourceSpecific


查询群集内特定名称的编排任务计划

Get-ClusteredScheduledTask -Cluster hvclus -TaskName csvdefrag


更新群集编排任务计划


变更触发器条件

$trigger = New-ScheduledTaskTrigger -At 22:00 -Daily

更新编排任务计划

Set-ClusteredScheduledTask -Cluster hvclus-TaskName csvdefrag -Trigger $trigger


查询编排任务计划触发器条件

(Get-ClusteredScheduledTask -TaskName csvdefrag).TaskDefinition.Triggers


取消注册群集编排任务计划,取消后任务将从各节点删除

Unregister-ClusteredScheduledTask -Cluster hvclus -TaskName csvdefrag






任务 节点 程序 磁盘 管理 资源 条件 类型 触发器 文件 文件夹 时代 电脑 帮助 应用 查询 操作系统 工具 应用程序 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 工商银行软件开发二薪点 网络安全 18年 号文 ar软件开发知乎 怎么隐藏服务器真实ip 互联网络安全和通信网络安全 中国网络安全对抗赛 网络技术基础在线阅读 网络安全方面有哪些 讷河软件开发项目管理在线咨询 网络安全比赛小组名称和口号 软件开发人员如何投资公司 aqt如何连接远程数据库 数据库表实验原理 南昌餐厅扫码点餐机软件开发 西安乐源互联网科技公司 南京科技互联网发展 嵌入式软件开发跑系统 网络安全专业学校排名一览 碧蓝航线 安卓 服务器 hadr 双机恢复数据库 四川hp服务器维修调试哪家便宜 江苏惠普服务器虚拟化设计 为什么f2fool服务器错误 网很好为什么一直正在连接服务器 vr服务器 蛮王柯南选什么服务器 可以删除数据库和数据表的语句是 网络安全审查办法全文2022 多程序同时查数据库速度 合伙人互联网科技
0