我知道可以从 Hyper-V Server 2012 r2 安装中使用 Bitlocker。而且我知道它可以在没有 TPM 芯片的机器上完成。问题是我发现的所有示例都依赖于 GUI。我不希望所有复杂的设置都允许通过 GUI 进行远程管理,而且我没有使用 Active Directory(我也不会)。
如何从命令行完全设置 Bitlocker 以在启动时自动使用 USB 驱动器?
我知道可以从 Hyper-V Server 2012 r2 安装中使用 Bitlocker。而且我知道它可以在没有 TPM 芯片的机器上完成。问题是我发现的所有示例都依赖于 GUI。我不希望所有复杂的设置都允许通过 GUI 进行远程管理,而且我没有使用 Active Directory(我也不会)。
如何从命令行完全设置 Bitlocker 以在启动时自动使用 USB 驱动器?
我想要一个单独的 Sql Server 实例,专门用于“报告”角色。我决定通过日志传送填充该服务器(因为镜像不起作用,并且可用性组非常昂贵)。我发现我只需要按时间间隔备份事务日志,将它们复制到报告实例可访问的位置,然后在目标实例上执行恢复。
我没有找到一个被广泛接受的解决方案的问题是,如果没有对目标目录的独占访问权限,就无法恢复日志。我想经常刷新数据,但让刷新过程等待最终用户运行的任何活动报告/查询;由于连接池,您不能只跟踪打开的连接。所以我的解决方案的关键是能够确定数据库目录是否“忙”。我提出了这个查询,列出了“活动”查询——我的进程应该等待的那些。有谁知道为什么这不起作用,或者有人可以确认它会起作用吗?(例如,阻塞信息是否比我已经检查的更重要?)
SELECT USER_NAME(user_id) AS LoginName
, DB_NAME(database_id) AS DbCat
, blocking_session_id AS BlockedBy
, open_transaction_count AS OpenTrans
, status AS ExecStatus
, cpu_time AS CpuTime
, logical_reads AS LogicalReads
, *
FROM sys.dm_exec_requests
WHERE session_id != @@SPID
AND database_id = DB_ID()
AND status != 'background' --always non-client activity; not something that should block log-shipping.
AND (open_transaction_count > 0 --open transactions always need to be waited on
OR status != 'sleeping' --sleeping=idle, except when there's an open transaction.
);
本质上,如果此查询返回零行,则目录处于空闲状态,我会执行还原。如果没有,那么恢复不会在那个时候发生。
我没有在所有“Windows Server 2012 r2”帖子中看到的新功能之一是集群现在支持使用 ReFS 格式化的 CSV。因此,自然地,我想将存储 VHDX 文件的 CSV 更改为 ReFS。但是 VHDX 文件被用于在运行 Sql Server 2012 的 VM 中存储数据库文件。
我的想法是,我将在硬件级别拥有 RAID,以防止瞬时故障。除此之外,真正的操作系统(Hyper-V Server 2012 r2)会将它们维护为 ReFS 卷,这将保护这些驱动器上的数据免受 bitrot。最后,VHDX 是 NTFS 驱动器,这意味着受支持的应用程序继续使用它们所依赖的文件系统。
到目前为止,我能找到的最好的是这在技术上是受支持的——因为 Hyper-V 报告说,当您尝试从 VHDX 文件(Set-FileIntegrity cmdlet)中使用它时,您必须关闭它ReFS 卷。但我找不到比这更可靠的信息了。它真的为黄金时段做好了准备,还是实际上只是集群的技术预览?
编辑:2014-01-22
我发现 ReFS 只能自己检测 bitrot。为了同时检测和自动修复 ReFS,您还必须使用存储空间来使用多个 ReFS 驱动器创建 RAID-1 卷。所以看起来我的解决方案正在演变为让硬件 RAID 将其磁盘呈现为 JBOD,然后 Windows 将负责 RAID-1 部分。我将在下个月左右测试这是否是生产中可行的设置。
我有一种情况,Hyper-V 2012 群集节点在我认为应该支持 2 个虚拟机时却无法支持。目前,我正在使用 96GB RAM,并且我希望运行 2 个 47GB 虚拟机(静态 RAM)。这为主机留下了 2GB 的空间,这应该足够了。但是,我无法运行第二个 VM,因为该软件抱怨没有足够的内存供它使用。
接下来,我将每个 VM 减少到 46GB,但它仍然不支持 2 个 VM。从节点运行“taskmgr”,它报告“正在使用”51GB,“44.9GB”可用。我不明白为什么 46GB 的虚拟机会在主机分区中产生 5GB 的开销。查看正在运行的进程,列出的 RAM 加起来不到 500MB。
我想告诉 Hyper-V 明确保留除 2GB 以外的所有空间,仅用于 VM 使用。
此外,最好知道为什么管理程序“需要”5GB。有没有办法告诉 Hyper-V 在内部使用 RAM 做什么?或者 Hyper-V 2012 是否有关于主机实际需要多少 RAM 的新计算(因为 2GB 并没有削减它)?
编辑 - 2014-02-14
在查看了 4 个不同的 Hyper-V Server 2012r2 主机和一个 2008r2 之后,非分页池随着物理安装的 RAM 线性增长。CPU是AMD还是Intel都没关系。主机是否是 Windows 集群的一部分并不重要。主机是否加入域并不重要。主机上运行了多少虚拟机(或者这些虚拟机消耗了多少内存)并不重要。最后,我认为这也是 2012r1 的行为,因为当 2012r2 主机都是 2012r1 时,我有这些症状。
在所有情况下,我发现将已安装 RAM(以 GB 为单位)的数量乘以 0.0425 将告诉您有多少 RAM(以 GB 为单位)丢失到非分页池中。(这是一个非常接近的估计。)
所以直到微软修复他们的软件,或者正式承认这种行为是设计的,答案是使用每个人常用的计算(如下面的答案所示),然后加上上述计算的结果来解释您将失去非分页池的 RAM。(或者,如果您愿意,我在这里有一个带有示例的摘要。)
PS:我觉得重要的是要注意我一直在写“GB”,但我只是使用 Windows 报告的内容。Windows 和 RAMMap 报告的数字不是 GB/KB,实际上是 GiB/KiB,因此将 Nonpaged Pool 计算的结果乘以 1024 与 RAMMap 报告的“K”数进行比较。
当我第一次设置 2 节点 Hyper-V 2012 集群时,故障转移几乎是即时的。我有一个分配了 8GB RAM 的 Sql Server 2012(在 Win2012 上)VM。我可以反弹它所在的节点,它会跳转到另一个节点而不会断开我的 Sql 连接。
然后我在集群中添加了第二个虚拟机(第一个虚拟机的克隆),也是 8GB。现在故障转移需要几秒钟,我的 Sql 连接会重置。它是必须移动的 RAM 量的一个因素吗?受网络影响吗?是仲裁磁盘的速度吗?
就我而言,两个节点都连接到同一个 DAS,并且 VM 文件位于 CSV 上。我希望磁盘不是一个因素,因为不需要移动任何东西。应该都是内存吧?那么随着 RAM 的增加,故障转移性能会降低吗?
我有一个正在运行的带有 2 个节点的 Hyper-V 2012 集群。它已经在管理虚拟机的集群中获得了虚拟机角色;故障转移工作和所有的好东西。我刚刚加入了另一台独立的 Hyper-V 2012 机器,因此我可以进行实时迁移。我 LM 将 VM 转移到集群中的一个节点就好了,然后我把它添加到集群中。虚拟机的文件位于 CSV 上,因此符合预期。
“配置角色...”向导完成了它的工作,但是当我在角色列表中看到虚拟机时,状态设置为“关闭”——但虚拟机已打开并正在运行;您甚至可以在节点的属性中看到它。因此,我对自己认为,“状态”可能存在某种愚蠢的故障。我不希望它回来咬我,所以我“删除”了 VM 角色。但是当我去重新添加它时,这一次我得到了一个错误。在“向导”中,错误消息是这个语法混乱的宝石:
Please, override 'Header' property The object has been deleted from the cluster.
完成向导后,我看到新角色在列表中,状态为“已停止”,显然没有设置好。选择角色,然后转到“信息详细信息...”,我在对话框中看到此消息:
A virtual machine resource was not found in clustered virtual machine 'xxxxx'.
A virtual machine resource is expected for every clustered virtual machine. Please add a virtual machine resource to the clustered virtual machine.
我不知道该怎么做。是否有一些我应该手动编辑的集群配置文件来解决这个问题?至此,通过整个过程,我一直在使用虚拟机,所以我知道虚拟机本身是可以的。
我在 SSRS 2012 中找不到任何关于 ExecutionLogLevel 设置的真实文档(预计与 SSRS 2008 中的设置相同)。将设置设置为“详细”时会发生什么变化?您是否在相同数量的行中获得更多数据?你有更多的行吗?两个都?
我想知道的一件事是,如果使用“详细”是否会成功,所以当出现问题时我不必查阅(蹩脚的)SSRS LogFile 目录?(说真的:最糟糕的。日志。文件。曾经。)
问题很简单,我想在运行 Optimize-VHD cmdlet 之前尽我所能清理/压缩 VM 的 .vhdx 驱动器。使用 Microsoft 的磁盘清理实用程序非常好。问题是它没有默认安装。
官方获取方式是使用“添加角色和功能”并添加“桌面体验”功能。有一些不想要的副作用,其中该功能还需要“媒体基础”和“墨水和手写”功能。我只想要“磁盘清理”。
我在本机模式下使用 SSRS 2012。配置与我升级的 SSRS 2008 相比似乎没有太大变化,因此该问题适用于两个版本(但是,如果有解决方案,它可能适用于也可能不适用于这两个版本)。
我处于一种情况,我想从防火墙外部的一组端口提供 ReportManager 网站,但在内部,在不同的端口上设置 SSRS。有谁知道这是如何实现的?
这是一个问题的原因是因为 SSRS 代码坚持构建完整的绝对 URL 到 ReportManager 网站中的不同位置。(IMO,这只是 SSRS 中许多重大/严重的设计缺陷之一)如果它只是使用未尝试指定域+端口的 URL,这将不是问题。
让我们从外部 URL“ http://reports.example.com/ssrs ”开始,ReportManager 被配置为在端口 8080 上运行(当然,您的端口转发从端口 80 转到 8088)。如果你转到外部 URL,你会很好地访问该站点;让我们忽略 AuthC 子系统并假设您登录正常。对于某些链接(例如“详细信息视图”、“移动”、“删除”等),现在,您不会到达预期的位置,因为 SSRS 试图将您发送到“ http://reports.example。 com:8080/ssrs/ ...”。您可以通过删除端口手动修复链接,然后您将到达该页面。SSRS 2012 和 SSRS 2008 之间损坏的 URL 有所不同,但问题仍然存在。