Estou curioso para saber como o conceito de partições (e tabelas de partição) coexiste com o conceito de matrizes RAID. Aqui está meu entendimento atual (corrija-me se estiver errado em algum lugar):
Um disco rígido físico pode ser particionado em vários segmentos. Uma tabela de partição fica no início do espaço em disco para descrever como ele é particionado. Existem vários tipos de tabelas de partição (MBR, GPT, ...)
Uma matriz RAID é um único "volume físico" composto por vários discos rígidos (ou seja, uma matriz). Para o sistema operacional, isso aparece como um único dispositivo físico. Além disso, esta matriz RAID pode ser particionada como um todo.
Então, minha pergunta - se você adicionar discos físicos a um controlador RAID, esse controlador RAID sequestrará automaticamente cada disco físico e explodirá/reescreverá uma única tabela de partição de disco de forma que controle todo o dispositivo? Ou os controladores RAID estão conscientes do fato de que unidades individuais podem ser particionadas?
Normalmente, um controlador RAID de hardware não tem conhecimento de qualquer particionamento no disco - ele assume que, se você adicionar um disco ao array, ele possuirá esse disco em sua totalidade e gravará suas próprias estruturas de controle (possivelmente proprietárias) onde desejar. Ele não necessariamente adiciona um disco inserido em uma matriz - você pode ter várias matrizes definidas em um controlador de hardware, por exemplo, e teria que selecionar manualmente em qual matriz o novo disco vai - para que você possa ter discos únicos independentes em muitos controladores RAID de hardware. (Acho que você poderia pensar neles como matrizes RAID0 de unidade única.) Como o controlador RAID de hardware fica entre o hardware da unidade física e o nível mais baixo do sistema operacional, ele não saberá qual esquema de particionamento o sistema operacional escolhe seguir.
Então, o controlador eliminará qualquer particionamento que você configurou? Sim, mas não automaticamente; com todos os controladores que já usei, o particionamento no disco permanecerá lá até que você diga manualmente ao controlador para adicionar o disco a uma matriz existente. Os controladores RAID estão conscientes do fato de que unidades individuais podem ser particionadas? Não, eles não são.
Não e não. A maioria deles não se importa com o conteúdo do disco, exceto com seus superblocos RAID. Eles não interpretam tabelas de partição; a tabela de partição não é diferente do RAID e de outros dados, e isso acontece nas áreas de dados da matriz RAID.
Eles se preocupam com o fato de que, se os dados forem gravados em, digamos, RAID1 de dois discos, eles serão gravados em ambos, se forem lidos - lidos em qualquer um deles, e se houver um problema, a leitura será redirecionada para outro.
Se o disco contiver dados, eles poderão ser apagados (por "inicialização") ou retidos durante a criação do array, você pode escolher qualquer uma das formas. Se você mantiver, uma vez que o disco virtual teria um tamanho diferente do dispositivo bruto (um pouco menor para RAID1 de 2 discos ou quase duas vezes maior para RAID0 de dois discos, etc.) do que os discos físicos, a tabela de partição poderá se tornar inválida (isso se aplica principalmente ao GPT). Se os discos tiverem dados diferentes e você optar por não apagar a área de dados, qual deles será lido será decidido aleatoriamente, e a verificação do RAID revelará e relatará esta situação, sem dúvida, muito indesejável. Portanto, você só deve optar por não apagar se tiver certeza de que os discos contêm os mesmos dados/sincronizados (em particular, eles são novos e preenchidos com zeros e você está construindo RAID0 ou RAID1; para RAID5 e 6 você deve apagar/inicializar novos , já que seus dados de paridade não são zero quando a matriz é zerada).
Estendendo as outras respostas: importante é ver o que é um disco.
Um disco é um conjunto de blocos de dados que podemos ler e escrever.
Isso é tudo e nada mais. Qualquer coisa além disso é apenas uma fonte de problemas.
Nada nos obriga a ter uma tabela de partições, qualquer formato de tabela de partições, no disco e em muitos casos não é.
Ter tabela de partições e partições já é uma abstração: ter várias coisas semelhantes a discos (partições) em um único disco físico.
Raid não precisa de tudo isso. Poderia, e seria imaginável algum controlador de ataque de pesadelo, cujo comportamento é afetado por uma tabela de partição dos nós filhos, esperançosamente, nenhum de nós jamais precisará lidar com tal coisa.
Um RAID de hardware tradicional é independente do sistema de arquivos e funciona no nível do bloco. Ele apresenta seu conjunto ao sistema operacional como um único dispositivo, que pode então ser particionado e formatado.
Quando você adiciona um disco, o controlador grava dados nele de acordo com o esquema do array, geralmente gravando nos discos em uma faixa de 128 a 256 KB de largura. Essa faixa contém a tabela de partições, as próprias partições, tudo. No que diz respeito ao sistema operacional, ele está lidando com um único disco; no que diz respeito ao controlador RAID, ele está apenas distribuindo dados pelos discos e não se importa com o que são esses dados.