我们目前正在设计我们的新数据库服务器,并提出了一个权衡,我不完全确定如何回答。
这些是我们的选项:48GB 1333MHz 或 96GB 1066MHz。
我的想法是 RAM 应该足够用于数据库服务器(我们有大量的数据和一些非常大的查询),而不是尽可能快。显然我们无法获得 1333MHz 的 16GB 芯片,因此选择了上述选项。
那么,我们应该获得大量较慢的 RAM,还是不太快的 RAM?
可用的 DIMM 插槽数:6
服务器:戴尔刀片 CPU:6 核(由于 Oracle 许可,只有单插槽)。
我目前正在使用 1.5dev-17 重新配置 HAProxy。我想做的是在没有后端用于特定请求时返回 404 错误。
我们当前的配置使用 default_backend 路由到我们的 django 应用服务器,但是当有大量探测请求(如笔测试)与其他配置的后端都不匹配时,我们的 django 服务器在尝试时会停止为这些无效请求提供服务,最终返回 404。
我想从 HAProxy 提供 404,而不是委托给 django 后端。我目前正在通过黑客实现这一目标:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
Run Code Online (Sandbox Code Playgroud)
在 404.http 文件中,我在标题中设置了 404 状态代码。这有效,但感觉非常错误。使用 HAProxy 有没有更好的方法来实现这一点?或者我应该使用常规后端并让它处理 404 响应?
我们有两个 VMWare 环境运行一堆(主要是)Redhat 5.9 和 6.4 来宾。我们有时间漂移问题(每周提前几分钟)。我们使用 ntp,同步到本地域控制器。
VMWare 的这个建议特别指出不要使用 vmware-tools 进行时间同步。为什么?似乎很多人都对 NTP 有问题,并且 vmware-tools 通常以可预测的方式运行。在更高版本的 Redhat 上使用 vmware-tools 是否有任何特定问题?
对于上下文,这是我们的 ntp.conf(删除了所有注释行):
tinker panic 0
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server our.domain.server.com
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
Run Code Online (Sandbox Code Playgroud)
我们的一些客人绝对没有问题保持时间。其他人则大幅出局。
我们有一个服务器应用程序,它在大约 4000 个连接时面临 TCP 耗尽问题。这将每 3 或 4 周(大约)发生一次。创建此服务器应用程序的供应商在检查 netstat -b 的输出后告诉我们,即使客户端已断开,某些连接仍保持打开状态。
我的任务是调查特定客户端应用程序为什么没有正确关闭 TCP 连接。我相信如果客户端计算机关闭,它可能无法从服务器报告仍与该客户端建立 TCP 连接。不幸的是,我找不到任何信息来验证我的观点。我不想再浪费时间调查一个我认为根本不是问题的潜在问题。
tldr;
服务器是否可以报告与已关闭计算机的已建立连接?
我们正在调查一些 JDBC 问题,其中一个可能的问题是 /dev/random 被耗尽。解决方法是将 JVM 切换为使用 /dev/urandom,但我不想尝试确定 /dev/random 是否已耗尽。
有没有办法检查熵池是否耗尽?我一直在寻找 nagios 插件和一般的 bash 命令,但我什么也没找到。
正如问题所问,如何在 Redhat 上为用户 apache 生成 ssh 密钥?
我的用例是我们有一个在 apache 用户下运行的 mercurial 服务器。我们还有几个 Web 服务器集群,我们需要手动登录并从中提取。理想情况下,我们想要做的是让 mercurial 服务器将所有更改推送到集群中的所有网络服务器。为此,我们想使用 ssh,因为在每个 Web 服务器上设置 http mercurial 服务器似乎工作量太大,而且太繁重。
我试图做的是以下内容:
> sudo mkdir /var/www/.ssh
> sudo chown -R apache:nobody /var/www/.ssh
> su - apache -c "ssh-keygen -t rsa"
This account is currently not available.
Run Code Online (Sandbox Code Playgroud)
我在别处找到了上面的命令,但我只能假设 Redhat 与上面使用的任何发行版都有不同。有没有办法为 apache 用户生成 ssh 密钥?
我们要做的是为 iptables 生成防火墙规则(puppetlabs/firewall)。我们的节点在概念上是这样分组的:
-- site1
---- shared1
------ specific1
------ specific2
---- shared2
------ specific3
------ specific4
Run Code Online (Sandbox Code Playgroud)
节点“specific4”将始终需要访问“shared2”上的端口 8080 和“site1”上的端口 10000。“specific1”同样需要访问“shared1”上的8080。每个节点的规则总是相同的,但它们将取决于它们属于哪个组。
我正在努力寻找一种方法来在 hiera 中不重复地表示这一点。是否可以从完全独立的节点获取事实?
我想我希望能够做这样的事情(简化):
--
hosts:
host specific4:
rules:
rule:
port: 8080
ip: get_ip(get_my_shared())
Run Code Online (Sandbox Code Playgroud)
但显然,您不能从yaml
文件中调用函数。最好的方法是使用自定义事实吗?我还没有真正使用过 hiera - 所以我不确定最佳实践和什么不是。任何朝着正确方向的温和推动将不胜感激。
编辑:
这是我采用的解决方案,但如果我可以使用导出的资源,我可以消除对 puppetdb-query 的依赖。
# helper for creating rules from an array
define firewall_rules($port, $service_type) {
$source = $name
firewall { "$port $service_type $source":
proto => 'tcp',
dport => $port,
state => 'NEW',
source => "$source",
action => 'accept' …
Run Code Online (Sandbox Code Playgroud)