我有两台硬件相同的服务器,都运行 CentOS 5.8。它们都有 40 TB 外部 RAID 阵列(通过 eSATA)连接到 LSI MegaRAID SAS 9280 卡。该阵列有一个 GUID 分区表,并且有一个大的 XFS 分区。Machine1 上的磁盘性能比 Machine2 好得多,我正在试图找出原因。从这个 hdparm 输出中可以明显看出:
[root@Machine1]# hdparm -t /dev/sdc1
/dev/sdc1:
Timing buffered disk reads: 1150 MB in 3.00 seconds = 383.27 MB/sec
[root@Machine2]# hdparm -t /dev/sdc1
/dev/sdc1:
Timing buffered disk reads: 286 MB in 3.03 seconds = 94.55 MB/sec
...当我运行需要大量磁盘 I/O 的大型作业时,这一点也很明显(在 Machine2 上,IO 繁重的进程往往会进入不间断的睡眠状态(状态为“D”),但在 Machine1 上则不会。
我注意到,ls -ls(第一列)报告的块大小使用情况对于不同机器上的相同文件有所不同:
[root@Machine1]$ ls -ls
8 -rw-rw-r-- 1 user1 user1 600 Feb 18 15:41 file1.txt
48 -rwxrwxr-x 1 user1 user1 43814 Feb 18 15:31 file2.gz
696 -rwxrwxr-x 1 user1 user1 706287 Feb 18 15:41 file3.txt
[root@Machine2]$ ls -ls
4 -rw-rw-r-- 1 user1 user1 600 Feb 18 11:57 file1.txt
44 -rwxrwxr-x 1 user1 user1 43814 Feb 18 10:15 file2.gz
692 -rwxrwxr-x 1 user1 user1 706287 Feb 18 10:15 file3.txt
我发现的唯一其他区别是使用 hdparm -g 显示几何图形。它显示了不同的柱面数(第一个数字):
[root@Machine1]# hdparm -g /dev/sdc
/dev/sdc:
geometry = 40529/255/63, sectors = 85930803200, start = 0
[root@Machine2]# hdparm -g /dev/sdc
/dev/sdc:
geometry = 5348945/255/63, sectors = 85930803200, start = 0
但是 fdisk 报告相同的两台机器的磁柱数量(下面仅显示 Machine1)——或者也许由于警告消息而无法信任 fdisk?
[root@Machine1]# fdisk -lu /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
WARNING: The size of this disk is 44.0 TB (43996571238400 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT).
Disk /dev/sdc: 43996.5 GB, 43996571238400 bytes
255 heads, 63 sectors/track, 5348945 cylinders, total 85930803200 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 4294967295 2147483647+ ee EFI GPT
两台机器的 xfs_info 输出相同(下面仅显示 Machine1):
[root@Machine1]# xfs_info /dev/sdc1
meta-data=/dev/sdc1 isize=256 agcount=41, agsize=268435455 blks
= sectsz=512 attr=1
data = bsize=4096 blocks=10741350391, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
我现在很困惑。有人能提出下一步的建议吗?
谢谢!