Amazon Linux 2(AL2)をソースイメージとして使用し、Packerを使用して新しいAMIを作成しました。それでは、VHDを作成してAzure Imageに転送しようとしています。私たちはCentos7 AMIでこれを成功させました、そしてAL2について行ったのは今回が初めてです。この VHD 生成の一部として、
- AL2のスナップショットに基づいてボリュームを作成します。
- EC2インスタンスへのボリュームの接続(Centosベース)
- このブロックデバイスをimgファイル(仮想ディスクイメージ)に変換するには、次のコマンドを使用します。
dd if=/dev/nvme1n1 of=/$tmp/$imgfile bs=1M
- 次に、コマンドを使用してループデバイスにマッピングします。
lodevice=$(losetup -f)
losetup $lodevice $tmp/$imgfile
kpartx -av $lodevice
lodev=$(echo $lodevice| awk -F "/" '{print $NF}')
xfs_admin -U generate /dev/mapper/${lodev}p1
mount /dev/mapper/${lodev}p1 $tmp/image/
このkpartx -av $lodevice
コマンドは成功しましたが、ループ・マッパー装置は作成されず、追加の検査ではimg / loop装置にパーティション表がありません。
]# fdisk -l /mnt/ephemeral/AL2.img
Disk /mnt/ephemeral/AL2.img: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
]# fdisk -l $lodevice
Disk /dev/loop0: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
答え1
私の間違いは、ルートデバイスで作成されなかった間違ったスナップショットからボリュームを作成したことです。閉じます。