ddを使用して暗号化されたドライブの起動可能なバックアップを作成しました。
> sudo dd if=/dev/sda of=/dev/sdc bs=64k status=progress
レプリカから起動できることを確認したら、元のドライブから再起動し、vgimportcloneを使用してレプリカをマウントしようとしました。
> sudo cryptsetup open /dev/sdc5 sdc5_crypt
> sudo lvm
lvm> vgimportclone /dev/mapper/sdc5_crypt
lvm> pvscan --cache
lvm> vgchange -a y
lvm> quit
> mount /dev/mapper/ubuntu--vg11-root /mnt
レプリカのVG名とVGとPV UUIDは元のドライブとは異なりますが、LV UUIDは同じです。元のドライブのVG名はでubuntu-vg
、新しいドライブのVG名はですubuntu-vg11
。これらの変更を反映し、まだ起動可能であることを確認するために、複製されたディスクの暗号化されていないパーティションで/boot/grub.cfgを変更しました。レプリカがまだ起動可能であることを確認したら、元のドライブから再起動し、レプリカをインストールしてみました。
> sudo cryptsetup open /dev/sdc5 sdc5_crypt
> mount /dev/mapper/ubuntu--vg11-root /mnt
最初はうまくいったようですが、/mntの内容を詳しく調べたところ、実際に元のLVがそこにマウントされていることに気づきました(すでに/にマウントされていて、レプリカが最初に作成されてからいくつかの新しいファイルが追加されました)。だから私が試したのは、次のように複製されたファイルシステムのUUIDを変更することでしたtune2fs
。
umount /mnt
tune2fs -U random /dev/mapper/ubuntu--vg11-root
レプリカのファイルシステムUUID(/dev/mapper/ubuntu--vg11-root)が元のファイルシステムUUID(/dev/mapper/ubuntu--vg-root)と異なることを確認しましたが、問題は解決しません。だから私はそれが同じLV UUIDのためだと仮定します。オンラインで読んだ内容はすべてLV UUIDを変更できないことを示していますが、この問題を解決する他の方法があるかどうか疑問に思います。元のドライブと同時に複製されたドライブをマウントする方法は?
ベストアンサー1
レプリカでLVのUUIDを変更し、競合なしに元のバージョンと同時にインストールしました。これが私がする方法です:
- 別のドライブを接続し、Ubuntuのコピーをインストールして起動しました。
- 複製されたドライブを接続し、暗号化されたパーティションを開きました。
sudo cryptsetup open /dev/sd5 sdc5_crypt
- これにより、LV:
/dev/mapper/ubuntu--vg11-root
&へのリンクが自動的に作成されます。/dev/mapper/ubuntu--vg11-swap
- その後、レプリカからLVを削除しました。
sudo lvremove ubuntu-vg11
- その後、lvmアーカイブを確認し、すべての変更の履歴を保存しました。
sudo ls -l /etc/lvm/archive
- グループの最新のアーカイブファイルを記録し
ubuntu-vg11
て編集し、ファイルにリストされているLVのUUIDを変更しました。 - その後、そのアーカイブファイルからLVを復元しました。
sudo vgcfgrestore ubuntu-vg11 -f /etc/lvm/archive/ubuntu-vg11_00001-123456789.vg
- LVのUUIDを確認してください。 (何らかの理由で
sudo lvscan && sudo lvdisplay
新しく変更されたLVはリストされていませんが、lvs
まだ問題なくインストールできました。) - 正しくインストールされていることを確認してください。
sudo mount /dev/mapper/ubuntu--vg11-root /media/sdc5
- 削除して再起動します。
sudo umount /media/sdc5
これで正常に動作しているようで、問題なくレプリカと元のバージョンの両方をインストールできます。