Итак - есть два сервера ProLiant ML530G2. Под NW6.5sp2 в виде iSCSI storage server. В них - 2ГБ мозгов, SA6402/320 RAID контроллер (12 дисков по 72Г в RAID ADG) и 4 сетевухи NC6770 (это 1000SX на чипе Broadcom, драйвер Q57.LAN).
Хотелось большего - создать 802.3ad транк между этими 4-мя картами и свитч-роутером Enterasys XPedition ER-16. Создал, с использованием родного модуля QASP.LAN. ER-ку настроил (в ей стоит 8-ми портовая SX-карта - вот туда и загнал эти два транка по 4 канала каждый). Написал Qinit.NCF:
- Код: Выделить всё
LOAD QASP.LAN NAME=ISCSI FRAME=ETHERNET_II VSLOT=1 MODE=802.3AD CHECKSUM=ON
LOAD BMAPI.NLM
LOAD Q57.LAN NAME=ISCSI_1 FRAME=ETHERNET_II SLOT=1 RXBUFFERS=512 TXDESCRIPTORS=512 CHECKSUM=ON RXFLOW=ON TXFLOW=ON JUMBO=9000
LOAD Q57.LAN NAME=ISCSI_2 FRAME=ETHERNET_II SLOT=2 RXBUFFERS=512 TXDESCRIPTORS=512 CHECKSUM=ON RXFLOW=ON TXFLOW=ON JUMBO=9000
LOAD Q57.LAN NAME=ISCSI_3 FRAME=ETHERNET_II SLOT=3 RXBUFFERS=512 TXDESCRIPTORS=512 CHECKSUM=ON RXFLOW=ON TXFLOW=ON JUMBO=9000
LOAD Q57.LAN NAME=ISCSI_4 FRAME=ETHERNET_II SLOT=4 RXBUFFERS=512 TXDESCRIPTORS=512 CHECKSUM=ON RXFLOW=ON TXFLOW=ON JUMBO=9000
BIND QASP1 TO ISCSI_1
BIND QASP1 TO ISCSI_2
BIND QASP1 TO ISCSI_3
BIND QASP1 TO ISCSI_4
BIND IP TO ISCSI ARP=YES ADDRESS=192.168.152.10 MASK=255.255.255.0 BCAST=192.168.152.255
Предвидя вопросы, сразу скажу - Jumbo на ER-ке включил, вот кусок ейного конфига (кто слегка имел дело с кошками поймёт - язык похож):
- Код: Выделить всё
smarttrunk create st.2 protocol lacp
smarttrunk create st.3 protocol lacp
!
smarttrunk set load-policy round-robin on st.2
smarttrunk lacp actor-parameters port gi.13.1 enable port-key 20 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.2 enable port-key 20 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.3 enable port-key 20 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.4 enable port-key 20 activity active aggregation aggregatable timeout long
smarttrunk lacp aggregator st.2 port-type Gigabit-Ethernet actor-key 20
!
smarttrunk set load-policy round-robin on st.3
smarttrunk lacp actor-parameters port gi.13.5 enable port-key 10 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.6 enable port-key 10 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.7 enable port-key 10 activity active aggregation aggregatable timeout long
smarttrunk lacp actor-parameters port gi.13.8 enable port-key 10 activity active aggregation aggregatable timeout long
smarttrunk lacp aggregator st.3 port-type Gigabit-Ethernet actor-key 10
!
port set gi.12.(1-8) auto-negotiation-flowctl both mtu 65442
port set gi.13.(1-8) auto-negotiation-flowctl both auto-negotiation on mtu 65442
!
vlan create SAN port-based id 5
vlan create SAN-DMZ port-based id 6
!
vlan add ports gi.12.1 to SAN-DMZ
vlan add ports gi.12.2 to SAN-DMZ
vlan add ports gi.12.3 to SAN-DMZ
vlan add ports gi.12.4 to SAN-DMZ
vlan add ports gi.12.5 to SAN-DMZ
vlan add ports st.2 to SAN-DMZ
!
vlan add ports gi.12.6 to SAN
vlan add ports gi.12.7 to SAN
vlan add ports gi.12.8 to SAN
vlan add ports st.3 to SAN
!
pvst create spanningtree vlan_name SAN-DMZ
pvst create spanningtree vlan_name SAN
!
pvst set bridging spanning-tree SAN-DMZ priority 0
pvst set bridging spanning-tree SAN priority 0
!
pvst set port gi.12.1 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
pvst set port gi.12.2 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
pvst set port gi.12.3 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
pvst set port gi.12.4 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
pvst set port gi.12.5 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
pvst set port st.2 edge-port True point-to-point ForceFalse spanning-tree SAN-DMZ
!
pvst set port gi.12.6 edge-port True point-to-point ForceFalse spanning-tree SAN
pvst set port gi.12.7 edge-port True point-to-point ForceFalse spanning-tree SAN
pvst set port gi.12.8 edge-port True point-to-point ForceFalse spanning-tree SAN
pvst set port st.3 edge-port True point-to-point ForceFalse spanning-tree SAN
!
pvst enable port gi.12.1 spanning-tree SAN-DMZ
pvst enable port gi.12.2 spanning-tree SAN-DMZ
pvst enable port gi.12.3 spanning-tree SAN-DMZ
pvst enable port gi.12.4 spanning-tree SAN-DMZ
pvst enable port gi.12.5 spanning-tree SAN-DMZ
pvst enable port st.2 spanning-tree SAN-DMZ
!
pvst enable port gi.12.6 spanning-tree SAN
pvst enable port gi.12.7 spanning-tree SAN
pvst enable port gi.12.8 spanning-tree SAN
pvst enable port st.3 spanning-tree SAN
Два сторадж-сервера воткнуты в gi.13.* (там, где транк. Это 8-ми портовый 1000SX модуль). Сервера-клиенты воткнуты в gi.12.* (Это 8-ми портовый 1000T модуль).
Теперь сама ситуация. Загружаю Qinit ручками - всё прекрасно. Транк работает со свистом. Прописываю Qinit в Autoexec.ncf, перезагружаю сервер. Транк поднимается, НО! Ничго не пингуется. То-есть совсем.
Выгружаю модули, снова запускаю Qinit ручками - всё работает!
Перепробовал всё - место в Autoexec-е, перенос команд из Qinit в сам Autoexec, задержки - ничего не помогает.
Дополнительно обнаружил, что, если второй сервер выключить совсем и все экспрэменты производить с одним - вероятность автоподнятия транка повышается до 60-70% (но опять же - далеко не 100%).
Может кто наведёт меня на путь прозрения? Всю траву скурил, ничего не помогает...
Мысли:
- проблемы с autonegotitation speed/duplex;
- проблемы с последовательностью загрузки/инициализации модулей, а может и со скоростью инициализации;
- иное что-то?