Příprava virtuálního pevného disku Debian pro Azure
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Požadavky
V této části se předpokládá, že jste již nainstalovali operační systém Debian Linux ze souboru .iso staženého z webu Debian na virtuální pevný disk (VHD). Existuje několik nástrojů pro vytvoření souborů .vhd. Hyper-V je jenom jeden příklad. Pokyny k používání technologie Hyper-V najdete v tématu Instalace role Hyper-V a konfigurace virtuálního počítače.
Poznámky k instalaci
- Další tipy k přípravě Linuxu pro Azure najdete v obecných poznámkách k instalaci Linuxu.
- Novější formát VHDX není v Azure podporovaný. Disk můžete převést na formát VHD pomocí Správce technologie Hyper-V nebo rutiny
convert-vhd
. - Při instalaci systému Linux doporučujeme používat standardní oddíly místo Správce logických svazků (LVM), což je často výchozí nastavení pro mnoho instalací. Použití oddílů zabraňuje konfliktům názvů LVM s klonovanými virtuálními počítači, zejména v případě, že by se disk s operačním systémem někdy potřeboval připojit k jinému virtuálnímu počítači pro účely řešení potíží. LVM nebo RAID lze také použít na datových discích.
- Nenakonfigurujte prohození oddílu na disku s operačním systémem. Agenta Azure Linuxu je možné nakonfigurovat tak, aby na dočasném disku prostředku vytvořil prohození souboru. Další informace najdete v následujících krocích.
- Všechny virtuální pevné disky v Azure musí mít virtuální velikost zarovnanou na 1 MB. Při převodu z nezpracovaného disku na virtuální pevný disk je nutné před převodem zajistit, aby velikost nezpracovaného disku byla násobkem 1 MB. Další informace najdete v poznámkách k instalaci Linuxu.
Příprava image Debianu pro Azure
Základní cloudovou image Azure Debianu můžete vytvořit pomocí plně automatické instalace (FAI) tvůrce cloudových imagí. Pokud chcete připravit obrázek bez FAI, podívejte se na článek s obecnými kroky.
Z úložiště cloudových imagí Debianu byly staženy následující příkazy git clone a apt installation. Začněte klonováním úložiště a instalací závislostí:
$ git clone https://salsa.debian.org/cloud-team/debian-cloud-images.git
$ sudo apt install --no-install-recommends ca-certificates debsums dosfstools \
fai-server fai-setup-storage make python3 python3-libcloud python3-marshmallow \
python3-pytest python3-yaml qemu-utils udev
$ cd ./debian-cloud-images
Volitelné: Přizpůsobte sestavení přidáním skriptů (například skriptů prostředí) do ./config_space/scripts/AZURE
.
Příklad skriptu pro přizpůsobení obrázku
$ mkdir -p ./config_space/scripts/AZURE
$ cat > ./config_space/scripts/AZURE/10-custom <<EOF
#!/bin/bash
\$ROOTCMD bash -c "echo test > /usr/local/share/testing"
EOF
$ sudo chmod 755 ./config_space/scripts/AZURE/10-custom
Předpona libovolných příkazů, pomocí kterých chcete přizpůsobit obrázek .$ROOTCMD
Je to alias jako chroot $target
.
Sestavení image Azure Debianu
$ make image_[release]_azure_amd64
Tento příkaz vypíše několik souborů v aktuálním adresáři, zejména soubor image_[release]_azure_amd64.raw
image.
Převod nezpracované image na virtuální pevný disk pro Azure:
rawdisk="image_[release]_azure_amd64.raw"
vhddisk="image_[release]_azure_amd64.vhd"
MB=$((1024*1024))
size=$(qemu-img info -f raw --output json "$rawdisk" | \
gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
rounded_size=$(((($size+$MB-1)/$MB)*$MB))
rounded_size_adjusted=$(($rounded_size + 512))
echo "Rounded Size Adjusted = $rounded_size_adjusted"
sudo qemu-img resize "$rawdisk" $rounded_size
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc "$rawdisk" "$vhddisk"
Tento proces vytvoří virtuální pevný disk image_[release]_azure_amd64.vhd
se zaokrouhlenou velikostí, aby se mohl úspěšně zkopírovat na disk Azure.
Poznámka:
Místo klonování úložiště salsa a vytváření imagí místně je možné vytvářet a stahovat aktuální stabilní image z FAI.
Po vytvoření stabilní image VHD Debianu a před nahráním ověřte, zda jsou nainstalovány následující balíčky:
- apt-get install hyperv-daemons
- apt-get install waagent # (volitelné, ale doporučuje se pro resetování hesel a použití rozšíření)
- apt-get install cloud-init
Pak proveďte úplný upgrade:
- apt-get full-upgrade
Teď je potřeba vytvořit prostředky Azure pro tuto image. Tento příklad používá proměnnou $rounded_size_adjusted
, takže by měla být v rámci stejného procesu prostředí z předchozího kroku.
az group create -l $LOCATION -n $RG
az disk create \
-n $DISK \
-g $RG \
-l $LOCATION \
--for-upload --upload-size-bytes "$rounded_size_adjusted" \
--sku standard_lrs --hyper-v-generation V1
ACCESS=$(az disk grant-access \
-n $DISK -g $RG \
--access-level write \
--duration-in-seconds 86400 \
--query accessSas -o tsv)
azcopy copy "$vhddisk" "$ACCESS" --blob-type PageBlob
az disk revoke-access -n $DISK -g $RG
az image create \
-g $RG \
-n $IMAGE \
--os-type linux \
--source $(az disk show \
-g $RG \
-n $DISK \
--query id -o tsv)
az vm create \
-g $RG \
-n $VM \
--ssh-key-value $SSH_KEY_VALUE \
--public-ip-address-dns-name $VM \
--image $(az image show \
-g $RG \
-n $IMAGE \
--query id -o tsv)
Pokud šířka pásma z místního počítače na disk Azure způsobuje dlouhou dobu zpracování nahrávání, azcopy
můžete proces urychlit pomocí jumpboxu virtuálního počítače Azure. Tady je postup, jak můžete tento proces provést:
- Vytvořte tarball virtuálního pevného disku na místním počítači:
tar -czvf ./image_buster_azure_amd64.vhd.tar.gz ./image_[release]_azure_amd64.vhd
. - Vytvoření virtuálního počítače Azure s Linuxem (distribuce podle vašeho výběru) Ujistěte se, že ho vytvoříte s dostatečně velkým diskem pro uložení extrahovaného virtuálního pevného disku.
- Stáhněte si
azcopy
nástroj do virtuálního počítače Azure s Linuxem. Můžete ho načíst z rutiny Začínáme s nástrojem AzCopy. - Zkopírujte tarball do virtuálního počítače:
scp ./image_buster_azure_amd64.vhd.tar.gz <vm>:~
. - Na virtuálním počítači extrahujte virtuální pevný disk:
tar -xf ./image_buster_azure_amd64.vhd.tar.gz
. Tento krok chvíli trvá na základě velikosti souboru. - Nakonec na virtuálním počítači zkopírujte virtuální pevný disk na disk Azure (
azcopy
předchozí příkaz).
Související obsah
Teď jste připraveni k vytvoření nových virtuálních počítačů v Azure pomocí virtuálního pevného disku s Linuxem v Debianu. Pokud soubor .vhd nahráváte do Azure poprvé, přečtěte si téma Vytvoření virtuálního počítače s Linuxem z vlastního disku.