Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Linux rendszerű virtuális gép (VM) létrehozása egyszerűen elvégezhető a parancssorból vagy a portálról. Ez az oktatóanyag bemutatja, hogyan biztosíthatja, hogy a Microsoft Azure platformon optimalizálja a teljesítményét. Ez a témakör egy Ubuntu Server rendszerű virtuális gépet használ, de létrehozhat linuxos virtuális gépet is saját rendszerképek használatával sablonként.
Előfeltételek
Ez a témakör feltételezi, hogy már rendelkezik egy működő Azure-előfizetéssel (ingyenes próba-regisztráció), és már kiépített egy virtuális gépet az Azure-előfizetésében. A virtuális gép létrehozása előtt győződjön meg arról, hogy telepítve van a legújabb Azure CLI, és bejelentkezett az Azure-előfizetésbe az bejelentkezéssel.
Azure operációs rendszerlemez
Miután létrehozott egy Linux rendszerű virtuális gépet az Azure-ban, két lemez van hozzá társítva. A /dev/sda az operációs rendszer lemeze, a /dev/sdb az ideiglenes lemez. Ne használja a fő operációsrendszer-lemezt (/dev/sda) az operációs rendszer kivételével, mivel gyors virtuálisgép-rendszerindítási időre van optimalizálva, és nem nyújt megfelelő teljesítményt a számítási feladatokhoz. Egy vagy több lemezt szeretne csatolni a virtuális géphez az adatok állandó és optimalizált tárolásához.
Lemezek hozzáadása méret- és teljesítménycélokhoz
A virtuális gép méretétől függően legfeljebb 16 további lemezt csatolhat egy A-sorozathoz, 32 lemezt egy D-sorozathoz és 64 lemezt egy G-sorozatú gépen – egyenként akár 32 TB méretűre. Szükség szerint további lemezeket adhat hozzá a tárhely és az IOps-követelmények szerint. Minden lemez teljesítménycélja 500 IOps a Standard Storage-hoz, és lemezenként legfeljebb 20 000 IOps a Premium Storage esetében.
A legmagasabb IOps eléréséhez a Premium Storage-lemezeken, ahol a gyorsítótár beállításai readOnly vagy None értékre lettek beállítva, le kell tiltania a korlátokat a fájlrendszer linuxos csatlakoztatása közben. Nincs szükség akadályokra, mert a Premium Storage-alapú lemezekre történő írások tartósak ezekhez a gyorsítótár-beállításokhoz.
- Ha reiserFS-t használ, tiltsa le a korlátokat a csatlakoztatási beállítással
barrier=none(A korlátok engedélyezéséhez használjabarrier=flusha ) - Ha ext3/ext4-et használ, tiltsa le a korlátokat a csatlakoztatási beállítással
barrier=0(A korlátok engedélyezéséhez használjabarrier=1a ) -
Ha XFS-t használ, tiltsa le a korlátokat a csatlakoztatási beállítással
nobarrier(Az akadályok engedélyezéséhez használja a lehetőségetbarrier)
Nem felügyelt tárfiókokkal kapcsolatos szempontok
Ha azure CLI-vel hoz létre virtuális gépet, az alapértelmezett művelet az Azure Managed Disks használata. Ezeket a lemezeket az Azure platform kezeli, és nem igényel semmilyen előkészítést vagy helyet a tárolásukhoz. A nem felügyelt lemezek tárfiókot igényelnek, és további teljesítménybeli szempontokat is figyelembe kell venniük. A felügyelt lemezekről további információt az Azure Managed Disks áttekintésében talál. Az alábbi szakasz csak a nem felügyelt lemezek használatakor ismerteti a teljesítmény szempontjait. Az alapértelmezett és ajánlott tárolási megoldás a felügyelt lemezek használata.
Ha nem felügyelt lemezekkel rendelkező virtuális gépet hoz létre, győződjön meg arról, hogy a virtuális géppel azonos régióban található tárfiókokból származó lemezeket csatolja a közelség és a hálózati késés minimalizálása érdekében. Minden Standard tárfiók legfeljebb 20 000 IOps és 500 TB méretű kapacitással rendelkezik. Ez a korlát körülbelül 40 erősen használt lemezre vonatkozik, beleértve az operációsrendszer-lemezt és a létrehozott adatlemezeket is. Prémium szintű tárfiókok esetén nincs maximális IOps-korlát, de 32 TB-os méretkorlát van érvényben.
Ha magas IOps-számítási feladatokkal foglalkozik, és a lemezekhez a Standard Storage-t választotta, előfordulhat, hogy több tárfiókra kell felosztania a lemezeket, hogy biztosan ne érje el a Standard Storage-fiókok 20 000 IOps-korlátját. A virtuális gép különböző tárfiókokból és tárfióktípusokból származó lemezek kombinációját is tartalmazhatja az optimális konfiguráció elérése érdekében.
Az Ön VM ideiglenes meghajtója
A virtuális gép létrehozásakor az Azure alapértelmezés szerint egy operációsrendszer-lemezt (/dev/sda) és egy ideiglenes lemezt (/dev/sdb) biztosít. Minden további hozzáadott lemez /dev/sdc, /dev/sdd, /dev/sde stb. néven jelenik meg. Az ideiglenes lemezen (/dev/sdb) lévő összes adat nem tartós, és elveszhet, ha bizonyos események, például a virtuális gép átméretezése, ismételt üzembe helyezése vagy karbantartása a virtuális gép újraindítását kényszeríti. Az ideiglenes lemez mérete és típusa az üzembe helyezéskor kiválasztott virtuálisgép-mérethez kapcsolódik. Az összes prémium méretű virtuális gép (DS, G és DS_V2 sorozat) ideiglenes meghajtóját egy helyi SSD támogatja, amely akár 48k IOps teljesítményt is biztosít a teljesítmény fokozásához.
Linux swap partíció
Ha az Azure-beli virtuális gép Ubuntu- vagy CoreOS-rendszerképből származik, a CustomData használatával felhőkonfigurációt küldhet a cloud-initnek. Ha egy cloud-initet használó egyéni Linux-rendszerképet töltött fel , a partíciók felcserélése a cloud-init használatával is konfigurálható.
A /etc/waagent.conf fájl nem használható a cloud-init által kiépített és támogatott összes lemezkép felcserélésére. A képek teljes listáját a Cloud-init használatával című témakörben találja.
Ezeknek a képeknek a felcserélésére a legegyszerűbben az alábbi lépéseket kell elvégeznie:
A /var/lib/cloud/scripts/per-boot mappában hozzon létre egy create_swapfile.sh nevű fájlt:
$ sudo touch /var/lib/cloud/scripts/per-boot/create_swapfile.sh
Adja hozzá a következő sorokat a fájlhoz:
$ sudo vi /var/lib/cloud/scripts/per-boot/create_swapfile.sh
#!/bin/sh if [ ! -f '/mnt/swapfile' ]; then fallocate --length 2GiB /mnt/swapfile chmod 600 /mnt/swapfile mkswap /mnt/swapfile swapon /mnt/swapfile swapon -a ; fiMegjegyzés:
Az értéket igény szerint és az erőforráslemez rendelkezésre álló területe alapján módosíthatja, amely a használt virtuális gép méretétől függően változik.
A fájl végrehajthatóvá tétele:
$ sudo chmod +x /var/lib/cloud/scripts/per-boot/create_swapfile.sh
A swapfile létrehozásához hajtsa végre a szkriptet közvetlenül az utolsó lépés után:
$ sudo /var/lib/cloud/scripts/per-boot/./create_swapfile.sh
A cloud-init-támogatással nem rendelkező VM képek esetében az Azure Marketplace-ről üzembe helyezett képek operációs rendszerrel integrált Linux ügynököt tartalmaznak. Ez az ügynök lehetővé teszi a virtuális gép számára a különböző Azure-szolgáltatások használatát. Feltéve, hogy az Azure Marketplace-ről telepített egy szabványos rendszerképet, a linuxos felcserélési fájlbeállítások helyes konfigurálásához a következőket kell tennie:
Keresse meg és módosítsa a /etc/waagent.conf fájl két bejegyzését . Ezek vezérlik a dedikált felcserélési fájl meglétét és a felcserélési fájl méretét. Az ellenőrizni kívánt paraméterek a következők ResourceDisk.EnableSwap : ResourceDisk.SwapSizeMB
A megfelelően engedélyezett lemez és a csatlakoztatott felcserélési fájl engedélyezéséhez győződjön meg arról, hogy a paraméterek a következő beállításokkal rendelkeznek:
- ResourceDisk.EnableSwap=Y
- ResourceDisk.SwapSizeMB={MB méret az igényeidhez}
Miután elvégezte a módosítást, újra kell indítania a waagentet, vagy újra kell indítania a Linux rendszerű virtuális gépet a módosításoknak megfelelően. Tudja, hogy a módosítások implementálva lettek, és egy felcserélési fájl jött létre, amikor a parancs használatával megtekinti a free szabad területet. Az alábbi példában egy 512 MB-os felcserélési fájl jön létre a waagent.conf fájl módosítása miatt:
azuseruser@myVM:~$ free
total used free shared buffers cached
Mem: 3525156 804168 2720988 408 8428 633192
-/+ buffers/cache: 162548 3362608
Swap: 524284 0 524284
I/O-ütemezési algoritmus a Premium Storage-hoz
A 2.6.18-es Linux-kernellel az alapértelmezett I/O ütemezési algoritmus a Deadline-ről CFQ-ra (teljesen tisztességes sorkezelési algoritmus) változott. A véletlenszerű hozzáférési I/O-minták esetében elhanyagolható különbség van a CFQ és a Deadline teljesítménybeli különbségei között. Az olyan SSD-alapú lemezek esetében, ahol a lemez I/O-mintája túlnyomórészt szekvenciális, a NOOP vagy a Deadline algoritmusra való visszakapcsolás jobb I/O-teljesítményt érhet el.
Tekintse meg az aktuális I/O-ütemezőt
Használja a következő parancsot:
cat /sys/block/sda/queue/scheduler
A következő kimenet jelenik meg, amely az aktuális ütemezőt jelzi.
noop [deadline] cfq
Az I/O-ütemezési algoritmus aktuális eszközének (/dev/sda) módosítása
Használja a következő parancsokat:
azureuser@myVM:~$ sudo su -
root@myVM:~# echo "noop" >/sys/block/sda/queue/scheduler
root@myVM:~# sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"/g' /etc/default/grub
root@myVM:~# update-grub
Megjegyzés:
Ez a beállítás önmagában a /dev/sda esetében nem hasznos. Minden olyan adatlemezen állítsa be, ahol a szekvenciális I/O uralja az I/O-mintát.
A következő kimenetnek kell megjelennie, amely azt jelzi, hogy a grub.cfg újraépítése sikeresen megtörtént, és az alapértelmezett ütemező a NOOP-ra lett frissítve.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-34-generic
Found initrd image: /boot/initrd.img-3.13.0-34-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
done
A Red Hat terjesztési család esetében csak a következő parancsra van szüksége:
echo 'echo noop >/sys/block/sda/queue/scheduler' >> /etc/rc.local
Az Ubuntu 18.04 az Azure-ra hangolt kernellel többsoros I/O-ütemezőket használ. Ebben a forgatókönyvben a megfelelő választás a nonenoop helyett. További információ: Ubuntu I/O Schedulers.
A szoftveres RAID használata a magasabb I/Ops eléréséhez
Ha a számítási feladatok több IOps-t igényelnek, mint amennyit egyetlen lemez biztosíthat, több lemezből álló szoftveres RAID-konfigurációt kell használnia. Mivel az Azure már elvégzi a lemez rugalmasságát a helyi hálórétegen, a legmagasabb szintű teljesítményt a RAID-0 csíkozási konfigurációval érheti el. Hozzon létre és hozzon létre lemezeket az Azure-környezetben, és csatolja őket a Linux rendszerű virtuális géphez a meghajtók particionálása, formázása és csatlakoztatása előtt. Az Azure-beli Linux rendszerű virtuális gépen a szoftveres RAID beállításának konfigurálásáról további információt a Linux-alapú szoftveres RAID konfigurálása című dokumentumban talál.
A hagyományos RAID-konfiguráció alternatívaként a Logikai kötetkezelőt (LVM) is telepítheti, hogy több fizikai lemezt egyetlen csíkos logikai tárolókötetbe konfiguráljon. Ebben a konfigurációban az olvasások és írások a kötetcsoportban található több lemezre vannak elosztva (a RAID0-hez hasonlóan). Teljesítménybeli okokból valószínű, hogy csíkozni szeretné a logikai köteteket annak érdekében, hogy az olvasások és írások az összes csatolt adatlemezt kihasználják. A csíkos logikai kötet Azure-beli Linux rendszerű virtuális gépen való konfigurálásáról további információt az Azure-beli Linux rendszerű virtuális gépeken futó LVM konfigurálása című témakörben talál.
Következő lépések
Ne feledje, hogy mint minden optimalizálási vitafórum esetében, minden módosítás előtt és után teszteket kell végrehajtania a változás hatásának méréséhez. Az optimalizálás lépésről lépésre történik, amelynek különböző eredményei vannak a környezet különböző gépein. Előfordulhat, hogy az egyik konfiguráció nem működik mások számára.
Néhány hasznos hivatkozás további erőforrásokra: