Articles of freebsd

在FreeBSD上用natd标志redirect

我正在尝试设置一个基本的NAT服务器。 我希望来自外部世界的所有stream量到NAT服务器被redirect到另一台机器,在那里我运行一个lipcap服务来parsing这个stream量。 我在rc.conf的natd_flags部分尝试了-redirect_port和-redirect_address,但没有任何作用…任何想法?

每天用php-fpm,nginx服务40M请求时,加载平均问题

我有FreeBSD服务器(HT,SSD,32Gb RAM的16核心),每天约有40M的HTTP请求。 所有请求都由nginx + php-fpm 。 在这些图表中,您可以看到在交通高峰期我们遇到了问题。 我不是系统pipe理员,请解释什么是“活动连接”,“写入”,“等待”,“正在读取”以及当服务器无法快速处理请求时为什么“写入”增加? 这里有一些更多的CPU,内存和负载平均图。 正如你所看到的,CPU和内存没有什么奇怪的事情发生,但Load Average也有一个高峰。 在这个Load Average高峰期间,我注意到在php-fpm.sock上有一个不存在的队列 netstat -Lan | grep php-fpm unix 2525/0/32246 /tmp/php-fpm.sock 队列中的成员数从0到12000不等。当值为0时 – 一切正常,我在60-100毫秒内得到http响应。 当值为5000-12000时可能需要3-10秒。 我也检查了是否有任何不寻常的进程,但无法find任何东西。 以下是几分钟前截图(现在一切正常,没有stream量高峰): 我的结论是:根据CPU和内存图,我可以说这个服务器可以提供越来越多的请求,但是由于php-fpm的非最优化工作,在交通高峰期是不可能的。 有关如何解决这个问题的任何build议?

大量的会话文件

我有: CPU: 2 x Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (2600.06-MHz K8-class CPU) 128 GB RAM FreeBSD OS session files stored in RAM each session file is 1…10 kb gc_maxlifetime = 1440 会话文件的数量是:21000(100M RAM) 当我将gc_maxlifetime to = 3600更改gc_maxlifetime to = 3600会话文件的数量改为:55000(250M RAM) 网站开放后,缓慢。 只有在将gc_maxlifetime更改为= 3600之后,才能开始缓慢工作。当gc_maxlifetime = 1440时,所有工作都完美无缺。 所以,这是因为大量的会话文件。 我应该怎么做,以使其工作更快?

石墨:如何通过networking应用程序提供历史私语数据

我最近把我的石墨设置从一个碳caching实例重新configuration到了几个碳caching实例。 因为我需要在新主机上做这个工作,而不需要在设置旧石墨服务器的时候closures旧石墨服务器,所以我现在有一个耳语目录,其中包含旧服务器的历史指标,我需要通过新主机上的webapp提供。 我将dir复制到新主机上,并在webapp local_settings.py中添加了一个条目:DATA_DIRS = ['/ carbon1 / whisper','/ carbon2 / whisper','/ carbon3 / whisper','/ carbon4 / whisper', “/低语 – 归档”] 耳语 – 档案是我正在谈论的目录。 不幸的是,数据没有显示出来。 我做错了什么或有更好的方法来做到这一点? 运行石墨0.10.0源码安装在freebsd 10.0-RELEASE-p12上

PFredirect规则:如何将规则限制为特定用户

我试图设置PFredirect规则来强制来自特定用户帐户的所有networkingstream量通过共享计算机上的网页filter。 使用iptables,我可以使用–uid-owner选项来限制规则适用于某些用户,如下所示 iptables -t nat -A OUTPUT -p tcp -m owner ! –uid-owner bob –dport 80 -j REDIRECT –to-port 8080 然而,我不知道如何达到与PF的rdr规则相同的目标。 我尝试了下面的东西,但是在使用pfctl加载规则时出现语法错误。 rdr inet proto tcp from any to any port www user bob -> 127.0.0.1 port 8080

通过临时驱动器将raidz1转换为raidz2

几个月前我创build了一个新的NAS服务器,并将其设置为RaidZ。 我正在重新考虑这个决定,并希望获得额外的驱动,并转移到RaidZ2。 在大家回复说ZFS不可能的情况下,我想指出,我知道这不是直接可能的。 我已经search了几天的文档,但是似乎没有一套如何手动执行此操作的说明。 我相信我需要: 将整个池移到一个足够容纳已用空间的驱动器上 推倒现有的游泳池。 在raidz2中使用额外的驱动器build立一个新的池 将数据移回池中。 这似乎不是太棘手,但我不熟悉ZFS或FreeBSD相信我成功实现了第1步。我也不完全确定第4步,但是可以重试,而第一步搞砸了玩得开心。 我的阅读表明,rsync是有效克隆驱动器的方法,但我想确保我所复制的内容与源代码完全相同 ,包括系统/隐藏文件,符号链接,监狱等等。操作系统是运行镜像闪存驱动器不会改变,理想情况下,他们甚至不会注意到在下次启动时有任何改变(例如,所有的监狱都像以前一样启动)。 复制/克隆池/驱动器是否也会移动分区信息? 将FreeNAS重新创build这些或将我需要手动操纵它们。 我正在运行FreeNAS 9.3,并在一个raidz池中安装了3x3TB硬盘。 我想最终在raidz2 4x3TB。 目前的池使用1.3TB的空间,我有一个外部的2TB驱动器临时存储。 如果数据丢失,这不是关键任务。 更新 实际问题:如何将池复制到临时驱动器,同时确保它是一个足够完整的副本推回到重新创build的zpool。 另外,如果不是简单的原始副本的反面,我又该如何推回来。

gethostbyname失败和networking超时在监狱

我有一个FreeBSD DigitalOcean液滴,我按照这个指南 准确地build立了一个监狱。 问题是我无法在监狱里获得可靠的networking连接。 做curl https://www.google.com/我试图连接到服务器时得到1分钟的延迟: 在第二个星号之后,连接非常快速地build立起来。 ping我得到100%的数据包丢失,偶尔我无法parsing主机名。 在一个命令期间它将不起作用,但是在我尝试下一个命令之前,它会稍微延迟一段时间。 我试着用ssh -T [email protected]来查看SSH是否工作正常,而且我似乎总能得到一个连接(当主机名查找工作时)。 我只有这些问题在监狱里,而不是在主机上。

如何在freebsd重试前等待?

我想尝试在尝试之间使用su命令超时1秒。 唉,谷歌和StackExchange,rtfm还没有取得成果。

NGINX PROXY 0000 1204 0000 0000 0000 0300 0000 8000

在nginx上次更新之后,我所有的页面都得到了: 0000 1204 0000 0000 0000 0300 0000 8000 0400 0000 0000 0500 ffff ff00 0004 0800 0000 0000 7fff 0000 0000 0807 0000 0000 0000 0000 0000 0000 01 有一个带有jails的FreeBSD / 10.2-RELEASE-p17盒子。 10.10.10.1:80:Apache / 2.4.20 – 仅作为内部networking – 通用的虚拟主机 XX.XX.XX.XX:80:nginx / 1.10.0作为代理和负载均衡器到Apache24 – 这是公共的 内部networking工作(apache)testing所有文件: curl -I –header 'Host: myserver.com' http://10.10.10.1:80/ HTTP/1.1 200 OK […]

相当于FreeBSD的Solaris fmadm

我一直在寻找fmadm ,它是FreeBSD上Solaris / illumos的故障pipe理configuration工具。 但是我无法find一个模仿fmadm特性的等价物甚至是一个子集。 我应该在FreeBSD上寻找什么样的软件来模仿fmadm某些function?