ALTA DISPONIBILIDADE, PROTEÇÃO DE DADOS E INTEGRIDADE DE DADOS NA ARQUITETURA XTREMIO

Documentos relacionados
EMC SYMMETRIX VMAX 10K

Backup e Restauração Banco de Dados. Evandro Deliberal

Sumário. Introdução ao Armazenamento e Gerenciamento de Informações 25. Parte I Sistema de Armazenamento 23

REDEFINA A SIMPLICIDADE PRINCIPAIS MOTIVOS: EMC VSPEX BLUE PARA AMBIENTES VIRTUALIZADOS

Lista - RAID. c) Redundância d) Capacidade

Evandro Deliberal Aula 04

Copyright 2012 EMC Corporation. Todos os direitos reservados.

Sistemas Operacionais. Sistema de entrada e Saída

Rápida. Sólida. Impressionante SAS SSD

Rápida. Sólida. Impressionante SAS SSD

DELL EMC XTREMIO X2: ARRAY TOTALMENTE FLASH DE ÚLTIMA GERAÇÃO

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

VISÃO GERAL E RUMOS FUTUROS DO NAS DE SCALE- OUT DO ISILON. Copyright 2013 EMC Corporation. Todos os direitos reservados.

Servidor. Servidor rack. Servidor de blade

POR QUE A EMC PARA ORACLE LIFECYCLE MANAGEMENT

Organização e Arquitetura de Computadores I

BACKUP ALTO DESEMPENHO E CAPACIDADE DE ARMAZENAMENTO EM TEMPO REAL APPLIANCE DE BACKUP EM DISCO SOLUÇÃO DE BACKUP ARQUITETURA E FUNCIONALIDADES

ADVANCED CUSTOMER SERVICES PARA SUN ORACLE EXADATA

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

Informe técnico: Proteção de dados Opções do Veritas NetBackup 6.5 Plataforma do Veritas NetBackup - Proteção de dados de próxima geração

Capítulo 1: Introdução às redes comutadas

RAID. Redundant Array of Independent Disks

PLANO DE CONTINGÊNCIA E CONTINUIDADE DOS NEGÓCIOS

Enterprise Networks. A seguir, vamos apresentar um resumo dos principais conceitos associados às redes empresariais.

Barramento. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais. Entrada/Saída

FLASHARRAY//M Transformação de negócios e TI em 3U

Rápida. Sólida. Impressionante. Nytro 3000 SAS SSD

REDEFINA GUIA DE 15 MINUTOS OFEREÇA MAIS VALOR POR UM CUSTO MENOR COM O ARRAY TOTALMENTE FLASH DO XTREMIO

BD II (SI 587) Backup de Banco de Dados. Josenildo Silva.

Arcserve Unified Data Protection Resumo da solução de virtualização

MongoDB e EMC XtremIO

XtremIO DATA PROTECTION (XDP)

Backup e Recuperação Guia do Usuário

INFORMÁTICA BÁSICA HARDWARE: COMPONENTES BÁSICOS E FUNCIONAMENTO.

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Arquitetura Fluid Data TM da Dell

Marilda Ferrari Mendes Giafarov Sidinei Donisete Marin

Sistema Operacionais II. Aula: Virtualização

Virtualização do System302 em ambiente VMWARE

Bruno Antunes da Silva UFSCar - Sorocaba

Entrada e Saída e Dispositivos

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Organização e Arquitetura de Computadores I

Nuvem e Virtualização Redes Programáveis

Processamento Paralelo

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistemas de Entrada e Saída

Arquitetura de Computadores. Infraestrutura de TI: Hardware

Arquitetura e Organização de Computadores

Gerência de Dispositivos. Adão de Melo Neto

EMC SYMMETRIX VMAX 20K

HARDWARE. Givanaldo Rocha

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

SISTEMA DE PISTA FUSION. Conheça a nova face do. controle de pista.

Sistemas de arquivos Discos

Organização de Computadores

Designing Data Intensive Applications

O que é um sistema distribuído?

Serviço de Instalação e Inicialização da HPE MSA Family

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Pensando rápido: O backup mais rápido do mundo agora também arquiva

Comunicação de Dados II

DICENTIS Conference System

VIRTUALIZAÇÃO DE SERVIDORES - HYPER-V E SYSTEM CENTER

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

SISTEMAS EMC DATA DOMAIN

Guia de recursos: produtividade de workstations

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira

Introdução aos Sistemas Operacionais

Proposta Comercial. Produto: Cloud OpenStack


Gestão de Segurança da Informação. Interpretação da norma NBR ISO/IEC 27001:2006. Curso e Learning Sistema de

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Backup e Recuperação Guia do Usuário

Merecem atenção por serem o principal dispositivo de armazenamento. Cada disco possui trilhas, que por sua vez são divididas em setores

HP Sure Start com detecção de invasão em tempo de execução

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

ENCLOSURES DE EXPANSÃO DELL STORAGE SÉRIE SC

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Características de Sistemas Distribuídos

Sistemas Distribuídos

Características de Sistemas Distribuídos

Aula 05. Fundamentos de Hardware e Software. Prof. Dr. Dilermando Piva Jr.

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Virtualização com Arcserve Unified Data Protection

POLÍTICA DE SEGURANÇA DA INFORMAÇÃO PÚBLICA

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Rede de computadores Servidor. Professor Carlos Muniz

Rápida. Sólida. Impressionante. Nytro XF1440 NVMe SSD

Notas sobre a Versão do Controlador de arquivos para HP 3PAR StoreServ

DISCO MAGNÉTICO Cabeçote Trilha

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Prof. Carlos Messani

Setembro de P90050

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Transcrição:

White paper ALTA DISPONIBILIDADE, PROTEÇÃO DE DADOS E INTEGRIDADE DE DADOS NA ARQUITETURA XTREMIO Resumo Uma das principais funções de um sistema de armazenamento de nível corporativo é armazenar dados de maneira segura e confiável. O sistema de armazenamento precisa oferecer acesso contínuo e ininterrupto aos dados, atender a requisitos rigorosos de desempenho e fornecer função avançada para dinamizar operações e simplificar o gerenciamento de dados. Este white paper define a alta disponibilidade, a proteção de dados e a integridade de dados, e analisa como o projeto exclusivo de hardware e software do XtremIO foi bemsucedido em permitir que ele ultrapasse 99,999% de tempo de funcionamento e resiliência contra falhas. Este documento também detalha o monitoramento, os níveis de redundância, as verificações de integridade e a incrível flexibilidade arquitetônica que foram projetados para manter o desempenho do sistema e a disponibilidade dos dados com ajustes automáticos em caso de falhas. Abril de 2015

Copyright 2015 EMC Corporation. Todos os direitos reservados. A EMC assegura que as informações apresentadas neste documento estão corretas na data da publicação. As informações estão sujeitas a alterações sem prévio aviso. As informações nesta publicação são fornecidas no estado em que se encontram. A EMC Corporation não garante nenhum tipo de informação contida nesta publicação, assim como se isenta de garantias de comercialização ou adequação de um produto a um propósito específico. O uso, a cópia e a distribuição de qualquer software da EMC descrito nesta publicação exigem uma licença de software. Para uma lista mais atualizada de produtos da EMC, consulte Produtos no site brazil.emc.com. EMC2, EMC, o logotipo da EMC e o logotipo da RSA são marcas registradas ou marcas comerciais da EMC Corporation nos Estados Unidos e em outros países. VMware é uma marca registrada da VMware, Inc. nos Estados Unidos e/ou em outras jurisdições. Todas as outras marcas comerciais aqui utilizadas pertencem a seus respectivos proprietários. Copyright 2014 EMC Corporation. Todos os direitos reservados. Publicado no Brasil. Número da peça H13693-01 (Rev. 02) 2

Índice Resumo executivo... 4 Introdução... 5 Público-alvo... 5 Alta disponibilidade... 6 Integridade dos dados... 7 Arquitetura do XtremIO... 8 Arquitetura de hardware... 8 Arquitetura de software... 11 Módulos de infraestrutura... 11 Módulo SYM... 11 Módulo gerenciador de plataforma... 12 Módulos de I/O... 13 Módulo de roteamento... 13 Módulo de controle... 13 Módulo de dados... 14 Reinicialização dos módulos... 14 Fluxo de I/O... 15 Registro distribuído seguro... 16 Módulos independentes de software e hardware... 18 Redundância de conectividade... 19 Verificação completa... 21 Verificação de hardware... 21 Identificador criptográfico de dados... 22 Caminhos separados de comunicação... 22 Prevenção, detecção e contenção de falhas... 23 Arquitetura orientada a serviços... 23 Detecção de falhas... 23 Correção avançada... 24 Upgrades não disruptivos... 25 Upgrades do XtremIO OS (XIOS)... 25 Upgrades de componentes de firmware e do kernel Linux... 25 Expansão de cluster online... 25 Capacidade de recuperação do sistema... 26 Perda de comunicação do XMS... 26 Perda de comunicação entre as controladoras de armazenamento... 27 Conclusão... 28 Como saber mais... 28 3

Resumo executivo Um dos principais objetivos de um sistema de armazenamento corporativo é armazenar dados de maneira segura e confiável. O sistema de armazenamento precisa oferecer acesso contínuo e ininterrupto aos dados, atender a requisitos rigorosos de desempenho e fornecer função avançada para dinamizar operações e simplificar o gerenciamento de dados. Um sistema de armazenamento corporativo precisa fornecer os mais altos níveis de resiliência sem ter um ponto único de falha ao mesmo tempo em que deve proteger dados durante praticamente qualquer tipo de falha imaginável. O sistema também deve fornecer altos níveis de serviço frente a falhas de componentes. Mesmo sistemas especializados de armazenamento se baseiam em software e em componentes computacionais de aplicação geral que podem falhar. Algumas falhas podem ser imediatamente visíveis, como uma falha de um disco ou SSD (Solid State Drive). Outras podem ser sutis, como a ausência recursos de memória suficientes, resultando em problemas de desempenho. Para garantir uma alta disponibilidade e integridade de dados em tais falhas, os melhores sistemas de armazenamento têm uma arquitetura que mantém o fluxo de I/O enquanto a proteção de dados não estiver em risco, além de incluir várias verificações da integridade dos dados, que geralmente são otimizadas para desempenho do sistema. Este white paper define a alta disponibilidade, a proteção de dados e a integridade de dados, e analisa como o projeto exclusivo de hardware e software do XtremIO ultrapassa 99,999% de tempo de funcionamento e resiliência contra falhas. Este documento também detalha o monitoramento, os níveis de redundância, as verificações de integridade e a incrível flexibilidade arquitetônica que foram projetados para manter o desempenho do sistema e a disponibilidade dos dados com ajustes automáticos em caso de falhas. 4

Introdução A arquitetura do sistema XtremIO foi completamente projetada para oferecer disponibilidade contínua. O array não tem um ponto único de falha, e é construído com proteção de nível corporativo, permitindo que os dados sobrevivam à maioria dos eventos, exceto os mais catastróficos. A combinação de um projeto scale-out com a arquitetura de software modular e orientada a serviços permite que o XtremIO opere como um sistema unificado, com a capacidade de adaptar módulos independentes em casos de falhas inesperadas do hardware. Com mais de 1.000 clientes em algumas das cargas de trabalho empresariais mais exigentes, o XtremIO conta com um registro comprovado de confiabilidade acima de 99,999%, que aumenta para 99,9999% quando combinado com o EMC VPLEX. A combinação de um projeto scale-out com uma arquitetura de software modular e orientada a serviços permite que vários X-Bricks do XtremIO operem como um sistema único, com a capacidade de adaptar módulos independentes em casos de falhas inesperadas do hardware. Público-alvo Este white paper foi concebido para clientes da EMC, consultores técnicos, parceiros e membros da EMC e parceiros da comunidade de professional services que têm interesse em aprender mais sobre a arquitetura do XtremIO para obter alta disponibilidade, integridade de dados e proteção de dados. 5

Alta disponibilidade A alta disponibilidade é uma abordagem para projetos de sistema que garante que o serviço seja oferecido continuamente e com o nível de desempenho esperado. Os usuários querem que seus aplicativos estejam continuamente disponíveis. Para alcançar esse objetivo, é necessário um sistema de armazenamento altamente disponível. Um bom projeto para alta disponibilidade é o que tem redundância suficiente para evitar que qualquer ponto único de falha cause indisponibilidade de dados. Ele também deve oferecer redundância suficiente para proteger contra várias falhas simultâneas. Os sistemas de armazenamento corporativo também precisam garantir que falhas, inclusive as mais improváveis, não resultem em perda ou corrupção de dados físicos. Portanto, os sistemas de armazenamento corporativo precisam ter altos níveis de detecção de falha. Eles devem ser capazes de recuperar um componente com defeito de maneira rápida e automática, ou retornar a um estado redundante e equilibrado ao alterar a alocação de recursos. Por exemplo, caso duas controladoras de array atendam dados e uma delas falhe, o sistema precisa conseguir redirecionar o quanto antes o I/O por meio da controladora restante. Há dois tipos de redundância: a redundância passiva e a redundância ativa. A redundância passiva fornece componentes de acesso que ficam ociosos e só entram em operação caso o componente primário apresente uma falha. Dois exemplos de redundância passiva em sistemas de armazenamento corporativo são projetos de controladora ativa/passiva (no qual uma controladora atende o I/O e a outra não atende o I/O a menos que a controladora primária apresente falha) e drives hot spare, que são drives sobressalentes (dentro do sistema) a postos para serem usados em caso de falha do outro drive. De modo geral, um projeto passivo desperdiça recursos e custos por ter hardware adicional que raramente é usado, mas mesmo assim faz parte do sistema. Um projeto de redundância ativa mantém a atividade em todos os componentes do sistema e equilibra todos eles da melhor maneira possível, alcançando os mais altos níveis de utilização de recursos e os menores níveis de impacto mediante a falha de qualquer componente. Ter um sistema de redundância ativa é altamente desejável. Embora um sistema de armazenamento sempre deva manter disponibilidade frente a qualquer falha única, os melhores projetos de sistema não perdem dados, mesmo que enfrentem falhas duplas simultaneamente. 6

Integridade dos dados A principal função de um sistema de armazenamento corporativo é armazenar dados do usuário com segurança. Quando um host lê dados, o sistema de armazenamento precisa fornecer corretamente os dados armazenados no local solicitado. A precisão dos dados precisa ser validada pelo sistema de armazenamento mediante o recebimento dos mesmos, e também durante sua passagem pelo sistema, até que os dados sejam gravados na mídia de armazenamento de back-end (verificação completa). Para verificar se os dados estão corretos durante uma leitura, o sistema precisa criar um identificador, que se baseia nos dados armazenados, e verificá-lo frequentemente sempre que ler tais dados. O identificador garante que os dados não mudaram enquanto estavam em repouso ou em trânsito. De maneira ideal, o sistema de armazenamento deve usar locais independentes para os dados e para o identificador deles. Isso reduz a probabilidade de que qualquer componente individual afete os dados e o identificador de maneira semelhante, o que poderia resultar em uma indicação falsa de que os dados estão íntegros quando eles não estão. O pior que um sistema de armazenamento pode fazer é fornecer dados corrompidos para o host enquanto indica que eles são dados íntegros. 7

Arquitetura do XtremIO Arquitetura de hardware O principal componente básico do XtremIO é um X-Brick. Um X-Brick é um componente básico ativo-ativo altamente disponível, com duas controladoras de armazenamento (nós) independentes e tolerantes a falhas. Os X-Bricks podem ser usados em cluster para criar um grande sistema scale-out que cresce linearmente em termos de desempenho e capacidade de IOPS (Input/Output per Second) e de largura de banda conforme mais X-Bricks são adicionados. Um X-Brick não tem um ponto único de falha, permitindo assim que os clusters XtremIO sejam inicialmente estabelecidos usando apenas um só X-Brick. Cada X-Brick contém duas controladoras de armazenamento independentes e uma gaveta de disk array com 25 SSDs (Solid State Drives). A gaveta de disk array tem duas controladoras SAS (Serial Attached SCSI) com conexões duplas para cada controladora de armazenamento. Cada cluster XtremIO tem no mínimo a assistência de duas BBUs (Battery Backup Units, unidades de bateria reserva) para ajudar a fixar dados não gravados no armazenamento permanente em casos de falta de energia. Todo o array XtremIO é fabricado usando componentes padrão (p. ex., servidores x86, SSDs de modelo padrão e placas de interface produzidas em série), sem qualquer tipo de hardware exclusivo. Essa combinação de componentes permite que o XtremIO tire proveito do melhor que é oferecido por fornecedores de alta qualidade e se beneficie dos avanços gerais alcançados pelos fornecedores. Figura 1. Hardware em cluster do XtremIO com um único X-Brick 8

Cada controladora de armazenamento e gaveta Disk Array Enclosure do XtremIO está equipada com fontes de alimentação duplas, e cada uma delas é alimentada a partir de dois circuitos elétricos independentes (de acordo com as práticas recomendadas de instalação do XtremIO). Figura 2. Diagrama do bloco lógico de hardware do XtremIO com um único X-Brick Um cluster com mais de um X-Brick vem equipado com switches InfiniBand duplos. Os switches InfiniBand duplos são necessários para redundância, e portanto, estão conectados a dois circuitos elétricos independentes. Cada controladora de armazenamento está conectada a ambos os switches InfiniBand. Os switches InfiniBand também estão conectados entre si para oferecer maiores níveis de largura de banda e redundância. Figura 3. Hardware do XtremIO com dois X-Bricks 9

Figura 4. Diagrama do bloco lógico de hardware do XtremIO com dois X-Bricks 10

Arquitetura de software A arquitetura de software do XtremIO permite que qualquer componente de software seja executado em qualquer controladora de armazenamento no cluster. Esse recurso possibilita operações contínuas mesmo que ocorra qualquer falha de hardware. Os componentes de software no XtremIO são chamados de Módulos, e todos os Módulos do XtremIO são executados no espaço do usuário. O Linux fornece o kernel básico. O ambiente operacional exclusivo, chamado XtremIO OS (XIOS), fornece agendamento, sistema de mensagens e utilitários especiais para os módulos XtremIO. Há seis tipos principais de módulos no sistema, e várias instâncias de cada um deles podem estar em execução no sistema de maneira independente. Três tipos de módulos são módulos de infraestrutura responsáveis por gerenciamento de todo o sistema, disponibilidade e serviços para outros módulos. Os outros três tipos de módulos são módulos de I/O, que são responsáveis por serviços de dados com a comunicação do array e do host. Módulos de infraestrutura Módulo SYM O módulo SYM (System-Wide Management, gerenciamento de todo o sistema) fornece uma visão completa dos componentes de hardware e software. Ele é responsável pela disponibilidade do sistema e inicia qualquer mudança na configuração do sistema para alcançar o máximo de disponibilidade e redundância. O módulo SYM decide quais módulos devem ser executados em qual controladora de armazenamento, inicia failovers de propriedade de dados de uma controladora de armazenamento para outra, e inicia reconstruções mediante falhas de SSD. Somente um módulo SYM é a entidade ativa de gerenciamento, e a única entidade que toma decisões em todo o sistema em qualquer point-in-time único. Caso o componente que esteja executando o módulo SYM ativo apresente falha, outro módulo SYM entra rapidamente em atividade e assume o comando. Uma lógica adicional de software é executada em cada controladora de armazenamento. Essa lógica adicional é responsável por verificar se somente um SYM está ativo no sistema, um processo simples e que elimina a possibilidade de não existir um módulo SYM em execução. 11

Figura 5. Diagrama do bloco de software da controladora de armazenamento do XtremIO Módulo gerenciador de plataforma Cada controladora de armazenamento tem um módulo gerenciador de plataforma em execução. O módulo gerenciador de plataforma é responsável por todas as atividades na controladora de armazenamento. Ele monitora a integridade da controladora de armazenamento e a informa para o SYM. O módulo é responsável por verificar se todos os processos estão sendo executados adequadamente na controladora de armazenamento. Desligamentos e reinicializações de módulos são executados pelo módulo gerenciador de plataforma em nome do módulo SYM. O módulo gerenciador da plataforma informa falhas de hardware para o módulo SYM. Ele também facilita a replicação (registro) de estruturas importantes de dados entre as controladoras de armazenamento. Ele replica as memórias de registro entre as controladoras de armazenamento usando RDMA (Remote Direct Memory Access) por meio do fabric InfiniBand do sistema. A atividade do registro é crucial para a redundância de dados do usuário e de metadados do sistema. O módulo gerenciador da plataforma inicia um desligamento da controladora de armazenamento mediante a detecção de perda de energia e/ou da perda total da comunicação com outras controladoras de armazenamento. 12

Módulos de I/O Os módulos de I/O são responsáveis pelo armazenamento de dados dos hosts e pela recuperação dos dados mediante solicitação. Um módulo de I/O é executado em cada controladora de armazenamento. O SYM determina qual módulo é executado em qual controladora de armazenamento. Cada I/O passa por todos os três tipos de módulos de I/O (roteamento, controle e dados). Módulo de roteamento O módulo de roteamento é a única entidade do sistema que se comunica com o host. Ele aceita comandos SCSI enviados a partir do host e os analisa. O módulo de roteamento é stateless e simplesmente traduz as solicitações em volumes e LBAs (Logical Block Addresses, endereços de bloco lógico). Então o módulo encaminha uma solicitação para o módulo de controle adequado (e controladora de armazenamento) responsável pelo gerenciamento dos LBAs. O módulo de roteamento equilibra automaticamente a carga entre todo o sistema XtremIO em cluster, executando uma função de criação de identificador baseada em conteúdo que resulta na distribuição uniforme dos dados em todos os X- Bricks no sistema. Para obter uma explicação mais detalhada desse processo, consulte o white paper Introdução ao storage array EMC XtremIO Módulo de controle O módulo de controle é responsável por traduzir o LBA em um mapeamento interno do XtremIO. Ele atua como uma camada de virtualização entre o volume SCSI/LBA do host e o local back-end desduplicado do XtremIO. A presença dessa camada de virtualização proporciona a capacidade de implementar com eficiência uma variedade de serviços avançados de dados. Os dados armazenados no XtremIO são endereçáveis de acordo com o conteúdo. O local do array dos dados é determinado de acordo com seu conteúdo. Portanto, ele não se baseia em seu endereço, como acontece com outros produtos de sistema de armazenamento. Os LBAs de cada volume em um array XtremIO estão distribuídos entre vários módulos de controle. 13

Módulo de dados O módulo de dados é responsável por armazenar dados nos SSDs. Ele funciona como um serviço para o módulo de controle, no qual o módulo de controle fornece um identificador do conteúdo e o módulo de dados grava ou lê os dados de acordo com tal identificador. Existem apenas três operações básicas executadas pelo módulo de dados: leitura, gravação e eliminação de um block. O objetivo é manter o módulo com o mais alto nível de simplicidade possível a fim de garantir um projeto robusto e confiável do sistema. O módulo de controle não é solicitado a lidar com a alocação XDP (XtremIO Data Protection). A centralização do esquema XDP no módulo de dados proporciona flexibilidade e eficiência em todo o sistema. O módulo de dados mapeia de maneira uniforme um identificador de conteúdo para um local físico em um SSD da mesma maneira que o módulo de controle mapeia de maneira uniforme um endereço de host para um identificador de conteúdo. Esse processo garante que os dados permaneçam em equilíbrio, não apenas entre todas as controladoras de armazenamento, mas em todos os SSDs no array. Essa camada adicional de tradução também permite que o módulo de dados insira os dados nos SSDs da melhor maneira possível. Mesmo em cenários desafiadores, como os de componentes com defeito, níveis baixos de espaço livre e alta frequência de sobregravação, o XDP é capaz de encontrar locais ideais para armazenar dados no sistema. Para saber mais sobre como o XDP fornece redundância de dados e posicionamento de dados otimizado para flash, consulte o white paper Proteção de dados do EMC XtremIO. Reinicialização dos módulos Como todos os módulos XtremIO são executados no espaço do usuário, o XIOS pode reiniciar rapidamente os módulos conforme necessário. Qualquer falha de software ou comportamento questionável de módulo resulta em uma reinicialização automatizada do módulo. As reinicializações não são disruptivas e normalmente são indetectáveis ao nível de usuário. Esse recurso também serve como base para os NDUs (Non-disruptive Upgrades, upgrade não disruptivo). 14

Fluxo de I/O Inicialmente o I/O do host é recebido no módulo de roteamento (R), que analisa o SCSI. Então o módulo calcula um identificador para os dados e encaminha o I/O para o módulo de controle (C) relevante. O módulo de controle não precisa estar localizado fisicamente na mesma controladora de armazenamento do módulo de roteamento. O módulo de controle traduz a solicitação do host no esquema interno de gerenciamento de dados do XtremIO e encaminha os dados para o módulo de dados (D) adequado. O módulo de dados verifica o identificador e armazena os dados nos SSDs usando o esquema de proteção XDP altamente redundante e otimizado para flash do XtremIO. O caminho de I/O sempre segue exatamente essas mesmas etapas, independentemente do tamanho do cluster do XtremIO. Dessa maneira, a latência permanece consistente, independentemente da dimensão do sistema. Figura 6. Exemplo do fluxo de gravação de I/O do host 15

Registro distribuído seguro Assim como em qualquer projeto de sistema de armazenamento corporativo, o array não somente é responsável por proteger os dados, como também tem seus próprios metadados para operação. É importantíssimo proteger os metadados e manter a coerência. A equipe do XtremIO desenvolveu um mecanismo exclusivo de registro distribuído que é projetado para proteger os metadados importantes de todo o sistema e seus conjuntos internos de dados. Uma cópia dos metadados do array fica armazenada na memória da controladora de armazenamento. Os metadados atualizados são replicados de maneira síncrona pelo RDMA do InfiniBand em modo distribuído para uma ou mais controladoras de armazenamento. Portanto, cada mudança em tempo real é protegida em vários locais. Em um cluster que tem mais de um X-Brick, os dados de registro em cada controladora de armazenamento são protegidos por todas as outras controladoras de armazenamento por meio de um processo distribuído de replicação. O módulo de gerenciamento de todo o sistema gerencia as relações de replicação do registro entre as controladoras de armazenamento e o cluster. Por motivos de resiliência, uma controladora de armazenamento que não for protegida com alimentação por baterias não pode atuar como destino para dados replicados de registro. Se, por qualquer motivo, a controladora de armazenamento não puder gravar os dados de registro em uma controladora de armazenamento diferente, então, como medida final contra falhas, ela vai graválos localmente em seus SSDs. Caso uma controladora de armazenamento falhe, o registro replicado é usado para reconstruir o conteúdo perdido na controladora de armazenamento defeituosa. Todo o conteúdo de registro é transferido periodicamente para armazenamento SSD não volátil. Em caso de falta de energia, as unidades de bateria reserva do sistema viabilizam a execução de tal transferência e também que o cluster realize um desligamento metódico. Quando os metadados são transferidos para SSDs, eles são protegidos pelo XDP, assim como por outras técnicas desenvolvidas para proteção contra falhas de SSD. 16

O registro distribuído protegido oferece ao sistema a capacidade de se recuperar, mesmo no improvável evento catastrófico de perda de comunicação entre todas as controladoras de armazenamento. Cada controladora de armazenamento se torna ums protetora autossustentável de metadados e pode ser religada e reconectada ao sistema assim que as comunicações forem restabelecidas. Devido à importância do registro, o código do mecanismo de registro fica completamente separado de qualquer outro módulo de software. Ele é um módulo de software simples e independente projetado para ser altamente resiliente. Figura 7. Relações de replicação entre as controladoras de armazenamento do cluster 17

Módulos independentes de software e hardware A arquitetura flexível do XtremIO garante que qualquer componente de software possa ser executado em qualquer controladora de armazenamento no sistema. Ter tal flexibilidade proporciona o máximo de disponibilidade e resiliência ao mesmo tempo em que mantém desempenho ideal. Qualquer mudança que ocorra na configuração de hardware altera dinamicamente o número de módulos de software ativos. Essas alterações dinâmicas garantem que todos os recursos disponíveis estejam sendo usados de maneira ideal pelo sistema. Por exemplo, um cluster composto por quatro controladoras de armazenamento tem o dobro de throughput e IOPS (Input/Output per Second) de um cluster com duas controladoras de armazenamento. Outro exemplo é o módulo SYM, que é executado em uma controladora de armazenamento. Em caso de falha de um componente do hardware, o SYM é ativado e executado em uma controladora de armazenamento diferente sem a necessidade de nenhuma intervenção do usuário. Assim que o componente de hardware defeituoso for substituído, o cluster volta rapidamente e automaticamente à sua disponibilidade ideal e ao seu nível de desempenho. Outro fator que permite que o XtremIO movimente recursos é o fato de que todos os módulos de software estão acoplados de maneira livre. Não existe afinidade entre o software e um servidor específico de hardware, assim como não existe afinidade entre instâncias específicas de software. Um módulo de dados pode receber solicitações de qualquer módulo de controle e, dessa maneira, responde às mesmas como uma transação. Não é necessário lembrar de uma transação, e a próxima transação é uma transação distinta. Essa arquitetura é semelhante à SOA (Service Oriented Architecture, arquitetura orientada a serviços). 18

Redundância de conectividade O aspecto de conectividade do XtremIO mantém redundância de comunicação com cada componente do sistema (consulte a Tabela 1 e a Tabela 2). Não é apenas cada componente que tem ao menos dois caminhos para comunicação, a comunicação de gerenciamento também é feita por meio de uma rede separada do fluxo de dados. O I/O do host é executado por meio de portas Fibre Channel ou iscsi, enquanto o gerenciamento do cluster é realizado por meio de portas Ethernet exclusivas para gerenciamento em cada controladora de armazenamento. Esse projeto permite a separação entre os caminhos do controle e do I/O. O monitoramento em uma rede diferente permite correlacionar eventos e o nível de integridade do sistema, independente da carga ou comportamento de I/O. Tabela 1: redundância de conectividade do XtremIO Redundância Cada controladora de armazenamento tem duas portas Fibre Channel. Cada controladora de armazenamento tem duas portas iscsi. Cada controladora de armazenamento tem duas portas InfiniBand. Há dois switches InfiniBand (quando há mais de um X-Brick no sistema). Há dois cabos de interconexão InfiniBand (quando há apenas um X-Brick no sistema). Cada gaveta Disk Array Enclosure (DAE) tem dois módulos de controladora SAS. Cada módulo da controladora SAS na gaveta DAE usa dois cabos SAS. Comentário/prática recomendada Conectar cada porte a um switch SAN diferente. Conectar cada porte a um switch SAN diferente. Cada porta está conectada a um fabric InfiniBand independente, oferecendo tolerância para falhas contra falhas do componente InfiniBand. Cada switch está conectado com todas as controladoras de armazenamento e protege contra falhas do switch InfiniBand. Há caminhos InfiniBand redundantes entre as duas controladoras de armazenamento. A falha de uma controladora SAS não resulta na perda de conectividade entre a DAE e as controladoras de armazenamento. Caminhos SAS redundantes garantem que falhas na porta SAS ou falhas no cabo SAS não resultem em perda do serviço. 19

Tabela 2: impacto de uma falha do XtremIO sobre o serviço Failure Ação Impacto sobre o serviço Porta Fibre Channel ou iscsi Porta InfiniBand Switch InfiniBand Controladora de armazenamento Ethernet Unidades de fonte de alimentação da controladora de armazenamento, DAE e switch InfiniBand Perda de alimentação em um circuito Perda de alimentação nos dois circuitos SSD O software multicaminhos do host usa as portas restantes. O sistema usa a porta InfiniBand restante para transferências de dados de/para as controladoras de armazenamento. O sistema usa o switch InfiniBand restante para transferências internas de dados. A controladora de armazenamento parceira no mesmo X-Brick assume a responsabilidade por todos os dados na DAE. O XMS não consegue se comunicar com uma controladora de armazenamento. O sistema notifica o administrador sobre as falhas. É possível instalar uma unidade reserva de fonte de alimentação sem afetar o serviço. O sistema notifica o administrador sobre a falha. O sistema permanece operacional no circuito secundário e redundante. O sistema executa uma transferência da memória RAM para o armazenamento não volátil e realiza um desligamento metódico. O sistema notifica o administrador. Ocorre a reconstrução automatizada do SSD (para até duas falhas simultâneas de SSD). Sem efeito Sem efeito Sem efeito Sem perda de serviço. Ocorre alguma perda de desempenho, já que há menos capacidade geral de processamento de I/O ativa. Sem efeito sobre o I/O ou o desempenho. As comunicações de caminho de dados do sistema permanecem on-line por meio do InfiniBand. O array não pode ser configurado ou monitorado até o restabelecimento da conectividade. Sem efeito. As fontes de alimentação duplas permitem que os componentes permaneçam on-line. Sem efeito Não há serviço até que a energia seja restabelecida. Há alguma perda de desempenho até a conclusão da reconstrução, dependendo da disponibilidade de espaço e da utilização do array. Arrays menos cheios e menos ocupados apresentam menos impacto de desempenho e reconstruções mais rápidas. 20

Verificação completa Verificação de hardware Um aspecto importante de qualquer sistema de armazenamento é o comprovante de verificação, fornecido em cada etapa do caminho de dados. Os diferentes mecanismos de hardware para a verificação de proteção de dados estão descritos na Tabela 3. Durante transferências de dados entre componentes, o componente de hardware a partir do qual os dados foram enviados gera uma CRC (Cyclic Redundancy Check, verificação de redundância cíclica), que então é verificada pelo receptor. Para dados em repouso (na memória ou no SSD), um ECC e uma CRC são gerados mediante uma gravação na memória, sendo verificados posteriormente mediante uma leitura. Tabela 3: mecanismos de hardware para a verificação de proteção de dados do XtremIO Componente de hardware Transferências de dados Fibre Channel, Ethernet, InfiniBand, PCIe, SAS Dados em repouso na memória Dados em repouso em SSD Tipo de verificação CRC baseado em hardware ECC para DRAM ECC para SSD, CRC para SSD, XtremIO XDP O XtremIO usa servidores x86, placas de interface, componentes InfiniBand e SSDs emlc padrão. Cada um desses componentes inclui etapas altamente estabelecidas e robustas para a verificação de hardware. O EMC XtremIO evita módulos de hardware personalizados no array; hardware personalizado exige níveis significativos de trabalho da engenharia para alcançar os mesmos níveis de resiliência já disponíveis em componentes de padrão corporativo com funcionamento já comprovado. 21

Identificador criptográfico de dados Além de cada componente XtremIO no caminho de dados contar com seu próprio mecanismo de verificação de dados, o XtremIO emprega uma verificação de dados independente que vai muito além do projeto de outros sistemas de armazenamento. Mediante o recebimento de um I/O de um host, o módulo de roteamento (módulo R) do XtremIO calcula um identificador criptográfico exclusivo de dados que se baseia no conteúdo recebido do host. O identificador criptográfico é exclusivo e só pode ser correlacionado com um padrão específico de fragmentos de dados. O identificador criptográfico é aproveitado pelos algoritmos de posicionamento de dados do array que se baseiam em conteúdo, assim como pelo processo de desduplicação em linha. Toda a biblioteca de identificadores é mantida na memória da controladora de armazenamento. O identificador criptográfico de dados é recalculado a partir dos dados de saída e comparado com o identificador original sempre que os dados são lidos por um host. Isso garante que a informação original recebida do host seja armazenada com segurança nos SSDs, não seja alterada inadvertidamente e seja devolvida adequadamente para o host mediante solicitação. Caminhos separados de comunicação As informações calculadas do identificador viajam até o módulo de dados em uma mensagem separada e por meio de um caminho diferente do caminho percorrido pelos seus respectivos dados. Essa separação garante que nenhum componente seja capaz de corromper os dados e o identificador enquanto estiverem em trânsito, evitando corrupção não detectada dos dados. Resumindo, um identificador é calculado mediante a entrada de dados no sistema e então recalculado e comparado em cada leitura do SSD e mediante a transferência de dados para o host. O identificador específico viaja no sistema XtremIO em um caminho separado de seus respectivos dados, oferecendo um método eficiente de verificação independente. 22

Prevenção, detecção e contenção de falhas Arquitetura orientada a serviços O XtremIO evita cenários de falhas em cascata como os que podem ocorrer em sistemas com memória compartilhada. O XtremIO é construído a partir de serviços diferentes que se comunicam entre si. Cada serviço tem seu próprio conjunto de estruturas de dados. Caso exista uma falha em um serviço ou em um conjunto de dados, ela fica restrita a esse serviço/dados. Sistemas de armazenamento com grandes quantidades de memória compartilhada e estruturas de dados são naturalmente mais vulneráveis a erros de software, e por causa disso precisam gastar mais recursos tentando prevenir falhas em cascata. O XtremIO aproveitou desde o início a arquitetura orientada a serviços para construir um sistema dimensionável que é mais robusto que as grandes arquiteturas monolíticas usadas em outros sistemas de armazenamento de alto desempenho. Detecção de falhas O módulo SYM monitora e detecta continuamente falhas de hardware e software no sistema. Ele monitora continuamente controladoras de armazenamento, DAEs, HBAs (Host Bus Adapters) de Fibre Channel, NICs (Network Interface Card, placas de interface da rede) Ethernet, HCAs (Host Channel Adapters) InfiniBand, switches InfiniBand e BBUs. O SYM também monitora continuamente os componentes do software de comunicação de drivers SCSI, drivers de controladora HBA, kernel Linux e da bateria. Cada componente e cada caminho de dados usado no sistema XtremIO tem seu próprio método para a detecção de erros (conforme descrito em Verificação completa na página 21). Por exemplo, os SSDs emlc no XtremIO têm uma CRC de 32 bits propagada em LBA que é usada para detecção de falha de correção em ECC e para correção dinâmica. Os SSDs também estão equipados com correção de 22 bits para cada setor de 512 bytes e RAID-5 baseado em hardware em cada SSD para proteger contra falhas do módulo flash interno. Isso está isolado e é uma adição à tecnologia XDP do XtremIO, e adiciona graus de magnitude, proporcionando uma resiliência maior do que a resiliência normalmente observada nos SSDs MLC (cmlc) para consumo. 23

Correção avançada O SYM reinicia automaticamente componentes defeituosos de software (conforme descrito Módulo de gerenciador de plataforma na página 12) e mediante uma falha de hardware, também pode realocar software para controladoras de armazenamento diferentes. Por exemplo, caso o SYM reconheça que o serviço para o aceite de I/O dos hosts (o módulo R) não está em execução, ele reinicia automaticamente o serviço. Essa capacidade garante o máximo em termos de disponibilidade e níveis otimizados de serviço, sempre. O array XtremIO identifica diferenças inesperadas nos dados resultantes da verificação de identificador executada mediante a leitura do SSD. O XtremIO reconstrói automaticamente os dados ausentes a partir de todas as fontes possíveis mediante a detecção de uma inconsistência desse tipo. Isso pode ser tão simples quando reler os dados no SSD caso o problema seja temporário. Caso o sistema não consiga ler os dados (ou caso o processo de releitura também produza resultados incorretos), o array reconstrói os dados a partir de outros SSDs no grupo de redundância do XDP. Os registros e os metadados no sistema são cruciais para a recuperação de eventos catastróficos. Devido à importância desses conjuntos de dados, os registros são protegidos pelo CRC para cada bloco gravado. 24

Upgrades não disruptivos O XtremIO é projetado e construído para disponibilidade contínua. Ocasionalmente há o fornecimento de novos códigos de firmware para acrescentar funcionalidades, melhorar as funcionalidades e/ou desempenho existentes, e/ou para reparar problemas conhecidos. Existem dois tipos de upgrade: Upgrades do XtremIO OS (XIOS) Upgrades de componentes de firmware e do kernel Linux Os dois tipos de upgrade são executados com o sistema on-line para o host e sem tempo de inatividade. Upgrades do XtremIO OS (XIOS) As atualizações do sistema XtremIO normalmente se limitam ao XIOS e servem apenas para modificar o código executável que está em execução no espaço do usuário. O código do XIOS é atualizado com o carregamento do novo código na memória residente em cada uma das controladoras de armazenamento. Ele também converte instantaneamente todas as controladoras de armazenamento para a execução do novo código. Não há impacto sobre o aplicativo host e o sistema permanece totalmente disponível durante o upgrade. Upgrades de componentes de firmware e do kernel Linux É possível fazer o upgrade de componentes individuais de hardware, um por vez. Por exemplo, um HBA de Fibre Channel pode receber upgrade: basta defini-lo como offline para o host, executar o upgrade do firmware e então redefini-lo como on-line para o host. Assim que o HBA de Fibre Channel HBA estiver on-line, o sistema pode fazer o upgrade do próximo HBA de Fibre Channel. Ao aproveitar os múltiplos caminhos de host em conformidade com as práticas recomendadas do XtremIO, não ocorre nenhum tipo de tempo de inatividade ou indisponibilidade para o host. Isso também é verdade para qualquer outro upgrade de firmware, seja de uma controladora SAS, InfiniBand, firmware SSD ou outro componente de firmware. Em alguns casos, o kernel Linux das controladoras de armazenamento podem precisar de upgrade. Esse upgrade é feito da mesma maneira empregada para o firmware. As controladoras de armazenamento recebem upgrade individualmente, uma por vez, sem impacto sobre a disponibilidade. Expansão de cluster online Quando existe necessidade de mais desempenho ou capacidade, o XtremIO Storage System pode ser redimensionado por meio da adição de X-Bricks. Vários X-Bricks são reunidos por uma rede InfiniBand redundante de alta disponibilidade e baixa latência. Quando o sistema é expandido, os recursos continuam balanceados e os dados do array são distribuídos por todos os X-Bricks para manter um desempenho consistente e níveis de desgaste de flash equivalentes. A expansão do sistema é realizada sem nenhuma necessidade de configuração nem de movimentação manual dos volumes. O XtremIO usa um algoritmo consistente de impressão digital que minimiza os remapeamentos. Um novo X- Brick é adicionado ao esquema interno de balanceamento de carga e apenas os dados existentes relevantes são transferidos para a nova DAE. 25

Capacidade de recuperação do sistema Os processos de desligamento e inicialização do XtremIO são livres de riscos devido ao projeto simples do sistema. Um desligamento é um processo harmonioso que é iniciado em decorrência de uma perda da alimentação externa ou mediante solicitação do usuário. As BBUs contêm energia suficiente para viabilizar dois desligamentos metódicos completos. Assim que o sistema é reativado, ele verifica se as baterias estão carregadas com energia suficiente para viabilizar um desligamento harmonioso completo mediante a perda de energia. Cada controladora de armazenamento é capaz de se desligar enquanto permanece constantemente capaz de manter dados consistente em caso de um evento catastrófico, como a comunicação de um cluster se tornar inadequada (por qualquer motivo), até que a energia seja restaurada. Cada controladora de armazenamento tem dois drives de compartimento local. Mediante a perda de comunicação ou energia, a controladora de armazenamento salva cópias de todos os dados do usuário e dos metadados do sistema. A memória e o registro locais são enviados para os drives de compartimento por meio de dump. Assim que a energia é restaurada e a comunicação é restabelecida, a controladora de armazenamento reconcilia suas informações de registro junto com o resto do sistema. Perda de comunicação do XMS O XMS (XtremIO Management System) é o aplicativo usado para gerenciar o sistema XtremIO. O XMS fornece as interfaces gráfica, de linha de comando e de programação que são necessárias para configurar, provisionar e monitorar o sistema. O sistema é gerenciado por meio das portas Ethernet dedicadas para gerenciamento. Entretanto, o sistema permanece funcional mesmo que a comunicação com o XMS seja perdida. O SYM interno faz parte do array e é executado nas controladoras de armazenamento. O I/O é atendido continuamente, o hardware permanece monitorado e qualquer SSD defeituoso inicia uma reconstrução e volta para redundância total. As únicas atividades que passam por interrupção são qualquer atividade e monitoramento iniciados pelo usuário (como a criação de volumes), mas o I/O de host e os aplicativos do usuário não são afetados. 26

Perda de comunicação entre as controladoras de armazenamento As controladoras de armazenamento do XtremIO trabalham sob uma arquitetura acoplada de maneira livre. Cada controladora de armazenamento funciona como um serviço para as outras controladoras de armazenamento, tudo é orquestrado pelo SYM. Entretanto, cada controladora de armazenamento é uma entidade independente com a capacidade de proteger os dados que armazena e manter consistência quando a comunicação com outras controladoras de armazenamento é perdida. Mediante a perda de comunicação com todas as controladoras de armazenamento, a controladora de armazenamento grava todas as informações de registro e metadados nos dois drives de compartimento localmente redundantes e interrompe seus serviços. Isso é parecido com um procedimento de desligamento de emergência. Quando a comunicação é restabelecida e a controladora de armazenamento volta a fazer parte do sistema, a controladora de armazenamento reconcilia os dados de registro e passa novamente a ser um recurso do sistema. Então o módulo SYM a reintegra novamente no sistema e a usa como um recurso de I/O, armazenamento em cache e dados. No caso de um só X-Brick, a controladora de armazenamento restante continua atendendo o I/O. 27

Conclusão O projeto de hardware e software do sistema XtremIO representa um grande avanço na tecnologia de storage arrays, oferecendo novos recursos para consolidações das cargas de trabalho mais essenciais, como as de bancos de dados, lógica analítica e aplicativos de negócios. Vários níveis orquestrados juntos alcançam alta disponibilidade, integridade de dados e proteção de dados do sistema em todos os componentes do sistema. O hardware oferece redundância para cada conexão de host e caminho para dados em repouso. O ambiente operacional XIOS oferece uma proteção robusta por meio da pilha de software do array, da geração do identificador mediante a entrada de dados, de caminhos separados para dados e metadados, e de um projeto modular de software integrado em uma arquitetura orientada a serviços. Os diferentes módulos de software são executados independentemente e mesmo assim atuam como um sistema unificado. O gerenciamento geral do sistema é coerente, redundante e pode criar instâncias de módulos de software em diferentes componentes de hardware. O XtremIO alcança alta disponibilidade maior que 99,999%, integridade de dados e proteção de dados ao empregar os seguintes recursos: Redundância de hardware para cada componente Identificação exclusiva do conteúdo conforme os dados são gravados Caminhos separados até os SSDs para os dados do usuário e suas respectivas identificações desde a entrada no sistema Registros protegidos contra desligamentos inesperados do sistema, defeitos de componentes e falhas de comunicação Módulos de software com acoplamento de maneira livre que trabalham juntos em uma arquitetura orientada a serviços Gerenciamento redundante centralizado Redundância contra até duas falhas simultâneas de SSD Upgrades não disruptivos do software do sistema Como saber mais Para uma apresentação detalhada sobre os recursos do storage array XtremIO e sobre como o XtremIO melhora consideravelmente o desempenho, a eficiência operacional, a facilidade de uso e o TCO, entre em contato com a XtremIO enviando um e-mail para XtremIO@emc.com. Agendaremos uma reunião particular presencial ou virtual. O XtremIO oferece benefícios em vários ambientes e consolidações de cargas de trabalho mistas, inclusive servidor virtual, nuvem, desktop virtual, banco de dados, lógica analítica e aplicativos de negócios. 28