服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
我将Windows Server 2008上运行的Web服务器作为64位虚拟主机进行pipe理。 所有服务软件都是独立运行的,而不是作为AMP堆栈的一部分。 数据驱动器几乎已经满了,我的系统pipe理员已经configuration了一个新的虚拟驱动器,有更多的空间。 我的任务是将一切从旧卷复制到新卷。 在创build卷时,我确保它是使用相同的卷types,文件系统,块大小等创build的。我停止了所有相关的服务(Apache,MySQL,它们都从C 运行 ,但其数据全部位于D :,包括日志),并复制所有的文件。 从这里,我尝试了两种不同的方法来使服务取决于新的数量,而忘记旧的。 MySQL没有任何问题,但Apache无法使用任何一种方法作为服务启动。 以下是系统事件日志中显示的内容: Apache2.2服务终止服务特定的错误错误的function 没有任何内容出现在error.log 。 首先,我试着简单地改变盘符。 我拿了旧的D:并把它改成了任意的东西,并把D:分配给新的音量。 这产生了上面的错误。 我尝试用新的驱动器名称重新启动服务器,“以防万一”,但发生了同样的错误。 因为我没有完全理解Windows挂载点,所以我将驱动器号改回原来的状态,并确认Apache服务启动正常。 其次,我尝试更新所有的Apache和MySQLconfiguration文件。 每一次出现“D:”(不区分大小写)都改为F :(新的盘符)。 我知道configuration文件,所以我知道我发现每一个事件。 上面的错误再次发生,完全一样的方式。 为了让Web服务器备份并运行,我恢复了所有的更改,并成功启动了服务。 我收集的更多信息: httpd.exe在从命令行启动时不作为服务运行成功。 没有语法错误。 即使从命令行运行,Apache也不会作为服务启动( httpd.exe -k runservice )。 该问题可能不是文件访问权限之一。 我仔细检查了关键位置(几个目录,日志文件),权限是相同的。 不过,我没有详尽的testing。 我还没有testing过的一件事是尝试只移动其中一个数据和日志位置到新的驱动器,而留下另一个。 我不认为这可能会有所作为。 这就是说,我实际上并不知道这里发生了什么。 我想不出为什么Apache只能通过改变日志文件和数据的位置来作为服务运行。 我非常感谢在这个问题上的任何build议或build议。 我很乐意进一步调查回应的build议。 如果你们中的任何人认为值得尝试只移动其中一个项目(日志或数据),我会尝试。 同样,如果你们中的任何一个人认为我太贴切的折扣权限,我会做一个更彻底的考试。 任何和所有的input是欢迎的! 我用尽了所有的想法。
我在networkingA上运行了几台主机,这些主机在networkingB上的某个地方向互联网上的服务器发出请求(我不拥有它们)。 不幸的是,这些请求中的许多被损坏。 如果我通过未encryption的HTTP进行请求,则会出现奇怪的错误,提示错误的请求。 如果我通过HTTPS发出请求,则会出现SSL级错误。 我可以通过运行重现该问题: sh -e -c 'while true; do curl $SERVER > /dev/null; sleep 1; done' 通常在20个请求中,curl失败,出现“未知的SSL协议错误”或“tlsv1警报解密错误”等错误。 我可以在networkingA中的多个主机上重现这一点,访问networkingB上的多个服务器。但是我无法从networkingA重现到其他服务器,或者从其他主机重现到networkingB.在这些情况下,循环将永远运行,没有错误。 所以很明显,我的TCPstream在A和B之间被破坏了。顺便说一下,这已经持续了3天以上。 第一个问题:这怎么可能发生? TCP具有数据包级校验和,并且通过校验和的损坏数据包应该比我所看到的less得多。 此外,如果我运行networking捕获,我不会看到许多重新传输(根据wireshark的tcp.analysis.retransmitfilter),如果数据包被损坏和TCP校验和失败,你会期望。 我猜一些路由器必须做更高级别的数据修改(NAT透明代理?)和破坏数据,但修复校验和? 第二个问题:有什么工具可以用来隔离问题吗? 我找不到任何东西。 如果我知道networking拓扑结构,并且可以在A和B之间的每跳之后findHTTPS服务器,则可以对它们运行我的testing。 但我不知道 什么其他的testing会显示networking腐败? 我已经联系了networkingA和networkingB的所有者,但迄今为止他们还没有帮助。 更新:对于任何人提出什么样的越野车设备可能会在path中,有没有什么办法检测到除了联系业主之外?
例如,在Forefront TMG中,我可以在DNS中有一个wpad条目,计算机发现它并自动configurationnetworking代理。 当用户试图去互联网时,他被迅速提供的crendentials。 在iPhone或iPad中,它不起作用。 你推荐的方式是实现一个适用于移动设备的身份validation代理?
我遇到了一个奇怪的Windows 2008R2集群相关的问题,困扰着我。 我觉得我已经接近了这个问题,但是还没有完全理解发生了什么。 我有两个2008R2服务器上运行的两节点交换2007群集。 在“主”群集节点上运行时,交换群集应用程序正常工作。 将群集资源故障转移到辅助节点时会发生此问题。 将群集故障转移到与“主”相同的子节点上的“辅助”节点时,故障转移最初工作正常,群集资源在新节点上继续工作几分钟。 这意味着接收节点确实发送了更新networking上arp表的免费ARP响应数据包。 但是在x时间之后(通常在5分钟之内),再次更新arp表,因为突然间群集服务不响应ping。 所以基本上,我开始ping到交换机群集地址,当它在“主节点”上运行。 它工作得很好。 我将集群资源组故障切换到“辅助节点”,并且只丢失了一个可接受的ping。 失败后,群集资源仍然会回答一段时间,突然间,ping开始超时。 这告诉我,arp表最初是由辅助节点更新的,但是之后有些东西(我还没有发现)会错误地更新它,可能是主节点的MAC。 为什么会发生这种情况 – 有没有人遇到同样的问题? 群集没有运行NLB,问题在故障转移回没有问题的主节点后立即停止。 每个节点正在使用网卡绑定(intel)和ALB。 就我而言,每个节点都在同一个子网上,并具有网关等等。 编辑: 我想知道它是否可能与networking绑定顺序有关? 因为我注意到,从节点到节点的唯一区别就是在显示本地的arp表时。 在“主”节点上,arp表作为源在集群地址上生成。 而在其次要的,它从节点自己的网卡产生。 对此有何意见? 编辑: 好的,这里是连接布局。 集群地址:AB6.208 / 25交换申请地址:AB6.212 / 25 节点A:3个物理的nics。 两个使用Intere和地址AB6.210 / 25合作的群组称为public最后一个群集通信使用private 10.0.0.138/24 节点B:3个物理节点。 两个使用Intere和AB6.211 / 25组合在一起称为public最后一个用于集群通信的被称为private的10.0.0.139/24 每个节点都位于一个连接在一起的独立数据中心。 terminal交换机是DC1中的思科交换机,DC2中的NEXUS 5000/2000。 编辑: 我一直在testing多一点。 我现在在同一个集群上创build了一个空的应用程序,并且在交换应用程序的同一个子网上给它一个另外的ip地址。 失败这个空的应用程序结束后,我看到了完全相同的问题发生。 在一两分钟后,其他子网上的客户端无法ping应用程序的虚拟IP地址。 但是,当其他子网上的客户端不能使用同一个子网上的另一个群集的另一台服务器时,则无法ping通。 但是,如果我再做一个故障转移到原来的状态,那么情况是相反的。 所以,现在在同一子网上的客户端不能,而在另一个上他们可以。 我们有另外一个集群在相同的子网上设置,使用相同的intel网卡,相同的驱动程序和相同的分组设置。 在这里,我们没有看到这一点。 […]
我有各种各样的戴尔服务器(都是2950的),我想把一些固态硬盘放在里面。我已经和戴尔通过电话联系,要求为2950的128GB固态硬盘报价,他们告诉我,他们不卖这个服务器。 这些都有Perc 6 /我的。 我可以购买任何我喜欢的具有SATA II连接的SSD吗? 或者他们会被“封锁”,还是不能按预期工作,因为他们没有戴尔固件? 我以前曾经遇到过小问题,但是在戴尔品牌的Perc 5 / i卡上没有硬盘。 他们确实工作得很好(我购买了与原戴尔产品完全相同的品牌和型号驱动器,并从第三方供应商处购买),但是在启动时,服务器总是会显示关于硬盘驱动器兼容性的警告(我假设刚刚被RAID控制器传给操作系统来吓唬我?)。
我在我的Debian系统上安装了ufw,如下所示: # aptitude install ufw # ufw limit 22 # ufw allow 80 # ufw allow 443 # ufw enable # ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip To Action From — —— —- 20 LIMIT Anywhere 80 ALLOW Anywhere 443 ALLOW Anywhere 一个简单的ping google.com失败,任何aptitude install都将失败。 […]
我有一个网站与一堆的同义词域。 该网站本身接受所有不同的域名,并redirect到正确的域名。 有没有任何理由不像这样configurationzones.conf : zone "correctdomain.com" { type master; file "correctdomain.zonefile"; }; zone "synonymdomain.com" { type master; file "correctdomain.zonefile"; }; 区域文件本身与域名无关。
当我尝试configuration第二个故障转移IP地址时,我在Xen虚拟机(运行最新的Debian)上遇到问题。 OVH报告我的IPconfiguration错误,他们抱怨说他们收到了来自这些IP的大量ARP数据包,所以他们会阻止我的IP,除非我解决了这个问题。 我怀疑有一个路由问题,但我不知道(也找不到任何有用的信息在提供商的网站上,他们的支持并没有提供给我一个有效的解决scheme,只是反弹我的网上无用的指南) 。 我的/ etc / network /接口看起来像这样: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address AAA.AAA.AAA.AAA netmask 255.255.255.255 broadcast AAA.AAA.AAA.AAA post-up route add 000.000.000.254 dev eth0 post-up route add default default gw 000.000.000.254 dev eth0 # Secondary NIC […]
有没有什么办法来testing/检查iptables规则脚本的语法,而不修改实际的防火墙configuration(我认为添加和删除每个规则不是最好的方法…)。 我知道的-C选项,但它不检查选项像链,它的返回代码有点棘手,因为1并不总是意味着语法是正确的。 谢谢!
Iam用ngnix服务我的静态内容。 位置/静态{ 别名/ opt / static / blog /; access_logclosures; etags on; etag_hash在; etag_hash_method md5; 到期1d; add_header Pragma“public”; add_header Cache-Control“public,must-revalidate,proxy-revalidate”; } 结果标题看起来像这样: caching控制:公共,必须重新validation,代理重新validation caching控制:最大年龄= 86400 连接:closures 内容编码:gzip 内容types:应用程序/ x-的JavaScript; 字符集= utf-8的 date:2012年9月11日星期二08:39:05 GMT ETAG:e2266fb151337fc1996218fafcf3bcee 有效期至:2012年9月12日星期三08:39:05 GMT Last-Modified:Tue,11 Sep 2012 06:22:41 GMT 附注:公 服务器:nginx / 1.2.2 传输编码:分块 有所不同:接受编码 为什么nginx发送2个Cache-Control条目,这可能是客户端的问题吗?