FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Uma Nota Técnica da Dell FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Esta nota técnica serve apenas para fins informativos e pode conter erros de digitação e erros técnicos. O conteúdo é fornecido como está, sem garantias expressas ou implícitas de qualquer tipo. © 2011 Dell Inc. Todos os direitos reservados. É estritamente proibida a reprodução deste material em qualquer forma sem a permissão expressa por escrito da Dell Inc. Para mais informações, entre em contato com a Dell. Dell, o logotipo DELL, e o emblema DELL, PowerConnect e PowerVault são marcas registradas da Dell Inc. Symantec e o logotipo de Symantec são marcas registradas da Symantec Corporation ou de seus afiliados nos EUA e em outros países. Microsoft, Windows, Windows Server e Active Directory são marcas registradas da Microsoft Corporation nos Estados Unidos e/ou em outros países. Outras marcas registradas e nomes comerciais podem ser utilizados neste documento como referência às entidades proprietárias das marcas e nomes ou os seus produtos. A Dell Inc. nega qualquer interesse proprietário nas marcas e nomes comerciais que não sejam de sua propriedade. Setembro de 2011 Página ii FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Índice Introdução..................................................................................................................2 Portabilidade, modularidade e resiliência do software FTOS.......................................................3 A Camada de Abstração de Hardware: Permitindo que o FTOS abarque a infraestrutura de switch e roteador com um conjunto de recursos consistentes e gerenciamento unificado............................4 Modularização..............................................................................................................4 Memória protegida........................................................................................................4 Contenção de falhas......................................................................................................4 Programação de processos preventivos................................................................................5 Portabilidade...............................................................................................................5 Portabilidade e escalabilidade multiplataforma......................................................................5 Garantia de qualidade e desenvolvimento de software integrados...............................................5 Evolução linear e sequencial de sistema operacional para todas as linhas de produtos de switches/roteadores......................................................................................................5 Recursos/funcionalidades consistentes em todas as plataformas..................................................6 Processamento distribuído no Plano de controle de FTOS..........................................................6 Resumo dos benefícios do FTOS para a resiliência do sistema.....................................................8 Conclusão...................................................................................................................8 Figuras Figura 1. Arquitetura de Resiliência da Force10 Networks..........................................................2 Figura 2. Arquitetura de software FTOS...............................................................................3 Figura 3. Roadmap sequencial linear para lançamentos do FTOS..................................................6 Figura 4. Plano de controle de processamento distribuído com FTOS na plataforma da Série E.............7 Página iii FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Introdução Como os switches/roteadores Ethernet continuam a escalar em termos de velocidade de link e densidade de portas, a resiliência dos dispositivos está se tornando um atributo de sistema indispensável. Por exemplo, altos graus de agregação de tráfego significa que mesmo períodos curtos de operação interrompida podem atrapalhar um grande número de usuários e fluxos de tráfego, violando, em potencial, diversos SLAs (Acordos de Serviço). A melhor abordagem para maximizar a confiabilidade, resiliência e estabilidade dos switches/roteadores envolve a aplicação de princípios sólidos de projeto: • • • • Eliminar pontos de falha únicos no máximo de componentes de sistema possível, incluindo tanto hardware quanto software Restrição de quaisquer falhas que ocorram a apenas um subsistema ou componente de sistema Garantir que, quando um subsistema falhar, for comprometido, ou precisar de atualização, a recuperação pode ser atingida rapidamente sem atrapalhar a operação continuada do sistema todo. Minimizar o número de sistemas operacionais, ramificações de código e releases em desenvolvimento através das linhas de produtos Estes princípios são a base para a Arquitetura de Resiliência da Force10 Networks mostrada na Figura 1, que permite que os switches/roteadores FTOS continuem as operações de rede durante diversas condições de falha. Estas incluem a falha de componentes de hardware, falhas e reinícios de software, falhas de links, reinícios de protocolos e tentativas, por invasores, de interromperem o fluxo normal de tráfego. A Dell adotou o modelo de arquitetura de resiliência multicamada após uma análise abrangente das causas das paradas do sistema e de todas as potenciais fontes de uma falha catastrófica do sistema, que mostrou que a maioria das interrupções de rede deve-se às falhas de software e erros dos usuários. Ao focar os esforços de desenvolvimento para melhorar a gerenciabilidade e a capacidade de manutenção no FTOS, a Dell está tomando uma abordagem proativa ao reduzir o tempo de interrupção da rede. Um ambiente de software de switch/roteador que conta com maior confiabilidade e funcionalidade consistente e capacidades de gerenciamento contribui para uma redução significativa nas despesas operacionais, que é um importante componente do custo total de propriedade (TCO) para a rede. Como a Figura 1 retrata, a resiliência dos dispositivos envolve uma combinação de recursos mutuamente assistentes de hardware e software que trabalham juntos para maximizar a confiabilidade e disponibilidade do dispositivo. Figura 1. Arquitetura de Resiliência da Force10 Networks Página 2 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade As linhas de produtos de switches/roteadores Dell Force10 dependem da resiliência de software oferecida pelo sistema operacional FTOS, que incorpora uma ampla gama de planos de controle e recursos de gerenciamento para um desempenho ultra-alto de switch de L2 e roteador de L3. O resto deste documento discute a arquitetura do software FTOS e foca na funcionalidade e nos recursos que maximizam a portabilidade, a escalabilidade e estabilidade do sistema, a resiliência do software e a resiliência geral do sistema, complementando os recursos de resiliência nas outras camadas da Arquitetura de Resiliência. A Portabilidade, Modularidade e Resiliência do Software O FTOS é baseado no NetBSD, um sistema operacional de código aberto que foi otimizado para aplicações de rede. A partir da perspectiva de um sistema operacional de switch/roteador, o NetBSD tem três vantagens exclusivas: 1. Um grau excepcional de maturidade e estabilidade de protocolos, resultante das suas raízes no BSD Unix. 2. Uma arquitetura moderna de kernel, contando com modularização de processo e proteção de memória. 3. Um alto grau de portabilidade através de múltiplas arquiteturas de hardware, permitindo uma ampla seleção de processadores de controle (o NetBSD suporta atualmente 17 famílias de microprocessadores e mais de 50 plataformas diferentes de hardware). Figura 2. Arquitetura de software FTOS Página 3 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade A Figura 2 mostra a estrutura arquitetônica geral do sistema FTOS que foi baseada no NetBSD. A base do sistema é o kernel, cujas funções são limitadas a oferecer um sistema operacional estável e executar tarefas como alocação de memória e programação. Outras aplicações que tradicionalmente são executadas no kernel em um sistema operacional monolítico de redes foram transferidas para o espaço de usuário, onde são executadas como processos modulares e independentes. Os processos separados foram criados para: • • • • Funções e protocolos de Camada 2 (STP, LACP, etc.) Funções e protocolos de Camada 3 (IS-IS, OSPF, BGP, roteamento estático) Diversas funções de gerenciamento e serviços de sistemas (SNMP, CLI, etc.) Serviços e protocolos de segurança (SSH, TACACS+/RADIUS, ACLs) Quando estes processos precisam compartilhar informações, as trocas são todas canalizadas através de um mecanismo de comunicação interprocesso robusto (IPC – inter-process communication), que permite que os processos se comuniquem e mantenham a proteção da memória entre eles. A camada de abstração de hardware (HAL – hardware abstraction layer) é uma camada de software que desassocia o FTOS dos detalhes específicos do hardware subjacente. A função primária da HAL é isolar os processos modulares de uma grande regravação sempre que o FTOS for portado para uma plataforma de hardware diferente. Uma descrição mais detalhada da HAL e os benefícios que ele oferece são o assunto de uma nota técnica associada: A Camada de Abstração de Hardware: Permitindo que o FTOS abarque a infraestrutura de switch e roteador com um conjunto de recursos consistentes e gerenciamento unificado Os principais recursos e benefícios da arquitetura FTOS são: Modularização Com a modularização e separação de processos do espaço do kernel, as funções de plano de controle de switch/roteador podem ser modificadas independentemente, eliminando o efeito “Código Espaguete” que causa interações inesperadas entre funções. Como estas alterações são separadas do kernel, a possibilidade de introduzir instabilidade no sistema operacional subjacente é eliminada. Da mesma forma, os novos recursos e processos de plano de controle podem ser desenvolvidos e testados em paralelo sem interromper os existentes. Memória protegida A arquitetura de memória do FTOS aloca um espaço de endereço separado protegido para cada processo independente e seus subsistemas associados. As comunicações entre subsistemas dentro do mesmo processo podem acontecer diretamente através do compartilhamento do espaço de memória protegida do processo, maximizando o desempenho do plano de controle. Por outro lado, a comunicação entre diferentes processos está restrita ao mecanismo de passagem de mensagens do IPC. O resultado é que a corrupção da memória através de limites de processos se torna virtualmente impossível. Contenção de falhas A combinação de modularização e espaço de memória protegida garante que as falhas em um processo estejam limitadas apenas àquele processo (mais quaisquer outros processos que exijam informações atualizadas do processo defeituoso através de IPC). Por exemplo, se o processo de OSPF falhasse, qualquer outro processo dependente do OSPF seria afetado, mas nenhum outro processo seria impactado. Em essência, processos completamente independentes não podem afetar um ao outro ou o kernel. Página 4 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Programação de processos preventivos A programação preventiva de processos evita que um único processo monopolize uma das CPUs do plano de controle. Ao atribuir prioridades diferentes aos processos dependendo da sua importância relativa no sistema, a programação preventiva de processos permite que todos os processos tenham a sua parcela de tempo de CPU. Portabilidade O FTOS é facilmente portável para novas plataformas de hardware devido à abstração e às eficiências de código fornecidas pela HAL. A HAL permite que o FTOS tenha uma base central única de código-fonte a partir do qual todas as imagens específicas da plataforma são compiladas. Como resultado, o FTOS suporta todas as famílias de produtos de switches/roteadores da Force10, incluindo a Série E, a Série C e a Série S. A reutilização do mesmo código-fonte para todos os processos modulares multiplataforma garante a interoperabilidade dos protocolos, um conjunto consistente de recursos e funcionalidade e interfaces unificadas de gerenciamento entre todas as plataformas de switches/roteadores. Portabilidade e escalabilidade multiplataforma O FTOS pode facilmente ser escalado para suportar todas as famílias de produtos de switches/roteadores da Force10 Networks, de switches de datacenters e centrais high-end (a Série E) passando por switches de agregação (a Série C) até switches de acesso (a Série S). A portabilidade é oferecida através da compilação das versões de tempo de execução (runtime) para cada plataforma de hardware a partir da base comum do código-fonte, utilizando a HAL para lidar com quaisquer recursos específicos de hardware. O código modular do FTOS suporta escalabilidade a partir das arquiteturas de plano de controle distribuídas e multiprocessador das Séries S e C até os switches/roteadores de configuração fixa de 1 RU. A arquitetura multiprocessador utilizada nas Séries E e C permite a criação de uma relação gerente/agente entre os processadores RPM e os processadores de placas de linha. Cada compilação de FTOS de processador RPM precisa incluir apenas os módulos funcionais multiplataforma exigidos, enquanto que a versão do FTOS do processador da placa de linha inclui apenas os módulos adequados específicos da plataforma mais os módulos multiplataforma necessários para suportar a relação gerente/agente. O poder de processamento adicional permite que os planos de controle de switches/roteadores das Séries E e C sejam escalonados para suportar configurações de redes e sistemas muito grandes. Garantia de qualidade e desenvolvimento de software integrados A Force10 potencializou a modularidade da arquitetura do FTOS para integrar totalmente o teste do código diretamente no processo de desenvolvimento. Este processo exclusivo e revolucionário de desenvolvimento incorpora o teste de regressão automática de cada bloco de código novo e cada novo recurso antes da integração a um novo build do FTOS. Este processo garante a integridade do código novo com teste de regressão total de cada novo recurso e melhora a produtividade do desenvolvedor ao fornecer feedback automatizado de QA (garantia de qualidade) diretamente ao programador. Evolução linear e sequencial de sistema operacional para todas as linhas de produtos de switches/roteadores Por causa da modularidade do FTOS, vários desenvolvedores de software podem trabalhar em paralelo para criar novos recursos que serão incorporados em processos separados. A modularidade e o QA integrado descritos acima garantem que não ocorrerão interações inesperadas. Estes atributos tornam prático para o FTOS ser baseado em uma única sucessão linear de releases de sistema operacional, conforme mostrado na Figura 3, sem a complexidade de caminhos de upgrade de softwares paralelos suportando diferentes conjuntos de recursos, uma prática razoavelmente comum entre fornecedores de sistemas operacionais não modulares de switches/roteadores. Página 5 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Figura 3. Roadmap sequencial linear para lançamentos do FTOS Recursos/funcionalidades consistentes em todas as plataformas Um conjunto consistente de recursos de switches/roteadores por toda a infraestrutura de LAN do datacenter e núcleo ao bastidor e à filial simplifica o design da rede e facilita a implementação consistente de políticas de segurança e de QoS de ponta a ponta. A Tabela 1 mostra a gama de funcionalidades consistentes e multiplataforma do FTOS e destaca o valor de um único sistema operacional de switch/roteador que abarque a rede inteira. Tabela 1. Recursos/funcionalidades multiplataforma do FTOS habilitados pela HAL Recurso Série E Série C Série S Sistema operacional modular NetBSD tipo Unix Sim Sim Sim Uma árvore de fonte para todas as plataformas Sim Sim Sim Uma versão do FTOS para todas as plataformas Sim Sim Sim Desenvolvimento e QA de recursos modulares Sim Sim Sim Paridade de recursos entre as versões do FTOS Sim Sim Sim CLI padrão do setor com facilidade de uso Sim Sim Sim CLI idêntica em todas as plataformas Sim Sim Sim Recursos de CLI e gerenciamento de alto nível Sim Sim Sim Recursos de diagnóstico e debugging em serviço Sim Sim Sim Processamento distribuído no Plano de controle de FTOS De forma a atingir uma escalabilidade enorme junto com uma resiliência excepcional, os switches/ roteadores da Force10 Networks utilizam uma arquitetura completamente distribuída com todas as decisões de encaminhamento de pacotes feitas pelos ASICs de planos de dados e todas as funções de controle realizadas pelas CPUs de switches/roteadores executando o FTOS. Nos switches/roteadores modulares das Séries E e C, o processamento do FTOS é distribuído entre os processadores em cada módulo de processador de rota (RPM – route processor module), mais um processador adicional em cada placa de linha. No RPM da Série E, uma CPU de FTOS é dedicada a cada uma das três áreas funcionais: processos de Camada 3, processos de Camada 2 e processos de gerenciamento/controle, conforme mostrados na Figura 3. A modularidade do FTOS permite que os processos individuais de plano de controle sejam facilmente particionados entre os três processadores RPM. Nos switches/roteadores das Séries C e S, há uma única CPU de FTOS que execute todas as funções de gerenciamento e plano de controle. Página 6 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade A distribuição dos processos de controle aumenta muito a capacidade de processamento do plano de controle, oferecendo uma escalabilidade e poder de processamento enormes. A resiliência também foi melhorada significativamente, porque a falha de um processo em uma CPU não afetará as outras duas funções. A memória dedicada para cada uma das três CPUs de RPM oferece um nível adicional de proteção da memória física entre as áreas funcionais. Estes complementam a proteção da memória lógica em todos os processos oferecidos por cada instância de CPU do FTOS Figura 4. Plano de controle de processamento distribuído com FTOS na plataforma da Série E Os recursos adicionais de resiliência dentro dos planos de controle das Séries E e C são: • • • O código de correção de erros (ECC – error correcting code) ou memória de paridade protegida é utilizado tanto no plano de controle como no plano de dados para garantir a integridade dos dados. (A memória de ECC também é utilizada nos switches/roteadores da Série S.) Ethernet através de switch fora de banda (OOB – out-of-band) é utilizada para comunicações dentro do plano de controle e para comunicação entre o plano de controle e as placas de linha Cada placa de linha possui sua própria CPU dedicada a funções de manutenção de protocolos, como sFlow ou BFD. O processamento local reduz o envio de mensagens entre as placas de linha e preserva a largura de banda OOB. Página 7 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade Tabela 2. Exemplo de listas de processos sendo executados em cada CPU na plataforma da Série E Processador de gerenciamento Processador de Camada 3 Processador de Camada 2 Processador de placa de linha • CLI • RIP • Telnet/SSH • OSPF • Gerenciador de L2 • Agente de interface • SNMP • IS-IS • Agente de L2 • AAA • BGP • Gerenciador de ARP • Logging • LACP • xSTP (STP, RSTP, MSTP, PVST+) • Gerenciador de chassi • VRRP • FRRP • Gerenciador de configuração • Gerenciador de tabela de rota Unicast • VRRP • Gerenciador de interface • Gerenciador de ACL • Gerenciador de HA • Diagnóstico de RPM e plano de dados em serviço • IGMP • PIM • MSDP • Agente sFlow • Agente BFD • Agente HA • Gerenciador de placa de linha • Diagnóstico de placa de linha em serviço • Gerenciador de tabela de rota Multicast Resumo dos benefícios do FTOS para a resiliência do sistema Além de oferecer resiliência de software através de modularidade e proteção de memória, os recursos arquitetônicos do FTOS são altamente complementares aos recursos de resiliência em outras camadas da Arquitetura de Resiliência da Force10. O FTOS desempenha um papel significativo em cada nível da arquitetura: Redundância de Hardware: O FTOS é um capacitador importante do plano de controle de processamento distribuído, multi-CPU e escalável. O FTOS também oferece o controle para failover automatizado hitless e encaminhamento hitless na linha de produtos de switches/roteadores da Série E. Resiliência de Software: Conforme descrito anteriormente, o FTOS elimina as causas de muitas possíveis falhas catastróficas de sistema, restringindo os problemas do software a processos específicos, evitando que eles afetem o sistema inteiro. Resiliência de Protocolo: O FTOS oferece muitos protocolos resilientes, como STP, FRRP, VRRP e OSPF e BGP graceful restart. Resiliência de Links: O FTOS detecta rapidamente falhas de links ECMP ou LAG, garantindo failover rápido ou tráfego para os caminhos/links redundantes. Gerenciabilidade e Capacidade de Manutenção: O FTOS inclui muitos recursos que são benéficos para gerenciamento, debugging e solução de problemas do sistema. O kernel do FTOS monitora todos os processos para garantir que as operações estejam dentro dos limites normais de utilização dos recursos. O FTOS também oferece monitoramento de todo o sistema para condições ambientais fora de alcance e outras condições de falhas, como configurações não sincronizadas de placas de linha. Geração oportuna de relatórios de falhas e correção automatizada de Página 8 FTOS: Um sistema operacional de switch/roteador modular e portátil otimizado para resiliência e escalabilidade falhas ajudam a minimizar a interrupção do sistema. Além disso, a modularidade do software simplifica o rastreamento de erros de software para processos específicos e facilita a ação corretiva necessária para retornar o sistema ao pleno funcionamento. Conclusão Através de uma integração firme de recursos de resiliência de software e hardware, o FTOS desempenha um papel muito importante em ajudar as linhas de produtos de switches/roteadores a definir novos padrões em confiabilidade, estabilidade e alta disponibilidade de todo o sistema. Todos os ambientes de rede que exigem alta disponibilidade, para garantir a prestação do serviço ou para garantir a execução oportuna de aplicações críticas para o negócio podem obter benefícios significativos do papel que a modularidade fina do FTOS desempenha na Arquitetura de Resiliência da Force10. O administrador de redes de hoje está enfrentando vários desafios, como: • • • • • Foco aumentado em confiabilidade e gerenciabilidade, devido a uma confiança maior da empresa na rede Assimilação de aplicações de tempo real (VoIP e vídeo) Garantir um desempenho satisfatório das aplicações com QoS Ampliação da rede para atender aos requisitos crescentes de largura de banda Garantir segurança em face de um ambiente de rede mais fluido Todos estes desafios são consideravelmente mais fáceis de cumprir, quando a infraestrutura subjacente de rede foi consolidada para minimizar a complexidade geral da rede, incluindo a complexidade implícita com uma diversidade de sistemas operacionais de rede. Com o FTOS habilitado para HAL sendo executado em todo o espectro dos switches/roteadores da Force10 Networks (Série E, Série C e Série S), agora é possível maximizar a consolidação da infraestrutura de switches de ponta a ponta em todas as três dimensões críticas: 1. O hardware de plataforma de switch para suportar as topologias simplificadas de rede com escalabilidade inigualável para 10 GbE e, por fim, 40 e 100 GbE. 2. O software de sistema operacional de rede com escalonamento de FTOS em todo o bastidor, datacenter e núcleo da rede. 3. O gerenciamento de rede com uma estrutura de gerenciamento e interface única abrangendo toda a rede. Página 9