Articles of linux

Ubuntu 10.04.2 LTS服务器 – 在日志文件中没有任何原因的指示间歇挂起

快速描述: 我最近开始尝试在我们的数据中心build立/pipe理Linux(Ubuntu 10.04.2 LTS)服务器(所有其他服务器都是Windows的)。 服务器周期性挂起,变得没有反应,我很遗憾find任何日志中的任何东西,指出一个具体的原因。 有时会有几个小时,有时几天(最长14天)。 挂起后显示器没有任何显示。 为了解决这个问题,我们尝试了禁用APIC,更多的是出于“受教育的绝望”而不是其他任何事情。 不幸的是,我们在一些我们可以做的故障排除方面有限,因为我们有一个单独的客户网站(我们设置它的原因),所以任何涉及显着的停机时间是一个问题。 由于这是我们第一次尝试build立一个linux系统,所以我们使用的是“配备齐全”的桌面级机器,而不是我所说的“服务器级”硬件。 这是一个独立的盒子,而不是VPS。 我们正在使用硬件,而不是软件,RAIDarrays,并在盒子里有大量的内存。 警告/背景: 一般来说,我对Linux比较陌生。 与pipe理服务器相比,我花更多时间编写代码。 我很喜欢在盒子上工作,但我并不是一个真正的系统pipe理员。 我对命令行感到满意,但对OS X(BSD)有更多的经验。 我不确定所有可用的工具/信息/日志,尽pipe我试图彻底检查我所知道的东西。 我没有物理configuration硬件,所以我不确定所有的规格,但我可以得到任何信息,我需要排除故障。 我可能会跳过非常基本的步骤,或者不知道明显的地方寻找信息。 更多一点细节: 真实内存:8GB Ubuntu 10.04.2 LTS 硬件RAID 10 使用Webmin版本1.550pipe理站点 服务器位于远程数据中心。 手动故障排除很困难。 在这一点上,我们尝试了两个Linux设置。 第一个是在这个硬件configuration相同,但没有实际的硬件重用。 这个尝试是使用CentOS,我们试图build立CPanel。 我们因为同样的问题而报废了这个安装(定期崩溃/挂起)。 第二次尝试(这一次)显示了相同的行为。 我唯一能看到的共同点就是硬件configuration(尽pipeCentOS和Ubuntu可能比我想象的要多)。 这个盒子可以运行几个小时,几天,甚至几个星期,然后完全停止响应。 我检查了所有我知道要检查的日志(主要是消息,syslog和kern.log),但是我没有看到任何对我来说似乎是错误的东西。 我确实看到了我不明白的可能或不可能成为问题的线条,例如: rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="814" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'. 我们的大多数系统日志条目似乎是运行webmin相关cron作业的日志。 我的直觉告诉我,在我们的configuration中可能有一些组件不喜欢或者需要驱动程序更新(例如raid卡),但我不确定如何做更多来追踪或确定可能是什么。 猜测和检查是昂贵的。 我的另一个想法是,一个或多个正在运行的cron作业正在绊倒某些东西,但它似乎不是可以根据需求重现的,而且我又在如何testing这个理论任何进一步。 […]

Dell R710上的PERC 6 / i RAID:慢速磁盘…单个控制器上的RAID10?

这里有多个问题 – 但是从这个开始:我们有一个带有RAID10configuration的PERC 6 / i RAID控制器(或控制器)的戴尔PowerEdge R710。 系统正在运行Ubuntu Server 10.04 LTS,MySQL执行读取密集型工作负载。 我使用blockdev –setra ### /dev/sda增加了readahead blockdev –setra ### /dev/sda来增加readahead(读取至less在理论上是顺序读取)。 这似乎没有产生重大影响。 我没有改变磁盘电梯(我已经看到了推荐和deadline推荐)。 系统上的负载突然升起,似乎与磁盘I / O等待有关。 系统可以等待磁盘I / O的50%时间 – 而CPU%大约为7-10%。 与RAID5和写密集型MySQL安装相当的系统完全吸引了这个系统。 根据Dell OpenManage的报告,RAID10系统似乎有两个PERC 6 / i控制器; 然而,只有控制器0有一个机箱,只有控制器0有RAID。 RAID由四个磁盘组成(插槽0-3,我相信)有两个空闲插槽。 系统还运行在PowerSavingconfiguration文件中,该configuration文件可让操作系统pipe理CPU速度。 该系统也受到一些Linux内核中发现的fsync()错误的困扰。 最后,PERC 6 / i报告固件已过期:它具有6.2.0-0013并且希望6.3.0-0001。 现在的问题是: 是否有可能将RAID10arrays的一部分移动到第二个控制器? 实际上有两个控制器可以在同一个背板上使用吗?还是我错过了一些东西? 固件更新会解决磁盘速度问题吗? RAID级别与大磁盘IO等待有关吗? PowerSaving模式有多less效果? (有些报道似乎说它会降低内核速度。) 我强烈怀疑有一些configuration会将磁盘变成可怕的高速度,但我似乎无法把它压低。 更新 :这里使用的四个磁盘是日立HDS721010CLA332型号,它被列为具有SATA“总线协议”,但也有“SAS地址”? 这些磁盘是那些我听说过的SAS模拟驱动器应该是相当慢的? […]

networking/基础设施图工具

我searchLinux一个graphics工具来logging我们的networking/服务器基础设施。 可以将一些文本表示转换为点(即graphviz)的脚本就足够了。 节点应该是设备,应该有节点之间有多个连接的可能性(我们有多台机器有多个连接(我猜最多的是两台机器之间直接连接的8个连接)),端点需要包含一些属性,如端点设备的名称(例如usb0,eth0)以及fqdn,以防万一不同设备的名称不同(例如,每台计算机及其远程pipe理界面名称不同)。 另外,每个节点应该有可能具有属性(例如,哪些服务在机器上运行)。 编辑 :我也需要能够使循环(即从一个节点本身(但不同的端口))。 当然,我可以画出它是每个vectorgraphics程序(xfig,inkscape,…),但它应该是可维护的,即小的变化不应该需要5个小时的工作和艺术家。

如何在向tar添加文件时指定一个任意的前导path?

是否可以在tar档案中设置一个任意path来放置原始文件系统中可能不存在的文件? 这与-C交换机的不同之处在于我可能想要备份/ etc /,但将其作为/configuration/ etc /放在归档中。

netstat和ip_conntrack的连接数量有所不同。 为什么?

在/ proc / net / ip_conntrack我有: established 3076 time_wait 4346 total 7468 在netstat中我有: established 1051 time_wait 73 total 1165 这是为什么? 其他连接在哪里? 如何弄清楚他们在做什么? 更新: ip_conntrack更多的统计信息 assured 5230 unreplied 2133 total 7427

是否可以在Windows和Linux之间共享PostgreSQL数据库?

是否可以在Windows中使用PostrgeSQL数据库,并在重新启动后在Linux中使用同一个数据库? 将数据文件夹指向一个通用文件夹是否足够? 我知道我可以testing它,然后看看自己,但如果有人有一个更好的主意,我都耳朵!

Macbook / Linux的八月转储目录

我正在阅读“Unix编程环境”。 对目录的讨论经常使用od命令来获取目录内容的八进制转储。 但在1984年以后,在MacBook上已经禁用了目录上的od使用(返回'是一个目录')。 它似乎也被禁用在Linux上的目录。 我可以使用任何替代命令?

操作系统参数调整延迟改善

我们正在尝试改进Java代理应用程序的平均延迟。 Java应用程序从客户端接收消息并将其代理到必要的服务器。 该协议是二进制的,asynchronous的。 该拓扑结构是: Client (1) – Java proxy (2) – Server (3) 呼叫stream程是 (1)-(2)-(3)-(2)-(1) 对于Java代理来说,要求是一个方向跳的2 ms平均延迟开销。 我们已经注意到,如果我们增加客户端数量,延迟开销会线性下降。 比方说, 1 client -> Java proxy latency overhead = 6 ms. 2 clients -> Java proxy latency overhead = 3 ms. 4 clients -> Java proxy latency overhead = 1.5 ms. 另一方面,即使有一个客户,我们也必须遵守延迟要求。 我们观察到的同样的行为,如果我们用Erlang实现代替Java代理实现。 我们可以为低级操作系统调优做些什么吗? Java代理主机是2个Nehalem CPU X5550 […]

任何方式来从删除的LVM逻辑卷恢复ext4文件系统?

有一天,我有一个正确的大脑放屁时刻,同时在Vmware下的Linux guest虚拟机上扩展磁盘。 我把Vmware磁盘文件扩展到所需的大小,然后我做了我通常在没有 LVM的Linux客户机上做的事情:我删除了LVM分区并重新创build,从旧的那个开始,但扩展到新的大小磁盘。 (后面会跟着fsck和resize2fs。) 然后我意识到,LVM的行为与原始分区上的ext2 / 3/4的行为不同……在从最近的备份恢复Linux客户机之后(幸运的是,只有五个小时之前才采用),我现在很好奇我怎么能从下面的情况恢复。 毕竟几乎可以保证我将来也会变傻。 具有一个磁盘的虚拟Linux客户机,分区为256MB的一个/ boot(主)分区(/ dev / sda1),其余分区为逻辑分区(/ dev / sda5)。 然后将/ dev / sda5设置为具有pvcreate的物理卷,并使用通常的vgcreate命令在其上创build一个卷组(vgroup00)。 然后将vgroup00分成两个逻辑卷root和swap,用于逻辑上的/和swap。 /是一个ext4文件系统。 由于我备份了坏掉的guest虚拟机,因此我可以使用/ etc / lvm / backup下的备份LVM设置中的vgcfgrestore重新创build卷组,并使用与物理卷相同的UUID。 运行这个之后,我有两个与前面相同大小的逻辑卷,其中有4GB的空闲空间用于扩展磁盘。 但是,当我试图运行“fsck / dev / mapper / vgroup00-root”时,它抱怨一个破损的超级块。 我试图通过运行“mke2fs -n / dev / mapper / vgroup00-root”find备份超级块,但是没有一个工作。 然后我尝试运行TestDisk,但是当我要求它查找超级块时,它只给出了由于文件系统损坏而无法打开文件系统的错误。 因此,在Ubuntu Server 10.04 64位版LVM2的默认分配策略中,是否有可能从卷组的末尾分配逻辑卷? 这肯定会解释为什么还原的逻辑卷不包含预期的数据。 我可以通过重新创build与以前的大小和磁盘位置完全相同的/ dev / sda5来恢复吗? […]

启用S​​ELinux后,/ bin / su权限被拒绝 – 不能通过手动创buildSELinux策略来解决

出于某种原因,我不能su从根非root用户: [rilindo@kerberos ~]$ /bin/su – -bash: /bin/su: Permission denied 从/var/log/audit/audit.log运行输出或者返回: [root@kerberos tmp]# cat /tmp/audit type=AVC msg=audit(1319322088.937:68012): avc: denied { execute } for pid=9794 comm="bash" name="su" dev=dm-0 ino=1048659 scontext=user_u:user_r:user_t:s0 tcontext=system_u:object_r:su_exec_t:s0 tclass=file type=SYSCALL msg=audit(1319322088.937:68012): arch=c000003e syscall=59 success=no exit=-13 a0=26a7df0 a1=26c9b30 a2=269efa0 a3=18 items=0 ppid=8435 pid=9794 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=pts0 ses=4454 comm="bash" […]