服务器启动一段时间(〜周/几天)后,服务器将开始读取损坏的数据。 例如,当我重新启动后运行一个文件sha1sum它仍然是一样的。 然而过了一段时间,我将开始得到segfaults,从那时起,每当我读这个文件,我得到一个不同的sha1sum。 我已经检查了很长的testingSMART,我已经运行了一个扩展memtest86 +(12通) 我的lspci如下: 00:00.0主机桥:Advanced Micro Devices [AMD] RS780主机桥 00:01.0 PCI桥:Advanced Micro Devices [AMD] RS780 PCI至PCI桥(int gfx) 00:06.0 PCI桥:Advanced Micro Devices [AMD] RS780 PCI至PCI桥(PCIE端口2) 00:07.0 PCI桥:Advanced Micro Devices [AMD] RS780 PCI至PCI桥(PCIE端口3) 00:11.0 SATA控制器:ATI Technologies Inc SB700 / SB800 SATA控制器[AHCI模式] 00:12.0 USB控制器:ATI Technologies Inc SB700 / SB800 USB OHCI0控制器 00:12.1 USB控制器:ATI Technologies Inc SB700 […]
我有一个AMD四核,8GB内存,1个SSD EXT2(2个月),2个硬盘EXT4,大约1岁。 我使用的是Ubuntu 10.04 x86-64,当我计算大文件(9 GB)的md5sum时,有时会得到与存储在参考文件中的值不同的值。 在重新启动并closuresPC后,无论我重复多less次,我都能得到预期的结果。 但这是随机的 。 我打开了ECC(最快的设置),问题似乎很less见,但是我运行了memtest86 + 6小时以上,没有小故障(ECCclosures了!)。 任何想法? 我应该更新我的主板的BIOS(华硕EVO的东西 …现在不记得了)? 我已经尝试了所有的rest,但真的不知道该怎么办了… 任何build议表示赞赏!
这是一个噩梦般的日子:运行在Linux SW-RAID1上的虚拟化服务器运行一个虚拟机,在看似随机的代码块中出现随机的段错误。 在debugging过程中,我发现一个文件在每次运行时都会给出不同的md5sum。 深入挖掘,我发现:构成RAID1镜像的原始磁盘分区包含2位差异和ca. 9个扇区在一张光盘上完全空白,并在另一张光盘上填充数据。 显然,Linux从一个未被选定的镜像光盘中给出了一个扇区。 所以有时候同样的部门会返回OK,有时候损坏的部分会被退回。 文档说: RAID不能也不应该防止媒体上的数据损坏。 因此,故意破坏磁盘上的数据(例如使用dd)以查看RAID系统如何处理该数据也没有任何意义。 这是最有可能的(除非你损坏RAID超级块),RAID层永远不会发现损坏,但是你的RAID设备上的文件系统将被破坏。 谢谢。 这将帮助我睡觉。 : – / 有没有办法让Linux至less通过使用部门校验或类似的东西来检测这种腐败? 这是否会在RAID5设置中检测到? 这是我希望使用ZFS或btrfs(一旦没有超级pipe理function就可以使用)的时刻? 编辑: 我并不孤单 。
我在networkingA上运行了几台主机,这些主机在networkingB上的某个地方向互联网上的服务器发出请求(我不拥有它们)。 不幸的是,这些请求中的许多被损坏。 如果我通过未encryption的HTTP进行请求,则会出现奇怪的错误,提示错误的请求。 如果我通过HTTPS发出请求,则会出现SSL级错误。 我可以通过运行重现该问题: sh -e -c 'while true; do curl $SERVER > /dev/null; sleep 1; done' 通常在20个请求中,curl失败,出现“未知的SSL协议错误”或“tlsv1警报解密错误”等错误。 我可以在networkingA中的多个主机上重现这一点,访问networkingB上的多个服务器。但是我无法从networkingA重现到其他服务器,或者从其他主机重现到networkingB.在这些情况下,循环将永远运行,没有错误。 所以很明显,我的TCPstream在A和B之间被破坏了。顺便说一下,这已经持续了3天以上。 第一个问题:这怎么可能发生? TCP具有数据包级校验和,并且通过校验和的损坏数据包应该比我所看到的less得多。 此外,如果我运行networking捕获,我不会看到许多重新传输(根据wireshark的tcp.analysis.retransmitfilter),如果数据包被损坏和TCP校验和失败,你会期望。 我猜一些路由器必须做更高级别的数据修改(NAT透明代理?)和破坏数据,但修复校验和? 第二个问题:有什么工具可以用来隔离问题吗? 我找不到任何东西。 如果我知道networking拓扑结构,并且可以在A和B之间的每跳之后findHTTPS服务器,则可以对它们运行我的testing。 但我不知道 什么其他的testing会显示networking腐败? 我已经联系了networkingA和networkingB的所有者,但迄今为止他们还没有帮助。 更新:对于任何人提出什么样的越野车设备可能会在path中,有没有什么办法检测到除了联系业主之外?
我有一个VMware ESXi 4.1服务器,我最近添加了2个1TB SATA驱动器。 这台机器运行一个托pipeZFS文件系统的NexentaStor社区虚拟机。 在添加新驱动器之前,所有ZFS磁盘都驻留在位于硬件RAID10上的服务器的Vmware数据存储中的虚拟磁盘(VMDK文件)内。 新的SATA驱动器没有硬件冗余,所以我的目标是将它们直接连接到NexentaStor虚拟机,并创build一个RAID1 zpool。 我按照这些说明使用vmkfstools -z /vmfs/devices/disks/idnumber RDM1.vmdk -a lsilogic为新的SATA驱动器创build了两个物理RDM文件vmkfstools -z /vmfs/devices/disks/idnumber RDM1.vmdk -a lsilogic 在将两个RDM磁盘添加到虚拟机并在其上创build一个raidz1 zpool后,我开始将数据复制到zpool。 游泳池被脱机,我被告知有数以千计的校验和错误。 我搜查了网页,发现一些人抱怨同样的情况。 ( 示例 )我已经放弃使用RDM,并创build了两个数据存储和两个930GB的VMDK文件,我将它们放在一个RAIDz1中。 不过,我想知道我哪里错了。 网上有很多人说他们有这个configuration工作。 我使用RDM而不是VMDK的目标是: 赋予虚拟机监视SMART状态的能力 允许ZFS访问整个磁盘(因为我知道这些不会用于其他任何事情) 如果变坏的话,使驱动器容易变热 允许我删除这些驱动器,并将其放在另一个ZFS服务器,如果我需要 我计划在本周晚些时候将要安装的全新ESXi 5.1服务器中使用相同的设置。 在这种情况下,#4特别重要,因为我想将现有的zpool添加到新的VM。 为什么我得到这些校验和错误? 它与ESXi 4.1有关吗? 有什么我做错了吗? 编辑:我已经创build了与VMware ESXi 5.1相同的设置,到目前为止没有问题。 我要testing这个非常彻底,但到目前为止,这似乎是一个ESXi 4.1的问题。
我将在过去的一些大型文件系统(大约50TB)上testing'xfs_repair',因为内存使用率很高。 虽然我只能在正确的文件系统上testing程序,但如果在损坏的系统上testing它们,这将是一件好事。 那么什么是腐败文件系统的最好方法。 如果该方法每次都会重复出现相同的错误,则需要额外的信用…. 让人们知道我的意思是在2006年 “要成功检查或运行在多TB文件系统上的修复,您需要: 一台64位机器 一个64位的xfs _ repair / xfs _检查二进制文件 每TB文件系统〜2GB RAM 文件系统中每百万个inode有100-200MB的RAM。 xfs_repair通常使用的内存比这less,但是这些数字给了你一个大的文件系统,大于80%的完整文件系统需要修复。 FWIW,最后一次出现在内部,有问题的29TB文件系统花费了大约75GB的RAM + swap来修复。
我有一台运行Maverick的笔记本电脑(非常愉快,直到昨天),用爱国者Torx SSD; 整个分区的LUKSencryption; 一个lvm的物理量在上面; 然后在其上的ext4逻辑卷的home和root。 当我试图启动它昨天,它抱怨说,它无法挂载根文件系统。 运行fsck,基本上每个inode似乎都是错的。 家庭和根文件系统都显示类似的问题。 检查备份超级块没有帮助。 e2fsck 1.41.12 (17-May-2010) lithe_root was not cleanly unmounted, check forced. Resize inode not valid. Recreate? no Pass 1: Checking inodes, blocks, and sizes Root inode is not a directory. Clear? no Root inode has dtime set (probably due to old mke2fs). Fix? no Inode 2 is […]
我有一些运行American Megatrends biosembedded式Linux的embedded式板作为操作系统。 我遇到的问题是,工业闪存ide将损坏功率损失。 我把它们格式化为ext4。 每当发生这种情况,我通常可以使用fsck来修复闪存,但这在我们的部署中是不可能的。 我听说禁用写caching应该有所帮助,但我不知道如何去做。 另外,还有什么我应该做的? 更多信息 该驱动器是一个4GB IDE闪存模块。 我有一个分区是ext4。 操作系统安装在该分区上,grub是我的引导程序。 fdisk -l以/ dev / sda1作为我的主分区显示/ dev / sda作为我的闪存模块。 断电后,我通常不能完全通过启动init脚本。 当我在另一台PC上安装驱动器时,我运行fsck / dev / sda1。 它总是显示消息 "zero datetime on node 1553 … fix (y)?" 我修复它们,它靴子很好,直到下一个电力损失。 当我明天到办公室时,我会发布fdisk -l的实际输出 这就是我所知道的系统工作原理。 我不是系统工程师,我是一名软件工程师,有一种习惯是陷入工作描述之外的困境。 我知道如何格式化驱动器,安装引导加载程序,编写软件,并在操作系统上进行破解。 这是dumpe2fs的输出 #sudo dumpe2fs /dev/sda1 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: VideoServer Last mounted […]
我使用FastCGI在nginx后面运行Django。 我发现,在发送给客户端的一些响应中,随机数据损坏发生在响应中间(中间可能是几百字节左右)。 在这一点上,我已经缩小到nginx的FastCGI处理程序或Django的FastCGI处理程序(即可能是一个漏洞的错误),因为这个问题从来没有发生,当我以独立(即runserver )模式运行Django服务器。 它只发生在FastCGI模式。 其他有趣的趋势: 它往往发生在更大的反应。 当客户端第一次login时,会发送一大堆1MB的数据块同步到服务器数据库。 在第一次同步之后,响应要小得多(通常每次几KB)。 腐败似乎总是发生在一开始发送的1MB块上。 当客户端通过LAN连接到服务器(即低延迟,高带宽连接)时,更经常发生这种情况。 这使得我认为在nginx或flup中存在某种竞争条件,并且由于数据速率的提高而加剧。 现在,我不得不通过在响应头中添加一个额外的SHA1摘要来解决这个问题,并且让客户端拒绝头部与主体校验和不匹配的响应,但是这是一种可怕的解决scheme。 有没有其他人经历过这样的事情,或者有任何的指示,以确定是否是错误的flup或nginx,所以我可以提交适当的团队错误? 在此先感谢您的帮助。 注意:我也在lighttpd + FastCGI + Django中发布了一个类似的bug,在这之后: https : //stackoverflow.com/questions/3714489/lighttpd-fastcgi-django-truncated-response-sent-to-client-due-to – 尽pipe这不是一回事(截断与腐败),但它开始看起来像常见的罪魁祸首是flup / Django,而不是Web服务器.. 编辑:我也应该注意我的环境是什么: Mac mini上的OSX 10.6.6 Python 2.6.1(系统) Django 1.3(官方tarball) flup 1.0.2(来自python卵上的flup网站) nginx + ssl 1.0.0(来自Macports) 编辑:为了响应Jerzyk的评论,组装响应的代码path看起来像(编辑为简洁): # This returns an objc NSData object, which is an array.array # when […]
尝试使用rsync命令更新服务器上的文件: rsync -ravq -e "ssh -o ConnectTimeout=2 -o ServerAliveInterval=2 -ServerAliveCountMax=2" –delete ./local_dir user@$SERVER:/dest_dir corrupt packet错误不断抛出,具体为: rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Broken pipe (32) rsync: connection unexpectedly closed (11337 bytes received so far) [sender] rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [sender=3.0.9] 这可能与ssh超时有关,因为它似乎与大(r)文件发生。 另外,我一直使用WinSCP获取超时。 这只发生在我身上。 我使用这台服务器的几个人没有同样的问题。 使用Windows 7中的Cygwinterminal的rsync与Centos 6.3服务器。 我不确定其他信息可能有用或如何获得它。 […]