LINUX.ORG.RU

CentOS 5 + Proliant DL140 G2 - медленная работа дисков


0

0

Имеется сабж и 2 винта 500гб SATA2. Сначала там стоял винт на 80гб, затем я оттуда перенес систему на RAID1 из тех двух хардов. Копировал сначала на один винт, потом поставил второй и присоединил к массиву, оно стало делать ребилд. Делает его уже 10 часов, а прогресс - 18.7%, хотя там ничего почти нет, причем всегда написано, что осталось ~800 минут.

Проблема была и на 80гб винте, там просто скорость не поднималась выше 8 мб в сек. Проц Xeon 3.4GHz, рама 2гб.

# cat /etc/fstab
/dev/md2 / ext3 defaults 1 1
/dev/md1 /boot ext3 defaults 1 2
/dev/md3 /var ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdc1[0] hda1[1]
97536 blocks [2/2] [UU]

md3 : active raid1 hdc3[0] hda3[2]
476560128 blocks [2/1] [U_]
[===>.................] recovery = 18.7% (89394176/476560128) finish=794.7min speed=8118K/sec

md2 : active raid1 hdc2[0] hda2[2]
9667904 blocks [2/1] [U_]
resync=DELAYED

unused devices: <none>

# lspci
00:00.0 Host bridge: Intel Corporation E7520 Memory Controller Hub (rev 0c)
00:00.1 Class ff00: Intel Corporation E7525/E7520 Error Reporting Registers (rev 0c)
00:02.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A (rev 0c)
00:04.0 PCI bridge: Intel Corporation E7525/E7520 PCI Express Port B (rev 0c)
00:05.0 PCI bridge: Intel Corporation E7520 PCI Express Port B1 (rev 0c)
00:06.0 PCI bridge: Intel Corporation E7520 PCI Express Port C (rev 0c)
00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
04:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge A (rev 09)
04:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt Controller A (rev 09)
04:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge B (rev 09)
04:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B (rev 09)
07:01.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

anonymous

1) А почему это у тебя SATA-диски определяются как hdX?

2) resync=DELAYED стоит же. Смотри логи, возможно, проблемы какие-то. Из-за этого и остановилась синхронизация.

Deleted
()
Ответ на: комментарий от Deleted

1. Вот я тоже непонял почему hdX. За каким-то хреном оно думает что это PATA.

2. Хм а оно два массива сразу должно синхрить? А то там их 2 - под / и под /var, вот тот который под /var он синхрится но очень медленно. В логи смотрел, ничего криминального нету...

anonymous
()
Ответ на: комментарий от anonymous

> 1. Вот я тоже непонял почему hdX. За каким-то хреном оно думает что это PATA.

Ну ты выставь нормальные опции в биосе потому-что.

> 2. Хм а оно два массива сразу должно синхрить?

Да, просмотрел по диагонали пост, не увидел. У тебя ж первый синхронизируется сейчас, соответственно, второй - отложился.

Deleted
()

sysctl.conf -> dev.raid.speed_limit_max = 20000

или

echo 30000 > /proc/sys/dev/raid/speed_limit_max

anonymous
()
Ответ на: комментарий от anonymous

> Вот я тоже непонял почему hdX. За каким-то хреном оно думает что это PATA.

Может его взял драйвер generic вместо ata_piix? Конфиг ядра (точнее, только опции CONFIG_PIIX, CONFIG_ATA_PIIX, CONFIG_IDE_GENERIC, CONFIG_BLK_DEV_GENERIC, CONFIG_ATA_GENERIC, CONFIG_PATA_LEGACY) и вывод lsmod в студию.

AEP ★★★★★
()
Ответ на: комментарий от Deleted

> У тебя ж первый синхронизируется сейчас, соответственно, второй - отложился.

У меня в свое время он синкал массивы параллельно

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Может, потому-что составляющие массива все на разных дисках лежали?

Deleted
()
Ответ на: комментарий от AEP

> Может его взял драйвер generic вместо ata_piix? Конфиг ядра (точнее, только опции CONFIG_PIIX, CONFIG_ATA_PIIX, CONFIG_IDE_GENERIC, CONFIG_BLK_DEV_GENERIC, CONFIG_ATA_GENERIC, CONFIG_PATA_LEGACY) и вывод lsmod в студию.

CONFIG_BLK_DEV_PIIX=y
CONFIG_SCSI_ATA_PIIX=m
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_GENERIC=y
PATA_LEGACY и ATA_GENERIC нету :(

Ядро 2.6.18-8.1.15.el5

# lsmod
Module Size Used by
ip_conntrack_ftp 11697 0
ipt_LOG 10177 1
ipt_owner 6081 2
xt_tcpudp 7105 11
xt_state 6209 11
ip_conntrack 53153 2 ip_conntrack_ftp,xt_state
nfnetlink 10713 1 ip_conntrack
xt_multiport 7233 3
iptable_filter 7105 1
ip_tables 17029 1 iptable_filter
ip6table_filter 6849 0
ip6_tables 18181 1 ip6table_filter
x_tables 17349 7 ipt_LOG,ipt_owner,xt_tcpudp,xt_state,xt_multiport,ip_tables,ip6_tables
ipv6 250369 34
dm_mirror 29713 0
dm_mod 56665 1 dm_mirror
video 19269 0
sbs 18533 0
i2c_ec 9025 1 sbs
button 10705 0
battery 13637 0
asus_acpi 19289 0
ac 9157 0
parport_pc 29157 0
lp 15849 0
parport 37513 2 parport_pc,lp
i2c_i801 11469 0
i2c_core 23745 2 i2c_ec,i2c_i801
e752x_edac 14277 0
edac_mc 24977 1 e752x_edac
tg3 99781 0
pcspkr 7105 0
serio_raw 10693 0
ata_piix 17609 0
libata 96857 1 ata_piix
sd_mod 22977 0
scsi_mod 130637 2 libata,sd_mod
raid1 25153 3
ext3 123081 3
jbd 56553 1 ext3
ehci_hcd 32845 0
ohci_hcd 23261 0
uhci_hcd 25421 0

# hdparm -v /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 60801/255/63, sectors = 976773168, start = 0

В dmesg есть любопытный момент - чтение разделов происходит еще до initrd:
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
hda: ST3500630NS, ATA DISK drive
Probing IDE interface ide1...
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 512KiB
hda: 976773168 sectors (500107 MB) w/16384KiB Cache, CHS=60801/255/63
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4
ide-floppy driver 0.99.newide

А уже дальше в initrd грузится ata_piix:

libata version 2.00 loaded.
ata_piix 0000:00:1f.2: version 2.00
ata_piix 0000:00:1f.2: MAP [ P1 -- P0 -- ]
ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 193
ata: 0x1f0 IDE port busy
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x1478 irq 15
scsi0 : ata_piix
ATA: abnormal status 0x7F on port 0x177

Т.е. походу действительно используется generic. Как его отрубить нахрен, не собирая заново ядро? Параметром при загрузке каким-нибудь...

anonymous
()
Ответ на: комментарий от anonymous

Поставил пока hda=noprobe hdc=noprobe - так generic отваливает и ata_piix подхватывает диски. Но как то это... криво что ли :)

anonymous
()
Ответ на: комментарий от Deleted

В том то и дело что в биосе единственное что можно изменить связанное с дисками это 32-bit Transfer Mode...

anonymous
()
Ответ на: комментарий от anonymous

0) обнови биос до последнего. Часто бывает, что сервера приходят с самым первым биосом, где нужные галки просто не показываются.

1) Найди мануалку в интернете с картинками биоса - может, разберёмся.

Deleted
()
Ответ на: комментарий от anonymous

> CONFIG_BLK_DEV_PIIX=y

> CONFIG_SCSI_ATA_PIIX=m

> CONFIG_IDE_GENERIC=y

> CONFIG_BLK_DEV_GENERIC=y

Это называется "сам себе злобный Буратино". Пересобирай.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Спокойно. Это стандартное дистрибутивное ядро. Скорее всего, в биосе compatibility настройки, чтобы диски виделись как IDE.

Deleted
()
Ответ на: комментарий от Deleted

> Спокойно. Это стандартное дистрибутивное ядро. Скорее всего, в биосе compatibility настройки, чтобы диски виделись как IDE.

Хз, если указать hda=noprobe hdc=noprobe то generic не трогает контроллер, в initrd грузится ata_piix, берет диски как sdX и скорость копирования становится 70-80мб в сек.

З.Ы. А ata_piix должен их брать вообще если в биосе compatibility?

anonymous
()
Ответ на: комментарий от anonymous

> З.Ы. А ata_piix должен их брать вообще если в биосе compatibility?

А вот не знаю... При случае попробую.

Deleted
()
Ответ на: комментарий от anonymous

> З.Ы. А ata_piix должен их брать вообще если в биосе compatibility?

Должен! И вообще, при немодульном ide-generic все остальные драйверы для IDE- и SATA-контроллеров должны быть немодульными (и немодульный ide-generic в дистрибутивном ядре - грубая ошибка).

P.S. Можешь поиграть с LFS LiveCD, там все модульное: http://kerrek.linuxfromscratch.org/pub/lfs-livecd/lfslivecd-x86_64-6.3-r2145-... или http://kerrek.linuxfromscratch.org/pub/lfs-livecd/lfslivecd-x86_64-6.3-r2145-...

AEP ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.