루프백 장치를 LVM용 PV로 사용할 때 설명할 수 없는 오류가 발생합니다.

루프백 장치를 LVM용 PV로 사용할 때 설명할 수 없는 오류가 발생합니다.

Azure 클라우드 Ubuntu 14.04 이미지( / 가 포함된 단일 파티션)를 가져와 루트 드라이브의 파일이 지원하는 논리 볼륨에 /var있도록 재구성하려고 합니다./srv

(왜냐고 물으실 수도 있겠네요. 실제 서버가 부팅될 때 OS 디스크가 아닌 데이터 디스크로 데이터를 이동할 수 있도록 커스텀 데이터와 미리 로드된 데이터로 패키지 이미지를 만들고 있습니다.)

나는 다음을 수행하고 있습니다 :

dd bs=16384 count=1048576 if=/dev/zero of=/.img-loop0
sync
losetup /dev/loop0 /.img-loop0
pvcreate /dev/loop0
vgcreate data /dev/loop0
lvcreate -l 100%FREE data -n var
mkfs.ext4 -L var -E nodiscard /dev/data/var
echo "/dev/data/var /var ext4 defaults 1 1" >> /etc/fstab
cd /var
mount /var
echo Moving old /var to new /var
mv * /var
echo Moving /srv to /var/srv
mv /srv /var/
ln -s var/srv /

그럼 망해라local-bottom

#!/bin/sh               
PREREQ=""               
prereqs()
{   
  echo "$PREREQ"
}             

case $1 in             
prereqs)                        
  prereqs                       
  exit 0
  ;;                            
esac                            

log_begin_msg losetup beginning 
if [ -f /root/.img-loop0 ]; then
  #mount /root -o remount,nodiscard
  losetup /dev/loop0 /root/.img-loop0
else                            
  log_warning_msg No /root/.img-loop0
fi                              
log_end_msg losetup finished

모든 것이 정상으로 돌아왔을 때 다시 시작할 때까지 모두 잘 작동했습니다.

답변1

제가 저지른 실수는 루트 파일 시스템이 여전히 읽기 전용이었던 initramfs 중에 루프백 장치를 설정한 것이었습니다. 따라서 루프 장치에서 백업 파일에 변경 내용을 쓰려는 시도는 실패합니다.

/etc/init/lvmloop.conf읽기-쓰기로 루트 파일 시스템을 다시 마운트하는 책임은 upstart/systemd/etc에 속하므로 이를 작동시키 려면 다음을 추가해야 했습니다 .

description "custom local LVM loopback device and setup"

start on mounted MOUNTPOINT=/

task

console output

script
LOOP0=/.img-loop0

if [ -f $LOOP0 ]; then
  losetup /dev/loop0 $LOOP0  # set up loop device...
  vgscan                     # scan for new PVs
  vgchange -ay               # activate VGs
  vgmknodes -v               # makes missing device nodes in /dev
  mount /var                 # for some reason mountall fails to do this...
fi
end script

단계를 수동으로 수행할 필요가 없도록 한 곳에 배치할 수 있다면 "더 좋을" 것 같지만 적어도 작동합니다.

관련 정보