Articles of 硬盘

硬盘在写数据的同时是否进行读取validation?

众所周知,现代硬盘在其固件内部进行内部坏扇区pipe理,即当硬盘检测到物理扇区或不可靠物理扇区时,用预留的扇区存储replace坏扇区。 这个机制消除了操作系统本身做坏扇区pipe理的需要。 用户可以从称为“重新分配扇区计数”的SMART项目知道扇区重置计数的发展。 具有太多重新分配扇区的样本HDD驱动器(索引133下降到阈值140以下): 现在我的问题是:什么时候硬盘固件确定一个部门应该被replace。 我想像这样的理想情况: 当硬盘写入扇区时,它会立即读取validation(validationCRC校验和并使用ECC恢复软错误位)。 如果validation失败或扇区被固件认为是不可靠的,则固件可以立即replace扇区,从而不会丢失用户数据(至less在写入磁盘表面时不会丢失)。 这是进行扇区replace的好时机,因为待写入的数据现在肯定会保留在硬盘的内部caching中。 驾驶员可以尝试尽可能多的“热备份”部门,直到他find一个好的部门。 如果我的想法不是这个事实,那么硬盘只能在下一次用户读取时validation写入扇区; 但是如果下一次读取失败CRC和ECC,并且相应的高速caching已经被丢弃,我们什么也不能做,只能知道以前写入的数据已经永久丢失了。 哪个行为是事实? 有没有networking文章澄​​清这一点? SSD磁盘应该面临同样的情况,那SSD呢? SSD的情况似乎更容易理解,因为我很容易想象SSD可以在写入后快速读取validation, 然而,这种scheme是否适用于主轴硬盘? 看来HHD磁头可以在一个给定的时间进行读或写,所以为了validation写入,它必须等待另一个旋转,直到写入的扇区再次位于磁头之下 – 这将显着减慢数据吞吐量。 – 我很困惑

监视SSD的垃圾收集器

根据GC策略(我的猜测是大多数SSD使用贪婪策略), SSD控制器触发特定出货或块上的垃圾回收例程,当无效页面或写入页面的某个阈值满足时。 我试图衡量一些工作负载对特定SSD的影响,我已经使用FIO完成了性能测量,但是我想更进一步。 有什么办法可以在SSD上的垃圾收集器例程被触发时得到通知?

购买服务器硬盘时,部件号是一个关键因素

我正在做一些关于HP HDD SAS 900G 6G/s 10K-RPM 2.5"硬盘驱动器的研究,在Amazon或Ebay上有各种零件号和/或备件号,例如619291-B21 619463-001 619286-004这增加了我的困惑。 我的问题是:零件号码和备用号码如何影响产品的质量。 在购买服务器硬盘驱动器时,是否应该担心部件号?

服务器在进行磁盘写入时几乎不可用

我的问题与我在serverfault 上的最后一个问题密切相关。 我从一台10年前的台式电脑拷贝了大约5GB到服务器。 该副本在Windows资源pipe理器中完成。 在这种情况下,我会假设服务器被数据stream所厌烦。 但像往常一样,这台服务器,它真的放慢了速度。 至less我可以使用远程会话,即使有一些严重的延迟。 副本花费了时间(20分钟?)。 在这段时间,我去了一个同事,他试图通过远程桌面login到同一台服务器(由于其他原因)。 花了大约一分钟时间到达login屏幕,一分钟打开控制面板,一分钟打开性能监视器,…图标加载可能每秒一个。 我们看到以下(从记忆): CPU:2% 平均。 队列长度:50 Pages / sec:115(?) 在服务器上没有其他可观的活动。 服务器很less提供一些ASP.NET页面,这个时候也变得很慢。 相关configuration如下: Windows 2003 SEAGATE ST3500631NS(7200转,500 GB) 基于LSI MegaRAID的RAID 5 4个磁盘,1个热备份 通过写 没有预读 直接caching模式 硬盘caching模式:closures 这种configuration是否正常? 什么测量可以给出进一步的线索? 降低这种复制I / O的优先级并优先考虑远程桌面等其他进程是否合理 ? 你会怎么做? 非常感谢!

Linux下的NTFS硬盘修复工具

有没有一个硬盘实用程序,可以格式化(NTFS)和修复从Linux有诺顿磁盘医生有很多坏扇区的硬盘?

RAID6设置 – 添加额外的驱动器

我想build立一个专用的服务器。 首先,我们需要至less8TB。 我相信我可以从RAID6设置中的6x2TB驱动器开始实现这一点。 现在当我需要增加这个容量到10TB。 我应该可以添加一个2TB的磁盘到arrays。 但是,就像添加另一个磁盘一样简单。 我会丢失现有驱动器的任何数据吗?

对于某些目录中的文件,CentOS 5.5 / ext3上的cp和cat是10倍慢

当我注意到iostat -dxk 3读取速度非常慢,介于5 MB / s和10 MB / s之间,以及100%的磁盘利用率时,我正在用GNU sort对一些大文件(91 GB,跨越27个文件)进行sort 。 我试过cat large-file > /dev/null ,得到相似的性能,只是略高一点。 对于cp large-file /tmp/ ,在单独的磁盘上使用/tmp也是一样的。 vim体验和我在Ruby读取文件中写的脚本一样,如果有帮助的话。 写入速度很好,但速度很快。 编辑:它看起来像这些操作只是缓慢的某个目录中的文件。 对兄弟目录(相同的磁盘分区)中的其他文件进行相同的操作,速度快,读取速度高于90MBPS。 这对我来说没有意义。 这可能是由于这些文件的构build方式吗? 我通过阅读很多其他文件来创build它们,并根据行中的第一个字符(如az和其他文件的单个文件)将每行写入适当的“存储区文件”。 所以我几乎同时在一次读取27个文件的同时,通过8个进程追加几行文件。 这是否会导致代表一个文件的块顺序排列? 因此,之后的缓慢连续读取? 不过,我尝试使用fio来测量顺序读取性能,并以73 MB / s的速度进行读取。 还值得注意的是,我的老板从同一台机器上通过FTP下载某些文件时,得到了正确的读取速度。 所以我猜这是一些configuration问题,但我不知道在哪里。 原因是什么?我该如何解决? 编辑:这台机器在Citrix Xen虚拟化下运行。 编辑: iostat -dxk输出,而sort正在加载一个大文件到其缓冲区(得到类似的输出猫/ CP): Device: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb […]

什么是“随机查找时间”真的意味着在HDD基准?

我目前正在对硬盘进行基准testing。 我正在使用HW32进行测量。 结果有两个部分: random seek time: 20 ms random read throughput: 30 Mbytes/s 我不确定HW32的方法是为基准testing做的。 但是我发现随机查找时间的结果很奇怪。 根据我的理解,随机查找时间意味着the time that is spent on where a specific data is 。 所以我认为对于一个random read应该包含很多次的random seek吧? 例如,我尝试从磁盘读取100MB的数据。 由于磁盘碎片,磁盘上有1000个随机块,每个地方有100KB的数据。 所以当我读到它时,磁头将不得不移动1000次才能find所有的数据块,对吧? 那么如果random seek time is 20ms ,那么这是否意味着我们将不得不花费1000 * 20 = 20,000ms = 20秒对随机查找? 我猜不是,对吧? 任何人都可以向我解释? 如果像HW32这样的基准testing告诉我random seek time = 20 ms ,这是什么意思? 这是否意味着total […]

从损坏的磁盘恢复数据

所以有这个问题。 有一个500G的磁盘数据已经崩溃。 我需要恢复数据。 我用ddrescue首先创build一个图像,我已经恢复455G到该图像。 现在,我不知道什么是原始磁盘的FS(这是Linux和挂载使用EXT2 / 3保存的图像给出了一个错误的FS错误)。 所以当我使用像photorec这样的工具来恢复数据时,所有恢复的文件都被重命名,对我来说有点无用 – 我的数据文件有特定的名称。 磁盘托pipe在其他地方,我没有物理访问。 那我能做什么? 我从位置300M使用ddrescue,因为我怀疑问题是在前200M左右。 无论如何,我可以使用ddrescue恢复一些有用的FS信息,使我能够从保存的图像重build文件系统的更好的一部分?

基于Linux的服务器中的两个硬盘,大部分时间都有一个睡眠

我有两个硬盘在我的服务器。 其中之一是300 GB,非常沉默。 另一个是750 GB,并产生一些噪音(这是完美的工作,这不是一个沉默的驱动器)。 两者都通过SATA2连接。 我的想法是,静音驱动器应该处理更频繁发生的事情。 大部分时间让较大的硬盘hibernate。 我会得到这样的事情:(更多的服务将在现实情况下活跃) 积极,沉默,小: 网站。 用于VOIP(SIP)路由的Asterisk服务器。 昏昏欲睡,大声和更大: FTP服务器。 Mercurial服务器。 备份 我的问题: 这听起来像一个好计划吗? 为什么? 为什么不? 如何在HDD进入睡眠之前设置所需的时间? 你觉得什么时候适合? 我应该让我的活动硬盘进入睡眠以及一段时间后? 是否有可能监视何时以及哪个应用程序(进程)访问HDD? 这对于确保不应该访问被动HDD的应用程序是非常有帮助的。 我也想设置睡眠超时。 内核是否会定期访问硬盘或者我应该注意的事情,因为它会让我的硬盘退出睡眠模式,并没有一个很好的理由旋转起来? 当我安装这个服务器时,还有什么需要考虑的吗?