Informatikai technológiák laboratórium 1 - MIT 1. mérés: Háttértár rendszerek

A VIK Wikiből


Ellenőrző kérdések

A Sauron-os oldalon található beugrókérdéseket kell tudni, a MIT-es honlapon kevesebb van párral!

1. Legalább hány diszkből kell állnia egy RAID-0, RAID-1, RAID-5 illetve RAID-6 tömbnek?

  • RAID0:2
  • RAID1:2
  • RAID5:3
  • RAID6:4

2. Hány diszk kiesését képes tolerálni egy RAID-0, RAID-1, RAID-5 illetve RAID-6 tömb?

  • RAID0:0
  • RAID1:N-1
  • RAID5:1
  • RAID6:2

3. Mit jelent a meleg tartalék RAID esetén?

  • A tartalék lemez be van kapcsolva, meghibásodás esetén azonnal helyreállítható rá a tönkrement lemez. Ekkor a RAID vezérlő magától használatba tudja venni a tartalék lemezt, amíg a rendszergazda észreveszi a hibát.


4. Egy lemez meghibásodása milyen lépésekben javítható ki egy RAID tömbben?

  • Lemezhibát jelez, vagy timeoutol
  • A vezérlő leválasztja a tömbből => degradálódott állapotba kerül a tömb (degradálódott állapotban is képes kiszolgálni írási és olvasási kéréseket, ám a teljesítmény csökkenhet)
  • Ha van hot spare ("meleg tartalék"), akkor az használatba vehető, ha nincs, akkor a karbantartónak kell új diszket rendelnie a tömbhöz
  • Kiesett diszk rekonstrukciója az új lemezre (teljes diszket tele kell írni, miközben a tömbhöz érkezett kéréseket is ki kell szolgálni) => újra hibátlan állapotba kerül a tömb

5. Mik a logkai kötetkezelő rendszerek (LVM) alapfogalmai?

  • Fizikai kötet : Az a hely, ahol az adatok fizikailag tárolódnak
  • Kötetcsoport : Resource pool, amely összefogja a fizikai köteteket, és ezen lehet allokálni logikai kötetet
  • Logikai kötet : Logikailag 1 kötet, mely több fizikai kötetből is állhat. Gyakorlatilag egy virtuális diszk

6. Mi a különbség a SAN (Storage Area Network) és a NAS (Network Attached Storage) között?

  • NAS: Filerendszer megosztásra
  • SAN: Blokkos eszközök

7. Milyen komponensekből áll egy iSCSI kapcsolat?

  • Kliens(kezdeményező, initiator): Az a számítógép, amely használni szeretné a központi tárat
  • Szerver(célpont, target): A központi adattároló

8. Hogyan (hol) férhetünk hozzá egy merevlemez tartalmához byte szinten Linux alatt?

  • Bullshit: A rendszerhívások byte-okon működnek és ezek a műveletek a kernel szintjén vannak lefordítva blokkműveletekre.
  • Jó válasz: /dev/sdX alatt (scsi eszköz esetén pl.)
  • Minden eszközhöz tartozik egy virtuális fájl a /dev könyvtárban. Ezeket a fájlokat lehet írni/olvasni a bájtszintű hozzáféréshez.

9. Adott egy CD image .iso formátumban, amit a fájlrendszerben tárolunk. Hogyan csatolhatjuk fel, hogy úgy férhessünk hozzá, mintha ez egy CD meghajtóba helyezett lemezre lenne kiírva? (Nem a pontos parancs kell, hanem, hogy Linux alatt mi teszi lehetővé, hogy ezt megtegyük.)

  • /dev/loopX alá fájlokat is fel lehet blokkos eszközként csatolni. Ehhez a mount -o loop-ot kell használni

10. Adott egy CD lemez a meghajtóban, szeretnénk a tartalmát egy .iso fájlba átmenteni Linux alatt. Legegyszerűbben hogyan tehetjük ezt meg? (Nem a pontos parancs kell, hanem az alapötlet.)

  • dd-vel lehet a cd-ről isoba pakolni, ha nincs mountolva. (dd if=/dev/cdrom of=./cdimg1.iso)

11. Hogyan hozhatunk létre egy tetszőleges méretű nullákkal felöltött reguláris fájlt Linux alatt? (Nem kell a pontos parancs, csak az alapötlet.)

  • A /dev/zero egy olyan fájl, amiből nullákat olvashatunk. Ebből a dd-vel kiolvashatunk és fájlba írhatunk tetszőleges mennyiséget. (dd if=/dev/zero of=file.. bs=blokkméret.. count=blokkok száma..)

12. Hogyan törölhetjük le egy merevlemez tartalmát úgy, hogy utána garantáltan ne lehessen visszaállítani azt? (Nem kell a pontos parancs, elég az alapötlet.)

  • A dd paranccsal felülírjuk a dev/(u)random-ból vagy /dev/zero-ból, így a lemez véletlen adattal, vagy nullákkal töltődik fel. Sima törlés csak szabadnak jelöli a törölt területet (azaz csak a metaadatokat törli), de amíg oda valami nem ír, addig fizikailag még ott van az adat.

13. Egy teljesen új, üres merevlemezt hogyan (milyen fő lépésekben) kell előkészíteni, hogy reguláris fájlokat lehessen tárolni rajta?

  • (Particionálás, nem kötelező, de megszokott)
  • Filerendszer létrehozása (mkfs)
  • Felcsatolás (mount)

14. Sorolj fel néhány szempontot, amiért érdemesebb logikai kötetkezelést használni a hagyományos partícionálás helyett!

  • Atomi pillanatkép készítése használatban lévő fájlrendszerről
  • Működés közben lehet mozgatni, növelni, csökkenteni
  • Redundanciát lehet beépíteni (mint a RAID1-gyel)
  • Teljesítményt lehet növelni (mint a RAID0-val)

15. Miket tudunk kiajánlani a Linuxos iSCSI célponttal (iSCSI Enterprise Target (iet))?

  • Helyi blokkos eszk?öz?ökhöz tudunk hozzáférést nyújtani hálózaton keresztül csatlakozó kliensek (initiatorok, kezdeményezők) számára.
  • Bármilyen fájlt vagy blokkos eszközt.

16. Sorolj fel legalább kettőt az említett három Linux alatti hibainjektálási lehetőség közül!

  • Szelektív hibázás
  • Megválasztott típusú hibajelzés
  • Hibajelzés nélküli, csendes hibajelenség

Ezek voltak a bullshit válaszok!!!

A helyes válaszok pedig most következzenek:

  • SystemTap használatával
  • A debugfs fájlrendszer használatával
  • Vagy a szimpla mdadm --fail tömb eszköz paranccsal

17. Hogyan vezérelhető a Linux kernel hibainjektor? (alapötlet elég)

  • debugfs fájlrendszert kell létrehozni és fail_make_request interfészét használni (a debugfs olyan speciális fájlokból áll, amelyek valamilyen kernelen belüli adatszerkezetet tesznek elérhetővé)

18. Mi a logikai kötetkezelésnél használható pillanatkép funkció működési elve? (az alapötlet elég)

  • a pillanatkép készítése és fenntartása a copy-on-write működést követi
  • a pillanatkép számára külön logikai kötet kell létrehozni tetszőleges mérettel

19. Milyen két szempontot kell figyelembe venni a logikai kötetkezelő allokációs egység méretének megválasztásánál?

  • a fejpozicionálások hatása csökkenthető megfelelő méret választásával
  • a sávos felosztás és a pillanatkép készítésekor is az alapvető blokkméret az allokációs egység mérete, ezzel végzi a kötetkezelő az alapvető műveleteket (ha túl nagy, akkor apró változásokkor sok olyan adatot másolunk, ami nem változott, a pillanatkép kötet helye gyorsan elfogyhat)

20. AIX operációs rendszer alatt nincs szoftveres RAID támogatás és a gépben nincs hardveres RAID vezérlő sem. Hogyan lehetne mégis hibatűrővé tenni a háttértárat? (kicsit gondolkodtató kérdés, akár többféle jó megoldási ötlet is lehet)

Az LVM tud redundánsan működni, ha nincs is RAID a rendszerben, tehát javasolt LVM használata a szokványos partícionálás helyett / előtt.

Részlet a segédletből (3.3. A logikai kötetkezelés egyéb szolgáltatásai):

A dinamikus allokáción túl a legtöbb LVM megvalósítás egyéb szolgáltatásokkal is kiaknázza az indirekt allokáció adta lehetőségeket: Redundancia az allokációs egységek tükrözésével. Ez a RAID-1-hez hasonlóan több példányban, különböző fizikai kötetekre írja ki a logikai kötet összes allokációs egységét. A tükrözés és sávos szétosztás olyan esetekben bír nagy jelentősséggel, ha egyébként nincs RAID lehetőség a rendszerben.

21. Milyen komponenseket kell végigellenőrizni, ha egy Linux alatti iSCSI kezdeményező nem képes csatlakozni egy másik gépen lévő, szintén Linux alatt futó iSCSI célponthoz? (kicsit gondolkodtató kérdés, a válasz ismerete kb. 30 perccel rövidítheti egy adott mérési feladat megoldását)

FIGYELEM: segédlet alapján, hasraütésszerűen írva, még nem használtam ilyen rendszert, de ha mérés után többet tudok meg róla, akkor lehet, hogy frissítem...

A csatlakozási hibát okozhatja, hogy a szerver VAGY a kliens nem működik megfelelően.

Szervernél ellenőrizendő dolgok: (de nem ezt kérdezték - hanem a kliensre vonatkzót, de a pingelés és a port ellenörzése jó ötlet.)

  • A hálózaton elérhetőnek kell lennie a szervernek (ha engedélyezve van a ping, akkor válaszoljon rá)
  • Mivel TCP-n kommunikál, ezért nyitva kell lennie a kommunikációs portnak [TCP 3260] (tűzfalak ellenőrzése, stb)
  • Futnia kell iet kernel módú és felhasználói módú szervernek (kernel módú lehet, hogy nem kell a fileio hozzáférési módhoz, mert a kernel módú rész az alacsony szintű fájlműveletekhez kell, míg a fileio a fájl APIt használja)
  • Az iet szervernek megfelelően kell bekonfigurálva lennie: /etc/ietd.conf fájl megfelelően kitöltve, célpontnak a neve az előírt formátumot kövesse, legyen legalább egy logikai egység, az ott megcímzett eszköz elérhető, olvasható, írható legyen, stb

Kliensnél ellenőrizendő dolgok: (ezt kell leírni)

  • fusson a kernel módú driver és a felhasználói módú daemon (iscsid)
  • érjük el a szerver TCP portját
  • iscsidm-mel kapcsolódni tudjunk a szerverhez és fel tudjuk deríteni
  • A felderítés sikerességét ellenőrizhetjük a iscsiadm --mode node parancs segítségéve, ami kilistázza a felderített célpontoka - hogy valóban látszanak.
  • tudjunk a célponthoz kapcsolódani
  • létrejöjjenek a iSCSI diszkek (/dev/sda, ...) -> dmesg paranccsal is lehet ellenőrizni


-- Velias - 2009.02.22.

-- sashee - 2009.02.22.

-- Main.KövesdánGábor - 2009.03.28.

-- doory - 2009.03.31.