当前位置: 首页 > news >正文

MSLab 入门指南:用 3 条 PowerShell 命令搭出 Azure Local 测试集群

MSLab 入门指南:用 3 条 PowerShell 命令搭出 Azure Local 测试集群

【免费下载链接】MSLabAzure Local (formerly Azure Stack HCI), Windows 10 and Windows Server rapid lab deployment scripts项目地址: https://gitcode.com/gh_mirrors/ms/MSLab

MSLab 是一套实验室快速部署脚本,能在装好 Hyper-V 的主机上搭出 Azure Local(原 Azure Stack HCI)、Windows Server 和 Windows 10 的完整虚拟环境。读完后你会拥有一个带域控制器、S2D 集群节点和管理机的实验环境,并且随时可以推倒重来。

部署完成后的环境长什么样

MSLab 跑完默认流程,Hyper-V 管理器里会出现一组虚拟机:

  • MSLab-DC:域控制器,DNS、DHCP、DSC Pull 服务已配好
  • MSLab-ALNode1、MSLab-ALNode2:Azure Local 节点,挂着模拟的本地磁盘,可以组成 S2D 集群
  • MSLab-Management:带图形界面的管理机,日常登录操作就用它

所有虚拟机和虚拟交换机都带 MSLab- 前缀,在管理器里一眼能认出来。磁盘占用也很省——全部虚拟磁盘都是差分盘,主机有 8GB 内存、40GB 空闲空间就能跑,不挑硬件。

首次运行前的准备:克隆仓库并放开策略

把仓库克隆到本地任意目录:

git clone https://gitcode.com/gh_mirrors/ms/MSLab

克隆后部署脚本都在Scripts/目录,配置文件是Scripts/LabConfig.ps1。运行前先执行两条命令,否则右键 Run with PowerShell 会报"未经授权"的脚本错误——这是新手第一个卡点:

Get-ChildItem -Path C:\MSLab | Unblock-File Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

第一条解开文件"来自网络"的锁定标记,第二条放开执行策略。顺手确认一下硬件:Windows 10/11 专业版或 Windows Server、已启用 Hyper-V、至少 40GB 空闲空间。脚本自身也会检查系统版本和 Hyper-V 是否就位,缺了会直接提示。

水合阶段为什么慢,怎么避免跑第二遍

MSLab 把工作分成两阶段:水合慢,但只需要跑一次;部署只要几分钟,可以反复跑。

.\Scripts\1_Prereq.ps1

它下载脚本依赖的 DSC 模块和工具文件,生成ParentDisksToolsDisk目录。首次运行需要联网,之后把整个文件夹拷到离线机器上照样能用,这也是把实验环境交给学员的方式。

接着创建父磁盘:

.\Scripts\2_CreateParentDisks.ps1

这是全程最耗时的一步,1~2 小时。脚本会弹窗让你选 Windows Server 安装 ISO,然后制作父 VHD,再构建域控制器并"脱水"成文件。窗口打印 Script finished 并询问是否清理无用文件时,选 Y 即可。

ParentDisks目录里已有你要的 VHD 时,脚本会跳过制作直接复用,这一步能压到 15 分钟左右。要部署 Azure Local 的话,在ParentDisks目录里再跑一次CreateParentDisk.ps1制作 Azure Local 父磁盘,按提示指向 Azure Local 的 ISO。

LabConfig.ps1 里怎么改虚拟机清单

LabConfig.ps1决定部署出什么。最小可用配置(Azure Local 双节点加一台管理机):

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='LS1setup!'; DCEdition='4'; Internet=$true; AdditionalNetworksConfig=@(); VMs=@() } # 两台 Azure Local 节点,S2D 配置 1..2 | ForEach-Object { $LabConfig.VMs += @{ VMName="ALNode$_"; Configuration='S2D'; ParentVHD='AzSHCI24H2_G2.vhdx'; HDDNumber=4; HDDSize=1TB; MemoryStartupBytes=24GB; VMProcessorCount='MAX'; vTPM=$true; Unattend='NoDjoin'; NestedVirt=$true } } # 一台图形界面管理机 $LabConfig.VMs += @{ VMName='Management'; ParentVHD='Win2025_G2.vhdx'; MGMTNICs=1; AddToolsVHD=$true }

关键字段就四个:

  • Configuration'S2D'会给 VM 挂模拟本地盘做 Storage Spaces Direct;'Simple'则是普通虚拟机
  • ParentVHD:ParentDisks 目录里的父磁盘名;MemoryStartupBytesVMProcessorCount分别是启动内存和 CPU 数
  • AdminPassword:在水合阶段写进了父磁盘,之后不要改
  • Internet=$true:给域控制器建外部交换机并配 NAT,实验室内虚拟机可以上网

部署之后:红色报错可以忽略

.\Scripts\3_Deploy.ps1

全程约 5 分钟,先导入域控制器,再逐台创建节点和管理机。过程中可能刷出 "InitializeDefaultDrives operation on the 'ActiveDirectory' provider failed" 之类的红字,那是 DC 启动时的正常探测,不影响结果。

但有一个例外:如果红色报错循环刷屏、脚本迟迟不结束,多半是你在做父磁盘之后改过AdminPassword——脚本对密码不一致没有报错,只能保证从创建父磁盘起密码始终一致。

实验做完运行.\Scripts\Cleanup.ps1,确认后所有 VM 被删除、域控制器还原,几分钟后再跑 3_Deploy 又是一套新环境,重建与拆除全靠这对脚本。下一步可以打开HandsOnLabs目录,每个子目录都是一个完整案例,比如02-DeployingAzureLocal演示了如何在节点上部署 Azure Local 角色。

【免费下载链接】MSLabAzure Local (formerly Azure Stack HCI), Windows 10 and Windows Server rapid lab deployment scripts项目地址: https://gitcode.com/gh_mirrors/ms/MSLab

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4249071.html

相关文章:

  • 为什么Venice值得关注:LinkedIn开源的行星级派生数据平台完整指南
  • KISS-Matcher是什么:MIT开源的3D点云配准利器,一文读懂FastRobust全局配准的完整原理
  • MT-GNN:连续时间网格演化与度量张量嵌入的脑形态预测
  • OBS 直播按键显示怎么做?Input Overlay 免费插件 5 分钟配置教程
  • 免费开源 Crimson 字体完整使用指南
  • AI奖励作弊第一课:ai-safety-gridworlds的tomato_watering浇番茄环境实战教程
  • 审查员常用链接
  • K8s集群Containerd运行时配置定时备份实操
  • 大模型VS大语言模型:核心区别详解,一篇文章带你搞清楚
  • llama-cpp-agent 生产部署与调优完全指南:采样参数、性能瓶颈与常见问题解决方案
  • Axure 汉化完整指南:4 步流程修复 Axure 11/10/9 英文界面
  • 基于STM32F4单片机的FreeRTOS移植思路及过程
  • copymanga-downloader 常见问题10问10答:杀毒软件误报、登录失败一次解决
  • WorkshopDL 创意工坊模组下载:5 分钟免费拿好你的第一个模组
  • 揭秘500+份模板从何而来:expo-react-native-cicd工作流生成器的代码实现原理
  • 基于SpringBoot+vue房产销售系统设计与实现毕业设计项目源码
  • PolarFire FPGA评估套件实战:低功耗高安全中端FPGA选型与调试指南
  • Hayagriva × BibTeX:.bib文件一键转YAML的互操作完整教程
  • 10分钟上手ExLlamaV3:新手入门安装与首次运行完整指南
  • StarWars EF Core数据访问详解:StarWarsContext关系建模与数据库自动种子数据
  • goloader运行时深度集成揭秘:go:linkname黑魔法与firstmoduledata链表改造
  • 从Scrapy爬虫到情感分析模型:豆瓣电影评论数据全流程实战
  • Python实现灰色预测:小样本数据建模与GM(1,1)模型实战
  • svgpathtools交点检测实战:用intersect()快速找出贝塞尔曲线的所有交点
  • json-editor-vue 的 10 个高频使用场景:API 调试、配置管理与日志查看实战教程
  • AutoScientists生物医学ML实战:24个BioML-Bench任务的数据准备与运行完全指南
  • 2026年内容防盗的教培系统有哪些,具体如何操作呢?
  • Ruby 官方镜像发布自动化完整剖析:versions.sh 到 Docker Hub 的更新管线
  • TeenyUSB MSC U盘开发指南:用FatFs打造你自己的闪存U盘设备
  • KKCE: 网站测速,ping检测,IP查询,路由追踪-快快测