1月 082018
 

[要点]
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 \

すれば

あがってくるです

ざっくり備忘な
行間よんでね

現在コメント投稿は停止しております。