ループバックデバイスをLVM用のPVとして使用すると、説明できないエラーが発生します。

ループバックデバイスをLVM用のPVとして使用すると、説明できないエラーが発生します。

Azure Cloud 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

手順を手動で実行する必要がないように1つの場所に配置できる場合は、「より良い」ようですが、少なくとも機能します。

おすすめ記事