我目前在我的Samba域控制器上遇到了Bind9后端的问题。 绑定拒绝打开Samba提供的库。 但我不知道如何解决这个问题。 这里是SysLog: named[19939]: dlz_dlopen failed to open library '/usr/local/samba/lib/bind9/dlz_bind9_11.so' – /usr/lib/samba/libreplace-samba4.so: version `SAMBA_4.6.0PRE1_GIT_5F5BA89' not found (required by /usr/local/samba/lib/libsamba-util.so.0) named[19939]: dlz_dlopen of 'AD DNS Zone' failed named[19939]: SDLZ driver failed to load. named[19939]: DLZ driver failed to load. named[19939]: loading configuration: failure named[19939]: exiting (due to fatal error) 桑巴版本: samba -V Version 4.6.0pre1-GIT-5f5ba89 绑定版本: […]
tl; dr:我如何让内核尽可能快速地删除TIME_WAIT /closures套接字? 我不关心数据丢失,因为我没有发送任何。 我正在一个非常孤立的机器上运行一个小testing场景。 我在同一主机上运行两个简单的C程序,应用程序的目的是将客户端套接字连接到服务器套接字并尽可能快地放下。 该应用程序速度足够快导致客户端导致“无法绑定到地址”的套接字(或者说fd)池死锁,其原因似乎是每个可用套接字插槽上的TIME_WAIT 。 我用ss -svalidation了这一点。 为了解决这个问题,我记得在sysctl下设置了三个值。 而这个已经足够解决这个问题,但由于某种原因设置如下: net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 1 不工作了。 这只会使每秒的连接数从20k +下降到大约每分钟4个 。 我可能记得上面的sysctlnetworkingconfiguration中的错误设置,但是我以前每秒钟都会从这台机器中获得大约20k +的连接数。 那么为什么这一下子把我锁到4 /秒呢? 同一台机器,与Arch Linux最小安装对127.0.0.1运行的i7。 我尝试设置的主要信息来源是: 如何减lessTIME_WAIT中的套接字数量? 编辑: 看起来tcp_fin_timeout对系统没有影响。 根据这张图片判断,即使服务器(左上angular)和客户端(右上angular)不再进行任何连接,仍然有数千个连接仍在timewait 。 在10秒的运行结束时,我设法通过了18805个连接,这个连接对于这台机器来说不是一个漏洞(因为服务器和客户端驻留在同一台机器上,所以~36k个TIME_WAITsockets)。 为什么tcp_fin_timeout在一秒之后不会丢弃连接? 这绝对是不尊重我的自定义tcp_fin_timeout操作系统。
我有以下情况:networking中有一组机器(NAS和其他“服务器”)。 还有一台机器用于备份。 它使用rsync定期从所有4台机器收集数据,并创build增量备份。 备份是拉式的,所有的脚本都运行ionice -c idle nice -19 。 为了监督整个系统的稳定性,在所有的Linux机器上都安装了一个监控系统(munin)。 Munin以不同的系统variables和状态每隔10分钟查看一次,并在出现问题/警告时发送邮件。 在备份结束时(特别是在最大机器的长时间运行备份之后),每天晚上,munin都会抱怨高磁盘延迟。 我已经推高了被接受的限制,但是在这样的备份结束时,IO等待时间还是在10秒以上。 在我看来这似乎相当高。 备份脚本是由我自己写的。 我需要与程序rsnapshot类似的方法,但稍作修改。 因此,我自己创build(functionless得多)。 实际上,它将远程计算机rsync到除了其他备份之外的临时文件夹,然后相应地旋转/删除旧的备份。 根据我迄今为止的研究,在编写新的备份(主要是硬链接)或轮换/删除备份时会发生问题。 由于慕尼黑的粒度只有10分钟,我无法确切地知道问题在哪里。 备份的目的地位于抽象层链上:物理分区被收集在一个大的RAID5arrays(mdadm)中。 md设备用作LVM PV。 VG内部是一个大的分区(除了其他未encryption的分区),它使用LUKS进行encryption,第二个LVM驻留在该分区内,并允许将存储分配给不同的分区。 networking上的任何研究都主要导致了这一层networking连接和延迟的问题。 虽然我的备份也是通过networking完成的,但这里的问题是备份服务器上的本地性能。 我到目前为止所做的: 减less脏页面比率,使磁盘先写入数据,以避免滞后。 因为大多数数据在运行之间是恒定的,所以–bwlimit将不起作用,因为硬链接是在本地创build的。 正确? 我想如果错位的分区或不匹配的RAID块大小可能会导致这种问题。 虽然我不知道如何validation。 整个脚本从cron运行。 我添加了ionice / nice但没有太大的区别。 我安装atop机器上,以查看其他进程。 我没有看到任何exception(除了备份结束阶段的大部分时间100%的iowait CPU)。 现在我想问几个问题: 谁能告诉我这个问题可能是什么? 难道这只是一个衡量问题吗? 我的意思是在备份机器上没有其他负载。 难道是因为没有其他进程正在运行rsync进程饿死了任何io操作? 所以如果有另外一个进程,它将首先被服务,但是因为没有,所以磁盘的使用率很高,而且这个rsync进程的写入延迟非常高(这是可以的)。 我不知道在哪里寻找问题。 你能给我build议如何进一步追查问题吗? 为了使我的陈述清楚:我很清楚,在写入文件/创build链接时,进行备份会给系统(特别是在磁盘上)带来相当大的负担。 如果您需要更多信息,请告诉我您需要什么。
Arch Linux Linux内核4.9.36(64位) 鸽舍2.2.31(65cde28) SpamAssassin版本3.4.1在Perl版本5.26.0上运行 鸽子孔0.4.19-1 尝试按照Arch Linux Wiki的Sieve教程 (我遵循虚拟用户邮件系统教程结束了这个教程 )设置邮件服务器。 这应该启用spamtest和spamtestplus 。 逐字sieve_trace_debug Wiki除了sieve_trace_debug之外所要求的sieve_trace_debug并删除文档的可读性。 /etc/dovecot/conf.d/90-sieve.conf : plugin { sieve = file:~/sieve;active=~/.dovecot.sieve # Start Arch Linux Wiki Config <https://wiki.archlinux.org/index.php/Dovecot#Sieve> sieve_extensions = +spamtest +spamtestplus sieve_spamtest_status_type = score sieve_spamtest_status_header = \ X-Spam_score: (-?[[:digit:]]+\.[[:digit:]]).* sieve_spamtest_max_value = 5.0 sieve_before = /var/lib/dovecot/sieve/global_sieves/move_to_spam_folder.sieve # End Arch Linux Wiki Config sieve_trace_debug = […]
我如何在arch-linux的机器上通过apple的afp协议实现文件共享? 我的系统应该为不同操作系统的多个客户端提供文件。 (Windows {XP,7},OS X)对于Windows部分,我安装了Samba。
我正在运行ArchLinux和nginx,并且不能在实际的PID文件中不使用kill -9情况下停止nginx。 我宁愿使用/etc/rc.d/nginx stop ,让nginx脚本在.pid文件中查找nginx,但文件不在那里。 我touch它,但也没有帮助。 我们欢迎所有的build议! 非常感谢。 编辑: 这是我看到,当我input/etc/rc.d/nginx restart 所以这里出了点问题
我使用Nginx作为ArchLinux镜像的caching代理(以加速内部服务器构build)。 它正确地反向代理四个站点,但在第五个返回神秘的404s。 /etc/nginx/conf/nginx.conf: user http; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/access_log main; error_log /var/log/error_log debug; sendfile on; tcp_nopush on; tcp_nodelay off; keepalive_timeout 30; gzip on; proxy_buffering on; proxy_cache_path /srv/http/nginx/proxy levels=1 keys_zone=one:256m inactive=5d […]
通过各种教程,我还没有find一个可以用来为非虚拟用户设置一个简单的邮件服务器。 我不想支持任何forms的虚拟用户,只有两个真正的用户在机器上设置。 你知道任何教程解释如何做到这一点? 我有一个域设置在我有权访问的DNS设置,我想要一个IMAP和SMTP服务器运行。
好吧,build立一个networking服务器,使用mysql,nginx,php和其他一些东西。 我期望数据库的报价变大,并且会有很多小文件由networking服务器提供,下载量不到1-2mb。 我有两个1.5 TB SATA硬盘和350 GIG SATA硬盘,主板有足够的SATA端口来插入它们。 我正在寻找一些关于如何分割这个东西的build议。 我正在使用cfdisk。 如果它只是一个networking服务器,我需要一个大的/ home目录吗? 我想根据archlinux的build议,为/ var目录使用不同的更快的fs。 我不确定在哪里nginx或apache将存储文件。 那么我需要一个更大的根目录吗? 我知道在networking服务器文件位于/ srv加我最终将有一个大型的数据库。 我甚至不介意使用两个1.5 TB硬盘的RAID设置,然后使用350 GIG硬盘。 任何build议如何分配一切? 谢谢
我正在尝试在我的私人服务器上创buildtrac安装,以便将其用于项目pipe理。 我按照说明安装并连接到可以在官方trac安装指南中find的apache服务器,但是当我尝试访问trac时,我得到错误404。当我禁用ScriptAlias时,我得到403访问被拒绝。 以下是详细信息: 我的设置是这样的:在无头模式下运行的ArchLinux i686(我通过ssh连接到它),并无线连接到我的家庭networking的路由器。 我select使用FastCGI连接trac和apache trac用户包含trac相关的所有东西。 $ sudo ls /home/trac cgi-bin env htdocs env是项目所在的位置cgi-bin和htdocs是使用trac-admin $TARGET $DESTINATION deploy命令生成的。 包含Apache服务器的DocumentRoot的httpd用户: $ sudo ls /home/httpd ftp http 我把所有权归于/ home / trac,recursion地分配给httpd和http组(不安全,我知道,但是我想以最简单的方式首先testing它): sudo chown -R http.httpd /home/trac 我对httpd.conf做了如下修改: 添加: LoadModule fcgid_module modules/mod_fcgid.so 更改: User httpd Group http 将DocumentRoot更改为无处不在: DocumentRoot "/home/httpd/http" 最后我启用了虚拟主机: # Virtual hosts Include conf/extra/httpd-vhosts.conf 这里是httpd-vhosts.conf: <VirtualHost […]