服务器管理员

系统和网络管理员的问答


9
旧服务器应该退役吗
我的服务器仍然运行良好,但是已经使用了5年以上。他们仍然可以完美地完成工作,升级服务器没有任何优势,我应该让它们永久运行还是应该安排维护工作以用新硬件替换服务器或其部分?我担心服务器故障可能会导致数据丢失,并且比计划内的维护时间更长。这些服务器用于在线销售点,会计,CRM和管理信息。 由于服务器的远程位置,因此无法进行预防性维护,例如更换风扇和吸尘。 还要牢记故障率随时间的“浴缸曲线”。新硬件比已经烧毁一阵子的硬件更有可能发生故障。 您如何告诉对长期无故障服务器非常满意的客户,由于服务器太旧,现在不得不花钱更换它? 最后,是否有任何可以远程运行的硬件问题监控工具,例如电压,温度和风扇速度?


6
如何找到导致服务器负载增加的原因
我的服务器出现负载问题,即使我是一位经验丰富的Linux管理员,我现在也没主意。 问题是服务器上的负载缓慢但稳定地增加,没有任何明显的原因。 该服务器是具有6GB RAM的AMD Athlon(tm)64 X2双核处理器6000+。它在Linux gir 2.6.26-2-amd64#1 SMP上运行Debian Stable。Wed Aug 19 22:33:18 UTC 2009 x86_64 GNU / Linux。 该服务器基本上运行Lighttpd,几个FastCGI PHP进程和一个MySQL数据库。典型的Web服务器任务。 CPU从未真正用完,内存主要用于缓冲区和缓存,这很好。我尝试重新启动各种服务,以查看其中一项是否会再次降低负载,但是没有运气。 以下是显示负载,CPU和IOStat的图形: 因此,问题是:什么会导致负载缓慢但不断增加?以及如何找出原因? 更新:我忘了提一下,当我重新启动服务器时,负载将下降到0.3到0.6左右,并且在接下来的几周内将逐渐开始缓慢上升。
12 linux 


7
服务器实际需要多少RAM?
我在全球部署了很多服务器。他们正在运行Windows 2003 x64和SQL Server 2005 x64,并具有6 GB的RAM。这些盒子没有最好的(甚至是可以接受的)配置,因为几年前订购它们的那个人并不真正知道他在做什么。 这些盒子相当一致地用完了内存,最终使用了页面文件,一切都变慢了。通常,提交费用为5.8GB,然后,当某人需要做一些密集的事情(例如运行报告)时,该数目就会增加。 我一直在尝试获得更多内存的权力,但是我遭到了广泛的反对(例如,使软件性能更高,所有这些服务器的成本都太高,或者证明包装盒没有足够的内存等)。 ..)。 是否有一些准则(或公式)来说明我可以向非技术人员展示一个盒子需要多少RAM,以便我们最终可以订购更多的内存?

3
是否可以从EC2中运行的任何实例访问Amazon EC2专用IP?
在这里搜索先前的问题之后,人们普遍达成共识是,如果我拥有的一个实例被分配了10.208.34.55的私有IP,则只有我拥有的其他实例可以在该地址到达它。看到: 如何加密两个Amazon EC2实例之间的流量? 那是对的吗?因此,我可以将我的所有实例都视为位于局域网上,并且对来自10.XXX.XXX.XXX的任何计算机进行身份验证和信任,因为我确定自己拥有它? 我只想确定。我发现,亚马逊似乎比起提供明确的技术文档,更感兴趣的是为《云》及其3个字符的缩写加诗意。

7
如何让Linux计算机加入Windows域?
抱歉,如果我在这里滥用条款;我实际上对Active Directory和相关技术了解不多。基本上,我有一台Linux计算机,并且希望它(或该计算机上的用户)与域上的用户相关联,以便我可以浏览网络以及所有包含Windows的东西。 这可行吗?做这样的事情我需要研究什么?

3
斜杠表示法IP-什么是?
我们刚刚与新的ISP签约,并从他们那里获得了静态IP。 我们之前的ISP仅提供了一个IP,我们便可以使用该IP来配置我们的Web服务器。现在,我们获得了带有斜杠符号的新IP。这种类型对我来说是新的。当我使用CIDR计算器时,它给出了以下结果: 202.184.7.52/30 IP:202.184.7.52 网路遮罩:255.255.255.252 主机数量:2 网络地址:202.184.7.52 广播地址:202.184.7.55 有人可以帮我解释一下这些是什么吗?我不明白主机数量的含义。这是否表明我可以对DNS(A)记录使用两个不同的IP?另外,我应该在路由器中设置哪一个?网络地址还是广播地址? 非常感谢您提供的任何答案。
12 tcpip 

2
改善我们的部署策略
我们有一个在公司开发的电子商务应用程序。它是我们开发和运行大约3年的合理标准的LAMP应用程序。我们在测试域上开发应用程序,在这里我们添加了新功能并修复了错误等。我们的错误跟踪和功能开发都在托管的Subversion解决方案(unfuddle.com)中进行管理。当报告了错误时,我们在测试域上进行了这些修复,然后在满意的情况下将更改提交到svn。我们遵循相同的步骤,但增加了新功能。 值得指出的是我们的系统和跨服务器的应用程序的一般体系结构。每次开发新功能时,我们都会使用我们的应用程序(始终由我们控制服务器)将此更新发布到所有站点。使用我们系统的每个站点基本上都使用完全相同的文件来获取95%的代码库。每个站点中都有几个文件夹,其中包含该站点定制的文件-css文件/图像等。除了每个站点之间的差异之外,每个站点之间的差异是由每个站点数据库中的各种配置设置定义的。 这涉及到实际的部署本身。当我们准备推出某种更新时,我们会在测试站点所在的服务器上运行命令。这将执行复制命令(cp -fru / testsite / / othersite /),并通过每个vhost强制根据修改后的日期更新文件。我们托管的每个其他服务器都有一个虚拟主机,我们将生产代码库同步到该虚拟主机,然后在该服务器上的所有站点上重复复制过程。在此过程中,我们将不想覆盖的文件移出,在复制完成后将它们移回。我们的发布脚本执行许多其他功能,例如应用SQL命令更改每个数据库,添加字段/新表等。 我们越来越担心我们的过程不够稳定,不能容错并且还有些蛮力。我们也意识到我们没有充分利用Subversion,因为我们有一种立场,即使用新功能会阻止我们推出重要的错误修复程序,因为我们没有使用分支或标签。我们在服务器之间进行了如此多的文件复制,这似乎也是错误的。我们也无法轻松地对刚刚推出的内容进行回滚。我们确实在每次推出之前都执行了diff操作,因此我们可以获得将要更改的文件的列表,因此我们知道之后所做的更改,但是回滚的过程仍然存在问题。在数据库方面,我已经开始研究dbdeploy作为潜在的解决方案。不过,我们真正想要的是有关如何改善文件管理和部署的一些常规指导。理想情况下,我们希望文件管理更紧密地链接到我们的存储库,以便将首次推出/回滚与svn连接起来。类似于使用export命令来确保站点文件与回购文件相同。但是,如果该解决方案也可以停止我们服务器周围的文件复制,那也很好。 忽略我们当前的方法,听到其他人如何解决相同的问题真的很好。 总结... 使多台服务器中的文件与svn保持同步的最佳方法是什么? 我们应该如何防止文件复制?符号链接/其他? 我们应该如何构造我们的仓库,以便我们可以开发新功能并修复旧功能? 我们应该如何触发部署/回滚? 提前致谢 编辑: 最近,我读到了很多关于将Phing和Capistrano用于此类任务的好东西。任何人都可以提供有关它们的更多信息以及它们在这种任务中的表现如何?

1
在MySQL配置中为wait_timeout和Interactive_timeout选择值?
我们有一台正在遭受重创的实时服务器,因此我们想尽一切可能优化。我们在上面运行了MySQLTuner脚本(http://mysqltuner.com/),该脚本告诉我们应该为wait_timeout和Interactive_timeout设置一个小于28800的值。在1到28800之间有很多可能的数字可供选择! 我在MySQL文档中查询了这些变量的含义,但这仅给出了非常基本的描述,而没有给出选择值的指导。 是否有一个被认为是公认的最佳实践的价值?选择一个太低的值可能会产生什么结果? 谢谢, 巴特

2
启用区分大小写的名称时,Samba是否可以在Windows上很好地工作?
我希望Windows客户端可以访问* nix Samba共享。 Samba具有启用或禁用文件名区分大小写的选项。通常,对于Windows访问,这是禁用的,因此fred == FRED = fReD。 但是,这导致了一个主要难题,即AFAICT: 在Unix上,您创建了两个文件夹“ RODDY”和“ roddy” 在Windows上,您将看到两个文件夹,但是... 当您从Windows删除/重命名/打开一个时,您可能最终会删除/重命名/等其中一个。 您无法知道哪个!。 因此,我的问题是,如果区分大小写的标志设置为“ ON”,Samba在Windows上的行为如何?用户是否仍然可以看到两个文件夹,并使文件操作以一致的方式工作?

9
关于内部托管服务器的意见
我在这里阅读了关于内部托管的利弊的六篇文章,但是我们的情况与大多数情况有所不同,因此我认为我只想提出一个新问题。 简而言之,我们是一家位于美国东北部的小型软件公司(不是波士顿或纽约,在山丘上有一点点),并且拥有现有的产品线。出于与未来开发工作相关的各种原因,我们需要以一种或另一种方式内部拥有服务器-现在,我们在四分之一季度中有几个1U Sun(非常棒的X2100像BTW一样坚如磐石)高度架。 我们多年来一直在其他地方托管我们的网站,但是现在我们拥有一堆内部硬件,这些硬件将无处可去,我认为仅进行所有面向公众的托管可能是值得的内部也是如此。简而言之,我的推理是: 无论如何,硬件本质上是沉没的成本 我们已经在做任何必要的管理工作(不过,根据我的经验,您需要为真正托管的主机付出大笔的费用,而不是仅访问一个盒子,这似乎是对“托管”主机的认可biz) 我们的问题将是我们自己的,或者,与任何托管情况相比,都是这样(例如,由于管理员级别的随机问题,我遇到了更多的停机时间,因为某些傻瓜在路由器或托管服务提供商处进行了罢工) 我们会推送大量大文件,而不必等待上传到托管服务器的声音听起来很吸引人 明显的缺点包括: 功率。我们有合适的UPS,但没有冗余。 带宽。现在,我们通过康卡斯特有16d / 2u。如果将主站点移至其他站点,则至少需要将其翻倍,这可能需要连接2条以上的电缆线。 空调。我认为这不是一个真正的问题-我不希望我们这里有10台以上的服务器(如果我们拥有的服务器更大,那么此决定的经济性就会发生很大变化)。 有什么想法吗? 谢谢! 更新:腾出一些空间后,我们决定继续托管异地。巧合的是,今天我们的街区停电了,这在心理上有点过分了(几乎不是一个严格的过程,但是浪费大约3个小时就足以让我知道宇宙正在试图告诉我一些东西;-)。 不确定我们将来会使用哪个供应商,但是我很感谢作为ec2等的替代品向机架云提供的提示。

8
我每次使用sudo都会在完成之前挂起
不管是否提示我输入密码,它都介于接受身份验证和执行我要求的操作之间。换句话说,sudo ls将挂起大约60秒。 我对可能是什么原因感到困惑。这是在Centos 5上进行的,我已经研究过selinux并将其设置为“禁用”和“启用”,但这似乎没有任何效果。
12 linux  centos  sudo 

7
在* nix中,如何确定特定文件位于哪个文件系统上?
在通用的现代unix环境中(例如,GNU / Linux,GNU / Solaris或Mac OS X),是否有很好的方法来确定特定绝对文件路径位于哪个挂载点和文件系统类型上? 我想我可以执行mount命令并手动解析该命令的输出,并将其与文件路径进行字符串比较,但是在此之前,我想知道是否还有更优雅的方法。 我正在开发一个利用扩展属性的BASH脚本,并希望使其适用于各种文件系统和主机环境(在可能的范围内)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.