Я работаю над малобюджетным изменением конфигурации, которое включает миграцию из рабочей среды IBM M1010 (LSI9220-8i) с обновленной прошивкой на более новый сервер с LSI9200-8e SAS HBA.
Все отлично работает на старом сервере, но потребляет много энергии, и желательна конфигурация с меньшими затратами энергии.
Когда диски отключаются от старого сервера и подключаются к новому серверу, я получаю такую последовательность в журналы:
Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (18317688 kB) Jan 6 13:15:17 hostname1 kernel: kvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work properly. Using workaround Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: MSI-X vectors supported: 1, no of cores: 4, max_msix_vectors: -1 Jan 6 13:15:17 hostname1 kernel: mpt2sas1-msix0: PCI-MSI-X enabled: IRQ 34 Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: iomem(0x00000000fbff0000), mapped(0xffffc90003620000), size(16384) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: ioport(0x0000000000006000), size(256) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: Allocated physical memory: size(4422 kB) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: Current Controller Queue Depth(1948),Max Controller Queue Depth(2040) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: Scatter Gather Elements per IO(128) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: LSISAS2008: FWVersion(20.00.07.00), ChipRevision(0x03), BiosVersion(00.00.00.00) Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: Protocol=( Jan 6 13:15:17 hostname1 kernel: Initiator Jan 6 13:15:17 hostname1 kernel: ,Target Jan 6 13:15:17 hostname1 kernel: ), Jan 6 13:15:17 hostname1 kernel: Capabilities=( Jan 6 13:15:17 hostname1 kernel: TLR Jan 6 13:15:17 hostname1 kernel: ,EEDP Jan 6 13:15:17 hostname1 kernel: ,Snapshot Buffer Jan 6 13:15:17 hostname1 kernel: ,Diag Trace Buffer Jan 6 13:15:17 hostname1 kernel: ,Task Set Full Jan 6 13:15:17 hostname1 kernel: ,NCQ Jan 6 13:15:17 hostname1 kernel: ) Jan 6 13:15:17 hostname1 kernel: scsi host4: Fusion MPT SAS Host Jan 6 13:15:17 hostname1 kernel: mpt2sas_cm1: sending port enable !! ... trimmed out probably unrelated messages ... Jan 6 13:15:19 hostname1 kernel: mpt2sas_cm1: host_add: handle(0x0001), sas_addr(0x500605b005722a20), phys(8) ... trimmed out probably unrelated messages ... Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: CDB: Inquiry 12 00 00 00 24 00 Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: handle(0x0009), sas_address(0x4433221100000000), phy(0) Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: enclosure_logical_id(0x500605b005722a20), slot(0) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: task abort: FAILED scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: attempting device reset! scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: CDB: Inquiry 12 00 00 00 24 00 Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: handle(0x0009), sas_address(0x4433221100000000), phy(0) Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: enclosure_logical_id(0x500605b005722a20), slot(0) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: device reset: FAILED scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: attempting target reset! scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: CDB: Inquiry 12 00 00 00 24 00 Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: handle(0x0009), sas_address(0x4433221100000000), phy(0) Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: enclosure_logical_id(0x500605b005722a20), slot(0) Jan 6 13:15:40 hostname1 kernel: scsi target4:0:0: target reset: FAILED scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: mpt2sas_cm1: attempting host reset! scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: CDB: Inquiry 12 00 00 00 24 00 Jan 6 13:15:40 hostname1 kernel: mpt2sas_cm1: Blocking the host reset Jan 6 13:15:40 hostname1 kernel: mpt2sas_cm1: host reset: FAILED scmd(ffff880488f78380) Jan 6 13:15:40 hostname1 kernel: scsi 4:0:0:0: Device offlined - not ready after error recovery
Я уже установил последнюю версию прошивки LSI, так как это казалось наиболее вероятным источником проблем. Драйвер вроде бы это подтверждает:
LSISAS2008: FWVersion(20.00.07.00), ChipRevision(0x03), BiosVersion(00.00.00.00)
Прошивка была получена здесь: https: //docs.broadcom. com / docs-and-downloads / host-bus-adapters / host-bus-adapters-common-files / sas_sata_6g_p20 / 9200-8e_Package_P20_IT_FW_BIOS_for_MSDOS_Windows.zip
Прошивка была перепрошита с помощью загрузочного live12 "CD1358" FreeDOS с [11] http://pingtool.org/bootable-dos-iso-bios-upgrade/
BIOS не загружается, так как именно так поставлялись карты 8E, и я не пытаюсь загружаться с них, поэтому не должно
Я вижу один диск на каждый канал SAS, но есть три-четыре диска. Один диск, кажется, работает нормально.
Я попробовал поменять местами кабели, чтобы увидеть, связана ли проблема с конкретным кабелем - похоже, это не так.
Я планирую попробовать CentOS 6, если есть драйвер проблема или условие гонки во время загрузки, вызывающее проблему. RUN pecl установить Imagick
Дело в том, что запрос сервер ожидает завершения первого запроса перед отправкой ответа на второй запрос.
Моя конфигурация - AWS EC2 с 2 виртуальными ядрами (я считаю, что это полезно для обработки одновременных вычислений).
Запрос проходит через сервер Nginx процессу php-fpm. Я думал, что проблема в том, что я неправильно сконфигурировал PHP-FPM. Однако, после прочтения информации, это моя конфигурация php-fpm:
$ cat www.conf | grep max_children
; static - a fixed number (pm.max_children) of child processes;
; pm.max_children - the maximum number of children that can
; pm.max_children - the maximum number of children that
pm.max_children = 5
$ cat www.conf | grep start_servers
; pm.start_servers - the number of children created on startup.
pm.start_servers = 2
$ cat www.conf | grep min_spare_servers
; pm.min_spare_servers - the minimum number of children in 'idle'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.min_spare_servers = 1
$ cat www.conf | grep max_requests
;pm.max_requests = 500
$ cat www.conf | grep max_children
; static - a fixed number (pm.max_children) of child processes;
; pm.max_children - the maximum number of children that can
; pm.max_children - the maximum number of children that
pm.max_children = 5
Что мне не хватает? Где мне искать, чтобы отладить такое поведение
Не стесняйтесь сообщать мне в комментариях, если вам нужна дополнительная информация, чтобы помочь мне, я всего лишь младший ...
Спасибо всем, и хороших выходных.
У вас очень мало запущенных рабочих процессов PHP, поэтому может случиться так, что первый запрос использует все доступные рабочие процессы для завершения, и поэтому второй запрос блокируется.
Попробуйте с эти настройки:
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
Фактические полезные числа зависят от вашего фактического трафика. По сути, max_children
- это максимальное количество одновременно доступных воркеров, которые могут обслуживать отдельные запросы, и вам необходимо иметь там правильное значение, соответствующее вашему трафику.