Articles of linux

处理用户上传到Web服务器群集

我们在一个硬件负载平衡器后面有许多Linuxnetworking服务器,它们服务于一个网站。 游客需要能够上传文件。 这些文件的大小一般为300-700KB,我们预计在这个区域有100万个文件。 但是,这带来了一个明显的问题:如果用户上传文件到处理请求的服务器,我们如何保持所有的服务器同步? 延迟应该是最小的,所以在设定的时间表上使用rsync之类的东西并不是真正的select。 也不应该有一个单一的故障点,所以NFS不适合,除非它与DRBD结合来创build故障转移NFS服务器。 我研究过共享/集群文件系统(GlusterFS,MogileFS,OCFS2和GFS),但没有这些经验,所以我不确定它们在性能和可靠性方面如何在生产环境中执行。 我很欢迎任何有关如何最好地解决这个问题的build议。 非常感谢

你用什么样的networking服务器硬件来处理100Mbps以上的静态文件?

我目前大部分的静态文件服务需要使用Amazon S3,但是我的每月账单变得非常昂贵。 我使用日志和高峰时间做了一些粗略的计算,我最昂贵的亚马逊桶正在处理 100 180 Mbps的stream量。 大多在50K以下的图像。 S3在存储和冗余方面非常有帮助,但是如果我可以提供帮助的话,我并不需要为带宽和GET请求付费。 我在自己的数据中心有很多廉价的带宽,所以我configuration了一个nginx服务器作为caching代理,然后用大量的文件(大约240GB)启动了caching,这样我的磁盘就不会像疯了一样写空的caching。 我尝试切换, 我的服务器窒息 。 它看起来像我的磁盘是问题 – 这台机器有4个1 TB的SATA磁盘(梭子鱼XT)设置在RAID 10中。这是唯一的我手上有足够的存储空间用于此。 我很确定nginx的设置是正确的,因为我已经使用它作为另一个较小的Amazon存储区的caching代理。 假设这是单个机器的合理stream量,也许SSD是值得一试的。 如果你处理大量的静态文件服务,你使用什么硬件? 附加信息 Nginx:worker_connections = 4096,worker_rlimit_nofile 16384,worker_processes 8,open_file_cache max = 100000不活动= 60m文件系统:ext4,挂载noatime,barrier = 0,data = writeback,nobh

iptables:阻止出站stream量,除了某些IP地址

使用iptables,我需要阻止我的服务器上的所有出站stream量,除了: SSH访问less量的IP地址 HTTPS访问同一个IP地址的小列表 任何人都可以给我看一套合适的规则吗? 谢谢。

是否有可能使用代理ARP返回到相同的接口?

我有一个WiFi接入点连接到Linux路由器。 路由器本身连接到互联网。 出于多种原因(主要是为了控制安全性和服务质量),我想强制所有用户的stream量通过Linux路由器,甚至是用户之间的stream量。 为此,我禁用了AP中的站对站通信(我使用D-Link DWL-7200 AP)。 以下是我如何configurationAP: ssh admin@accesspoint1 D-Link Access Point wlan1 -> set sta2sta disable D-Link Access Point wlan1 -> reboot 这工作正常:无线用户不能相互沟通了。 至less不是直接的。 我的目标是强制stream量到达路由器并返回。 为此,我在Linux路由器中启用了proxy-arp: echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp 这是大局。 10.0.0.0/8 subnet ____________________|______________________ / \ | | (sta2sta disabled) UserA—————-AP———————Router——————-Internet 10.0.0.55 / eth1 eth0 / 10.0.0.1 203.0.113.15 / proxy-arp enabled UserB____________/ 10.0.0.66 这是我希望如果UserA […]

apachectl和httpd.worker有什么区别?

我的主机服务Webfaction自动为django / python应用程序安装apache启动脚本。 安装的启动脚本是: #!/bin/bash LD_LIBRARY_PATH=/home/mertnuhoglu/webapps/dj02/apache2/lib /home/mertnuhoglu/webapps/dj02/apache2/bin/httpd.worker -f /home/mertnuhoglu/webapps/dj02/apache2/conf/httpd.conf -k start 这个脚本启动一个httpd.worker实例: 3364 00:03 8950 /home/mertnuhoglu/webapps/dj02/apache2/bin/httpd.worker 最近,我按照自定义应用程序安装教程 。 在本教程中,启动脚本被定义为: #!/bin/bash /home/rocketmonkeys/webapps/django/apache2/bin/apachectl start 这个脚本启动一个httpd -k start : 0.0 1620 17462 /home/mertnuhoglu/webapps/django/apache2/bin/httpd -k start 我想问三件事情: 这两种启动Apache服务器的方式有什么区别? 在第一个脚本中,哪个可执行文件( httpd.worker或httpd.conf或其他)运行? 为什么第二个例子中的httpd实例有-k start参数? 这是由于apachectl ?

VFS:达到文件最大限制1231582

我正在运行一个Linux 2.6.36内核,我看到一些随机错误。 像 ls: error while loading shared libraries: libpthread.so.0: cannot open shared object file: Error 23 是的,我的系统无法持续运行'ls'命令。 🙁 我注意到我的dmesg输出中的几个错误: # dmesg | tail [2808967.543203] EXT4-fs (sda3): re-mounted. Opts: (null) [2837776.220605] xv[14450] general protection ip:7f20c20c6ac6 sp:7fff3641b368 error:0 in libpng14.so.14.4.0[7f20c20a9000+29000] [4931344.685302] EXT4-fs (md16): re-mounted. Opts: (null) [4982666.631444] VFS: file-max limit 1231582 reached [4982666.764240] VFS: file-max limit […]

Linux网关:一块网卡如何伪装成一个子网

大家早上好。 在我们的networking中,我们有一台具有别名IP地址的Linux机器。 这些IP地址中的每一个都位于由远程路由器控制的ISPnetworking上。 我们希望使用我们的Linux机箱作为内部networking(10.0.0.x)和Linux机箱的网关,然后将传出的stream量转发到另一个networking上的其中一台路由器。 我读过的所有东西都是关于两个物理接口卡之间的伪装。 但是我们只有一个网卡,监听多个IP地址。 在Linux的盒子本身; 它可以使用其中一个路由器作为上游网关来ping和访问互联网。 所以我们的configuration如下: : Linux Box eth0:0 = 10.0.0.5 eth0:1 = 192.168.137.5 GW: 192.168.137.1 : Router#1 IP: 192.168.137.1 Connection to internet via ISP : Network Machines IP: 10.0.0.x GW: 10.0.0.5 所以问题是,我在Linux上为iptables / nat设置了什么,以允许它接受10.0.0.x子网上的数据包,并将它们路由到为网关configuration的特定IP地址。 当我尝试使用eth0:1作为我的-d然后iptables抱怨无效的字符,并从我在互联网上阅读,这是禁用的iptables( http://lkml.indiana.edu/hypermail/linux/net/9705.1 /0016.html )。 有人可以帮忙吗? 我确信我错过了一些真正明显的东西。 我所有的历史知识都是两个独立的ethXnetworking接口。 谢谢 更新; 这里是“hackity”iptables脚本 WIFIBACKUP=192.168.137.1 iptables -F INPUT iptables -F […]

如何确定是什么导致我的服务器的平均负载跳到90

好的,我在这里完全损失。 我已经有了这个Ubuntu服务器运行了三年。 在过去的几个月里,它开始performance得很奇怪,而且越来越糟。 这是一个非常繁忙的服务器,运行着15个网站和其他一些工具。 典型的15分钟平均负载是0.3。 然而,它每12小时左右就会跳到90左右。 我敢肯定,这是有关的MySQL和服务器以某种方式被locking和Apache只是等待打开的东西。 当事情变得疯狂的时候,这是一个顶端。 Tasks: 143 total, 20 running, 123 sleeping, 0 stopped, 0 zombie Cpu(s): 34.3%us, 62.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.2%hi, 2.6%si, 0.0%st Mem: 2061444k total, 911460k used, 1149984k free, 11156k buffers Swap: 1421712k total, 0k used, 1421712k free, 126728k cached PID USER PR NI VIRT RES SHR S %CPU […]

SELinux阻止在RHEL6上运行Nagios插件

在安装Nagios NRPE和Nagios插件后,我在我的rsyslog中获得以下条目: May 13 14:01:30 wcmisdlin02 kernel: type=1400 audit(1305309690.482:2334): avc: denied { getattr } for pid=3835 comm="sh" path="/usr/bin/sudo" dev=dm-0 ino=7355981 scontext=unconfined_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:sudo_exec_t:s0 tclass=file 看起来像我试图通过NRPE执行的Nagios插件被SELinux阻止。 我该怎么办?

sar -B输出中的字段是什么意思?

sar手册页说: pgpgin / s – 系统每秒从磁盘读入的总千字节数。 pgpgout / s – 系统每秒分页到磁盘的总千字节数。 故障/秒 – 系统每秒进行的页面故障(主要+次要)数量。 这不是生成I / O的页面错误的计数,因为某些页面错误可以在没有I / O的情况下解决。 majflt / s – 系统每秒发生的主要故障数量,这些故障是从磁盘加载内存页面所需的 这是否衡量交换活动? 它指的是什么分页? 从磁盘获取数据被认为是分页? 另外,我已经读过majflt / s的大的和不变的值并不好。 为什么? 例如: Sar -B 12:00:08 PM pgpgin / s pgpgout / s fault / s majflt / s 12:10:05 AM 207.55 2522.76 5109.80 0.01 12:20:07 […]