terça-feira, 4 de agosto de 2015

Instalação do Linux ONL em Switches Bare Metal

Olá Pessoal.

Os switches bare metal, também conhecidos como caixas brancas, são switches em que o hardware e o software são vendidos separadamente, ou seja, é possível comprar simplesmente a caixa "vazia" (hardware) sem nenhum sistema operacional pré-instalado. Dessa maneira, pode-se optar por uma versão comercial ou mesmo distribuições gratuitas de um Sistema Operacional de Rede ou NOS, do inglês Network Operating System.

O Open Network Linux (ONL) é a distribuição Linux open-source mais tradicional que foi especificamente desenvolvida para ser instalada em switches bare metal. A vantagem de utilizar uma distribuição desenvolvida para caixas brancas é que ela vem carregada com drivers e funcionalidades específicas do hardware, como por exemplo suporte aos slots SFP (1GbE), SFP+ (10GbE), etc... Uma vantangem das caixas brancas abertas em relação ao tradicional modelo fechado das caixas pretas é que é possível personalizar via software as funcionalidades que o switch irá assumir, de maneira que a caixa pode executar funções de switch layer-2, de roteador layer-3, de firewall, etc.


O objetivo deste artigo é mostrar aos leitores os passos necessários para instalar o ONL em caixas brancas que sejam homologadas para operar com essa distribuição de NOS. Para fazer os testes de instalação do ONL tive acesso a um switch bare metal da Edge-Core, especificamente o modelo AS5600-52X, que se trata de um switch TOR (Top of Rack) para ambientes de Data Center que possui 48 portas 10GbE e 4 portas 40GbE. Esse equipamento, além de ser uma caixa branca bastante poderosa, é hardware homologado pela ONL. A relação completa de switches homologados pode ser encontrada no link abaixo:


A maioria dos switches bare metal homologados possuem o ONIE (Open Network Install Environment), um boot loader que deve ser utilizado para instalar o NOS desejado pelo usuário. Na prática o ONIE é um pequeno sistema operacional pré-carregado como firmware no switch para facilitar o processo de instalação do NOS desejado pelo administrador.

Há várias maneiras de instalar o ONL, seja localmente através do console (out-band) ou mesmo remotamente através da rede (in-band). Caso o leitor esteja interessado em outros métodos para instalar o ONL através da rede, recomendo a leitura da seguinte documentação: 


Nos testes em que fiz optei pela instalação local através do console, por isso estarei documentando esse processo que é mais rápido e mais fácil. Antes de começar é importante acessar o site do ONL (http://opennetlinux.org/binaries) para baixar os respectivos arquivos que sejam compatíveis com o processador do switch e copiá-los em um pen-drive. Para instalar o ONL são necessários dois arquivos, um com extensão .installer e outro .swi. No caso desse exemplo, utilizei os seguintes arquivos compatíveis com o processador FreeScale P2020 do AS5600-52X:

  • onl-271da8d-powerpc-all.2015.06.05.01.22.installer
  • onl-271da8d-powerpc-all-2015.06.05.01.22.swi

O primeiro passo é conectar o cabo serial de console no switch. Ao ligar o switch, na sequência do boot, basta pressionar <ENTER> para ativar o modo interativo do ONIE. Caso o usuário interrompa o processo de boot antes do seu término (o que pode acontecer por engano), basta digitar boot no prompt para que o boot seja continuado. Na sequência, basta montar a partição do pen-drive localmente e executar o script de instalação do ONL (destaque em amarelo).

** Installer Mode Enabled **

ONIE:/ # fdisk -l
(...) Saída Omitida: Identificar Partição do Pen-Drive
ONIE:/ # mount /dev/sdXX /mnt
ONIE:/ # cd /mnt
ONIE:/ # sh onl-271da8d-powerpc-all.2015.06.05.01.22.installer
 Open Network Installer running under ONIE.
 Installer Version: Open Network Linux e148b7a (powerpc.all,...)
 Detected platform: powerpc-...
 Installing in standalone mode.
 Unpacking Open Network Linux installer files...
 onl.powerpc-as5600-52x.loader
 (...) Saída Omitida

Obs.: Nos testes em que realizei com colegas da FEEC/Unicamp, tivemos um problema de nomenclatura do hardware observado na figura abaixo. O nome identificador da plataforma suportada pelo instalador disponível no site do ONL é powerpc-as5600-52x, mas o nome da plataforma nos novos switches AS5600-52X da EdgeCore é powerpc-accton-as5600-52x-r0. Para contornar esse problema optamos por parar o script de descoberta automática das imagens, alterar manualmente o nome da plataforma no arquivo /etc/machine.conf e, somente então, executar o instalador (.installer). Os comandos abaixo foram utilizados para realizar essa solução de contorno:

ONIE:/ # /etc/init.d/discover.sh stop
ONIE:/ # vi /etc/machine.conf 
(...) realizar alteração manual

Tela de Erro do Nome Identificador da Plataforma

A partir deste ponto todas as configurações do switch e suas interfaces são realizadas através do ONL que é uma distribuição Linux baseada em Debian, sendo que a conta padrão para realizar o primeiro acesso ao sistema consiste no usuário "root" e senha "onl", lembrando que é recomendada a alteração da senha logo no primeiro acesso. Vale o conhecimento prévio do administrador na principal distribuição Linux, principalmente nas ferramentas dos pacotes iproute2 (ex.: ip) ou net-tools (ex.: ifconfig, route, arp, etc), inclusive no que diz respeito à inserção de novos pacotes através do apt-get. É possível instalar o Quagga (ou BIRD) e tratar a caixa como um roteador com alta densidade de portas, assim como é possível programar novas funcionalidades.

Enfim, são várias as possibilidades! :-)

Samuel.

6 comentários:

  1. Samuel, pra esse sw de 48 portas 10GE qual o custo aproximado?

    ResponderExcluir
    Respostas
    1. Uma caixa branca dessa é muitíssimo barata em comparação às tradicionais caixas pretas de mesma categoria. Veja no link abaixo que o preço atual dessa caixa é cerca de $5.000,00 apenas:

      http://whiteboxswitch.com/products/edge-core-as5610-52x

      Excluir
  2. Samuel, sou professor de Tecnologia da Informação no SENAI/SE e consultor na área. Optamos recentemente por adquirir um Switch Bare Metal, fato que nos leva a corroborar totalmente com os pontos citados nesse artigo. Sou um leitor assíduo das suas publicações, utilizando-as inclusive como referência em sala de aula e no dia a dia. Parabéns por mais um artigo bastante útil e informativo.

    ResponderExcluir
  3. Samuel, é possível instalar em uma máquina virtual para fazer testes e aprendizado?

    ResponderExcluir
    Respostas
    1. Para instalar e executar o ONL é necessário um switch compatível que já venha embarcado com o "instalador" ONIE.

      http://opennetlinux.org/docs/deploy

      Excluir