Windows Server 2012 R2 配置踩坑记录

作者 Shilei Tian 日期 2016-04-01
Windows Server 2012 R2 配置踩坑记录

实验室有一台联想万全 R520 G7 服务器,大概是 2011 年的机器,传统 BIOS 的主板,不支持 UEFI 启动,硬盘的容量是 14 TB(1 TB 2 + 2 TB 6),考虑到实验室其他同学还未熟练掌握 Linux 的日常使用,所以为了不会影响工作效率,服务器上只能安装 Windows Server。

对于服务器的管理与维护,最初的方案是将 6 块 2 TB 的硬盘做 RAID 1,剩下 2 块 1 TB 的做一个 RAID 1,这样得到容量分别为 1 TB 和 6 TB 两块逻辑磁盘,分别记为 LD1LD2。将 LD2 的所有空间分配给 C 盘,这样所有用户的数据全部都存放在自己的用户文件夹里面,所有的软件也都安装在 C 盘;LD1 分配给 D 盘,用于放置实验室主页和 FTP 文件夹,普通用户不给访问权限。但是问题来了,MBR 分区最大只能识别 2.2 TB 的磁盘,因此如果想建立 6 TB 的磁盘分区,那就必须使用 GPT 分区;然而传统的 BIOS 不能引导 GPT 分区,这台服务器的主板不支持 UEFI 启动,所以这种方案不能采用。之前没有确认这块主板是否支持 UEFI,尝试直接在 PE 下用 DiskGeniusMBR 分区上直接建立 6 TB 的分区,一直提示错误;又制作了 UEFI 启动 U 盘,但是总是不能正确引导,这就耽误了很长时间。

那就考虑 Plan B,LD1 分配给 C 盘,LD2 做两个分区——D 盘(4 TB)和 E 盘(2 TB),并且将 C 盘的 Users 文件夹迁移至 D 盘,通过 robocopy 来进行复制,删除 C 盘 Users 文件夹,创建一个软链接到 D:\Users。在安装完系统进行设置之前,欢迎界面按 Shift+F10 进入 CMD 进行设置,但是复制不成功,提示 D 盘不可用。通过 diskpart 命令查看发现,LD2 没有被激活。不过在执行 diskpart 命令的时候,看着这些熟悉的命令,让我回想起 2000 年左右用 fdisk 分区重装 Windows 98 时候的场景。继续回到主题,激活分区后发现分配的盘符是 E 和 F,D 呢?通过 list volume 发现,D 分配给光驱了。强迫症的我将盘符修正了过来,重新执行复制,依然报错,这次错误是 D 盘是 read-only 的。继续用 diskpart 查看 attribute volume,发现 read-onlyNo,咦,这是怎么回事?回想到 Windows 的权限分配有继承这一说,那是不是这个属性也有继承呢?然后就查看 attribute disk,果真 read-onlyYes!执行 attribute disk clear readonly 后再次复制,成功!愉快地进入系统,配置权限,安装各种软件,一切配置妥当后愉快地将服务器抱回机房(因为机房的钥匙不归我们管,每次都要去向老师借,老师周末、晚上又不会上班,因此只能把服务器抱回实验室。服务器运行起来太响了,只能放到玻璃房里面,但是那里面没有有线网络),配置网络,以为这就算部署好了,可以开始给大家分配账户了。还是按照惯例地打开 Windows Update,然后噩梦就从这里开始。系统安装更新后要重启电脑,但这一重启就出现了 Fatal Error,然后是一串 Hex 代码,有一个括号里面是 desktop.ini。尝试 Google 那串错误代码,但是没有看到有效的解决方案,静下心来一想,desktop.ini 是属于用户的环境文件,它提示这个错误,应该是无法从 C 盘的软链接读取或者写入 D:\Users 下的文件,因此产生了错误。那看起来就无法迁移用户文件了。这样,Plan B 又失败了。

其实之前一直没有配置 Windows Server 的经验,因此很多事情没有想明白就去动手,当然会不停的踩坑。去图书馆借了一本关于 Windows Server 2012 R2 配置方面的书看了后,发现了有一个功能以前看到过就是不知道怎么正确运用它——磁盘配额。既然我只能将用户文件夹放到 C 盘,那我只能动用磁盘配额功能,限制每个用户在 C 盘存放的数据容量不得超过一个定额,这样“逼迫”他们将文件转移到 D 盘去。那配合这个想法,我就在 D 盘建立了一个用户文件夹 User Files,里面对每个用户手动建立一个文件夹,权限方面就是Administrators 组和对应的用户拥有完全控制权限,普通用户没有权限,这样除了管理员和自己可以查看文件夹里面的内容外,其余的用户均不能查看。D 盘其他的文件夹普通用户只有读的权限。然后启动 C 盘的磁盘配额,限制每个用户在 C 盘存放的数据不得超过 20 GB,这样就可以实现比较系统化地管理。这样做的缺点就是,每次必须手动在 D:\User Files 文件夹下创建一个文件夹并且分配权限,不够自动化。今天重新将服务器连上网进行更新后,顺利地启动成功。

至此,才算是将这个服务器真正的配置完了。曾经很想将服务器上直接装上 CentOS,因为我还是比较习惯使用 Linux,并且比较习惯命令行来配置,但是还是硬着头皮把这块骨头啃下来了。虽然暂时看解决方案不是很专业,但是最起码现在服务器的管理比之前要好很多(你能想象一台服务器上被装上了 360)。等以后维护过程中再慢慢学习一些经验吧!