Articles of linux

用较less的磁盘重buildmdadm RAID5arrays

我有一个4磁盘RAID5arrays,其中之一是根据smartd开始失败。 但是,由于我使用的空间不到/ dev / md0的一半,所以我想在没有发生故障的磁盘的情况下重buildarrays。 我已经能够在网上find的最接近的情况是这篇文章 ,但它包含了一些不适用于我(LVM卷)的东西,也没有解释我完成后如何去调整分区大小。 请注意我有重要数据的备份,但是我希望尽可能避免从头重build数组。 更新:失败的磁盘已经被踢出arrays,我仍然可以这样做吗?

人为地产生CPU窃取

任何人都知道一个很好的方法来人为地产生CPU窃取? 我有一些自动化,我想testing哪些是由CPU窃取触发,但对我来说,我不知道如何强制CPU窃取发生。 我已经把虚拟机挂在了100%的CPU利用率上,没有偷窃。 我没有控制主机,所以我不能只加载一堆虚拟机,并获得CPU窃取。 有人有主意吗? 将不胜感激。

如何从执行开始到结束测量进程的累积networking使用情况

我想测量多less带宽git pull使用,最好通过前缀git命令与所需的程序,即nettally git pull 或者,有没有一些偷偷摸摸的方式来积累nethogs / wireshark数据,并加上执行后的数字? 谢谢

如何在Active Directory服务器的BIND中正确委派域

我必须委托AD serwers的域名。 比方说example.com,我在CentOS上使用绑定(dns.bind.com)。 我将proprerconfiguration添加到named.conf,并使用A,NS使用DNS服务将代理域logging到AD服务器。 之后,所有问题都应该被转移到那些AD(让我们称之为dc1.example.com和dc2.example.com)服务器,即使我问我的DNS BIND(或者我错了吗?) 现在,当我执行: dig @dns.bind.com example.com A我什么也得不到,但是当执行dig @dns.bind.com example.com A我得到很好的answare指向dc1.example.com的IP(那是正确)。 现在我不是ADpipe理员,我甚至没有访问该AD服务器。 我是dns.bind.com的pipe理员,所以也许我不知道… 在dns.bind.com我做了这样的事情委派example.com AD服务器: named.conf中: 区域“example.com”{ 型主人; 文件“example.com.hosts”; allow-update {none; }; allow-transfer {aclgroup1; }; allow-query {any; }; also-notify {192.168.1.105; 192.168.1.106; 192.168.2.10; 192.168.2.11; 192.168.3.23; }; }; example.com.hosts: $ TTL 1H @ SOA @ root( 2013120401; 序列号 10M; 刷新 30M; 重试 10D; 到期 […]

如果我已经从另一个回购库安装/更新了该软件包,如何查看特定回购软件包中最新版本的软件包?

我正在使用CentOS 6,并使用Remi Repository更新了PHP。 我想用yum来知道官方CentOS回购版中的最新版本是什么。 我试着发出以下命令: yum –disablerepo="*" –enablerepo=base,update info php 但是我明白了 … Version: [current installed version] … Repo: installed From repo: remi … 看来,由于包已经安装,我不能得到这个信息。 有什么方法可以用yum来检查吗? 谢谢。

为什么在Linux机器上,除了icmp之外,任何数据包都不能通过,而是正确地通过窗口

在proxmox上有一个集群。 在一个集群中有vmconfiguration的路由器(pfsense)。 在我们的网上有Windows和Linux的机器。 有问题:Windows机器可以访问互联网,但是Linux机器没有。 所有Linux机器的行为都是一样的,它发送一个请求并等待响应,但响应不会回来。 我用wget,ssh和nslookup检查了外部服务器(8.8.8.8例子)和ping。 除了ping,一切都不起作用。 ICMP数据包正确地去,因此我冒昧地提出与TCP的问题。 但所有的Windows机器,一切正常的作品。 我并没有为linux或windows创build特殊的过滤规则。 我打破了头,但还没有能够解决这个问题。 基线: Our External IP: XX.XXX.XX.XX External Server IP: Y.YYY.Y.YYY (which was used to test) 所以,我花了两个testing: testing1.从linux机器上的wget: 从路由器捕获数据包: No. Time Source Destination Protocol Length Info 1 0.000000 XX.XXX.XX.XX Y.YYY.Y.YYY HTTP 174 GET / HTTP/1.1 2 21.798340 XX.XXX.XX.XX Y.YYY.Y.YYY TCP 74 49656 > http [SYN] Seq=0 […]

Shorewall:logging到自定义文件

我正在运行带有防火墙的Ubuntu Server 14.04系统。 Shorewall基本上是iptables的前端,而通过Netfilter进行日志logging的是iptables(迄今为止我的理解)。 我的问题是我无法理解有关login到不同目的地的shorewall文档 。 这是我来了多远: 我安装并启动了ulogd 我在/etc/shorewall/params定义了一个variables: LOG=NFLOG 我在/etc/shorewall/shorewall.conf所有出现的info都更改为$LOG 我在/etc/shorewall/shorewall.conf设置了日志目的地: LOGFILE=/var/log/shorewall 这应该是完成以下内容:Netfilterlogging到NFLOG ( NFLOG后继者)目的地,这意味着Netfilter日志消息由ulogd2处理。 我不知道的是,我可以告诉ulogd2将所有的shorewall消息写入我所需的日志文件/var/log/shorewall 。 这个文件是相当不清楚的,因为这个论坛线程certificate。 我发现这个博客文章同样含糊,关于ulogd2的日志redirect。 综上所述: 我的方法是将shorewall日志消息redirect到ulogd2是否正确? 如何configurationulogd2将shorewall的消息redirect到/var/log/shorewall ? PS:我不是在AskUbuntu上问这个问题,因为这与其他Linux发行版同样重要。

Python Web应用程序的进程监视和服务pipe理器

我们正在一堆Linux服务器上(使用nginx负载均衡器向各种服务器发送stream量)使用CherryPy web服务器来设置一个Python web应用程序。 我们正在从Windows服务器切换到Linux服务器,我们将在CentOS 6.5上运行。 在Windows上,我们有一个自定义的服务pipe理器,用于启动和停止Python可执行文件,并在出于任何原因崩溃或退出时重新启动它们。 我的问题是:什么是在Linux上做同样的事情的好工具? 理想情况下它会: 能够使用诸如service our_app start或/etc/init.d/our_app start类的service our_app start和停止Python程序(我们基于CherryPy的服务器和应用程序)。 自动重启程序,如果它退出或崩溃 在系统启动时启动服务 到目前为止,我已经提出了各种可能性,从最简单到更复杂: 带有/etc/init.d脚本的python-daemon 新贵带着这样一个简单的新贵脚本: 一 , 二 , 三 主pipe :看起来很有意思,但是对于我们来说,这比起刚刚使用的新贵来说会更好吗? monit :在这个阶段比我们需要的更多,但也许可以在上面的一个之上使用它呢? 注意:我是一个开发人员,他比Windows有更多的Windows使用经验,以及比ops / sysadmin更多的开发经验。 只是在说'。 🙂

Linux服务器configurationpipe理的testing框架

我们是一家使用Puppet进行Linuxconfigurationpipe理的中型商店。 由于我们是小商店,所以很难部署和维护DTAP环境。 我们通常在configuration更改后执行手动testing。 我想以某种方式自动化; 就像你会在软件回归testing中看到的一样。 例如,一个用例就是一个OpenLDAP集群。 我会: 我将在Puppettesting环境中的testing节点上进行更改 testing服务 如果失败,请返回到步骤1 从集群中删除一个节点 进行configuration更改 testing服务 如果失败,请返回到第5步 将节点添加回集群 testing服务 如果失败,请返回到第4步 最后,部署到其他节点 理想情况下,我想自动化testing,以便更有信心地部署更改。 任何人都可以推荐这样的事情? 最好是挂钩到木偶但不一定是要求的东西。 有关最佳做法的build议也将不胜感激。

内存中的操作系统caching增加,导致系统CPU使用率过高

很长的问题,所以请裸露我:我有一个奇怪的问题,我从来没有见过的服务器。 在具有〜30G RAM的机器上,应用程序需要〜10G(分布在数百个进程中)。 随着时间的推移,操作系统开始用高速caching和缓冲区来填充备用RAM(对于Linux来说是完全正常的)。 之前我已经看到过这种情况,没有任何问题,但是在这台机器上,随着空的内存量的减less,在256M的标记处,系统CPU疯狂(在8个CPU上达到100%,持续时间约为3分钟)。 我猜测操作系统正在使用所有的CPU随机播放内存来获得一些空闲空间。 从我对Linux内存pipe理的理解来看,它应该尽可能在RAM中使用自由空间,因为它可以用于操作系统级别的caching,但是当被问及时将其交给任何需要它的应用程序,从过去的经验来看,这不是一个创伤性的体验为CPU。 它总是发生。 那么为什么这里会有所不同呢? 我附加了相关指标的vmstat输出的一小部分(每2秒捕获一次)。 当可用内存达到256M时,您可以看到系统CPU(第14列,右起第3列)开始变得忙碌,然后在30秒后变得非常疯狂。 rb swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 293876 5022848 18797528 0 0 206 1712 20924 12845 29 9 61 1 6 0 0 285324 5022848 18797656 0 0 0 0 18795 11382 23 […]