Доброго времени суток!
Может кто подскажет, что тут можно сделать? Есть сервер на S5000PSL с корзиной hot-swap AXX6DRV3G, в которой стоит 3 SATA диска Seagate. Диски эти очень любят засыпать при отсутствии обращения к ним и очень не любят просыпаться. То есть при обращении к диску он начинает раскручиваться, но пока он раскрутится, мы получаем вылет по таймауту. Предполагаю, что это HSC что-то не так делает, потому что если ребутнуть сервер с уже остановившимся винтами, то при загрузке получаем сообщения Disk verify failed (однако потом конечно винты уже раскручиваются и загрузка нормально продолжается).
Установленная система - FreeBSD 6.2 STABLE. Она, к сожалению, не дожидается, пока винт раскрутится, и выдает "FAILURE - device detached", после чего отключает винт. Утилита ataidle не помогла (хотя по идее должна).
Пишу в этот раздел, потому как наверное средствами FreeBSD эту проблему вряд ли можно решить (или нет?). Хочется узнать, еслть ли "железный" способ решить эту проблему? Можно ли как-нибудь заставить винты не останавливаться (если уж по-другому никак)?
Кстати, atacontrol выдает, что у основного диска (на котором стоит система и которому соответсвенно всегда есть обращения) APM enabled и supported, а у двух других - disabled и not supported. Почему так? Ведь диски абсолютно одинаковые :?
Спящие HDD
Модераторы: Trinity admin`s, Free-lance moderator`s
Может кому пригодится - проблему решил небольшим изменением ata драйвера, увеличив таймаут ожидания ответа от винта:
+++ /usr/src/sys/dev/ata/ata-disk.c Thu Apr 19 15:38:10 2007
@@ -229,8 +229,8 @@
request->dev = dev;
request->bio = bp;
request->callback = ad_done;
- request->timeout = 5;
- request->retries = 2;
+ request->timeout = 10;
+ request->retries = 3;
request->data = bp->bio_data;
request->bytecount = bp->bio_bcount;
request->u.ata.lba = bp->bio_pblkno;
+++ /usr/src/sys/dev/ata/ata-disk.c Thu Apr 19 15:38:10 2007
@@ -229,8 +229,8 @@
request->dev = dev;
request->bio = bp;
request->callback = ad_done;
- request->timeout = 5;
- request->retries = 2;
+ request->timeout = 10;
+ request->retries = 3;
request->data = bp->bio_data;
request->bytecount = bp->bio_bcount;
request->u.ata.lba = bp->bio_pblkno;
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 27 гостей