Debian-alapú VHD előkészítése Azure-beli használatra
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Előfeltételek
Ez a szakasz feltételezi, hogy már telepített egy Debian Linux operációs rendszert a Debian webhelyéről letöltött .iso fájlból egy virtuális merevlemezre (VHD). A .vhd-fájlok létrehozásához több eszköz is létezik. A Hyper-V csak egy példa. A Hyper-V használatára vonatkozó utasításokért tekintse meg a Hyper-V szerepkör telepítését és a virtuális gép (VM) konfigurálását.
Telepítési megjegyzések
- A Linux Azure-ra való előkészítésével kapcsolatos további tippekért tekintse meg a Linux általános telepítési megjegyzéseit.
- Az újabb VHDX formátum nem támogatott az Azure-ban. A lemezt a Hyper-V Managerrel vagy a
convert-vhd
parancsmaggal konvertálhatja VHD formátumba. - A Linux rendszer telepítésekor javasoljuk, hogy a Logikai kötetkezelő (LVM) helyett standard partíciókat használjon, ami gyakran sok telepítés esetében az alapértelmezett. A partíciók használata elkerüli az LVM-névütközéseket a klónozott virtuális gépekkel, különösen akkor, ha egy operációsrendszer-lemezt egy másik virtuális géphez kell csatlakoztatni a hibaelhárításhoz. Az LVM vagy a RAID adatlemezeken is használható.
- Ne konfiguráljon felcserélési partíciót az operációsrendszer-lemezen. Az Azure Linux-ügynök konfigurálható úgy, hogy swapfájlt hozzon létre az ideiglenes erőforráslemezen. További információ az alábbi lépésekben érhető el.
- Az Azure összes virtuális merevlemezének 1 MB-hoz igazított virtuális méretnek kell lennie. Amikor nyers lemezről VHD-re konvertál, az átalakítás előtt győződjön meg arról, hogy a nyers lemez mérete 1 MB többszöröse. További információkért tekintse meg a Linux telepítési megjegyzéseit.
Debian-rendszerkép előkészítése az Azure-hoz
Az alap Azure Debian-felhőrendszerképet a teljes mértékben automatikus telepítési (FAI) felhőrendszerkép-készítővel hozhatja létre. Ha FAI nélkül szeretne képet készíteni, tekintse meg az általános lépésekről szóló cikket.
A következő git-klón- és apt telepítési parancsokat a Debian felhőrendszerkép-adattárából vontuk le. Először klónozza az adattárat, és telepítse a függőségeket:
$ 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
Nem kötelező: Testre szabhatja a buildet szkriptek (például rendszerhéjszkriptek) ./config_space/scripts/AZURE
hozzáadásával.
Példa példa a kép testreszabására
$ 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
A rendszerkép $ROOTCMD
testreszabásához használni kívánt parancsok előtagja. Az aliasa.chroot $target
Az Azure Debian-rendszerkép létrehozása
$ make image_[release]_azure_amd64
Ez a parancs néhány fájlt ad ki az aktuális könyvtárban, különösen a image_[release]_azure_amd64.raw
képfájlt.
Konvertálja a nyers lemezképet VHD-vé az Azure-hoz:
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"
Ez a folyamat lekerekített méretű VHD-t image_[release]_azure_amd64.vhd
hoz létre, hogy az sikeresen átmásolható legyen egy Azure-lemezre.
Feljegyzés
A salsa-adattár klónozása és a képek helyi létrehozása helyett az aktuális stabil rendszerképek a FAI-ból hozhatók létre és tölthetők le.
Miután létrehozott egy stabil Debian VHD-lemezképet, és a feltöltés előtt ellenőrizze, hogy telepítve vannak-e a következő csomagok:
- apt-get install hyperv-daemons
- apt-get install waagent # (Nem kötelező, de ajánlott a jelszó-visszaállításhoz és a bővítmények használatához)
- apt-get install cloud-init
Ezután végezze el a teljes frissítést:
- apt-get full-upgrade
Most létre kell hozni az Azure-erőforrásokat ehhez a lemezképhez. Ez a példa a változót $rounded_size_adjusted
használja, ezért az előző lépésben megadott rendszerhéj-folyamaton belülről kell származnia.
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)
Ha a helyi gépről az Azure-lemezre irányuló sávszélesség hosszú időt okoz a feltöltés azcopy
feldolgozásához, egy Azure-beli virtuálisgép-jumpbox használatával felgyorsíthatja a folyamatot. A folyamat a következőképpen végezhető el:
- Hozzon létre egy tarballt a VHD-ről a helyi gépen:
tar -czvf ./image_buster_azure_amd64.vhd.tar.gz ./image_[release]_azure_amd64.vhd
. - Hozzon létre egy Azure Linux rendszerű virtuális gépet (az Ön által választott disztribúciót). Győződjön meg arról, hogy elég nagy lemezzel hozza létre a kinyert VHD tárolásához.
- Töltse le a
azcopy
segédprogramot az Azure Linux rendszerű virtuális gépre. Az AzCopy használatának első lépéseiből lekérheti. - Másolja a tarballt a virtuális gépre:
scp ./image_buster_azure_amd64.vhd.tar.gz <vm>:~
. - A virtuális gépen bontsa ki a VHD-t:
tar -xf ./image_buster_azure_amd64.vhd.tar.gz
. Ez a lépés a fájl méretétől függően egy kis időt vesz igénybe. - Végül a virtuális gépen másolja a VHD-t az Azure-lemezre az előző paranccsal
azcopy
.
Kapcsolódó tartalom
Most már készen áll arra, hogy a Debian Linux VHD használatával új virtuális gépeket hozzon létre az Azure-ban. Ha ez az első alkalom, hogy feltölti a .vhd fájlt az Azure-ba, olvassa el a Linux rendszerű virtuális gép létrehozása egyéni lemezről című témakört.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: