'PARTUID' em '/ etc / fstab' e (hardware) RAID0 não tocam bem juntos, não é?

2

Instalação do Fresh Arch Linux em (hardware) RAID0 sob o sistema UEFI de 64 bits com partições GPT . Tive que adicionar

MODULES="ext4 dm_mod raid0"

HOOKS="base udev autodetect modconf block mdadm_udev filesystems keyboard fsck"

em /etc/mkinitcpio.conf para que as partições no RAID0 sejam reconhecidas corretamente na inicialização. Caso contrário,

ERROR: device 'UUID=<uuid>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<uuid>'.
...

seria emitido.

Há uma peculiaridade, no entanto, e eu não sei como explicar isso. Por um lado, quando /etc/fstab contém /dev/* ou UUID=* sources, o Arch Linux inicializa normalmente. Por outro lado, quando contém PARTUUID=* sources, um monte dos erros Dependency failed correspondentes (em relação à montagem dessas fontes de /etc/fstab ) acontecem na inicialização e trava.

Você poderia explicar o que há de errado em ter PARTUUID=* em /etc/fstab neste caso? Isso tem algo a ver com o RAID0?

$ cat /proc/mdstat
Personalities : [raid0] 
md126 : active raid0 sda[1] sdb[0]
      976768000 blocks super external:/md127/0 128k chunks

md127 : inactive sda[1](S) sdb[0](S)
      4904 blocks super external:imsm

unused devices: <none>
$ dmsetup table
No devices found
$ lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda             8:0    0 465.8G  0 disk  
└─md126         9:126  0 931.5G  0 raid0 
  ├─md126p1   259:0    0     1G  0 md    /boot/efi
  ├─md126p2   259:1    0     1G  0 md    
  ├─md126p3   259:2    0     1G  0 md    
  ├─md126p4   259:3    0   256G  0 md    
  ├─md126p102 259:4    0    16G  0 md    [SWAP]
  ├─md126p103 259:5    0    16G  0 md    /
  ├─md126p104 259:6    0    16G  0 md    /var
  └─md126p105 259:7    0   256G  0 md    /home
sdb             8:16   0 465.8G  0 disk  
└─md126         9:126  0 931.5G  0 raid0 
  ├─md126p1   259:0    0     1G  0 md    /boot/efi
  ├─md126p2   259:1    0     1G  0 md    
  ├─md126p3   259:2    0     1G  0 md    
  ├─md126p4   259:3    0   256G  0 md    
  ├─md126p102 259:4    0    16G  0 md    [SWAP]
  ├─md126p103 259:5    0    16G  0 md    /
  ├─md126p104 259:6    0    16G  0 md    /var
  └─md126p105 259:7    0   256G  0 md    /home
sr0            11:0    1  1024M  0 rom
$ blkid
/dev/sda: TYPE="isw_raid_member"
/dev/sdb: TYPE="isw_raid_member"
/dev/md126p1: LABEL="EFI" UUID="722E-E4AB" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="a8e94657-e6ea-4712-be06-ac9ffe6e2258"
/dev/md126p3: LABEL="Windows PE 5.0 (x64)" UUID="181C2F991C2F7144" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="15848c79-1456-418b-a243-830d0db894ce"
/dev/md126p4: LABEL="Windows 8.1 (x64)" UUID="AAB83149B83114F3" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7d3a06f5-4c67-4299-80b0-029501e14f18"
/dev/md126p102: UUID="6a2d4998-3ac8-4135-9d72-47960b201d5d" TYPE="swap" PARTLABEL="Swap" PARTUUID="d418edd6-44eb-4058-921f-c68aa191c5ac"
/dev/md126p103: UUID="2c241730-a076-48d9-8d1f-6e10573a994f" TYPE="ext4" PARTLABEL="Arch Linux" PARTUUID="37200e1e-dea4-435a-a873-427e3ee8c494"
/dev/md126p104: UUID="8d4eff47-3a2b-46b4-9263-7bbf00d8d0db" TYPE="ext4" PARTLABEL="Variable" PARTUUID="cd15b1f0-e948-4975-9218-591efa5b9b95"
/dev/md126p105: UUID="e0b15e56-3846-4e75-96f8-4f75058b4a6b" TYPE="ext4" PARTLABEL="Home" PARTUUID="54e85323-522c-415a-b7bd-2eb83b6b4ee6"
/dev/md126: PTUUID="e4e1b9b8-c26f-416d-82d9-e9350d0b5ac2" PTTYPE="gpt"
/dev/md126p2: PARTLABEL="Microsoft reserved partition" PARTUUID="6e9264fd-da04-4966-b8e0-8f3124f47050"
    
por Alexander Shukaev 17.10.2015 / 02:21

1 resposta

2

Já que agora está claro que você está executando raid de software ("fake raid", onde o firmware / BIOS também possui uma implementação de software RAID para facilitar a inicialização do Windows - neste caso, Intel Matrix Storage), você provavelmente está vendo algum bug no initramfs do Arch w / r / t particionando md arrays.

O verdadeiro ataque de hardware é quase totalmente transparente para o sistema operacional; Por exemplo, você veria apenas um dispositivo, a matriz RAID, não um dispositivo por disco. Uma matriz RAID de hardware se parece com um disco normal para o sistema operacional, pelo menos uma vez que você tenha instalado o driver RAID (sem ele, o SO simplesmente não vê nada).

Por algum tempo, você não conseguiu particionar md arrays (era comum - ainda é - usar o LVM em cima deles, ou criar múltiplos arrays); mais tarde, você poderia configurar um particionável, mas não era o padrão; hoje em dia todos eles podem ser particionados. Mas provavelmente algo ainda tem uma suposição sobre eles não serem particionáveis, e está procurando por esse particuuid em um disco físico, não no array RAID.

Pessoalmente, eu não me preocuparia com isso e apenas usaria o UUID. Além disso, em geral, para uma caixa somente Linux, geralmente é melhor não usar o "fake raid", e usar o Linux mdraid diretamente com seus formatos nativos. Com o RAID-0, tenho certeza que você terá a chance de reconstruir a caixa em breve ...

    
por 08.01.2016 / 22:26