LINUX.ORG.RU
ФорумAdmin

Возможно ли в aix 5.3 посмотреть текущие атрибуты устройства?

 


0

2

Доброго времени суток

Сабж. Например, есть задача на LPAR'ах устанавливать для дисков, виртуализованных через VIOS'ы, параметр hcheck_interval=20

Команда

chdev -l hdisk6 -a hcheck_interval=20
установит и текущее значение, и внесёт изменение в ODM, чтобы атрибут остался тем же после ребутов. Но она не выполнится, если диск уже используется ( например, ФС смонтирована )
# chdev -l hdisk6 -a hcheck_interval=20 
Method error (/etc/methods/chgdisk):
        0514-062 Cannot perform the requested function because the
                 specified device is busy.

Та же команда с ключём -P

chdev -l hdisk6 -a hcheck_interval=20 -P
не тронет текущее значение, но изменит атрибут в ODM, и при следующем конфигурировании устройства ( обычно - после ребута ) новое значение будет применено. Зато она может быть выполнена всегда, в т.ч. когда диск используется
# chdev -l hdisk6 -a hcheck_interval=20 -P
hdisk6 changed

И вот тут возникает задача проверки: «а что же мы имеем прямо сейчас ( а не после ребута )» ?

В aix 6.1 и новее у lsattr есть ключ -P ( Displays device values when the device was last configured )

# for dev in $(lsdev | awk '/^hdisk/ { print $1; }'); do echo $dev $(lsattr -Pl $dev -a
 hcheck_interval ) $(lsattr -El $dev -a hcheck_interval);done
hdisk0 hcheck_interval 20 Health Check Interval True hcheck_interval 20 Health Check Interval True
[...]
hdisk3 hcheck_interval 20 Health Check Interval True hcheck_interval 20 Health Check Interval True
hdisk4 hcheck_interval 0 Health Check Interval True hcheck_interval 0 Health Check Interval True
hdisk6 hcheck_interval 0 Health Check Interval True hcheck_interval 20 Health Check Interval True
Сразу видно - аларм, упячка, hdisk4 и hdisk6 сейчас работает с неправильными настройками, но hdisk6 после реконфигурации будет настроен правильно

А как быть с aix 5.3? Можно ли в AIX 5.3 увидеть текущее значение атрибута, с которым устройство было сконфигурировано ( а не то, что записано в ODM и гарантированно будет только после реконфигурации/ребута ) ?

★★★★★
Ответ на: комментарий от user_undefined

Пока нашёл решение только для aix 6.1 и новее :)

https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-00...

# kdb
[...]
(0)> adevq
NAME            ADDR               STATE      ACTIVE_IO  ST.MCHNE.
hdisk2          0xF1000100379CA800 0x1        0x0        0x0
hdisk1          0xF1000100379CA000 0x1        0x0        0x0
hdisk0          0xF100010037A0C800 0x1        0x0        0x0
hdisk7          0xF100010FECE89800 0x1        0x0        0x0
hdisk8          0xF100010FECF5A800 0x1        0x0        0x0
hdisk6          0xF100010FED079800 0x1        0x0        0x0

(0)> adevq 0xF1000100379CA000
[...]
    hcheck_t &hcheck = 0xF1000100379CA090
[...]
(0)> ahcheck 0xF1000100379CA090
struct health_check {
    struct watchdog &watch = 0x379CA090
    uint mode = 0x2  
    uint interval = 0x14
    uint cmd = 0x0   
    struct device_queue *dev_ptr = 0xF1000100379CA000
}

(0)> quit
root@lp-a6o11-120:~# echo $((0x14))
20

Но для AIX 5.3 фокус не прошёл:

(0)> adevq
invalid command
router ★★★★★
() автор топика
Ответ на: комментарий от router

Кстати, в документации по kdb вообще не нашёл adevq

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