Articles of linux

cgrouppipe理和inheritance

在cgroups中,每个子系统似乎都有一个名为“cgroup.clone_children”的选项 ,允许您指定是否将父cgroup的设置inheritance到子cgroup中。 但是我还没有find任何证据certificate它有效。 我希望使用此function,通过使用层次结构来更容易地pipe理cgroups,以复制所有组共有的设置,并只调整子组cgroups中的次要设置。 任何人有一个想法,如果我想要做什么可以做?

Linux软件RAID恢复

我看到mdadm –detail和mdadm –examine之间的差异,我不明白为什么。 这个输出 mdadm –detail /dev/md2 /dev/md2: Version : 0.90 Creation Time : Wed Mar 14 18:20:52 2012 Raid Level : raid10 Array Size : 3662760640 (3493.08 GiB 3750.67 GB) Used Dev Size : 1465104256 (1397.23 GiB 1500.27 GB) Raid Devices : 5 Total Devices : 5 Preferred Minor : 2 Persistence : Superblock […]

多个机器的Linux Web控制台

我正在寻找一个基于networking的工具,让我做到以下几点: 为多个服务器提供一个基于Web的UI 服务监控:为每个服务器我想看到所有正在运行的守护进程,并能够启动/停止/重新启动它们(就像Windows服务) 有一个交互式的基于Web的shell允许直接从我的浏览器执行命令到多台机器 快速脚本:能够直接在浏览器中创build脚本并运行并将其部署到我的所有机器上 你知道周围是否有类似的东西?

元数据对于循环缓冲区来说太大 – 恢复configuration或迁移LVM的替代方法

当添加了一组PV而没有使用适当的元数据大小时,我们遇到了一个问题。 因此,我们无法添加和删除卷,创build或删除快照,运行vgreduce和pvmoreve或几乎任何其他LVM命令而不会收到此消息: Metadata too large for circular buffer 在我的研究中,归结为: http://www.redhat.com/archives/linux–lvm/2011-March/msg00046.html 从备份configuration恢复 创build一个新的卷组并迁移LVM。 我并不热衷于第一种select,但第二种select几乎更糟糕,因为我们有大约10 TB的数据移动。 我们可以尝试什么其他的select? 请注意,我们尝试使用基于文件的元数据选项,但出于某种原因,lvm忽略了这一点。 平台:CentOS 5.7

从一个存储移动一个存储到一个新存储是最快的方法?

首先,感谢您的阅读,并抱歉提出与我工作有关的事情。 我知道这是我应该自己解决的事情,但是你会看到它有点困难。 一个小的描述: 现在 存储=> 1PB使用DDN S2A9900存储OST,4 OSS,10 GigEnetworking。 (光泽1.6) 带有2个Infiniband的100个计算节点 1个有36个端口的infiniband开关 后 存储=>以前的存储+另一个1PB使用DDN S2A 990或LSI E5400(还有待决定)(光泽2.0) 8个OSS,10GigEnetworking 带有2个Infiniband的100个计算节点 以前的经验:使用以下命令在不到3天的时间内转移120TB: tar -C /old –record-size 2048 -b 2048 -cf – dir | tar -C /new –record-size 2048 -b 2048 -xvf – 2>&1 | tee /tmp/dir.log 所以,这里的大问题,使用大math方程我得出结论,我们将需要1个月的时间将数据从一侧传输到新的一侧。 在此期间,研究人员需要退后一步,我个人对此并不满意。 我告诉你,我们有无限连接,因为我认为可能有机会使用它来传输数据,使用18个计算节点(18 * 2 IB = 36个端口)将数据从一个存储传输到另一个。 我试图弄清楚IB交换机是否可以处理所有的stream量,但万一它烧起来会比使用10GigE更快。 此外,在同一台服务器上configuration光泽1.6和2.0的代理工作得相当好,这样就不用1.8分步升级元数据服务器。 有任何想法吗? […]

iptables preroute本地主机

我想使用iptables将所有传入的stream量从某个端口转发到另一个端口。 问题是预先路由不适用于来自本地主机的stream量。 本主题提出了一个解决scheme iptables -t nat -I PREROUTING -p tcp –dport 443 -j REDIRECT –to-ports 8080 iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 –dport 443 -j REDIRECT –to-ports 8080 该解决scheme适用于大多数情况。 但是,当我连接到http:// myserver:443 ,其中myserverparsing为本地计算机上承载的IP地址,但不是127.0.0.1,它似乎绕过了这两个规则。 有没有一种方法来捕捉从本地机器完成eth0 ip地址的请求?

debugging高入站stream量

我的一个开发服务器(CentOS 6)突然看到入站networkingstream量大幅上升 它会减慢抓取的速度,SSHlogin时间超过10秒,打字时出现延迟,网站超时,Nagios因为NRPE检查超时(这是我的Nagios主机)而感到不安,所以似乎突如其来的巨大的纽克交通风暴,但我无法弄清楚它是从哪里来的。 该服务器有一个公共的IP,因此可以直接访问,它运行一个非常严格的IPTables规则集(只允许80,443和几个其他实用程序端口像jenkins)。 我尝试过使用像iftop这样的工具,但是他们没有显示任何与众不同的东西。 不知道这是因为IPTables阻止连接,所以他们没有显示,但因为我不知道这些是外部设备试图连接到我的服务器,或其他。 看起来很奇怪的是,它使SSH变慢,其他服务不响应,但networkingstream量开始大约在同一时间,我开始问题。 我在哪里找出这个stream量来自哪里以及如何阻止它? 我没有直接访问任何路由器,但我可以做任何我想在服务器上。 我查看了/ var / log / messages,还有很多奇怪的关于DNS的消息我从未见过,但是它们看起来并不是错误,只是过度详细的logging(见下文)。 标准有用的东西; [sr@ns309372 ~]$ sudo uptime 23:51:41 up 6:30, 3 users, load average: 0.03, 0.12, 0.11 [sr@ns309372 ~]$ sudo free -m total used free shared buffers cached Mem: 3920 2197 1722 0 103 1060 -/+ buffers/cache: 1032 2887 Swap: 1019 0 […]

如何调查MySQL吞吐量的高峰?

最近我们的一台服务器耗尽了内存,崩溃了。 在回顾了munin图之后,似乎在崩溃之前达到峰值的唯一指标(内存使用除外)就是MySQL throughput 。 但是我们期待看到MySQL queries数量没有发生相应的增加: 另外从下图中可以看出, MySQL throughput达到了一个exception高的值,远远没有达到任何其他值: 我们完全处于黑暗中,应该如何进行,因此下面的问题是: 如何对MySQL吞吐量增加进行“事后调查”?

强制进程页面打开

我开始了4个进程,进行繁重的计算。 该机器有4个完整核心,每个进程都是单线程的,所以它们不会竞争CPU。 但是,我意识到他们需要更多的内存比物理存在于这个系统(16GB)。 现在他们分配的地址空间大约是20GB,所以每个地址空间都有一部分被换出来了。 所以我决定暂停这些进程之一,并且我想把它的内存页交换,所以物理内存只能用于其他三个进程。 我认为这将最终发生,而三个活着的进程将尝试访问换出的页面。 但是我想强制它使计算不必等待IO。 我的问题: 是否有可能强制暂停进程的内存去交换? (所以当活着的进程将做新的分配时,不会有IO) 是否有可能迫使一个活着的进程内存回到内存? 这是Debian SID。

按stream程限制带宽

我有服务器每小时运行一个备份过程(实际上是一个bash脚本)。 这个备份例程的一部分是将更改同步到远程系统(包括版本控制等)。 这样做效果很好,几乎不占用CPU或内存,是该系统的完美备份解决scheme。 然而,问题在于它存在的出站带宽非常有限,每小时脚本locking系统30-90秒(取决于需要同步多less)。 它变得非常糟糕,即使在备份时间段内使用SSH连接,terminal连接也会locking,并且需要5秒钟才能响应每个按键。 问题:如何限制每个进程,每个程序或每个脚本的出站带宽? 如果它有所作为,我使用Ubuntu服务器。 有没有这样做的公用事业? 为了额外的功劳,是否有任何C / C ++引用关于绑定/拥有networking连接,我可以用它来创build我自己的程序? 例如:Apache抓取端口80,但是每当它尝试发送一些东西时,我的程序就会跳入并扼制apache和硬件级networking接口之间的连接。 这甚至有可能吗? (注意:我愿意考虑修改linux内核的选项,但只有在没有其他可用的情况下)。