Overselling ( eng. Overselling ) - a szállítói szolgáltatások értékesítése a biztosítható erőforrások mennyiségét meghaladó mértékben.
Szinonimája : túlfoglalás _ _ _
A tárhelyszolgáltatások értékesítésével kapcsolatban a túlértékesítés a számítási teljesítmény nagyobb mennyiségben történő értékesítését jelenti, mint amennyit a szerver hardver képes biztosítani.
Kezdetben a túlértékesítés a megosztott hosting szolgáltatások értékesítésével járt , és főként olyan erőforrásokra vonatkozott, mint a forgalom és a merevlemez-terület. A Virtual Private Server (VPS/VDS) szolgáltatások népszerűsítésével a "túlértékesítés" szó széles közönség számára ismertté vált, és a legtöbb tárhelyszolgáltatónál bevett gyakorlat .
A túlértékesítés azon alapul, hogy az ügyfelek többsége soha nem használja fel maradéktalanul a tarifacsomagban számukra biztosított erőforrásokat. Ezért a tárhelyszolgáltatók többször értékesítik a szerverkapacitást, ami segít csökkenteni az energiaköltségeket és csökkenti a kihasználatlan kapacitás leállási idejét. Ennek eredményeként ez a szolgáltatások árának csökkenéséhez vezet.
Példa:
Egy 32 Gb RAM-mal rendelkező szerveren 32 virtuális dedikált szerver lehet, amelyek mindegyike 1 Gb RAM-ot kap, így garantáltan minden kliens maximális terhelés mellett kapja meg a RAM -ot. Általában sokkal több virtuális gép kerül egy ilyen kapacitású szerverre.
Elméletileg lehetséges egy olyan helyzet, amikor az összes VPS/VDS egyszerre próbálja kihasználni a rájuk osztott kapacitásokat, és a fizikai szerver a korlátig terhelődik. Ekkor a szolgáltató ügyfelei észrevehetik a túlértékesítés következményeit: a szolgáltatások lassulása, hibák, az oldal időszakos elérhetetlensége. A legtöbb tárhelyszolgáltató gondosan figyeli a fizikai szerverek terhelését, és nem enged ilyen helyzeteket. A felügyeleti rendszerek időben újra elosztják a "problémás" klienseket más szerverek között, ami észrevétlenül történik maguktól az ügyfelektől.
A Linux operációs rendszer több értékkel számolja a felhasznált memóriát: VIRT, RES, SHM.
VIRT (a folyamat virtuális mérete) – a folyamat által felhasznált virtuális memória mennyisége. Ez az aktuálisan használt memória, a folyamat által igényeinek fenntartott memória, a folyamat által használt lemezen lévő fájlok (leggyakrabban a könyvtárak) és a más folyamatokkal megosztott memória összege. A VIRT megmutatja, hogy egy folyamat mennyi memóriát kaphat jelenleg.
RES (rezidens méret) - az aktuálisan használt memória mennyisége. Mindig kisebb, mint a VIRT, mivel a legtöbb program ugyanazokat a könyvtárakat használja.
SHR – Megmutatja, hogy összesen mennyi VIRT memória van felhasználva.
Például a program a könyvtár egyes funkcióinak csak egy részét használja. Így a teljes könyvtár VIRT-be és SHM-be íródik, és csak a ténylegesen használt rész kerül a RES-be.
A tárolón belüli OpenVZ-n használt memória kiszámításakor a VIRT-t veszik figyelembe, ami több, mint a ténylegesen felhasznált memória, de a vendég operációs rendszer használható. Így a VPS/VDS VIRT memórián keresztüli eladásakor többet adhat el, mint amennyi a szülőszerveren rendelkezésre áll.
A memória túlértékesítéséhez a vmguarpages, oomguarpages és vmguarpages paraméterek használatosak – ez a memória lefoglalása a tárolóhoz, az oomguarpages pedig a folyamat memóriakorlátja.
CPU túlértékesítésA CPU - használati korlátot a tároló indításakor állítják be a cpuunits (minimum garantált CPU-időérték a VDS-hez), a cpulimit (a VDS által felhasználható maximális érték százalékban) és a cpus (a VDS által használt magok száma) paraméterekkel.
A Cpulimit akkor fog működni, ha a szerver tétlen, és az egyik konténerből hiányzik a cpuunits érték, akkor a mag legfeljebb n%-át használhatja (magok, cpus-ban lévő érték).
A memória túlértékesítése ugyanazon elv szerint történik, mint az OpenVZ -ben, egy különbséggel, RES-nek számít. Ez tulajdonképpen használt memória. Például n folyamata van a libc könyvtárat használva, mindegyik folyamat 10 MB-ot fogyaszt, amiből 2 MB a libc direktívája, így (10-2) * n + 2 lesz kiszámítva, és nem számít, mennyit foglalt le a VIRT-ben . 5 másodpercenként egyszer, ha túllépik, a folyamatokat az OOMkiller nevű kernelmemória-leosztó mechanizmus leállítja .
CPU túlértékesítésA CPU is hasonló elv szerint korlátozva van az OpenVZ -nél, VPS/VDS-en maximum 1 magos soft limit van beállítva, van egy hard limit is amit parancs vált ki, ha már 1 magot kapott a konténerben, és a rakományt hosszú ideig tartják, és nem esik le, akkor egy kemény határérték aktiválódik.
FreeBSD Jail és OpenVZ HDD túlértékesítésMindkét virtualizáción felülértékeljük a lemezterületet azáltal, hogy többször eladjuk. Ebben az esetben a tárhelyszolgáltatónak folyamatosan gondoskodnia kell arról, hogy elegendő szabad hely maradjon, ha egy (több) konténer (VDS) mindenre szüksége van, aminek lennie kell.
A lemezhasználat korlátozása ebben az esetben az I / O műveletek korlátozásán keresztül valósítható meg, de jelenleg ez a korlátozás nehezen kivitelezhető. A végső illesztőprogram nem tudja, honnan küldték az olvasási parancsot, és nem tudja kiszámítani egy adott tárolóhoz. Ezért az egyidejűleg megnyitott fájlok – fájlleírók korlátozásához folyamodnak . Amikor eléri a megnyitott fájlok korlátját, a vendég operációs rendszer hibaüzenetet ad a befejezett innode -okról .
Ezen a virtualizáción lehetséges a processzor és a RAM túlértékesítése.
Túlértékesített RAMA RAM túlértékesítése a Kernel SamePage Merging (KSM), Ballooning és Swapping technológiák segítségével történhet .
A KSM a következő elv szerint működik:
Az első lépés a KSM konfigurálása a memóriaterületek vizsgálatára, a KVM virtualizáció alapértelmezés szerint nincs konfigurálva a KSM-mel való együttműködésre. A konfigurálás után a KSM elkezdi keresni a RAM-ot azonos adatokért. Amikor a KSM 2 vagy több egyezést talál, megosztottként jelöli meg az adatokat, és az összes azonos memóriahelyet egy blokkra cseréli, és írásvédettvé teszi. Ha később az ilyen memóriát használó folyamatok egyike kéri az információ megváltoztatását, a KSM az írásvédett blokk másolásával új területet hoz létre.
Légballonozás:
A hypervisor (operációs rendszer-kezelő program) kérést küld a vendég operációs rendszernek (VDS), hogy a RAM egy részét visszaadja az irányítása alá:
A hipervizor saját belátása szerint használja ezt a memóriát, ahol éppen szüksége van rá. Amikor a felhőből származó memória felszabadul, a hypervisor visszaküldheti azt a vendég operációs rendszerbe, amelyből a felvételt vette:
Csere:
A memória túlértékesítése a merevlemezen lévő lapozófájlt használja.
CPU túlértékesítésA CPU-túlértékesítést a KVM hypervisor támogatja a Linux ütemezőn és a cgroups mechanizmuson keresztül , bizonyos folyamatok priorizálásával. Ebben az esetben a vendég operációs rendszer nem tapasztal problémát, ha nem használja 100%-on a processzort. CPU-túlértékesítés esetén nem adhat el több magot egy VDS-nek, mint amennyi a szerveren van, és nem kell 80%-nál nagyobb terhelést engednie a rendszernek, mivel a további túlértékesítés jelentősen csökkentheti mind a vendég operációs rendszer, mind a vendég operációs rendszer teljesítményét. maga a szerver.