[要点]
vhdはrawでMiB未満要切捨
initramfsでhv_storvsc,hv_vmbus読込
waagentを忘れずに
VMサイズはStandardなB1S
[やってみた]
1.VHDつくる
qemu-img create -f raw azure4g.raw 4293918720 qemu-img convert -f raw -o subformat=fixed,force_size -O vpc azure4g.raw archlinux4g.vhd
2.Arch Linuxいれる
VHD扱える適当なバイザつかって
公式の インストールガイド 通りでOK
パーティションは
Disk /dev/sda: 4 GiB, 4293918720 bytes, 8386560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x5cd3907f Device Boot Start End Sectors Size Id Type /dev/sda1 2048 411647 409600 200M 83 Linux /dev/sda2 411648 8341503 7929856 3.8G 83 Linux
こんなかんじ
ここにスワップいらない
waagentパッケージがある場合のインストールは
pacstrap /mnt base sudo openssh
でいいとおもう
fstabでマウントオプションにdiscardつけとくといいかも
/etc/mkinitcpio.confに設定
MODULES=(hv_storvsc hv_vmbus)
initramfsつくる
mkinitcpio -p linux
/etc/default/grubに設定
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300"
grubいれる
grub-install --target=i386-pc /dev/sda grub-mkconfig -o /boot/grub/grub.cf
waagentいれる
pacman -U walinuxagent-2.2.19-1-any.pkg.tar.xz
/etc/waagent.confに設定
Provisioning.DeleteRootPassword=y Provisioning.AllowResetSysUser=y ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=1024 ResourceDisk.MountOptions=discard
よしなに
サービスの設定
systemctl enable sshd.service systemctl enable waagent.service
とじる
waagent -force -deprovision+user export HISTSIZE=0
3.Azureに
VHDあげる
az storage blob upload \ --account-name ほげ \ --account-key ほげ \ --container-name ほげ \ --type page \ --file archlinux4g.vhd \ --name archlinux4g.vhd
イメージつくる
az image create \ --resource-group ほげ \ --name archlinux4g \ --source https://ほげ/archlinux4g.vhd \ --os-type linux
VMつくる
az vm create \ --resource-group ほげ \ --name ほげ \ --image archlinux4g \ --size Standard_B1S \ --admin-username ほげ \ --authentication-type ssh \ --ssh-key-value id_rsa.pub \
すれば
あがってくるです
ざっくり備忘な
行間よんでね