Articles of 硬盘驱动器

找出磁盘是IDE还是SATA

我需要找出一个磁盘是IDE还是SATA(或者其他什么)。 我知道该设备是/ dev / sda,所以我认为它是SATA,但我不知道是否可以确定名称。 我试着看dmesg,它总是说“SCSI”,但我确定它不是… 有任何想法吗?

磁盘大小可由操作系统寻址

我有一个3ware 9550SXU-12存储控制器和750G的磁盘连接到它。 磁盘被configuration为单个单元(不是JBOD)。 我一直在进行一些性能testing,主要是看看分区alignment,encryption,RAID级别等对读/写/ iops性能的影响。 我感到惊讶的是,在我的情况下,相同的存储configuration的读/写性能与alignment的分区相比略低于未alignment的分区。 这促使我开始检查当通过3ware控制器连接时,以及在使用主板上的端口时,操作系统对于操作系统的可见性是否存在差异。 我知道3ware控制器放在磁盘上的磁盘控制块(DCB)元数据,允许更换控制器,而无需重新configuration控制器,因为configuration数据是从磁盘上的DCB块中读取的。 我的控制器使用“新格式”,这显然意味着控制器将DCB写入磁盘的最后1024个LBA中。 我很感兴趣,看看我的alignment方式是不是被3ware控制器给操作系统提供了一部分磁盘。 我发现了什么: 连接有或没有3ware控制器时,磁盘的开始看起来完全一样。 这里的alignment不应该有任何影响。 通过dd / md5sumvalidation。 磁盘的最后一个1024 * 512B的确包含了3ware的内容(由可读的string判断) 现在有趣的部分是:在3ware控制下,磁盘报告的媒体大小为749988741120 B,直接连接 – 750156374016 B,这意味着通过3ware控制器连接时,操作系统可以访问约160MB的磁盘介质。 如果仅仅是1024x512B(DCB)的差异,160MB似乎有太多的空间来存储这种types的控制器元数据是可以理解的。 问题: 有没有人知道是否有其他的考虑,当alignment连接到控制器的磁盘上的磁盘分区,这些磁盘存储单元configuration,我可能会错过? 出于好奇 – 有没有人知道最后160MB的磁盘媒体用于什么? 谢谢

使用NCQ的Linux软件RAID 5性能较差

在我的3磁盘RAID 5设置中挽回了2个磁盘的故障的同时,我偶然发现禁用NCQ(〜90M / sec)时的重build比启用NCQ(〜50M / sec)时更快。 运行bonnie ++来对这两种configuration进行基准testing也显示了顺序输出块的写入性能明显更好: 没有NCQ – 85M /秒,2021ms的延迟 NCQ – 62M /秒,延迟57118ms 57秒是不是有点过分? 我使用内核参数libata.force = noncq禁用了NCQ,交替执行了两次testing,没有其他configuration更改。 我还在三个组件磁盘上的分区上运行了bonnie ++,发现运行有或没有NCQ之间没有显着差异。 以下是完整的bonnie ++输出: Version 1.96 ——Sequential Output—— –Sequential Input- –Random- -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks– Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP raid5-noncq 24G […]

备份进程刷新磁盘caching

我有一个备份过程,从磁盘读取大量的数据,因此将所有内存用于磁盘高速caching,在此过程中交换应用程序和其他caching的数据。 在备份完成后,将备份的数据保存在磁盘caching中没有任何好处,所以我想限制内核可以为该进程caching的数据量。 可能吗? 谢谢,

centos 100%disk full – 如何删除日志文件,历史logging等?

由于磁盘空间已满,mysqld将无法启动: 101221 14:06:50 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28) 101221 14:06:50 [ERROR] Can't start server: can't create PID file: No space left on device 运行df -h : Filesystem Size Used Avail Use% Mounted on /dev/sda2 16G 3.2G 12G 23% / /dev/sda5 4.8G 4.6G 0 100% /var /dev/sda3 430G 855M 407G 1% /home /dev/sda1 […]

Linux禁用单个命令的磁盘caching

我们的服务器运行正常,但是当备份或其他扫描进程运行时,它会占用整个服务器。 像clamd会运行并扫描许多文件。 虽然我们预计性能会下降,但它会导致我们的caching死机,最终的结果是我们没有一个可以做任何事情的系统。 有没有办法禁用单个命令的光盘/磁盘caching? 这个想法是这样运行的: # ./nocache clamd 然后,在运行clamd时,不会在读取系统上的所有文件的同时冲击已启动的高速caching。

Windows Server 2012的磁盘alignment的重要性

我看到关于磁盘alignment的文章在这里也在这里 。还有一些引用,Windows Server 2003的磁盘alignment有一些问题。 阅读文章后,我很困惑我们是否需要手动alignment磁盘alignment方式,或者在分区磁盘时自动完成。 我们所做的一般是在安装操作系统的时候,我们执行磁盘分区,然后为了增加我们使用diskmgmt.msc(磁盘pipe理)做分区的额外磁盘,那么我们是否需要为windows server 2012服务器做任何alignment?

PostgreSQL缓慢的提交性能

我们在使用PostgreSQLconfiguration时遇到了一些问题。 经过一些基准testing后,我发现非常简单的查询花费了相当长的时间,经过进一步的检查,实际的COMMIT命令显得非常慢。 我使用下表进行了一个非常简单的testing: CREATE TABLE test ( id serial primary key, foo varchar(16), ); 打开所有语句的logging后,我运行了以下查询10000次: BEGIN; INSERT INTO test (a) VALUES ('bar'); COMMIT; BEGIN和INSERT完成时间<1ms,但COMMIT平均需要22ms才能完成。 在我自己的PC上运行相同的基准testing,速度慢得多,BEGIN和INSERT语句的平均值相同,但平均COMMIT约为0.4ms(快20倍)。 经过一番阅读,我尝试了pg_test_fsync工具来试图解决这个问题。 在服务器上,我得到了这些结果: $ ./pg_test_fsync -o 1024 1024 operations per test O_DIRECT supported on this platform for open_datasync and open_sync. Compare file sync methods using one 8kB write: (in wal_sync_method preference […]

Windows上的硬盘一次写入模式

是否有可能在Windows中强制硬盘进入“一次写入”模式? 我想安全地存储日志,以便不能更改,但由于性能原因,我无法使用磁带或光盘。

确定C驱动器是否有2 GB的可用磁盘空间

我试图确定目标PC是否有至less2 GB的可用空间。 这是我到目前为止: @echo off for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set "FreeSpace=%%x" IF /i %FreeSpace% GTR "2147483648" (ECHO C Drive Has Enough Available Disk For Install %FreeSpace%) else (ECHO C Drive Is FULL %FreeSpace%) 不要紧,如果我设置2 GB或将其更改为200 GB,它总是说我有足够的空间,即使这个驱动器只有90 GB …请帮助,如果可以的话。 这个问题是我基于我的上述代码: 使用批量命令检查可用磁盘空间 似乎应该工作,但事实并非如此。