news 2026/8/27 16:03:31

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 15:54:55

MT-GNN:连续时间网格演化与度量张量嵌入的脑形态预测

各位做神经影像、医学图像分析和图深度学习的朋友们,大家好。之前在处理大脑皮层形态预测任务时,我一直被两个问题困扰:一是传统的影像学指标(如皮层厚度、体积)是静态的,很难刻画大脑发育或疾病进展中的动…

作者头像 李华
网站建设 2026/8/27 15:47:58

OBS 直播按键显示怎么做?Input Overlay 免费插件 5 分钟配置教程

OBS 直播按键显示怎么做?Input Overlay 免费插件 5 分钟配置教程 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay Input Overlay 是一款开源的 OBS Studio 插…

作者头像 李华
网站建设 2026/8/27 15:46:37

免费开源 Crimson 字体完整使用指南

免费开源 Crimson 字体完整使用指南 【免费下载链接】Crimson The Crimson Text typeface 项目地址: https://gitcode.com/gh_mirrors/cr/Crimson Crimson 字体是一款免费开源的正文衬线字体家族,一次给出常规、半粗、粗体及对应斜体共 6 个字重,…

作者头像 李华