Como faço para acessar corretamente o software RAID 0 do Windows?

7

Sou um novo usuário do Ubuntu com uma nova instalação e estou ansioso para começar a usá-lo. No entanto, todos os meus dados importantes estão no array RAID 0 do software Windows, e eu preciso que ele fique lá, já que eu também sou o dual boot do Windows. Eu preciso acessar esses dados no Ubuntu, e realmente não consigo fazer nada de verdade até que eu tenha acesso.

Eu já pesquisei esse assunto da melhor forma que pude, e consegui encontrar um post muito útil:

A postagem descreve como fazer com que o Ubuntu veja uma matriz RAID 0 do Windows composta de duas unidades. O comando principal usado é sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2 . De acordo com esse usuário e os outros pôsteres no encadeamento, ele realmente funciona. Isso é ótimo.

Ainda não tentei seguir estas instruções. Por quê? A postagem inclui um aviso sobre como você não deve escrever nela se digitar o tamanho errado do bloco; É compreensível como isso poderia causar problemas. Minha preocupação é que minha configuração é diferente do exemplo deles, e não tenho certeza se os comandos devem ser inseridos exatamente da mesma maneira para a minha configuração. Eu tenho medo de quebrá-lo fazendo errado e, portanto, desejo obter o conselho de alguém mais experiente.

É assim que minha configuração difere do exemplo deles:

  1. Eu tenho três unidades de 1 TB, não duas unidades (de qualquer tamanho que elas usaram).
  2. Tenho duas partições RAID 0 espalhadas nessas três unidades: uma de 500 GB e 2,3 TB. Isso significa que NÃO preciso usar os discos completos ao criar a matriz RAID, mas usar apenas parte deles.
  3. Eu usei um tamanho de bloco não padrão para pelo menos uma das minhas partições RAID 0 quando as configurei anos atrás. Eu não tenho idéia se esse tamanho de bloco é o mesmo que o tamanho do bloco que eles mencionam. Minha partição de 500 GB tem um tamanho de bloco de 4 kb (4096 bytes por cluster) e minha partição de 2,3 TB tem um tamanho de bloco de 64 kb (65536 bytes por cluster).

A saída relevante de sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL (apenas para essas três unidades RAID0) é:

NAME   FSTYPE   SIZE MOUNTPOINT            LABEL
sdb           931.5G            
├─sdb1            1M            
├─sdb2          127M            
└─sdb3        931.4G            
sdc           931.5G            
├─sdc1            1M            
├─sdc2          127M            
└─sdc3        931.4G            
sdd           931.5G            
├─sdd1        166.7G            
└─sdd2        764.7G 

A saída relevante de cat /proc/partitions (apenas para essas três unidades RAID0) é:

8       16  976762584 sdb
8       17       1024 sdb1
8       18     130048 sdb2
8       19  976631478 sdb3
8       32  976762584 sdc
8       33       1024 sdc1
8       34     130048 sdc2
8       35  976631478 sdc3
8       48  976762584 sdd
8       49  174763008 sdd1
8       50  801865728 sdd2

O programa "Discos" no Ubuntu exibe as seguintes partições para minhas unidades:

/dev/sdb:   GUID Partition Table .
/dev/sdb1:  1.0 MB, Microsoft LDM metadata.
/dev/sdb2:  133 MB, Microsoft Reserved.
/dev/sdb3:  1.0 TB, Microsoft LDM data.
/dev/sdc:   GUID Partition Table partitioning.
/dev/sdc1:  1.0 MB, Microsoft LDM metadata.
/dev/sdc2:  133 MB, Microsoft Reserved.
/dev/sdc3:  1.0 TB, Microsoft LDM data.
/dev/sdd:   Master Boot Record partitioning.
/dev/sdd1:  179 GB, Unknown.
/dev/sdd2:  821 GB, Unknown.
/dev/sdd:   136 MB, Unallocated space.

Espero ter fornecido informações suficientes aqui. Então, agora, minha pergunta é: qual é o comando adequado para eu entrar com a minha configuração, para que eu possa acessar as duas partições do Windows RAID 0 do Ubuntu?

Muito obrigado antecipadamente.

    
por Dan 31.12.2014 / 16:50

3 respostas

9

Eu finalmente consegui esse trabalho graças a essa postagem do Stack Overflow: restauração do Windows Span Disks (LDM) com o Linux?

Foi extremamente difícil descobrir essa informação indescritível. Demorou dias pesquisando, e eu acho que eu não estava achando isso porque o post não faz menção ao RAID, então não estava aparecendo nos resultados da minha pesquisa. Definitivamente funciona para o meu software RAID 0 para Windows.

A solução:

A solução é bem simples. Existe uma ferramenta maravilhosa criada especificamente para esse propósito, chamada ldmtool . Ele é capaz de ler e trabalhar com discos dinâmicos do Windows que usam o LDM (Logical Disk Manager). Não é instalado por padrão, mas está incluído nos repositórios do Ubuntu. Tudo o que eu tive que fazer foi executar dois comandos:

sudo apt-get install ldmtool
sudo ldmtool create all

O primeiro comando instala ldmtool e o segundo cria automaticamente mapeamentos de dispositivos para todos os discos dinâmicos do Windows conectados. Esses mapeamentos estão localizados em /dev/mapper/ e podem ser montados manualmente com mount -t ntfs /dev/mapper/mapfilename , mas eu não precisei fazer isso - o Ubuntu os montou para mim automaticamente depois que eu executei os dois comandos acima. Foi tudo o que tive que fazer e consegui acessá-los imediatamente no navegador de arquivos!

A postagem vinculada inclui uma sugestão para fazer isso automaticamente a cada inicialização. Basta abrir o arquivo /etc/init/mountall.conf e adicionar a linha [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true imediatamente antes da linha exec mountall ... perto do final do arquivo.

O crédito total por essa solução vai para Christian Hudon, o cara que postou isso como uma resposta no Stack Overflow. Obrigado!

Para adicionar mais algumas informações, usei outros comandos ldmtool para consultar meus volumes em busca de informações:

sudo ldmtool scan /dev/sdd
[
  "e856a65f-e558-11e1-ae19-bc5ff435f790"
]

sudo ldmtool show diskgroup e856a65f-e558-11e1-ae19-bc5ff435f790
{
  "name" : "Dan-PC-Dg0",
  "guid" : "e856a65f-e558-11e1-ae19-bc5ff435f790",
  "volumes" : [
    "Volume1",
    "Volume2"
  ],
  "disks" : [
    "Disk1",
    "Disk2",
    "Disk3"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume1
{
  "name" : "Volume1",
  "type" : "striped",
  "size" : 1048578048,
  "chunk-size" : 128,
  "hint" : "D:",
  "partitions" : [
    "Disk1-01",
    "Disk2-01",
    "Disk3-01"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume2
{
  "name" : "Volume2",
  "type" : "striped",
  "size" : 4811194368,
  "chunk-size" : 128,
  "hint" : "E:",
  "partitions" : [
    "Disk1-02",
    "Disk2-02",
    "Disk3-02"
  ]
}

Não é necessário executar os comandos acima, pois ldmtool create all faz todo o trabalho necessário para criar os mapeamentos. Eu acabei de incluí-los porque já incluí informações sobre minha configuração na pergunta, portanto, essas informações podem ser úteis para qualquer pessoa que se deparar com essa postagem posteriormente. Em particular, podemos ver que, de acordo com ldmtool , ambos os meus volumes dinâmicos usam um tamanho de bloco de 128, apesar de terem sido criados com tamanhos de bloco diferentes no Windows. Eu acho que isso significa que tamanho de bloco e tamanho de bloco não são sinônimos. Os comandos ldmtool show disk e ldmtool show partition podem ser usados para exibir informações adicionais.

    
por Dan 04.01.2015 / 01:44
2

Ubuntu 14.04 LTS mount raid 1 criado pelo windows 7 usando ldmtool por um newby. ** **

Eu tive o mesmo problema. Usando a resposta acima, eu tive sorte e consegui montá-lo com

gksu gedit /etc/init/mountall.conf 

mudando a linha

 [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

para

/bin/ldmtool create all >/dev/null || true

então adicionado

/bin/mount /dev/mapper/ldm_vol_NAME-Dg0_volume1 /media/WHEREVER

Meu mountall.conf parece com isso agora

     **fi
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
    exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script**

anteriormente eu tinha um script para fazer o mesmo com as 2 linhas

/usr/bin/ldmtool create all >/dev/null || true

/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m

e adicionado

sh /home/ron/mirror to the end of /etc/rc.local 

agora ele é montado quando o ubuntu é iniciado

Não sei se isso funcionará para você!

    
por Ron Prickett 07.03.2015 / 14:52
2

As outras respostas funcionaram apenas parcialmente em Mint 18.3.

A montagem automática das unidades Raid0 foi um pouco mais desafiadora, pois a edição de /etc/init/mountall.conf nunca funcionou no meu sistema e eu queria poder montar o volume estendido usando uma definição em /etc/fstab e não usar um script em /etc/rc.local .

Então, aqui está o que eu fiz:

sudo apt-get install ldmtool

Verificou se o volume foi reconhecido e pode ser montado corretamente com:

sudo ldmtool create all

Sabendo que meu sistema pode ver e gravar nas unidades. Eu criei um serviço (seguindo as instruções deste site :( link )

criou um arquivo em etc/systemd/system/ chamado ldmtool.service com a descrição do serviço:

[Unit]
Description=Windows Dynamic Disk Mount
Before=local-fs-pre.target
DefaultDependencies=no
[Service]
Type=simple
User=root
ExecStart=/usr/bin/ldmtool create all
[Install]
WantedBy=local-fs-pre.target

Para ativar o serviço na inicialização:

sudo systemctl is-enabled ldmtool

Para encontrar o UUID do volume usado:

sudo blkid

O que me deu as seguintes informações: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

Então, criei uma linha em /etc/fstab que diz:

UUID=0A281FC6281FAFA5 /media/6TB_Raid ntfs-3g  auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

O volume está lá toda vez que eu inicializo.

    
por cegaton 01.05.2018 / 00:09