grub2 lvm2 raid1 /시작

grub2 lvm2 raid1 /시작

lvm2 raid1 파티션 내에 있는 /boot를 사용하여 시스템에서 부팅할 수 있습니까? 여러 구성을 시도했지만 이를 수행하는 방법을 찾지 못했습니다.

저는 2TB 디스크 2개를 사용하고 있습니다. 각 디스크에는 1MB BIOS_Grub 파티션과 2TB 파티션이 있는 GPT 파티션 테이블이 포함되어 있습니다. 각 디스크의 대형 2TB 파티션은 lvm2에 물리 볼륨으로 할당됩니다.

운영 체제로 Ubuntu 14.04 LTS를 사용합니다. 처음에는 Ubuntu용으로 2개의 5GB 논리 볼륨을 구성했습니다. 첫 번째는 /를 위한 것이고 두 번째는 /home을 위한 것입니다. Ubuntu 설정에는 이러한 논리 볼륨의 세그먼트 유형을 raid1로 구성하는 옵션이 없습니다. 그래서 방금 선형인 기본값으로 설치했습니다. 이는 정상적으로 작동하며 시스템이 문제 없이 부팅됩니다.

그런 다음 Live CD 환경으로 재부팅하고 다음 명령을 사용하여 두 파티션을 모두 raid1로 변환했습니다.

lvconvert --type raid1 -m1 /dev/vg_storage/os_root
lvconvert --type raid1 -m1 /dev/vg_storage/os_home

이러한 작업은 오류 없이 완료되었습니다. 그런 다음 copy%가 100%가 될 때까지 lvm2 미러의 두 논리 볼륨의 진행 상황을 모니터링했습니다.

root@ubuntu:~# lvs
  LV          VG         Attr      LSize   Pool Origin Data%  Move Log Copy%  Convert
  os_home     vg_storage rwi-a-r--   4.66g                             100.00       
  os_root     vg_storage rwi-a-r--   4.66g                             100.00 

지금 시스템을 시작할 수 없습니다. BIOS는 두 디스크 중 첫 번째 디스크에서 부팅을 시도한 직후에 다음 오류를 수신합니다. 그럽 구조 팁을 남겼습니다.

error: disk 'lvmid/L1VIor-PKIM-mtCO-TUQ2-iWe2-ndnY-df2wOu/yCDXMZ-2q4X-jbJJ-qZhI-sHNL-hrjw-Q5bg6v' not found.
Entering rescue mode...
grub rescue>

아직 로드되지 않은 grub2 모듈이 있는 것 같습니다. lvm2의 raid1 기능을 지원하는 것입니다. 이 지원은 아직 grub2에 존재하지 않습니다.

답변1

4년이 지났다..

예, lvconvert -m1 /dev/vg0/root미러링된 LVM 볼륨( )에서 부팅하는 것은 Debian 9(stretch)에서 작동합니다. GRUB lvm.mod 모듈은 미러링된 LVN 볼륨을 즉시 인식하고 GRUB는 /boot/grub/grub.cfg미러링된 루트 볼륨에 있는 볼륨을 성공적으로 읽고 부팅 메뉴를 표시하며 커널 및 initrd를 로드합니다. 그런 다음 멈춰서 LVM 루트를 마운트할 수 없습니다.

device-mapper: table: 254:5: raid: Failed to run raid array
device-mapper: reload ioctl on (254:5) failed: Invalid argument

이 문제는 /etc/initramfs-tools/modules다음 모듈(시퀀스 문제)을 추가하고 실행하여 해결 되었습니다 update-initramfs.

xor
async_tx
raid6_pq
async_xor
async_pq
async_memcpy
async_raid6_recov
md_mod
raid1
raid456
dm_raid
dm_log
dm_region_hash
dm_mirror
lvm

(아마 raid6_pq, async_raid6_recov, raid456은 생략될 수도 있습니다 - 지금은 확인할 수 없습니다).

이제 미러 LVM 루트 디렉터리가 정상적으로 마운트되어야 합니다. 마지막 단계는 두 물리적 디스크를 모두 부팅 가능하게 만드는 것입니다. 따라서 둘 중 하나가 실패하더라도 다른 디스크는 여전히 시스템을 부팅합니다.

pvdisplay -m | egrep 'PV Name|_rimage_'  # find out which physical disks root lv resides on
grub-install /dev/firstdisk
grub-install /dev/seconddisk

관련 정보