Há uma chance de seus discos serem apenas concatenados em um grande volume. É a solução mais simples quando se trata de JBOD. Se apenas o pessoal do hardware seguisse o princípio do KISS , você não terá problemas para acessar / descarregar os dados com software em vez de hardware.
No Linux, a ferramenta adequada é dmsetup
, mas se você deseja despejar os discos em apenas uma imagem (ou outro disco), o simples cat
pode ser suficiente.
Investigação
Primeiro, você precisa saber a ordem original dos discos no JBOD. Deve ser fácil identificar o primeiro disco; a parte complicada é pedir o resto deles. No seu caso, onde existem dois HDs, você não deve ter problemas. O primeiro disco possui uma tabela de partição MBR válida ou uma GPT válida (primária, mas não a secundária) que descreve partições no JBOD inteiro . A menos que você tenha usado seu JBOD sem nenhuma tabela de partição, esse método funcionará. Verifique seus discos gdisk -l
e identifique o primeiro.
Preparação
No meu exemplo a ordem correta é /dev/sdb
, /dev/sdc
. Altere as definições de variáveis abaixo para suas necessidades.
device1=/dev/sdb
device2=/dev/sdc
Dessa forma, você pode usar os comandos do Bash a seguir, sem nenhuma alteração.
Para despejar os discos em uma imagem, isso deve ser suficiente (nota: a partir de agora você pode precisar sudo
):
cat $device1 $device2 > image.raw
É necessária mais preparação se você realmente deseja trabalhar com o JBOD. Você precisa armazenar os tamanhos dos seus dispositivos em setores de 512 bytes. O comando para recuperar o tamanho é como blockdev --getsz /dev/sdX
, de modo
size1=`blockdev --getsz $device1`
size2=`blockdev --getsz $device2`
Confirme se echo $size1 $size2
você tem dois números. (Verificação de integridade: se você os multiplicar por 512, deverá obter o tamanho de seus discos.)
Criação de dispositivo mapeado
É hora de criar um dispositivo virtual concatenado. O seguinte trecho de código usa aqui a sintaxe do documento para facilitar a leitura. Pode ser necessário ajustá-lo se você não usar o Bash. Por outro lado, com o Bash, ele deve funcionar apenas colando no terminal.
dmsetup create mydevice << EOF
0 $size1 linear $device1 0
$size1 $size2 linear $device2 0
EOF
Nota mydevice
é um nome arbitrário. A segunda e a terceira linha criam um mapa de dispositivos para dmsetup
. Consulte para man dmsetup
saber mais.
Agora você deve ter /dev/mapper/mydevice
disponível e pronto para usar; é o seu JBOD. (Não tenho 100% de certeza de que toda implementação de dmsetup
nós cria /dev/mapper/
; no entanto, mydevice
deve aparecer em algum lugar.) Trabalhe com ele como em qualquer outro dispositivo.
Montagem
Leia minha outra resposta . Toda a seção de montagem nela se aplica ao seu gabinete.
Limpeza
Para destruir /dev/mapper/mydevice
:
dmsetup remove /dev/mapper/mydevice
Claro que você deve umount
primeiro suas partições.