小编Jos*_*ton的帖子

数据库服务器:小型快速 RAM 或大型慢速 RAM?

我们目前正在设计我们的新数据库服务器,并提出了一个权衡,我不完全确定如何回答。

这些是我们的选项:48GB 1333MHz 或 96GB 1066MHz。

我的想法是 RAM 应该足够用于数据库服务器(我们有大量的数据和一些非常大的查询),而不是尽可能快。显然我们无法获得 1333MHz 的 16GB 芯片,因此选择了上述选项。

那么,我们应该获得大量较慢的 RAM,还是不太快的 RAM?

额外信息:

可用的 DIMM 插槽数:6
服务器:戴尔刀片 CPU:6 核(由于 Oracle 许可,只有单插槽)。

oracle memory database

33
推荐指数
5
解决办法
3005
查看次数

当没有 acls 匹配时,从 HAProxy 提供 404

我目前正在使用 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 响应?

haproxy http-status-code-404

17
推荐指数
2
解决办法
2万
查看次数

为什么不使用 vmware 工具进行时间同步?

我们有两个 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)

我们的一些客人绝对没有问题保持时间。其他人则大幅出局。

redhat ntp vmware-tools vmware-esx

13
推荐指数
3
解决办法
3466
查看次数

当客户端断开连接时,TCP 连接是否可能保持打开状态?

我们有一个服务器应用程序,它在大约 4000 个连接时面临 TCP 耗尽问题。这将每 3 或 4 周(大约)发生一次。创建此服务器应用程序的供应商在检查 netstat -b 的输出后告诉我们,即使客户端已断开,某些连接仍保持打开状态。

我的任务是调查特定客户端应用程序为什么没有正确关闭 TCP 连接。我相信如果客户端计算机关闭,它可能无法从服务器报告仍与该客户端建立 TCP 连接。不幸的是,我找不到任何信息来验证我的观点。我不想再浪费时间调查一个我认为根本不是问题的潜在问题。

tldr;

服务器是否可以报告与已关闭计算机的已建立连接?

windows-server-2008 tcp

12
推荐指数
3
解决办法
5838
查看次数

有没有办法监控/dev/random?

我们正在调查一些 JDBC 问题,其中一个可能的问题是 /dev/random 被耗尽。解决方法是将 JVM 切换为使用 /dev/urandom,但我不想尝试确定 /dev/random 是否已耗尽。

有没有办法检查熵池是否耗尽?我一直在寻找 nagios 插件和一般的 bash 命令,但我什么也没找到。

linux redhat jdbc random-number-generator

12
推荐指数
1
解决办法
5777
查看次数

如何在 Redhat 上为 apache 用户创建 ssh 密钥?

正如问题所问,如何在 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 密钥?

ssh redhat mercurial ssh-keys apache-2.2

5
推荐指数
1
解决办法
1万
查看次数

使用 puppet 或 ldap 管理用户?

多个 答案有效地表明应该使用 ldap 而不是 puppet 来管理实际用户。我倾向于基于缩放的角度来同意。新员工的入职应由支持团队完成,而不是由添加新用户资源的系统管理员完成。

然而,管理 ssh 密钥和授权密钥(以及 sudo 访问和用户配置文件)似乎是 Puppet 的完美工作。

管理每个用户的密钥和配置的标准方法是什么?puppet 可以在这里增加 ldap 吗?如果员工变得无赖,我们需要从 1000 个不同的 authorized_keys 文件中撤销他们的密钥,会发生什么?

ldap users puppet

3
推荐指数
1
解决办法
4724
查看次数

使用 hiera 访问另一个节点的事实

我们要做的是为 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)

puppet hiera

2
推荐指数
1
解决办法
6903
查看次数