SAS Expanders: Quando Fazem Sentido
O Problema/Contexto:...
SAS Expanders: Quando Fazem Sentido
O Problema/Contexto:
Como um sysadmin, você provavelmente já se deparou com a necessidade de conectar mais discos a um servidor do que o número de portas disponíveis em sua controladora SAS. Você tem uma placa-mãe com 8 portas SATA/SAS, mas precisa conectar 24 HDDs. Ou talvez você esteja construindo um servidor de armazenamento de alta densidade e precisa maximizar a utilização do espaço. Nesses cenários, os SAS expanders podem ser a solução. Mas quando fazem sentido, e quais são os trade-offs?
Conceitos Fundamentais:
Antes de mergulharmos nos detalhes, vamos definir alguns conceitos chave:
- SAS (Serial Attached SCSI): Uma interface de transferência de dados serial usada para conectar dispositivos de armazenamento, como HDDs e SSDs, a um computador.
- Controladora SAS (HBA - Host Bus Adapter): Uma placa de circuito que permite que um computador se comunique com dispositivos SAS. Ela atua como uma ponte entre o barramento PCIe do computador e os discos SAS.
- SAS Expander: Um dispositivo que permite conectar múltiplos dispositivos SAS a uma única porta SAS na controladora. Pense nele como um switch para SAS.
- Domínio SAS: Uma coleção de dispositivos SAS que podem se comunicar entre si. A controladora SAS e todos os dispositivos conectados a ela (diretamente ou via expanders) formam um domínio SAS.
- PHY: Um transceiver físico em um dispositivo SAS. Cada PHY pode se comunicar com outro PHY. Uma porta SAS pode ter múltiplas PHYs, permitindo links mais rápidos.
- Link SAS: Uma conexão ponto-a-ponto entre dois PHYs.

Detalhes Técnicos:
Um SAS expander funciona multiplexando múltiplas conexões SAS em uma única porta. Ele recebe dados de múltiplos dispositivos SAS e os encaminha para a controladora, e vice-versa. Essencialmente, ele aumenta o número de dispositivos que podem ser conectados a uma única controladora SAS.
Existem dois tipos principais de SAS expanders:
- Fanout Expanders: Estes expanders simplesmente dividem uma única porta SAS em múltiplas portas. Eles são relativamente simples e baratos, mas compartilham a mesma largura de banda da porta original entre todos os dispositivos conectados.
- Edge Expanders: Estes expanders são mais inteligentes e oferecem mais funcionalidades. Eles podem agregar a largura de banda de múltiplas portas para fornecer maior desempenho. Eles também podem suportar funcionalidades como zoning e failover.
Funcionamento Interno:
Um SAS expander contém uma matriz de switches que roteiam os sinais entre as portas. Quando um dispositivo SAS envia dados para a controladora, o expander determina qual porta deve receber os dados e os encaminha de acordo. O expander também lida com a arbitragem de barramento, garantindo que apenas um dispositivo transmita dados por vez.
A comunicação entre a controladora SAS e os dispositivos conectados através do expander ocorre através de pacotes SAS. Cada pacote contém informações sobre o dispositivo de origem, o dispositivo de destino e os dados a serem transferidos. O expander examina os cabeçalhos dos pacotes para determinar como roteá-los corretamente.
Largura de Banda e Desempenho:
Um dos trade-offs mais importantes ao usar SAS expanders é a largura de banda. Embora um expander permita conectar mais dispositivos, ele não aumenta a largura de banda total disponível. Todos os dispositivos conectados ao expander compartilham a mesma largura de banda da porta da controladora.
Por exemplo, se você tem uma controladora SAS com uma porta de 12 Gbps e conecta 8 HDDs a um fanout expander, cada HDD terá, na melhor das hipóteses, 1.5 Gbps de largura de banda disponível. Na prática, a largura de banda real será ainda menor devido à sobrecarga do protocolo e à latência do expander.
Cenários de Uso:
- Servidores de Armazenamento de Alta Densidade: Em servidores com muitos HDDs, os SAS expanders são frequentemente usados para conectar todos os discos à controladora.
- JBODs (Just a Bunch Of Disks): Um JBOD é um gabinete que contém múltiplos HDDs, mas não oferece RAID. SAS expanders são usados para conectar os HDDs no JBOD a um servidor.
- Escalabilidade: Se você precisa adicionar mais capacidade de armazenamento a um servidor existente, um SAS expander pode ser uma maneira fácil e econômica de fazer isso.
- Backplanes: Muitos servidores usam backplanes SAS que incorporam expanders para simplificar o cabeamento e a conexão dos discos.
Trade-offs:
- Largura de Banda Compartilhada: Como mencionado anteriormente, todos os dispositivos conectados a um expander compartilham a mesma largura de banda. Isso pode levar a gargalos de desempenho se muitos dispositivos estiverem acessando dados simultaneamente.
- Latência: A adição de um expander introduz latência adicional na comunicação entre a controladora e os dispositivos. Essa latência pode ser insignificante para algumas aplicações, mas pode ser perceptível para outras.
- Complexidade: A configuração e o gerenciamento de SAS expanders podem ser mais complexos do que a conexão direta de dispositivos à controladora.
- Custo: Embora os SAS expanders sejam geralmente mais baratos do que a compra de controladoras adicionais, eles ainda representam um custo adicional.
- Single Point of Failure: Se o expander falhar, todos os dispositivos conectados a ele ficarão inacessíveis.
Diagnóstico/Hands-on:
Quando você está tendo problemas com um sistema que usa SAS expanders, aqui estão algumas coisas para verificar:
- Verifique a compatibilidade: Certifique-se de que o SAS expander é compatível com sua controladora SAS e os dispositivos conectados. Consulte a documentação do fabricante para obter informações sobre compatibilidade.
- Verifique o cabeamento: Certifique-se de que todos os cabos SAS estão conectados corretamente e que não estão danificados. Cabos soltos ou danificados podem causar problemas de conectividade.
- Verifique a alimentação: Certifique-se de que o SAS expander está recebendo energia suficiente. Alguns expanders requerem uma fonte de alimentação separada.
- Verifique os logs: Examine os logs do sistema e da controladora SAS para procurar erros ou avisos relacionados ao expander.
- Atualize o firmware: Certifique-se de que o firmware do SAS expander e da controladora SAS estão atualizados. Novas versões de firmware podem corrigir bugs e melhorar o desempenho.
- Teste os dispositivos individualmente: Se você suspeitar que um dispositivo específico está causando problemas, tente conectá-lo diretamente à controladora SAS para ver se o problema persiste.
- Monitore o desempenho: Use ferramentas de monitoramento de desempenho para monitorar a largura de banda e a latência dos dispositivos conectados ao expander. Isso pode ajudá-lo a identificar gargalos de desempenho.
Exemplo de como listar os dispositivos SAS conectados em Linux usando sg_map:
sg_map -i
Isso listará todos os dispositivos SCSI (incluindo SAS) detectados pelo sistema, juntamente com seus respectivos nomes de dispositivo. Você pode então usar ferramentas como smartctl para obter informações detalhadas sobre cada dispositivo.
Exemplo de como obter informações SMART de um disco SAS:
smartctl -a /dev/sda
Resumo Prático:
SAS expanders são uma ferramenta útil para conectar múltiplos dispositivos SAS a uma única controladora. Eles são particularmente úteis em servidores de armazenamento de alta densidade e JBODs. No entanto, é importante estar ciente dos trade-offs, como a largura de banda compartilhada e a latência adicional. Ao diagnosticar problemas, verifique a compatibilidade, o cabeamento, a alimentação, os logs e o firmware. Monitore o desempenho para identificar gargalos e otimizar a configuração.
Quando fazem sentido:
- Você precisa conectar mais discos do que o número de portas disponíveis na sua controladora.
- Você está construindo um servidor de armazenamento de alta densidade.
- Você precisa adicionar capacidade de armazenamento a um servidor existente de forma econômica.
- O desempenho não é a principal prioridade (ou você tem poucos acessos simultâneos aos discos).
Quando não fazem sentido:
- Você precisa de desempenho máximo para todos os discos (por exemplo, um banco de dados OLTP de alto desempenho).
- Você pode facilmente adicionar mais controladoras SAS ao sistema.
- O custo de um expander é comparável ao de uma controladora adicional com mais portas.
Espero que este guia detalhado tenha sido útil!
Sarah 'The Backup' Connor
Gerente de Recuperação de Desastres
Seus dados não estão seguros até que ela diga que estão. Especialista em estratégias de backup imutável e RPO/RTO.