我正在尝试优化 700 Windows XP 工作站的启动过程,我们经常抱怨站点工作站的启动和登录时间。
分两部分来看,第一部分使用BootVis来监控和检查启动过程;第二部分使用Process Monitor来监控登录过程。使用 BootVis 的“启动完成”路径点作为衡量标准,我使用了一台 VMWare 工作站虚拟机,该虚拟机已作为通用测试机器使用了大约 18 个月(因此非常典型的现场机器)。在每次测试之前,我使用快照将虚拟机返回到初始状态。
从日志和报告来看,BootVis 造成最明显的延迟是来自Sophos Anti-Virus的访问扫描程序,其次是 mrxsmb。我调整了机器的策略(确保我强迫 Sophos 每次更新两次)并得出以下数字:
以上往往表明扫描所有文件,读取是迄今为止最昂贵的操作(可能完全没有必要)。我不能完全理解为什么禁用按访问扫描实际上会减慢启动顺序,但只是一小部分。最后三个结果几乎相同,这意味着我必须使用其他因素来影响我选择 Scan Executables、On Read 或 On Write 的决定。
更新:
我在同一个虚拟机上做了更多的测试(在一天中的不同时间,所以它们不能直接与上面的结果进行比较:
平均会导致 On Read 和 On Write 的值进一步收敛,有趣的是,使用 Sophos scan Executable Files 仅比未安装 Sophos …
是否有“推荐的方法”来禁用 Debian 中的服务?(禁用 = 服务已安装但不会在机器启动时自动启动。)
我知道您可以update-rc.d -f service remove(基本上删除了 中的链接rcX.d),但是这样做会丢失服务的序列号(SXXservice,XX 是序列号),当您想要重新启用该服务时,事情变得更加困难。我也知道我可以重命名链接,rcX.d这样它们就不会从S(或将它们移到其他地方)开始,但我想知道是否有一些“Debian批准的最佳实践”方法来做到这一点。
我有一对 IBM System x3620 服务器。这些服务器在最终达到操作系统接管的程度后运行良好,但它们需要永远通过新奇的 UEFI 引导系统……大约五分钟;也许更长。我没有计时,但这是一种你在等待时去喝杯咖啡,当你回来时它仍然存在的事情。
通常,我关闭它们的唯一时间是每月维护周期(通常只是 Windows 更新)。这是内置的维护时间,因此额外的 5 分钟不计入我们的 SLA,也没什么大不了的。但是,在我可能会出现中断的情况下,我肯定希望恢复这 5 分钟。我能做些什么来告诉他们继续启动并启动吗?就额外的启动选项而言,我已经禁用了所有我能找到的禁用功能。
我有奇怪的情况 - BIOS 报告的磁盘顺序与 Linux 看到的磁盘顺序不同。
这导致运行有问题 - grub 安装到 sda,但 bios 从 sdd 或类似的东西启动(这台机器有 7 个磁盘,4 个在内部控制器上,3 个在外部控制器上。
是否可以将 grub 安装(以及稍后更新)到所有磁盘,而不仅仅是 /dev/sda?我不知道 bios 想要启动哪个磁盘(所有磁盘都是一样的,而且由于我对它进行了突袭,我无法随意删除它们),所以我看到的唯一解决方案是进行 grub install在所有 sda-sdg 上。
这是 Debian 稳定版,带有 Grub2。
我们的服务器昨晚执行了一些更新,今天早上我们发现它卡在启动 ->“应用系统配置”->“配置更新:3.0% 的第 3 阶段”-> 重启循环。
安全模式不起作用,它仍会尝试在进入桌面之前配置更新。
我有 CD 并调出了命令行,但是经过几个小时的摸索和互联网搜索后,我无法产生任何结果。知道如何从 CD 命令行执行“取消更新”/“恢复”/“修复”吗?
非常相似的问题:Windows Server 2008 卡在“配置更新 - 3 阶段的第 3 阶段 - 0% 完成”
答案之一中的链接提供了 /some/ 信息,但没有结果。( http://support.microsoft.com/kb/949358/en-us )
我不确定如何撞那个帖子,所以这可能需要合并。
我在远程系统上的 Grub2 ( 1.98+20100804-14+squeeze1 ) 下运行 Debian 6、Debian GNU/Linux 和 Linux 2.6.32-5-amd64(无法查看预启动消息)。我编译并安装了一个新内核,但无法启动。
我做了什么:
通过以下方式安装软件包:
dpkg -i linux-headers-3.5.3.20120914-amd64_3.5.3.20120914-amd64-10.00.Custom_amd64.deb linux-image-3.5.3.20120914-amd64_3.5.3.20120914-amd64-10.00.Custom_amd64.deb
Run Code Online (Sandbox Code Playgroud)
这更新了 Grub 配置。我的 /boot/grub/grub.cfg 现在包含:
menuentry 'Debian GNU/Linux, with Linux 3.5.3.20120914-amd64' --class debian --class gnu-linux --class gnu --class os {
insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set 5a3882a9-c7df-4f6a-9feb-f03e3e37be01
echo 'Loading Linux 3.5.3.20120914-amd64 ...'
linux /vmlinuz-3.5.3.20120914-amd64 root=UUID=003242b5-121b-49f3-b32f-1b40aea56eed ro acpi=ht quiet panic=10
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.5.3.20120914-amd64
}
menuentry 'Debian GNU/Linux, with Linux …Run Code Online (Sandbox Code Playgroud) 我想知道新安装的 vanilla Linux 系统(如 32 位 CentOS 5.10)总共读取了多少数据才能进入虚拟控制台 shell 提示?您知道,读取所有配置文件、加载二进制文件、内核映像等。
我正在启动 100 台 Linux 机器,它们的系统内容的 95% 是相同的并且将保持相同——这些机器是克隆的。我想将文件系统的相同/只读共享部分卸载到 NFS 存储,从那里安装它,然后像这样启动。只有文件系统的可写部分,如 /var、/tmp 和 /home,将保留在每台机器的本地。由于可能有数百台机器作为“集群”的一部分同时启动,我需要估计访问的 NFS 存储链接在启动时是否会成为瓶颈。
我正在寻找数量级的估计。我知道 Linux 启动过程的细节差异很大。我们说的是 10Mb 吗?100Mb?1Gb?
我在 OSX 上使用 Docker 工具箱。
我创建了一个用于存储持久数据的数据卷容器:https : //docs.docker.com/userguide/dockervolumes/#creating-and-mounting-a-data-volume-container。
我检查过这些数据确实存储在 boot2docker VM(由 docker-machine 创建)而不是容器上,因此它会持续存在。然而,“docker-machine restart”清除了虚拟机上的这个自定义数据。
我找不到有关正在发生的事情的文档。我发现一个论坛帖子提到 /var/lib/docker 中的数据将被保留,但我找不到任何官方文档说明这一点,考虑到上面的持久存储指南没有使用这条路径,甚至没有提到这一点,这似乎也很奇怪您的数据将被删除。
这是预期的,如果是,是否有任何关于存储持久数据的正确路径的官方文档?
编辑:添加失败 senario 的示例
$ docker-machine ssh alt
docker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c "echo 'hello' > /var/lib/mysql/hello"
docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"
hello
docker@alt:~$ exit
$ docker-machine restart alt
Starting VM...
$ docker-machine ssh alt
docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"
cat: can't open '/var/lib/mysql/hello': …Run Code Online (Sandbox Code Playgroud) 我有一台服务器 2012r2 机器,我刚刚安装了 KB2919355(最近为 Windows 8.1 和 Server 2012 发布的大型 800+MB 补丁)。服务器是戴尔 Poweredge R715。磁盘是 H200 控制器上 RAID1 中的 2x500GB SAS。
服务器在更新之前一直运行良好 - 我安装了戴尔管理工具,所以我知道没有失败的磁盘警报或任何东西。前一天我升级了H200控制器的固件,但之后系统重新启动没有任何问题。
重新启动更新后,它出现了一个带有可移动鼠标光标的黑屏,但没有别的 - Ctrl-Shift-Esc 和 Ctrl-Alt-Del 什么也不做。让它在那里坐了一个多小时,没有任何变化。
使用“不要在 BSOD 上自动重启”选项启动,并INACCESSIBLE_BOOT_DEVICE作为错误原因获取。奇怪的是,它说“我们只是在收集一些错误信息,然后你可以重新启动。(0% 完成)”并保持在 0%,从未取得任何进展。
尝试使用最后一次正确的配置重新启动,同样的 BSOD。
重新启动进入修复我的电脑工作。从命令提示符我可以看到所有分区和所有文件似乎都完好无损。chkdsk 没有报告错误。
此后,服务器设法正常启动一次。重新启动后,尽管多次尝试启动,它也从未恢复过,它们都以 INACCESSIBLE_BOOT_DEVICE 蓝屏结束。
问题似乎与 LSI raid 控制器卡有关。technet 上有一个线程报告其他人与超级微型机器有类似问题 - http://social.technet.microsoft.com/Forums/en-US/6bf5815f-55d9-4403-8f41-a16ebcb83735/patch-kb2919355-makes- supermicro-machines-crash?forum=winserver8setup
我有一个与戴尔的支持案例,戴尔试图在他们的实验室中复制这个问题。可能没有其他人可以在这里做任何事情。
根据戴尔的建议,我擦除了系统,并重新安装了带有 GUI 的 Server 2012R2 Datacenter。除了安装 Windows 更新之外,我什么也没做。
安装 KB2919355 后,服务器正常重启。再次重启后,蓝屏显示 INACCESSIBLE_BOOT_DEVICE 错误。
在此问题解决之前,我强烈建议不要在任何具有基于 LSI 的 RAID 卡的服务器上安装此更新。希望戴尔能尽快提出解决方案。
这是我们现在正在更大规模地研究的一个问题,很可能必须由 Microsoft 解决,因为它比戴尔更普遍。我们将继续努力,直到我们的资源耗尽为止。我会及时通知您我们的发现。
戴尔一直无法在他们的实验室中复制这个问题。我已经确认我的 2 …
以前我问过在 Ubuntu 12.04 服务器中启动时挂载 GlusterFS的问题,答案是这在 12.04 中存在问题并且在 14.04 中工作。出于好奇,我在笔记本电脑上运行的虚拟机上进行了尝试,并且在 14.04 中可以正常工作。由于这对我来说很重要,我决定将我正在运行的服务器升级到 14.04 却发现 GlusterFS 也没有自动挂载本地主机卷。
这是一个 Linode 服务器,fstab 如下所示:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/xvda / ext4 noatime,errors=remount-ro 0 1
/dev/xvdb none swap sw 0 0
/dev/xvdc /var/lib/glusterfs/brick01 ext4 defaults 1 2
koraga.int.example.com:/public_uploads /var/www/shared/public/uploads glusterfs defaults,_netdev 0 0
Run Code Online (Sandbox Code Playgroud)
启动过程是这样的(围绕网络挂载部分,这是唯一的失败):
* Stopping Mount network filesystems [ OK ]
* Starting set sysctls from /etc/sysctl.conf [ OK ]
* Stopping set …Run Code Online (Sandbox Code Playgroud)