Az Azure Storage optimalizálása SQL Server virtuális gépekhez

Befejeződött

A tárolási teljesítmény egy I/O-nehéz alkalmazás, például egy adatbázismotor kritikus összetevője. Az Azure a tárolási lehetőségek széles skáláját kínálja, és akár a számítási feladatokra vonatkozó követelményeknek megfelelő tárolási megoldást is létrehozhat.

Az Azure Storage egy robusztus és biztonságos platform, amelyet a különböző alkalmazások különböző igényeinek megfelelően terveztek. Skálázható megoldások széles skáláját kínálja, így minden tárolási típus támogatja a inaktív titkosítást. A felhasználók választhatnak a Microsoft által felügyelt titkosítási kulcs vagy a felhasználó által definiált titkosítási kulcs között a hozzáadott biztonság érdekében.

  • Blob Storage – A Blob Storage az úgynevezett objektumalapú tárolás, amely hideg, gyakori és archív tárolási szinteket tartalmaz. SQL Server-környezetben a blobtároló általában adatbázis-biztonsági mentésekhez lesz használva, az SQL Server URL-címről való biztonsági mentési funkciójával.

  • Fájltároló – A fájltárolás gyakorlatilag olyan fájlmegosztás, amely csatlakoztatható egy virtuális gépen anélkül, hogy hardvert kellene beállítania. Az SQL Server a Fájltárolást használhatja tárolóhelyként egy feladatátvevő fürtpéldányhoz.

  • Disk Storage – Az Azure által felügyelt lemezek blokktárolót kínálnak, amelyet egy virtuális gép mutat be. Ezeket a lemezeket ugyanúgy kezeli a rendszer, mint egy helyszíni kiszolgálón lévő fizikai lemezt, kivéve, hogy virtualizálva vannak. A felügyelt lemezeken a számítási feladattól függően több teljesítményszint is létezik. Ez a tárolási típus az SQL Server-adatok és a tranzakciós naplófájlok leggyakrabban használt típusa.

Felügyelt Azure-lemezek

Az Azure-beli felügyelt lemezek blokkszintű tárolókötetek, amelyeket az Azure Virtual Machines mutat be. A blokkszintű tárolás olyan nyers tárolókra vonatkozik, amelyek létrejönnek, és egyéni merevlemezként kezelhetők. Ezek a blokkeszközök az operációs rendszeren belül kezelhetők, és a tárolási réteg nem ismeri a lemez tartalmát. A tárolás blokkolásának alternatívája az objektumtárolás, ahol a fájlok és metaadataik a mögöttes tárolórendszerben vannak tárolva. Az Azure Blob Storage egy objektumtárolási modell példája. Bár az objektumtárolás számos modern fejlesztési megoldáshoz jól működik, a virtuális gépeken futó számítási feladatok többsége blokktárolót használ.

A felügyelt lemezek konfigurálása fontos az SQL Server számítási feladatainak teljesítményéhez. Ha egy helyszíni környezetből lép át, fontos, hogy a teljesítményfigyelőből a korábban részletezett módon rögzítse az olyan metrikákat, mint az átlagos lemez másodperc/olvasási és átlagos lemez másodperc/írási ideje. Egy másik rögzítendő metrika a másodpercenkénti I/O-műveletek, amelyeket az SQL Server: Resource Pool Stats Disk Read and Write IO/sec számlálókkal lehet rögzíteni, amelyek azt mutatják, hogy az SQL Server hány IOP-t szolgál ki a csúcsán. Fontos, hogy megértse a számítási feladatokat. A tárterületet és a virtuális gépet úgy szeretné megtervezni, hogy az megfeleljen a számítási feladatok csúcsainak igényeinek anélkül, hogy jelentős késést kellene eredményeznie. Minden Azure-beli virtuális géptípusra korlátozva van az IOP-k száma.

Az Azure-beli felügyelt lemezek négy típusból származnak:

Ultralemez – Az ultralemezek támogatják a magas I/O-számítási feladatokat az alacsony késésű kritikus fontosságú adatbázisokhoz.

Prémium SSD – A prémium SSD-lemezek nagy átviteli sebességet és alacsony késést biztosítanak, és megfelelnek a felhőben futó legtöbb adatbázis-számítási feladat igényeinek.

Standard SSD – A standard SSD-k olyan könnyen használt fejlesztési/tesztelési számítási feladatokhoz vagy webkiszolgálókhoz lettek tervezve, amelyek kis mennyiségű I/O-t végeznek, és kiszámítható késést igényelnek.

Standard HDD – A standard HDD-k ritkán használt biztonsági mentésekhez és fájltároláshoz alkalmasak.

Az éles SQL Server számítási feladatai általában Ultra lemezt vagy Prémium SSD-t, vagy a kettő valamilyen kombinációját használják. Az ultralemezeket általában ott használják, ahol az almilliszekundumos késést keresi a válaszidőben. A prémium SSD-k általában egy számjegyű ezredmásodpercnyi válaszidőt biztosítanak, de alacsonyabb költségekkel és nagyobb rugalmasságtal rendelkeznek a kialakításban. A prémium SSD-k az olvasási gyorsítótárazást is támogatják, ami a lemezre való utazások számának csökkentésével előnyös lehet az írásvédett adatbázis-számítási feladatok számára. Az olvasási gyorsítótár a helyi SSD-n (Windowson a D:\ meghajtón vagy Linuxon a /dev/sdb1/ meghajtón) van tárolva, ami segíthet csökkenteni a tényleges lemezre való ciklikus utazások számát.

Lemezek csíkozása a maximális átviteli sebességhez

Az Azure-lemezek teljesítményének és mennyiségének növelése egyik módja az adatok több lemezen való csíkozása. Ez a technika nem vonatkozik az Ultra lemezre, mivel önállóan skálázhatja az IOP-okat, az átviteli sebességet és a maximális méretet egyetlen lemezen. A Prémium SSD-k esetében azonban előnyös lehet az IOP-k és a tárolókötet skálázása. A windowsos lemezek leválasztásához adja hozzá a virtuális géphez hozzáadni kívánt lemezek számát, majd hozzon létre egy készletet a Windows tárolóhelyeinek használatával. Ne konfiguráljon redundanciát a készlethez (ami korlátozza a teljesítményt), mivel a redundanciát az Azure-keretrendszer biztosítja, amely az összes lemez három példányát szinkron replikációban tartja a lemezhiba elleni védelem érdekében. Készlet létrehozásakor a készlet az IOP-k összegét és a készletben lévő összes lemez kötetének összegét foglalja össze. Ha például 10 P30 lemezt használt, amelyek mindegyike 1 TB, és lemezenként 5000 I/OP-val rendelkezik, akkor 10 TB-os kötettel rendelkezik, amely 50 000 IOP-val rendelkezik.

Ajánlott eljárások az SQL Server Storage-tárolókonfigurációhoz

Az Azure-beli virtuális gépeken futó SQL Server ajánlott eljárásaihoz és tárolási konfigurációjukhoz néhány javaslat van:

  • Külön kötet létrehozása adat- és tranzakciónapló-fájlokhoz
  • Olvasási gyorsítótárazás engedélyezése az adatfájl-köteten
  • Ne engedélyezze a gyorsítótárazást a naplófájl-köteten
  • Tervezze meg további 20% IOP-ját és átviteli sebességét a virtuális gép tárolójának létrehozásakor a számítási feladatok csúcsainak kezeléséhez
  • Használja a D: meghajtót (a helyileg csatolt SSD-t) TempDB-fájlokhoz, mert a TempDB újra létre lesz hozva a kiszolgáló újraindításakor, így nincs adatvesztés kockázata
  • Az azonnali fájl inicializálásának engedélyezése a fájlnövekményes tevékenységek hatásának csökkentése érdekében.
  • Nyomkövetési fájl- és hibanapló-könyvtárak áthelyezése adatlemezekre
  • Az 1 ezredmásodperc alatti tárolási késést igénylő számítási feladatok esetében fontolja meg az Ultra disk használatát a Premium SSD-en keresztül.

Azure Virtual Machine-erőforrás-szolgáltató

Az SQL Server számára azure-beli virtuális gépeken történő tárolás összetettségének csökkentésének egyik módja az Sql Server-sablonok használata az Azure Marketplace-en, amely lehetővé teszi, hogy a tárolót az üzembe helyezés részeként konfigurálja. Szükség szerint konfigurálhatja az IOP-okat, és a sablon elvégzi a tárolóhelyek készleteinek Létrehozását a Windowson belül.

SQL Server virtuálisgép-lemez konfigurációja

Ez az erőforrás-szolgáltató emellett támogatja a TempDB hozzáadását a helyi SSD-meghajtóhoz, és létrehoz egy ütemezett feladatot a mappa indításkor történő létrehozásához.