/ dev / mapper 아래의 lvm 장치가 없습니다.


21

Debian squeeze를 사용하고 소프트웨어 RAID 1 위에서 LVM을 실행하고 있습니다. 우연히도 /dev/mapper시스템이 여전히 제대로 작동하는 것처럼 보이지만 대부분의 링크 가 빠져 있음을 발견했습니다 .

무슨 일이 있었는지 잘 모르겠습니다. 내가 상상할 수있는 유일한 것은 LXC 페도라 컨테이너를 작동시키는 데 실패한 시도였습니다. /cgroup/laughlin컨테이너에 해당 하는 directory를 삭제 했지만 문제가 발생한 이유를 상상할 수 없습니다. /dev/mapper대략 (다음과 같이 변경했습니다. 아래 참조)

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
crw-------  1 root root  10, 59 Apr  8 10:32 control
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23

debian-video는 방금 만든 LV에 해당합니다.

그러나 내 시스템에는 4 개의 디스크에 4 개의 VG가 분산되어있는 VG가 상당히 많습니다. vgs준다

orwell:/dev/mapper# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  backup       1   2   0 wz--n- 186.26g  96.26g
  debian       1   7   0 wz--n- 465.76g 151.41g
  olddebian    1  12   0 wz--n- 186.26g  21.26g
  testdebian   1   3   0 wz--n- 111.75g  34.22g

나는 달리기를 시도했다

 /dev/mapper# vgscan --mknodes

일부 장치가 생성되었지만 (아래 출력 참조) dm 장치에 대한 심볼릭 링크가 아니기 때문에 이것이 쓸모가 없는지 확실하지 않습니다. 올바른 링크를 재생산하는 데 방해가됩니까? 이 장치들을 다시 삭제해야합니까?

udev가 이러한 링크를 생성한다고 믿으므로 재부팅하면이 문제가 해결됩니까, 아니면 부팅 할 수없는 시스템이 있습니까? 이 문제를 해결하려면 어떻게해야합니까? 눈에 띄지 않는 다른 문제가 없는지 확인하기 위해 실행해야 할 진단 / 위생 검사가 있습니까? 도움을 주셔서 감사합니다.

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
brw-rw----  1 root disk 253,  1 Apr 12 05:08 backup-local_src
brw-rw----  1 root disk 253,  2 Apr 12 05:08 backup-video
crw-------  1 root root  10, 59 Apr  8 10:32 control
brw-rw----  1 root disk 253, 15 Apr 12 05:08 debian-boot
brw-rw----  1 root disk 253, 16 Apr 12 05:08 debian-home
brw-rw----  1 root disk 253, 22 Apr 12 05:08 debian-lxc_laughlin
brw-rw----  1 root disk 253, 21 Apr 12 05:08 debian-lxc_squeeze
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
brw-rw----  1 root disk 253, 17 Apr 12 05:08 debian-swap
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23
brw-rw----  1 root disk 253, 10 Apr 12 05:08 olddebian-etch_template
brw-rw----  1 root disk 253, 13 Apr 12 05:08 olddebian-fedora
brw-rw----  1 root disk 253,  8 Apr 12 05:08 olddebian-feisty
brw-rw----  1 root disk 253,  9 Apr 12 05:08 olddebian-gutsy
brw-rw----  1 root disk 253,  4 Apr 12 05:08 olddebian-home
brw-rw----  1 root disk 253, 11 Apr 12 05:08 olddebian-lenny
brw-rw----  1 root disk 253,  7 Apr 12 05:08 olddebian-msi
brw-rw----  1 root disk 253,  5 Apr 12 05:08 olddebian-oldchresto
brw-rw----  1 root disk 253,  3 Apr 12 05:08 olddebian-root
brw-rw----  1 root disk 253, 14 Apr 12 05:08 olddebian-suse
brw-rw----  1 root disk 253,  6 Apr 12 05:08 olddebian-vgentoo
brw-rw----  1 root disk 253, 12 Apr 12 05:08 olddebian-wsgi
brw-rw----  1 root disk 253, 20 Apr 12 05:08 testdebian-boot
brw-rw----  1 root disk 253, 18 Apr 12 05:08 testdebian-home
brw-rw----  1 root disk 253, 19 Apr 12 05:08 testdebian-root

여기서 명백한 사실을 가장 먼저 밝힐 것입니다. 해당 상자에 중요한 데이터를 즉시 백업 한 다음 상자의 호스 여부를 진단하십시오.
rfelsburg

4
당신은 시도해야합니다 /etc/init.d/lvm2 start. 그것은 나를 위해 속임수를 썼다 (그러나 나는 정확히 당신 상황에 있지 않았다).
Totor February

귀하의 의견에 감사합니다. 당신은 내 하루를 구 했어요! :-)
Valentin

답변:


16

요즘 /dev은 tmpfs에 있으며로 부팅 할 때마다 처음부터 생성됩니다 udev. 안전하게 재부팅하면이 링크가 다시 나타납니다.

또한 각 볼륨 그룹마다 하나의 디렉토리 인 디렉토리 의 /dev/dm-X노드에 대한 LVM 심볼릭 링크를 찾아야 /dev/<vg>합니다. 그러나 vgscan --mknodes올바른 메이저 / 마이너 번호를 가지고 있다고 가정하면 노드가 다시 생성 된 노드 도 제대로 작동합니다. 이는 제대로 생성 된 안전한 가정입니다.

당신은 아마도 얻을 수 있습니다 udev사용하여 심볼릭 링크를 다시 만들 udevadm trigger와 테스트, 적절한 일치와 --dry-run그것을 잘 때까지. 재부팅 할 때도 문제가 해결되지는 않습니다.


답변 해주셔서 감사합니다. 설명 요청 하나 : "다시 생성 된 노드도 제대로 작동합니다"라고 말할 때 "/ dev / dm-X 노드"를 말하는 것입니다. 여기서 "재창조 된"이란 무엇입니까? 또한 "어떻게 작동"한다는 의미입니까? 무엇을 위해 잘 작동합니까? 실례합니다 모든 LVM 장치가 /etc/lvm/archive?에 저장된 정보로 재생성되었다고 가정합니다 .
Faheem Mitha

에 의해 만들어진 노드를 의미합니다 vgscan --mknodes. 원래 심볼릭 링크는 아니지만 심볼릭 링크가 가리키는 블록 개발 노드입니다. 예를 들어, /dev/olddebian/root../dm-3에 대한 심볼릭 링크를 찾아야 /dev/mapper/olddebian-root합니다.
camh

설명해 주셔서 감사합니다. 나는 당신이 말하는 것이 / dev / mapper / debian-video에 맞는지 확인했는데, 이것은 두 개의 완전한 심볼릭 링크 중 하나였습니다. :-) 방금 주요 / 부 장치 번호에 대해 읽었습니다. 교육 답변 주셔서 감사합니다.
Faheem Mitha

38

방금 설명 한 것과 비슷한 문제가 있었지만 새 Ubuntu 11.10 Oneiric Ozelot을 LVM 볼륨에 설치하려고 할 때 발생했습니다. 라이브 부팅 시스템에서 lvm을 설정하기 위해 다음을 수행했습니다 (필요한 논리 볼륨이 이미 존재 함).

apt-get install lvm2
vgscan --mknodes -v

이제 lvscan -v내 책을 보여 주 었으나 안에 /dev/mapper있지 않았습니다 /dev/<vg>/. 마침내 볼륨 그룹 을 활성화 해야한다는 것을 알았습니다 .

vgchange -a y <name of volume group>

위의 명령으로 모든 누락 된 장치 파일을 만들었습니다. 이제 설치 프로그램을 시작할 수 있으며 lvm 볼륨을 찾아서 설치할 수 있습니다.

구글 에서이 정보를 찾기가 어려웠으므로 다른 사람들이 더 쉽게 시간을 가질 수 있기를 희망 하여이 답변을 작성합니다.

질문의 일부는 아니지만 위의 상황 (Ubuntu LVM 설치)에서 설치가 완료되면 새로 설치된 시스템의 initrd에 lvm2를 추가해야하거나 부팅하지 않을 것입니다. / target에 새 시스템을 설정해야하지만 그렇지 않은 경우 다음과 같이 수동으로 수행하십시오.

mount /dev/vg/new_root /target
mount /dev/sdx1 /target/boot       # important
mount -o bind /proc /target/proc
mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts

chroot에서 네트워킹이 작동하도록하려면 다음 작업을 수행해야합니다.

cp /etc/resolv.conf /target/etc/

이제 새 시스템으로 chroot하고 lvm2를 설치하십시오 :

chroot /target
apt-get install lvm2

update-initramfs를 실행합니다. 이제 exit와 reboot를 입력하면 시스템이 올바르게 부팅됩니다.


+1 LVM의 매우 모호한 기능. 왜 지구상에서 그것은 하나의 구출 CD에서 (활성화 된 것으로 보이지만) 다른 구상 CD에서는 '활성화 된'것으로 간주 되었습니까?
Van Jone

감사. 나는 이것을 읽고 vgchange6 년 이상 질문을 작성한 후 검색에서 질문을 찾은 후에 상처를 입었습니다 . :-) 나는 그것을 쓴 것을 잊었다. 필자의 경우 문제는 분명히 LV가 활성화되지 않았다는 것입니다.
Faheem Mitha

3

이것은 또한 나를 위해 일했습니다.

vgchange -a y -name of volume group-

커널 패치 후 RHEL 시스템을 재부팅하지 못했습니다. 누락 된 /dev/mapper/VG-lv파일 에 대한 불만 .

단일 사용자로 부팅하고에서 댓글을 달았습니다 /etc/fstab. 온라인 상태에서 암호화 된 디스크가를 사용하여 "정지 된 장치"로 표시되는 것을 발견했습니다 pvs.

이 문제를 해결했지만 여전히 볼륨 그룹에 대한 장치 파일이 없습니다. 위의 명령을 실행하면 장치 매퍼 파일이 다시 만들어져 마운트 할 수있었습니다.


2

데비안을 업그레이드 한 후에도 비슷한 문제가있었습니다. 재부팅하는 동안이 메시지가 나타납니다.

Unable to find LVM Volume. 
/dev/mapper/debian-root does not exist.

나는 여기서 해결책을 찾았다 .

cryptsetup luksOpen /dev/sda5 lvmsys
lvm
lvm> vgscan        ## scan for volume groups
lvm> vgchange -a y ## activates the volume groups

그리고 voilà, 이것 후에 멋지게 재부팅했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.