Articles of linux

sysctl.conf中net.ipv4.tcp_max_syn_backlog的值

我正在调整sysctl.conf 。 根据linode网站的优化指南 ,以下是在sysctl.conf设置的一个合理的值: net.ipv4.tcp_max_syn_backlog = 3240000 但是,archlinux优化指南中的值相同 : net.ipv4.tcp_max_syn_backlog = 65536 最后,在另一个优化博客 (这是旧的,但仍然在谷歌上相当高),价值被吹捧为: net.ipv4.tcp_max_syn_backlog = 4096 所有这些球场都大不相同。 将这个值设置为高数字(相对于低数字)的原因是什么? 哪一个应该是真正的“理智”值呢?

在企业环境中pipe理多租户证书

寻找工具的build议,以便于pipe理多租户证书。 要求: Windows和Linux证书pipe理 能够pipe理在IIS中绑定的证书 能够pipe理客户authentication证书(第三方证书) 我正在寻找一种可以集中证书的工具,并根据资源的某种标记或命名惯例将一组证书推送给windows和linux机器。 我还没有发现任何满足这三个需求的东西。 前两个要求是最重要的。 IIS的CCS解决了部分难题,因为它可以pipe理绑定到IIS中站点的证书,但是并不能解决pipe理未绑定到站点的客户端证书的挑战。 对于linux而言,我认为我只需要像nginx这样的一个或两个工具来pipe理证书,所以基于插件的模型可能是一个需求 狐猴https://medium.com/netflix-techblog/introducing-lemur-ceae8830f621 接近我正在寻找,减去证书更新的pipe理

诊断缓慢/超时的Web应用程序

我看到在一个基于Linux的机器上load average: 12.41, 11.94, 11.59平均负载平均负载时间为load average: 12.41, 11.94, 11.59 。 它有16个核心,所以平均负载不是很难。 但是,当我尝试连接到这个Web应用程序时,经常会超时。 什么可能导致这个? 这是一个曲线球。 所有CPU的CPU使用率徘徊在约50%左右(根据top )。 wa值在0.0到3.0之间。 根本没有使用交换内存,并有大量的空闲内存可用。 iostat显示0.51的%iowait值。 其他数据是: Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 4.88 1.02 2136.25 12365497 25895371840 sdb 0.00 0.00 0.00 9456 0 sdc 0.95 0.00 452.44 4781 5484405440 写/秒高 – 这是一个写/重的应用程序。 iotop显示来自pgbouncer进程(postgresql连接池),asynchronous任务队列和nginx工作进程(可能写入访问日志)的写入。 在IO>列中我没有看到6%以上的东西 – 大部分行都有0.00%。 SWAPIN是0.00% 。 总之,CPU利用率不是通过屋顶,内存利用率不是问题,并没有过多的I / […]

解压缩NFSv4共享上的tar时出现“无法closures:input/输出错误”

在一个NFS共享上解压tar文件的时候,我一直在试图弄清楚一个奇怪的错误。 解压缩包含已归档的文件的tar文件时,错误会自行显示,而没有对归档文件设置的写入权限。 错误消息间歇性地打印如下: tar: test/doc/manpages/man1/Makefile.in: Cannot close: Input/output error 为了确认这种行为,我设置了两个相同的tar文件:一个用chmod权限575(用户读/执行)设置归档文件,另一个用chmod权限设置为755(用户读/写/执行)。 两个tar文件都被归档如下: tar czf test.tgz test 并提取如下: tar -xvzf test.tgz 当提取本地文件系统上的两个档案时,我没有得到任何错误。 另外,在使用用户在NFS共享上写入的情况下提取存档时,我不会收到任何错误。 将归档文件解压到NFS共享时,如果没有对归档文件的用户写入权限,则会出现错误。 NFS共享configuration有以下输出参数: /media/share 10.0.0.3(rw,sync,no_subtree_check,no_root_squash) 而NFS挂载的客户端fstab条目如下所示: 10.0.0.3:/media/share /media/share nfs4 rw,_netdev,auto,clientaddr=10.0.0.10 0 0 客户端和服务器都运行Ubuntu 14.04.1 客户端和服务器上的nfs-common版本是v1:1.2.8-6ubuntu1.2 , nfs-kernel-server上的nfs-kernel-server软件包也是v1:1.2.8-6ubuntu1.2 任何帮助将不胜感激,因为我想深究造成这些错误的原因。

如何链启动/蹦床启动到PCIe SSD上的Ubuntu 17没有BIOS支持

我有一个服务器级的SSD(Intel DC P3520),最终会在服务器上运行。 在服务器部署在数据中心之前,我想在台式机上进行一些testing。 我有一个较旧的,但可用的机器(AMD Phenom /华硕M4A88T-M与16GB),并很容易地安装Ubuntu 17 BUT显然董事会不能从PCIe SSD启动。 由于Ubuntu安装程序可以看到并写入SSD,所以希望Linux可以处理该设备。 有没有一种(简单)的方式来从一个“助手”的USB连锁启动到PCIe SSD上的Ubuntu安装? 也就是说,从USB启动到一个带有PCIe SSD驱动程序的蹦床系统(GRUB / Linux / Bootmanager),并像GRUB一样加载内核。 我明确不要求 : 如何直接从PCIe设备进行过时的BIOS启动 如何将PCIe SSD用作数据驱动器 build议购买新的硬件 目标是评估此服务器级SSD相比于SATA或M.2固态硬盘在特定桌面应用中的性能增益。 谢谢阅读!

iptables SNAT返回的stream量没有到达客户端

我有以下devise: client linuxserver destination 192.168.160.34 192.168.163.196 192.168.18.1 我可以从服务器从客户端和客户端ping服务器,他们都在同一个子网, 192.168.160/22 ,我也可以从服务器ping目的地 客户端ip路由列表: default via 192.168.163.196 dev ens192 192.168.160.0/22 dev ens192 proto kernel scope link src 192.168.160.34 客户端的iptables策略在所有链上都可以接受,并且已经刷新。 服务器的iptables在所有链上都可以接受,有一些docker + kvm规则等等。 我继续在服务器上添加以下内容: iptables -t nat -A POSTROUTING -s 192.168.160.34 -j SNAT –to 192.168.163.196 我还添加了net.ipv4.ip_forward=1并将其应用于内核参数。 我仍然无法ping客户端的目的地。 tcpdump的: 00:00:00.000000 IP (tos 0x0, ttl 64, id 3182, offset 0, flags […]

将MaxSessions / MaxStartups修复SSH连接被拒绝的消息?

UPDATED在底部 – > 我在我的操作系统类中使用了一个红帽企业Linux服务器版本7.4(Maipo)VM ,大约有20名学生,他们通常使用自己特定的用户ID来启动两台到这台机器的ssh连接。 当学生进入教室时,这似乎工作正常。 但是,在大多math生尝试login的课程开始时,我有学生无法使用“ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused”消息login系统。 等待20分钟左右似乎最终让更多的人进来。sshd肯定是在跑步。 被拒绝的用户组有所不同,有时也包括我。 我可能在几分钟之前通过ssh成功连接了,但是无法启动第二个会话。 我们所有的传出stream量都使用多对一的NAT设置,因此服务器上的所有传入ssh连接都将显示为来自相同的IP编号。 在查看文档并进行挖掘之后,我在sshd_config文件中更改了以下两个参数: #MaxSessions 10 MaxSessions 500 和 #MaxStartups 10:30:100 MaxStartups 75:10:200 据我所知, MaxSessionspipe理着连接到服务器的活动ssh连接数 – 即使来自一个IP号码,而MaxStartups涉及初始连接尝试(例如,试图login的人还没有提供密码)在这种情况下,我可以在启动时容纳75个,然后速度会下降10%,直到达到200的限制(所以我应该设置MaxSessions,这个数字是一样的吗?) 我正在使用密码authentication,并且rootlogin被禁用。 我们通常使用git bash shell从Windows 10机器login(尽pipe我也使用过putty来查看是否会有所作为,但是没有)。 无论如何,我是否在正确的轨道上处理login问题? 问题是我不能可靠地重现这一点。 这个问题似乎只发生在同一时间有一堆连接尝试的课堂上,我在其他时间login和注销没有任何麻烦,没有一个学生在其他时间报告过这个问题。 还有什么我可以尝试帮助诊断和解决这个问题? 我知道这似乎是一种错误,发生在很多人身上,而且我在这里读了一些,但是还没有find一个可行的解决方法。 UPDATE 所以当我用这个小脚本来重现这个问题的时候(把@RobbieMckennie给我这个想法) LIMIT=5 for i in $(seq $LIMIT) do echo echo "============================= […]

XEN Server 4.4.4 – 无法创build磁盘分区

在Oracle VM Server中,我们在/dev/sdb上创build了第二个分区,现在我们要在其上创buildext4文件系统,但是mkfs -t ext4 /dev/sdb2返回: mke2fs 1.43-WIP (20-Jun-2013) /dev/sdb2 is apparently in use by the system; will not make a filesystem here! parted的结果如下: [root@OVSGRIENSU ~]# parted /dev/sdb GNU Parted 2.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: IBM ServeRAID M5210e (scsi) Disk /dev/sdb: 999GB […]

如何杀死Linux中特定端口和PID的所有TCP连接

我需要做一些testing,包括杀死一个特定的应用程序的连接,我可以通过PID和TCP端口来识别。 Tcpkill允许按端口过滤,但不能通过PID过滤。 目前我没有root / sudo权限,所以netstat不显示PID信息。

“复制”正在运行的服务器

而不是使用Ansible或其他configurationpipe理工具,在这个Ubuntu 16.04服务器的pipe理员经历了几个月之后,我对系统进行了很多修改:更改了/ etc中的configuration文件,安装的软件包,启用和禁用了apache2模块,等等。 有没有一种自动的方式来创build一个脚本或什么的,当执行干净的安装Ubuntu 16.04(但如果它在任何Linux上工作甚至更好),可以重新创build一个服务器是几乎完全一样的我一现在有工作和运行? 编辑:不幸的是,这不是一个虚拟机,我可以克隆。