我在两个不同的 PCIe 适配器上直接连接了两个 PowerEdge 6950 分频器(使用直线)。
我在每条线路上都有一个千兆链路(1000 MBit、全双工、双向流量控制)。
现在我正在尝试使用双方的 rr 算法将这些接口绑定到 bond0(我想为单个 IP 会话获得 2000 MBit)。
当我通过在 tcp 模式下使用 dd bs=1M 和 netcat 将 /dev/zero 传输到 /dev/null 来测试吞吐量时,我得到了 70 MB/s 的吞吐量 - 不是 - 正如预期的那样超过 150MB/s。
当我使用单线时,如果我为每条线使用不同的方向,每条线的速度大约为 98 MB/s。当我使用单条线路时,如果流量进入“相同”方向,则线路上的速度分别为 70 MB/s 和 90 MB/s。
通读bonding-readme (/usr/src/linux/Documentation/networking/bonding.txt)后,我发现以下部分很有用:(13.1.1 MT Bonding Mode Selection for Single Switch Topology)
balance-rr:此模式是唯一允许单个 TCP/IP 连接跨多个接口条带化流量的模式。因此,它是唯一一种允许单个 TCP/IP 流利用多个接口的吞吐量的模式。然而,这是有代价的:条带化通常会导致对等系统无序接收数据包,从而导致 TCP/IP 的拥塞控制系统启动,通常是通过重新传输段。
Run Code Online (Sandbox Code Playgroud)It is possible to adjust TCP/IP's congestion limits by altering the net.ipv4.tcp_reordering sysctl parameter. The usual default value is …
我们有培训室,通常安装 Windows XP(通过 PXE)。“正常”的 DNS/DHCP 基础结构是 Windows 服务器。培训室有自己的 VLAN(与 Windows 服务器不同),因此最有可能在 Cisco 路由器上有一个用于 DHCP 请求的 IP 帮助程序,该房间的所有 PC 都连接到该路由器。
现在我们想将一些 PC 转换为 Linux。这个想法是:将我们自己的带有 DHCP 服务器的笔记本电脑放入房间的 VLAN 中,并覆盖“正常”的 DHCP 响应。这个想法应该可以工作,因为该 VLAN 中直接连接的 DHCP 服务器的响应时间应该比位于该 VLAN 一些跃点之外的“正常”DHCP 服务器的响应时间更快。
事实证明这是行不通的。我们必须手动释放原始 DHCP 服务器上的租约才能使其正常工作。
在笔记本电脑上,我们确实看到客户端请求 IP 并且“我们的”dhcp 正在向 Windows IP 请求发送 NACK,在此之前我们确实提供了我们自己的响应。
老问题:为什么这没有按预期进行?是什么让 PC 重新获得旧租约?
2012-08-08更新:
重新获得问题已在 DHCP-RFC 中进行了解释。现在这解释了为什么 PC 重新获得其旧租约。
现在,在再次尝试之前,我们确实从 Windows-DHCP 服务器中释放了 IP。
再次 - Windows-DHCP-server 获胜。
我怀疑 dhcp-client 有一些算法可以确定客户端的“最佳”dhcp-answer。新问题是:
客户如何选择“最佳”答案?
我已经在多宿主服务器上的 SLES10(当前绑定 9.6)上设置了一个 DNS 服务器。该服务器可以从所有内部网络进行查询,并为所有内部网络提供答案。我们有两个独立的 DNS“主”区域。这些区域中的每一个都由许多权威的 Windows-DNS 服务器提供服务。
现在我的 linux-server 是这些区域之一(私有内部区域)的辅助 DNS 服务器,并充当另一个区域(公共内部区域)的转发器。
直到最近,这种设置都没有问题。现在我得到 - 在查询公共内部区域时(例如通过hostlinux 客户端上的命令)错误消息
;; 截断,在 TCP 模式下重试
一个wireshark-dump揭示了这个原因:第一个查询在UDP模式下发出,答案不适合UDP(由于权威NS的列表太长),然后在TCP模式下重试,提供正确答案。
现在的问题是: 我可以将绑定配置为在 TCP 模式下查询转发器而不先尝试 UDP 吗?
更新:尝试使用 ASCII 艺术...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client| …Run Code Online (Sandbox Code Playgroud) 我们在 VIP 上有 2 台生产服务器,一次只有一台在使用,例如:
myservice.mycompany.uk 通常指向 server1,如果 server1 出现故障,它会更改为指向 server2。
还有一些其他服务器需要通过 SFTP 将文件发送到 myservice.mycompany.uk,如果我们故障转移到 server2,它应该对它们完全透明。
问题是,虽然在 server1 和 server2 上都安装了密钥,但其他服务器会出现主机密钥验证问题,因为 server2 的主机密钥与 server1 的主机密钥不同。这会导致安全错误(因为启用了严格检查),必须从 known_hosts 中删除一行才能使其工作。
我们的 IT 人员建议我们可以在 known_hosts 中创建 2 个条目,一个使用 server1 的密钥,一个使用 server2 的密钥,两者都使用主机 myservice.mycompany.uk。
这可能奏效吗?如何在 Windows 上使用 putty/psftp 完成此操作?由于主机密钥存储在注册表中,因此不允许重复名称。有没有更好的方法,例如,我们可以强制服务器具有相同的主机密钥吗?
我有一个带有 3 个磁盘的 RAID 5 阵列的 Dell PowerEdge,我想向其中添加第四个磁盘以扩展卷的容量。
我不想重新初始化整个 RAID 5,因为我想保留所有数据并对其进行扩展。
我可以在 Windows 运行时使用 OpenManage 执行此操作,还是必须在未安装操作系统时在启动菜单上执行此操作?
这是 OpenManage Server Administrator 上的屏幕截图:

还请告诉我如何实现这一目标。谢谢!
我今天发现我的磁盘已满,我仅从删除多个网站的大部分日志中释放了 10%。我个人喜欢将日志保存为存档,因为无论出于何种原因我都可能需要回顾它们。我是管理 LAMP 服务器的新手,所以我想学习一些好的做法。我应该多久清理一次我的日志?我应该保留它们吗?我还可以定期做哪些其他事情来清除服务器的缓存和“临时”文件,以防止它再次耗尽所有磁盘空间?
我即将开发一个小脚本来为 chroot-jail 收集信息。
就我而言,这看起来(乍一看)非常简单:该应用程序具有干净的 rpm-install,并且确实将几乎所有文件安装到 /opt 的子目录中。
我的想法是:
现在我想知道 - 是否有任何脚本已经完成了这样的工作(perl/bash/python)?
到目前为止,我只找到了针对单个应用程序(如 sftp-chroot)的专门解决方案。
虽然无关紧要(恕我直言) - 操作系统是 CentOS 5 x86_64 当前次要版本和补丁级别。
rpm -ql恕我直言不够通用,因为它只会涵盖基于rpm的发行版。上面提到的“全新安装”只是提到软件的文件没有分布在整个文件系统中。所以我的出发点是 - 目前 - 一个find /opt/directory/......几乎可以在任何系统(甚至不是Linux)上运行。
我想在 Nagios 监控的系统上附加一条评论。我更喜欢使用 check_mk 作为 GUI。现在我偶然发现了这一点:我可以将评论设置为粘性和/或持久性。
所以我问我们的 Nagios 管理员粘性和持久性之间的区别是什么。
事实证明,他不知道“粘性” - 这必须是特定于 check_mk 的东西。
在谷歌和检查 check_mk 文档之后,我找不到关于该主题的任何信息。
那么:Nagios-service-comments 的粘性和持久性之间有什么区别?
更新:这是一个屏幕截图 - check_mk 快速搜索特定服务器,然后选择hamer-symbol。然后会出现这个:

问题是关于确认框:粘性与持久性
当虚拟化是新的时,我们试图虚拟化所有东西,但后来我们注意到我们的虚拟机比裸机慢得多的用例。
对我们而言,在决定不进行虚拟化时,我们使用以下规则:
我们在 Xen 和 DRDB 以及 Hyper-V 与 DAS 的无共享方面都有过这些经验。所有管理程序都是这种情况吗?
在决定是否虚拟化应用程序/服务器时,我应该寻找哪些(其他)指标?
我目前正在尝试解决问题的核心,我的 LVS 控制器似乎不时丢弃来自客户端的数据包。我们在我们的生产系统上有这个问题,并且可以在登台时重现这个问题。
我在 lvs-users-mailing-list 上发布了这个问题,但到目前为止没有得到任何回应。
我们在 PV XEN-DomU 中使用 ipvsadm 和 Linux CentOS5 x86_64。
我们在 DR 模式下使用 IPVS,我们使用 lvs-kiss 来管理正在运行的连接。
ipvsadm 在heartbeat-v1-cluster(两个虚拟节点)中运行,主节点和备份节点在两个节点上持续运行。
对于 LVS 服务,我们使用由心跳设置的逻辑 IP(主动/被动集群模式)
真实服务器是物理 Linux 机器。
充当控制器的 VM 在使用桥接网络的 Dom0 上作为 XEN-PV-DomU 运行。
1 GB RAM,2 个 vCPU,系统负载几乎为 0,可用内存 73M,224M 缓冲区,536M 缓存,无交换。
top 显示几乎总是 100% 空闲,0% us/sy/ni/wa/hi/si/st。
ipvsadm …
CentOS/RHEL 7 有一些变化(与 CO/RHEL 6 相比)。其中之一是使用grub2而不是grub。
默认情况下,操作系统似乎使用 UUID 来“查找”引导设备。
是否有一个易于使用的 receipe 来返回设备名称(如 /dev/sda1)?
问题背景:我打算从模板中克隆其他虚拟机。Base 是具有不同 UUID 的新(虚拟)磁盘设备。
如果我无法恢复到sda1,我将需要将grub.cfg 中克隆的 UUID 更改为新的 UUID - 这是计划“B”。
更新2017-10-26
root=的内核参数将更改为磁盘 - 请参阅下面Thomas的回答。
这部分仍然存在一个问题,由grub2-mkconfig生成:
Run Code Online (Sandbox Code Playgroud)if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 716433ab-9e30-42a7-a272-6c66243499d2 else search --no-floppy --fs-uuid --set=root 716433ab-9e30-42a7-a272-6c66243499d2 fi
这仍然包含对 UUID 的搜索。如果找不到,引导过程将进入错误“未找到”或类似错误。按 ENTER 后,系统将正常启动。
剩下的问题是如何停用该部分(我没有找到禁用feature_platform_search_hint的地方)?
我怀疑我们的服务器应用程序之一已达到其最大打开文件限制。
该应用程序使用自己的帐户在用户空间中运行。init 脚本启动大量进程,这些进程又启动大量子进程和大量线程。
根据我在/etc/security/limits.conf 中设置的书:
USERNAME - nofile 2048
Run Code Online (Sandbox Code Playgroud)
我怀疑应用程序已达到限制 - 通过查看临时文件目录,我发现那里有 2000 多个文件。
在将限制提高到 4096 并重新启动应用程序后,我在那里发现了 2100 多个文件。
现在的问题是:如果应用程序达到了 2048 的限制 - 为什么没有登录 /var/log/messages?
syslog-ng 是当前使用的 syslog-daemon。
/etc/syslog-ng/syslog-ng.conf
options { long_hostnames(off); sync(0); perm(0640); stats(3600); };
source src {
internal();
unix-dgram("/dev/log");
unix-dgram("/var/lib/ntp/dev/log");
};
filter f_iptables { facility(kern) and match("IN=") and match("OUT="); };
filter f_console { level(warn) and facility(kern) and not filter(f_iptables)
or level(err) and not facility(authpriv); };
filter f_newsnotice { level(notice) and facility(news); };
filter f_newscrit { level(crit) …Run Code Online (Sandbox Code Playgroud) linux ×2
sles10 ×2
bind ×1
bonding ×1
centos ×1
centos5 ×1
centos7 ×1
check-mk ×1
chroot ×1
cluster ×1
dhcp ×1
dhcp-server ×1
grub2 ×1
httpd ×1
limits ×1
log-files ×1
logrotate ×1
logwatch ×1
lvs ×1
monitoring ×1
nagios ×1
raid ×1
rhel7 ×1
scripting ×1
sftp ×1
sles11 ×1
ssh ×1
syslog ×1
tcp ×1
uuid ×1
windows ×1
xen ×1