Articles of 硬盘驱动器的

磁盘在活动I / O期间挂起

我有XenServer来宾操作系统(Ubuntu 10.10 LTS),并有从nfs到本地磁盘(cp -rp nfs:/ dir / local / dir)复制大量文件的问题。 经过一段时间本地磁盘挂起,我不能执行任何IO操作。 在日志文件中我看到这个: Oct 28 19:13:21 ls0 kernel: [1947885.457070] INFO: task cp:3904 blocked for more than 120 seconds. Oct 28 19:13:21 ls0 kernel: [1947885.457075] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Oct 28 19:13:21 ls0 kernel: [1947885.457081] cp D ffff88002804dbc0 0 3904 2052 0x00000000 Oct 28 […]

为什么一个mysql查询,需要复制到tmp表,随机有时会在几秒钟内消耗100%的CPU?

我在我的PHP脚本中有一些疯狂的SQL查询,这很需要一些优化。 然而,问题不在于如何优化它们。 这些查询有很多“连接”和一些奇怪的“按顺序排列”,并且针对具有几万条logging的表进行。 lots_of_joins + crazy_order_by事物使他们需要“复制到tmp表”步骤。 现在奇怪的是,同样的查询有时会跑得快(不到一秒钟),有时需要几十年(几十秒)。 在这两种情况下,“解释”和configuration文件显示“复制到tmp表”步骤。 当查询花费时间时,99%的时间花在“复制到tmp表”阶段。 奇怪的是,在那个时候,mysql几乎消耗了100%的CPU。 所以,我知道tmp表有时会保存在内存中,有时会写入磁盘(取决于当前内存的可用性)。 因此,这完全可以解释为什么相同的查询有时可能很快,有时会花费很长时间。 但是,有两件事我不明白。 如果将临时表写入磁盘的瓶颈,这应该意味着在I / O上花费了大量的时间,但是在此期间的CPU负载平均值应该相对较低,肯定远远低于100%。 做这么多的I / O时,CPU如何忙? 我在my.cnf中增加了: max_heap_table_size = 1024M tmp_table_size = 1024M (我认为默认值是16M) 而且我真的不相信tmp表需要的是更多的内存。 据我所知,一个tmp表被写入到磁盘而不是内存:a-如果查询和表需要它,因为它们不满足某些标准b-如果它超过了max_heap_table_size和tmp_table_size之间的最小值 如果(a)是这种情况,那么它总会发生,而不是不时。 另一方面,(b)似乎不太可能,因为我已经增加了上述参数,没有任何明显的改变。 所需表格的大小在相同查询的出版物中应该不会有很大的变化(数据几乎相同)。 所以如果在增加内存大小之前偶尔会发生(这意味着所需的tmp表的大小只是在最大值附近),那么在这种剧烈增加之后,反常行为应该完全消失。 所以我的问题基本上是: 创build磁盘表真的是唯一的原因,可以使复制到tmp表的步骤需要很长时间? (或者,即使它是在记忆中完成,也可能需要很长时间?如果是这样,为什么?为什么随机?) 如果是,那么 怎么可能使用大量的CPU? 为什么即使不大于min(tmp_table_size,max_heap_table_size),tmp表也可以写入磁盘? 我真的不认为示例查询和configuration文件是必要的,但我可以发布,如果他们是。

相同的控制器上的相同的硬盘驱动器,但不同的汽缸/磁头/扇区

我有一对相同的SATA硬盘连接到同一个控制器,但由于某种原因,Debian 6下的fdisk报告了不同的CHS: user@host:~$ sudo fdisk -l /dev/sdc Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 81 heads, 63 sectors/track, 382818 cylinders Units = cylinders of 5103 * 512 = 2612736 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xef1cc199 Device Boot Start End Blocks Id System […]

SMART Selftest的可靠性

我让smartd定期检查我的硬盘驱动器。 最近我被通知了一个我的硬盘驱动器上短暂的自测失败。 smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-0.bpo.4-amd64] (local build) Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital RE4 Device Model: WDC WD1003FBYX-01Y7B0 Serial Number: WD-WCAW31677053 LU WWN Device Id: 5 0014ee 25b0c013e Firmware Version: 01.01V01 User Capacity: 1.000.204.886.016 bytes [1,00 TB] Sector Size: 512 bytes […]

btrfs通过replace磁盘来增加RAID容量(而不是增加磁盘!)

我对btrfs的新function感到非常兴奋,并且想开始testing它。 在开始之前,我想问问btrfs是否支持通过更大的磁盘replace磁盘来增加RAID容量(而不是增加额外的磁盘)。 示例:由8个2TB驱动器组成的RAID10的容量为8 TB。 然后,每个2TB驱动器被6TB驱动器取代。 每次更换磁盘后,执行重build/重新平衡。 我想知道,如果在最后的磁盘更换和重新平衡后,容量从8TB跳到24TB? 互联网上有一些关于它的讲座,但没有百分之百的声明,如“是的,重新平衡之后,容量就会增加!”。 https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices#Adding_new_devices 来自Synology的NAS设备支持我正在问的function: https : //www.synology.com/en-global/knowledgebase/DSM/help/DSM/StorageManager/volume_diskgroup_expand_replace_disk但是,我不确定,如果这function是btrfs的本地特性,或者Synology的开发人员特别为其磁盘操作系统创build的。

为什么我无法在Server 2008上将磁盘卷缩小超过原始大小的50%?

我有一个分区上有540 GB磁盘的新服务器。 我决定缩小音量,所以我可以有几个分区出于各种原因。 我只能把音量缩小50%。 我后来回想起来,也许我可以缩小一下,但是我做不到。 运行Windows Server Standard 2008 x64 SP2。 使用磁盘pipe理来resize。 为什么呢,有没有办法解决呢? 我是否需要第三方实用程序,如果有的话,是否有任何良好的免费/廉价/试用,我可以用来做我所需要的,然后清理掉它?

Windows Server 2008磁盘大小

我有一个相当新的Windows Server 2008的安装。 当我右键单击C:驱动器和查看属性,它说我已经使用了25.2 GB,但是当我selectC:驱动器和视图属性的所有内容时,它说,大小(和磁盘上的大小)是17 GB 。 任何想法,其他8 GB可以走了吗?

HP代码341“物理驱动器状态:预测失败。 预计这个物理驱动很快就会失败。“

这是我的第一篇文章,所以在这里忍受:-) 背景:我有一个RAID5安装程序,有4个已经完善多年的磁盘。 在一个驱动器出现故障之后,我安装了新的驱动器,这些驱动器正在重build,但会将新驱动器标记为智能状态失败 硬件: HP Proliant ML350 G6,6Gb内存,Xeon E5620,BIOS D22 Windows服务器2008R2(更新)Smart Array P410i 4x 300Gb SAS磁盘10k 情况:我买了6个新的硬盘驱动器,在arrays重build过程中,智能状态失败。 我已经尝试了6个驱动器中的5个,都得到相同的错误。 我所做的:更新到最新的FW为RAID控制器和一些硬盘驱动器。 我尝试用raid1build立另一个逻辑驱动器,使用这两个新驱动器来testing它们,并且没有任何问题。 上电时,所有驱动器都已插入并取出。 思考和问题:真的可能全部被打破? 有什么方法可以清除智能失效状态吗? 以下是来自ACU的新的报告: https : //dl.dropboxusercontent.com/u/15772069/report-4bef4a9c-00000cf8-00000000.zip ,其中重要的一点是: ACU Version 8.70.9.0 Diagnostic Module Version 5.2.64.0 INFOMGR Version 6.0.1.0 Time Generated Monday November 23, 2015 9:22:40AM Device Summary: Smart Array P410i in Embedded Slot Consolidated Error […]

使用DDRescue进行恢复无法完成(写入错误:只读文件系统)

我正在尝试使用vdfuse来恢复损坏的VDI来安装VDI并使用dd_rescue来挽救borked分区。 dd_rescue似乎工作正常,但一旦达到大约一半的分区,它只是停止并给出以下错误: ddrescue: write error: Read-only file system 等等..什么? 它突然将FS正在将恢复的分区写入只读文件系统。 那么…为什么? 我永远无法完成这个吗? 这是怎么回事? 更新 – 2012年12月2日 我的电脑在运行VBox的时候失去了电源,当我开始备份并试图运行vbox实例时,它告诉我这个硬盘没有操作系统。 因此,在检查了该configuration文件的BIOS选项和VBox设置之后,我使用该VDI创build了一个新的configuration文件,并得到了相同的错误,certificateVDI的确是不可读的,而且该configuration文件不仅仅是搞砸了。 VDI是一个500GB的磁盘,上面有4个分区。 当我使用vdfuse将VDI安装到文件夹时,它将4分区作为回送设备( Partition1 , Partition2等) 当我尝试安装第一个分区时,它工作正常。 这是启动分区,所以它没有任何用处。 但是,当我尝试挂载Partition4 ,我的用户主分区,它说Bad superblock at offset ######几次,并无法安装。 所以,我运行ddrescue Partition4 ../partition4_restore.img ,它工作正常,直到达到(“救助”)大约260 GB,当它停止并给出“只读文件系统”错误。 放置img文件的位置有660GB免费。

对Exchange卷进行碎片整理

scheme:我使用专用卷(RAID卷)来存储我的Exchange 2007服务器的所有数据。 今天,出于好奇,我决定检查这个数据卷上的文件是多么的碎片化。 令我惊讶的是,答案是非常的。 所以,有三个问题: 首先,最重要的是,我应该整理这个卷(经过一个完整的备份当然)? 具体到为什么不,如果我不应该,或者我绝对应该如果我应该的原因。 其次,在每个千兆字节的维护期间,我应该允许多less时间。 这些驱动器都是硬件RAID 5控制器上的7200 RPM SATA驱动器(Perc 5i / 6i,不记得),这些文件非常分散。 (每千兆字节超过5000个文件碎片)。 第三,这里有什么不对吗? 在我看来,驱动器不应该是这种支离破碎。 可能有东西configuration不正确,可能导致这种情况发生?