笔者在安装Windows 2008系统群集过程中,创建AD域控制时最后出错,无法配置DNS。经排查,系统硬性规定了DNS线程的最大数量为120个,但DNS对CPU的核心数并没有做限制,因此创建超过120个线程就会报错。如何解决这个问题呢?

  近期,笔者在安装Windows 2008系统群集,安装环境为两台浪潮英信NF8560M2+存储+2台光纤交换机。

  安装步骤大体为:

  1.安装操作系统。

  2.安装系统驱动。

  3.安装系统补丁。

  4.存储挂载和存储区域划分(仲裁+共享)。

  5.安装存储自带的客户端程序+Windows自带的多路径(I/O)功能(服务器管理→功能→新增功能)。

  6.联机存储硬盘,添加盘符(仲裁和共享盘符通常为X和Y,可以自定义)。

  7.群集配置(具体配置文档根据要安装的数据库可以从网上找到,重点是心跳网卡的设置)。

  故障现象

  在安装过程中出现这样一个问题:在创建AD域控制到最后的时候报错,提示无法配置DNS,RPC服务器不可用。点击“确定”和“完成”后,DNS服务器可以创建,但是DNS服务会自动关闭。查看事件日志,显示DNS无法创建线程。

  故障分析

  在当前Windows 2008 R2 x64以及Windows 2008或Windows 2008 R2的DNS服务代码中,硬性规定了DNS线程的最大数量为120个。但是,DNS对CPU的核心数并没有作任何的限制,因此会创建超过120个线程。

  具体来说,DNS服务有2个功能的线程创建是根据CPU数量来决定的,DNS Dynamic update功能以及UDP I/O AND dispatch程序。在64位的机器上,它们会创建64个DNS Dynamic的线程和64个UDP处理线程。因此,在64位CPU的平台上,线程数量就会大大超过限制的数量,就会报ERROR_SERVICE_NO_THEAD的错误。在32位的平台上,DNS服务就工作正常,因为它最多创建86左右的线程。

  笔者单位所用的服务器配置4路8核CPU,默认开启了超线程技术,实际32位可以模拟到64位(任务管理器→性能一栏可以查看)。

  解决方法

  目前确认这个是Windows DNS服务的一个Bug,但是这个问题可能仅会在Windows 2008中被修复。因此,当下我们惟一的选择是使用少于48位CPU的平台来提供DNS服务(我们可以通过减少AD集成的DNS区域18个来符合线程的限制) 。当然,如果我们仅用32位CPU,那就更没有问题了。具体解决步骤如下:

  1.点击“开始”→“运行”,键入“msconfig”,弹出“系统配置”窗口,在“启动”选项里找到“高级”选项卡,更改CPU个数,将其改为32。

  2.开机后进“BIOS→Advanced→Process&Clock→intel HT technology”,把这里默认的Enable改为Disabled。

  修改完成后,在“任务管理器→性能”一栏中,可以看到CPU数量调整为32个,问题由此解决。 

标签:
Windows,2008

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

评论“解决Windows 2008无法创建线程问题”

暂无“解决Windows 2008无法创建线程问题”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?