ANÁLISE | Chaveamento virtual com Open vSwitchANÁLISEChaveamento virtual com Open vSwitchTroque a rotaA virtualização com VMware, KVM e Xen chegou para fi car, mas atéagora nenhum switch virtual dava suporte à cenários complexos. O OpenvSwitch suporta fl uxos de dados, VLA Ns, entroncamento e a agregaçãode portas exatamente como os principais switches do mercado.por Ralf SpennebergMuitas empresas estão movendosua infraestruturapara sistemas virtuais.Este processo envolve a virtualizaçãode componentes centralizados:sistemas SAP, servidores de basesde dados Oracle e servidores dearquivos, facilitando assim, a suaadministração. Além disso, os administradoresnão precisam maisdesligar sistemas para a manutenção,já que as cargas de trabalho podemser migradas, em execução, paraoutras máquinas virtuais.Uma grande desvantagem de umambiente virtual sempre tem sido aestrutura simplística de rede. Mesmoque os switches físicos de redesuportem VLANs, entroncamentos( trunking ), QoS ( Quality of Service– Qualidade de Serviço), agregaçãode portas, recursos de firewall dentreoutras, os switches virtuais sãobastante primários. A VMware ea Cisco, entretanto, criaram umasolução no switch virtual CiscoNexus 1000V. Este switch integra--se ao ambiente VMware e oferecerecursos avançados.Uma opção de código aberto destecalibre não estava previamente disponível,mas o Open vSwitch acaboucom este problema. O Open vSwitchsuporta Xen, KVM e VirtualBox,assim como o XenServer. A próximageração do Citrix também migrarápara o Open vSwitch.O Open vSwitch [1] está baseadono projeto OpenFlow da Universidadede Stanford [2] e é um novopadrão aberto concebido para suportara gestão de switches e roteadorescom software arbitrário ( quadro 1 ).O Open vSwitch dá ao administradoros seguintes recursos em umsistema <strong>Linux</strong>:➧ Chaveamento completamentefuncional em Camada 2;➧ Suporte a NetFlow, sFlow, SPANe RSPAN;➧ VLANs 802.1Q sem trunking;➧ QoS;➧ Agregação de portas;➧ Tunelamento GRE;➧ Compatibilidade com o <strong>Linux</strong>bridge code (brctl);➧ Implementação do switch emespaço de usuário e de kernel .Mas antes que você possa beneficiar-sedestes recursos, é necessárioque você instale o OpenvSwitch. Pacotes prontos existempara o Debian Sid ( unstable ).Você pode baixar os pacotes parao Fedora/RedHat a partir de meupróprio website [3] . Também podeinstalar o pacote a partir do códigofonte ( quadro 2 ).Ainda que os pacotes forneçamscripts de inicialização para um usosimplificado, você precisará executarmanualmente, ou criar seu próprioscript de inicialização, no caso deuma instalação manual. A base dedados de configuração lida com a48 www.linuxmagazine.com.br
Chaveamento virtual com Open vSwitch | ANÁLISEgestão do switch ( listagem 1 ). Opróximo passo é executar o serviçoOpen vSwitch:ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sockVocê pode, agora, executar o comandoovs-vsctl para criar novosswitches ou adicionar e configurarportas. Uma vez que muitos scriptspara o Xen e o KVM valem-se dosutilitários de bridge (ponte entredois segmentos de rede), você precisaráiniciar o serviço de compatibilidadede bridge (com o comandobrctl ). Para fazer isto, carregue omódulo do kernel e então, inicieo serviço:modprobe datapath/linux-2.6/brcompat_mod.koovs-brcompatd --pidfile --detach-vANY:console:EMER unix:/usr/local/var/run/openvswitch/db.sockAgora você pode usar os utilitários debridge para gerenciar seu Open vSwitch:brctl addbr extern0brctl addif extern0 eth0A distribuição de scripts para acriação de bridges funcionará normalmente.Você pode também usaro comando ovs-vsctl para gerenciaro bridge. De fato, você pode usar osdois comandos ao mesmo tempo ( listagem2 ). Se o comando brctl shownão pode encontrar alguns arquivosno diretório /sys/ , os utilitários debridge podem ser novos demais (porexemplo, no RHEL 6) e você talveztenha que voltar à versão anterior,o RHEL 5.Até o momento, o Open vSwitchfuncionou exatamente como em umcenário de bridge com o uso de utilitáriospara este fim. Outras etapasde configuração são necessárias parao uso de funções avançadas. Todosos parâmetros da base de dados deconfiguração do Open vSwitch podemser manipulados com o uso docomando ovs-vsctl .Figura 1 Ntop mostrando os fl uxos para a bridge.NetFlowO Open vSwitch pode exportar osfluxos de rede (NetFlows) dentro doswitch. Para permitir isso, crie umanova probe ( sonda) NetFlow.# ovs-vsctl create netflowtarget= "192.168.0.5\:5000"75545802-675f-45b2-814e-0875921e7edeQuadro 1: OpenFlowAgora, conecte a probe com obridge extern0 :# ovs-vsctl add bridge extern0netflow 75545802-675f-45b2-814e-0875921e7edeCaso você já tenha, previamente,executado um coletor de fluxos derede (Ntop por exemplo) na portaO objetivo do projeto OpenFlow é revolucionar o mundo dos roteadores eswitches. Um roteador ou switch clássico combina duas funções em um únicodispositivo➧ Encaminhamento rápido de pacotes (rota de dados)➧ Tomada de decisão sobre a forma e o local para onde encaminhar os pacotes(controle de rota)Estes dois sistemas, tipicamente, trabalham de maneira independente dentrodo mesmo dispositivo. O componente de rota de dados apenas perguntaalgo ao componente do controle de rota caso ele não saiba como e paraonde deve encaminhar um pacote. O componente do controle de rota determina,então, a rota e a armazena em uma tabela de fl uxos. Todos os outrospacotes do mesmo fl uxo podem, então, ser rapidamente encaminhados pelomecanismo de rota de dados.O OpenFlow alivia a carga do controle de rota para um controlador à parte,que pode ser um simples servidor. O switch OpenFlow (rota de dados) e ocontrolador comunicam-se através de um canal seguro. O switch OpenFlowarmazena a tabela de fl uxo onde o controlador salva os fl uxos individuais.Cada fl uxo descreve as propriedades dos pacotes que compõem o fl uxo ecomo o switch deve tratar estes pacotes (descartar, porta de envio etc.).Uma vez que o switch recebe um pacote para o qual ele não tem uma entradacorrespondente na tabela, envia o pacote ao controlador, que analisa opacote, toma uma decisão e armazena esta decisão na tabela de fl uxo.Graças à cooperação de muitos fabricantes, os desenvolvedores conseguiramque o OpenFlow seja suportado em muitos dispositivos comerciais derede. Há um fi rmware customizado para muitos switches da HP, NEC, Torokie Pronto [4]. O Open vSwitch é uma implementação de software que forneceambos recursos (rota de dados e controlador).<strong>Linux</strong> <strong>Magazine</strong> #<strong>83</strong> | Outubro de 201149