Como montar um software RAID1 (mirror) criado pelo windows no Linux usando o mdadm?

4

Estou mudando meu servidor Windows para o Ubuntu e estou tentando fazer com que meu software RAID1 (espelho) que criei no Windows seja exibido no Ubuntu. Eu li que isso é possível aqui usando o mdadm, mas estou tendo problemas.

Aqui está o que estou tentando:

Script started on Thu 12 Jan 2012 12:22:33 GMT
graeme@MediaCentre:~/Desktop$ cat /proc/partitions

major minor  #blocks  name

   8        0  120060864 sda
   8        1  117974016 sda1
   8        2          1 sda2
   8        5    2083840 sda5
   8       16 1465138584 sdb
   8       17 1465136128 sdb1
   8       32 1465138584 sdc
   8       33 1465136128 sdc1
graeme@MediaCentre:~/Desktop$ sudo mdadm --build /dev/md0 --chunk=128 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
[sudo] password for graeme:
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~/Desktop$ sudo mkdir /media/WinMirror/
mkdir: cannot create directory '/media/WinMirror/': File exists
graeme@MediaCentre:~/Desktop$ sudo mount -t ntfs /dev/md0 /media/WinMirror
Failed to read last sector (5860544511): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/md0': Invalid argument
The device '/dev/md0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
graeme@MediaCentre:~/Desktop$ exit
exit

Script done on Thu 12 Jan 2012 12:23:23 GMT

Eu obtenho a mesma coisa quando tento 64 partes, e se eu listar os discos na outra ordem.

Alguém sabe o que estou fazendo de errado aqui?

Edit: estou adicionando os resultados do fdisk -l, conforme solicitado por Paul:

graeme@MediaCentre:~$ sudo fdisk -l /dev/sdb
[sudo] password for graeme:

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63  2930275119  1465137528+  42  SFS
graeme@MediaCentre:~$ sudo fdisk -l /dev/sdc

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63  2930275119  1465137528+  42  SFS
graeme@MediaCentre:~$ sudo mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/sdb     /dev/sdc
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~$ sudo fdisk -l /dev/md0

Disk /dev/md0: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8

    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1              63  2930275119  1465137528+  42  SFS
    
por Grezzo 12.01.2012 / 14:53

4 respostas

1

Tenho certeza que não pode ser feito. Eu tentei de tudo em vão, e eventualmente percebi que eu fazia com que as janelas nem montassem mais. Tive que usar algumas ferramentas de recuperação avançadas. Erro maciço! Sinta-se como um idiota certo confiando na invasão sem backup, uma bagunça com o ataque sem backup! Ah bem. Lição aprendida.

    
por 20.05.2012 / 00:51
0

Eu acho que acabei de descobrir que não é possível "construir" um RAID1 e "construir" é a única maneira de visualizar um RAID de software do Windows. Alguém pode confirmar isso para mim?

Isto é o que eu consegui sair do mdadm:

graeme@MediaCentre:~$ sudo mdadm --build --help
Usage:  mdadm --build device -chunk=X --level=Y --raid-devices=Z devices

 This usage is similar to --create.  The difference is that it creates
 a legacy array without a superblock.  With these arrays there is no
 difference between initially creating the array and subsequently
 assembling the array, except that hopefully there is useful data
 there in the second case.

 The level may only be 0, raid0, or linear.
 All devices must be listed and the array will be started once complete.
 Options that are valid with --build (-B) are:
  --bitmap=          : file to store/find bitmap information in.
  --chunk=      -c   : chunk size of kibibytes
  --rounding=        : rounding factor for linear array (==chunk size)
  --level=      -l   : 0, raid0, or linear
  --raid-devices= -n : number of active devices in array
  --bitmap-chunk=    : bitmap chunksize in Kilobytes.
  --delay=      -d   : bitmap update delay in seconds.
    
por 12.01.2012 / 19:10
0

Isto:

sudo mount -t ntfs /dev/md0 /media/WinMirror

tenta montar o array raid como um todo, enquanto o fdisk mostra que ele está particionado:

    Device Boot      Start         End      Blocks   Id  System
/dev/md0p1              63  2930275119  1465137528+  42  SFS

Para montar a partição, você deve usar:

sudo mount -t ntfs /dev/md0p1 /media/WinMirror
    
por 13.01.2012 / 12:03
0

Posso confirmar totalmente que você pode fazer isso com mdadm e alguns comandos simples:

mdadm --build /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdb1
mount /dev/md0 /mount/raid

Mais detalhes:

  • Você precisa primeiro instalar o mdadm (comando de terminal: sudo apt-get install mdadm ).
  • "md0" é apenas o nome que eu dei para o ataque, para uso no Linux; você pode chamar qualquer coisa.
  • a parte "--level = 0" provavelmente se refere ao tipo de RAID, no meu caso RAID 0.
  • a parte "--raid-devices = 2" provavelmente é o número de HDDs no RAID.
  • Primeiro você precisa criar a pasta "/ mount / raid" (ou onde quer que você queira montá-lo ou chamá-lo)
  • No meu caso, eu tinha um software RAID 0 feito no windows 7/8, em dois HDDs de 2 TB (aqui sdc1 e sdb1 ). Aqui, sdc1 é colocado em primeiro lugar no comando porque contém as informações RAID; Se você receber algum erro dizendo que não há informações RAID, você pode tentar alternar entre elas e você deve estar OK.

CUIDADO: não use o comando mdadm --create se você já tiver o software RAID feito no Windows, pois eu acho que ele pode sobrescrever as informações do RAID, e você vai acabar esquecendo o seu ataque e os dados nele. / p>     

por 30.07.2013 / 02:47