服务器管理员

系统和网络管理员的问答

2
为什么在Red Hat和CentOS的主要版本之间进行升级如此困难?
“我们可以将现有的生产EL5服务器升级到EL6吗?” 来自两个完全不同环境的客户的简单要求使我通常的最佳实践回答是“是,但是这将要求协调重建所有系统 ”。 出于停机和资源原因,两个客户都认为完全重建他们的系统是不可接受的选择……当被问到为什么必须完全重新安装系统时,我没有一个很好的答案,“就是这样...” 我不是要引起有关配置管理(“伪造一切 ” 并不总是适用)或客户端应该如何计划更好的响应。这是一个现实的环境示例,该环境中的生产能力已经增长并蓬勃发展,但是没有一个干净的方法可以迁移到其下一代操作系统。 环境A: 具有40个Red Hat Enterprise Linux 5.4和5.5 Web,数据库服务器和邮件服务器,运行Java Web应用程序堆栈,软件负载平衡器和Postgres数据库的非营利组织。所有系统都在两个位于不同位置的VMWare vSphere群集上虚拟化,每个群集都具有HA,DRS等。 环境B: 高频金融贸易公司,在运行生产交易业务的多个主机代管设施中具有200个CentOS 5.x系统,支持内部开发和后台功能。交易服务器在裸机商品服务器硬件上运行。它们具有大量的sysctl.conf,,rtctl中断绑定和驱动程序调整,以降低消息传递延迟。有些具有自定义和/或实时内核。开发人员工作站也正在运行类似版本的CentOS。 在这两种情况下,环境都按原样运行。升级的愿望来自对EL6中可用的更新应用程序或功能的需求。 对于非营利性公司而言,它与Apache,内核和使开发人员感到高兴的一些东西联系在一起。 在贸易公司中,它涉及内核,网络堆栈和GLIBC的一些增强,这将使开发人员感到满意。 两者都不能轻易地打包或更新,而无需彻底改变操作系统。 作为系统工程师,我感谢Red Hat在主要版本之间切换时建议完全重建。一个干净的开始会迫使您重构并在此过程中注意配置。 对客户的业务需求敏感,我想知道为什么这是一项艰巨的任务。RPM打包系统不仅具有处理就地升级的能力,但它带给您的细节很少:/boot需要更多空间,新的默认文件系统,RPM可能破坏升级中的版本,不建议使用和已淘汰的软件包... 这里的答案是什么?其他发行版(基于.deb,Arch和Gentoo)似乎具有此功能或更好的方法。假设我们找到了以正确的方式完成此任务所需的停机时间: 当EL7释放并稳定下来时,这些客户应该怎么做才能避免相同的问题? 还是这种情况下,人们需要每几年辞职以进行全面重建? 随着Enterprise Linux的发展,这种情况似乎变得更糟了。 这是否阻止了任何人使用Red Hat和派生操作系统? 我想这里是配置管理的角度,但是我看到的大多数Puppet安装都无法很好地转换为具有高度定制的应用程序服务器的环境(环境B可能只有一个服务器,其ifconfig输出如下所示)。我会很感兴趣地听到关于如何使用配置管理来帮助组织克服RHEL主要版本冲突的建议。

4
如何清除Chrome的SSL缓存?
我有一个HAProxy /隧道服务器,可为AWS上的站点处理SSL。在测试过程中,我在此服务器上创建了一个自签名证书,并使用Chrome从我的桌面上将其命中,以测试通道是否正常工作。 现在,我已在该服务器上安装了合法证书。当我从Chrome中的计算机访问网站时,会引发以下错误: 错误113(net :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH):未知错误。 我的猜测是Chrome缓存了自签名证书的密钥,但它与合法证书的密钥不匹配。该站点可在我的计算机上的所有其他浏览器中使用,因此这只是一个Chrome问题。 一个有趣的注意事项:从隐身会话(Ctrl+ Shift+ N)进入页面时,它可以正常工作。因此,这显然是某种缓存内容。 我做了所有我能想到的事情(转储了缓存,从“管理证书”对话框的“个人和其他人”页面中删除了证书,Ctrl+ F5等)。 我的机器是Windows 7 x64。Chrome版本:12.0.742.91。 在Google Chrome浏览器帮助表格上,有一个听起来像是同一问题的描述;但是,找不到解决方案。 更新:今天似乎已经“修复”了。我讨厌这样的问题。我仍然不知道是什么原因造成的,或者它是如何自行解决的。大概是缓存的证书过期了,但是我仍然很想知道此信息的存储位置以及如何对其进行验证。
72 ssl  cache  chrome 

11
如何选择使用ISP的DNS还是Google的8.8.8.8?[关闭]
使用Google的公共DNS似乎是一个好主意8.8.8.8,8.8.4.4因为它确实非常快-比我自己的ISP的DNS快得多!-也许也更可靠。对于我来说,这似乎是一个荒谬的快速胜利,而且容易记住。 假设我们不是关于Google的“锡纸帽子”,为什么每个人都不应使用Google DNS?如何确定哪个DNS服务器是最快,最可靠的,或者通常被认为是最好的DNS服务器? 注意:我已经看到了这个问题,但是我不想与OpenDNS进行比较。这是关于每天人们在家中的日常使用。 更新:我似乎把手放在黄蜂的隐私隐患中。我很感激这个问题,但是我期待着更多面向技术的讨论...




4
SSH公钥文件末尾的用户/主机具有什么意义?
我不知道为什么在生成的SSH公钥文件ssh-keygen的末尾有用户和主机。 示例:id_rsa.pub ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain 请注意root@mydomain文件末尾的。 如果我可以与任何用户一起在任何地方使用公钥来使用我的私钥进行身份验证,那么root @ mydomain在身份验证过程中有什么意义? 还是只是占位符才能弄清楚我们的发行人?

4
如何防止Rsync阻塞传输的文件?
我在Linux服务器上使用远程文件系统进行sshfs连接设置。我正在从本地服务器到ftpfs文件系统进行Rsync。由于此设置的性质,我无法chown在sshfs文件系统上执行任何操作。 当我执行Rsync时,它会在传输完所有文件后尝试对它们进行处理。即使它可以很好地传输文件,也会导致chown错误。 使用Rsync,是否有一种方法可以告诉它不要尝试穿梭文件?如果我像1000个文件一样进行rsync,则最终会记录1000个chown: permission denied (error 13)错误。我知道得到这些错误不会有任何伤害,因为文件的所有权是由sshfs配置本身确定的。但是最好不要得到它们。
72 rsync  sshfs 

4
您是否需要在Nginx中使用单独的IPv4和IPv6监听指令?
我已经看到了用于在nginx上处理双栈IPv4和IPv6虚拟主机的各种配置示例。许多人建议这种模式: listen 80; listen [::]:80 ipv6only=on; 据我所知,这实现了与以下功能完全相同的功能: listen [::]:80 ipv6only=off; 为什么要使用前者?我能想到的唯一原因是,您是否需要特定于每种协议的其他参数,例如,如果您只想deferred在IPv4上进行设置。
71 nginx  ipv6  ipv4 


4
通过代理,重写和保留URL进行Nginx重定向
在Nginx中,我们一直在尝试重定向URL,如下所示: http://example.com/some/path -> http://192.168.1.24 用户仍在浏览器中看到原始URL的位置。重定向用户后,说他们单击了的链接/section/index.html,我们希望它发出一个导致重定向的请求 http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html 并仍然保留原始网址。 我们的尝试涉及使用代理和重写规则的各种解决方案,下面显示了使我们最接近解决方案的配置(请注意,这是Web服务器的Web服务器配置example.com)。但是,这仍然存在两个问题: 它无法正确执行重写,因为Web服务器收到的请求URL http://192.168.1.24包含了该URL /some/path,因此无法提供所需的页面。 网页投放后,当您将鼠标悬停在链接上时,/some/pathURL丢失 server { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index index.html; root /var/www/example.com/htdocs; } } 我们正在寻找一种仅涉及更改上的Web服务器配置的解决方案example.com。我们可以更改192.168.1.24(也可以是Nginx)上的配置,但是我们想尝试避免这种情况,因为我们将需要对数百个通过访问进行代理的不同服务器重复此设置example.com。



4
如何在不重新启动的情况下重新加载默认的Mac OSX路由表
问候, 我正在使用vpncVPN客户端。我还在做一些棘手的事情,route以确保我仍然可以访问我的本地网络等。(这里的细节不是很重要)。 有时,我得到了路由表,因此顶住了ping: sendto: Network is unreachable要解决的URL。 当前,如果我重新启动Mac OS X,则一切恢复正常。我想做的是将路由表重置为“默认值”(例如,在启动时设置为默认值),而无需整个系统重新启动。 我认为第一步是route flush(删除所有路由)。第2步需要重新加载所有默认路由。 有关如何执行此操作的任何想法?(例如,步骤2是什么?) 编辑 此外,我注意到另一个问题是traceroute该地址也失败。例如: traceroute the.good.dns.name traceroute: bind: Can't assign requested address

14
重新读取分区表而不重启?
有时,当调整大小或以其他方式处理磁盘上的分区时,cfdi​​sk会说: Wrote partition table, but re-read table failed. Reboot to update table. (这在其他分区工具中也会发生,因此我认为这是Linux问题,而不是cfdisk问题。)为什么会这样,为什么它有时仅会发生,我应该怎么做才能避免呢? 注意:请假设我实际上正在编辑的分区均未打开,未安装或正在使用中。 更新: cfdisk用于ioctl(fd, BLKRRPART, NULL)告诉Linux重新读取分区表。到目前为止hdparm -z DEVICE,建议使用的其他两个工具(sfdisk -R DEVICE)完全相同。partprobe DEVICE另一方面,该命令似乎使用了一个称为BLKPG的新ioctl,可能更好。我不知道。(如果BLKPG失败,它也会退回到BLKRRPART上。) BLKPG似乎是“此分区已更改;这是新的大小”操作,它看起来像partprobe在传递的设备上的所有分区上单独调用它,因此如果未使用单个分区,它应该可以工作。但是,我没有机会尝试。
71 partition  fdisk  linux 

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.