Lajber Zoltán lajbi@ih.szie.hu Szent István Egyetem, Gödöllő Informatikai Hivatal Bevezetés Linuxról Mi A SAN? - DAS, SAN, NAS SAN és Linux: tervezési megfontolások: skálázhatóság, megbízhatóság, sebesség SAN és Linux: megvalósítás: elrendezés, mentés SAN-ra és Linuxra épülő szolgáltatások: fájlszerver, mail, web hosting 1
Linuxról Mérföldkövek 1993 Első linux telepítés a PC úgy néz ki mint a SUN vagy SGI gépek 1996 Első éles linux alapú kiszolgáló 2000 Összes lényeges szolgáltatás Linuxon ár, karbantarthatóság megbízhatóság 2
Mi is az a Linux? Nagyon röviden: egy a POSIX szabványokat követő szabadon felhasználható Unix operációs rendszer, amelyet Linus Torvalds kezdett el fejleszteni előbb egyedül, gyakorlatilag a nulláról indulva 1991 végén, majd később egyre több hacker, szakember és egyetemista csatlakozott hozzá az Interneten keresztül. (http://mlf.linux.rulez.org/mlf/alapok.html) 3
Filozófiája Átvette a UNIX alapelveit, hozzátette a szabad szoftver erényeit, és egy újfajta szoftverfejlesztési módszert alkalmaz. 4
A gyökerek: A UNIX 1969-ben Ken Thomson és Dennis Ritchie készítette egy gazdátlan PDP-7 -es gépre. 1973-tól létezik a mai formában, amikor áttírták Ritchie által kifejlesztett C nyelvre. 1974-ben az első nyilvános publikáció szabad szoftver!? 1977-82 között az AT&T egységesítési probálkozások 1983-ban a System V, aktuális változata a Release 4, röviden SYSVR4 Az AT&T egyeduralmát elkerülendő, az IEEE égisze alatt létrehoztak egy szabványtervezetet Portable Operating System Interface (X) - POSIX néven. 5
A UNIX ereje többfelhasználós, több feladatos operációs rendszer erősen támogatja a hálózatokat a későbbi fejlesztők is megértették és betartják az eredeti szerzők filozófiáját 6
A UNIX filozófiája a UNIX fejlesztői maradéktalanul ragaszkodtak néhány egyszerű szabályhoz amit néha nehéz betartani, de hosszú távon mindenképpen megéri. minden fájl a programok be- es kimenete is fájl, ami így átirányítható a nagy programok helyett kis, áttekinthető és összekapcsolható segédeszközök a kis programokkal szembeni követelmények: legyenek egyszerűek, de általánossan megfogalmazottak Ezekből következik, hogy a szabványos segédprogramok összekapcsolásával bonyolult feladatok is hatékonyan megoldhatók. 7
Szabad szoftver A free szó angol jelentései miatt félreérthető. A free itt nem ingyenest, hanem szabadot jelöl. Többnyire persze ingyenes is a Linux, de igazi lényege az a szabadság, amivel a felhasználó rendelkezik a forráskód hozzáférhetősége révén. Az így kapott előnyök: forrásnyelvű kód adta szabadság fejlesztés sebessége erőforrások, hajtóerők szoftver minősége, avagy miből él a programozó? 8
Eric Steven Raymond alapján: Katedrális : Fejlesztési stílusok emberek kis csoportja tervez és programoz ritka kiadások - többnyire legalább fél év a változatok között a csoport maga végzi a hibakeresést és eltávolítást, a felhasználói tapasztalatok és igények visszacsatolása lassú 9
Bazár : Egy vagy néhány ember koordinálja a fejlesztést sokan végzik a programozást gyakori kiadások (fejlesztői változat), így gyors visszacsatolás népes a tesztelők tábora a tesztelők nagyrésze hibajavítást is végez http://www.catb.org/ esr/writings/cathedral-bazaar/ 10
A Linux alkotóelemei Kernel : Az operációs rendszer magja. A Linux szó szabatosan csak a magot jelenti. Disztribuciók : Ahhoz, hogy használni tudjuk, sok-sok dolog kell meg a kernel mellé. Több cég, illetve társaság készit ilyen összeállításokat, ezeket hívjuk disztribúcióknak. A jelentősebbek: Debian GNU/Linux, SuSe Linux, Redhat Linux, UHU Linux 11
A verziószámok Idegenek számára misztikusnak és bonyolultnak tűnhetnek. A legfontosabb a mag (kernel) és a disztribúció: Kernel: formája mindig X.Y.Z alakú. Az X a fő verzió szám. Ha az Y páros (és 0), akkor stabil, ha páratlan, akkor fejlesztői változat. A Z sorszám, a fejlesztői változatnál gyorsan változhat. Jelenlegi aktuális változatok: 2.6.9 és majd 2.5.x a lezárt fejlesztői változat. Disztribuciók: természetesen ennek is van verziószáma, de többnyire fedőneve is. Jelenleg például Debain/GNU Linuxból a 3.0 (woody), a stabil, és a 3.1 (sarge) a fejelszés alatt álló. 12
Vállalati szempontból fontos tulajdonságok Csomagkezelés: Linux szoftverek telepítését az disztribúcióhoz tartozó programcsomag végzi. Ez az adatbázis tartalmazza a fájlok listáját, beállítást segítő programokat és függöségeket is kezel. Elterjedtebb csomagformátumok az RPM és a DEB. naplozó fájlrendszer: a háttértárak növekedése miatt a megfelelő rendelkezésre-állást csak naplozó fájlrendszerrel lehet biztosítani. Ezek támogatjak a röptében átméretezést. Elterjedtebbek: ReiserFS (SUSE), JFS (IBM), XFS (SGI) logikai kötet kezelés: fizikai diszkektől és particióktól való elrugaszkodás, nagyobb rugalmasság, futás közbeni bővíthetőség. SMP: 1-255 db CPU támogatás. Legyünk óvatossak, tipikus esetben i386 platformon nem a CPU a szük keresztmetszet, tehát nem csodaszer. 13
Mi a SAN? DAS: Direct-attached Storage: erősen korlátozott a bővíthetőség. Tipikus: 6x146G 876G brutto, RAID5: 665G netto. U320 SCSI és 10k rpm-es diskek esetén csak a 4. disk okoz gyorsulást. SAN: Storage Area Network: Diskek külső vezérlőn, blokk szintű elérés általában 2Gbps FiberChannel, vagy 1Gbps ethernet-iscsi. Skálázható, gyors. NAS: Network Attached Storage - fájl szintű elérés LAN-on keresztül 14
Szolgáltatások központi fálj kiszolgáló: Linux,SaMBa, LDAP segítségével kb 3000 gépnek - nagy növekedés várható web hosting: Linux UML alapú virtual hosting - közepes növekedés levelezési lista archivum: Linux, mailman számára archiválási terület - viszonylag szerény, de monoton növekedés mentés: központi biztonsági mentés 15
SAN tervezési megfontolások A probléma: nem hatékony a háttértár felhasználás: bizonyos gépekben sok van, más gépekben már nem tudunk bővíteni. Háttértár konszolidációra SAN-t választottunk. Föbb követelmények: skálázhatóság: kis kiinduló méret, később jelentős bővítések várhatók támogatás: Debian/GNU Linux és SUN Solaris op. rendszerek kell együtműködni hibatűrés: bizonyos szolgáltatásokat nagy megbízhatósággal kell üzemeltetni mentés: központi biztonsági mentés lehetősége 16
Megvalósítás Kiválasztott hardver elemek meglévő gépek: 2db IBM xseries x345, 1db xseries 330 új gép: 1db IBM xseries x335 (PCI-X, hotswap...) HBA: 5db Qlogic QLA2340 szalagos egység: IBM LTO2 200/400G SCSI tape külső házban. storage: EMC 2 Clariion CX700, 4T brutto kezdő kiépítés, max 32T 17
Fizikai elrendezés Storage listaszerver webszerver fájlszerver mentés, vezérlés SP A SP B LTO tape Fiber Channel SCSI 18
Logikai elrendezés LUN méret tulajdonos snapshot FS 1024G fájlszerver 200G UML 200G webszerver 40G MAILARCH 100G listaszerver 20G TMP 200G backupszerver - snapshot 260G backupszerver - szabad 1195G tartalék - összesen 3724G - - 19
1. driver - kernel fordítás: Linux storage-ra kötése Device Drivers/SCSI device support/scsi low-level drivers/qlogic IS host adapter family support rövidebben: CONFIG_SCSI_QLA2300=y make-kpkg --revision=gepnev1 kernel-image scp kernel-image-2.6.8.1_gepnev1_i386.deb lajbi@gepnev1: gepnev1-en: dpkg -i kernel-image-2.6.8.1_gepnev1_i386.deb 2. leállítás, HBA beszerelés, indítás lspci 0000:02:03.0 Fibre Channel: QLogic Corp. QLA2312 Fibre Channel Adap 02) 20
3. SCSI szinten: cat /proc/scsi/scsi... Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: DGC Model: RAID 5 Rev: 0207 Type: Direct-Access ANSI SCSI revision: 04... sg_map -x /dev/sg0 0 0 0 0 0 /dev/sda... 21
4. particionálás: egyetlen Linux LVM típusú partició Disk Drive: /dev/sda Size: 214748364800 bytes, 214.7 GB Heads: 255 Sectors per Track: 63 Cylinders: 26108 Name Flags Part Type FS Type [Label] Size (MB) --------------------------------------------------------------------- sda1 Primary Linux LVM 214745.62 22
5. logikai kötet létrehozása, formázás: pvcreate /dev/scsi/host0/bus0/target0/lun0/part1 vgcreate emc /dev/scsi/host0/bus0/target0/lun0/part1 lvcreate -L 1G -n home emc mkfs.xfs /dev/emc/home 23
6. felcsatolás - mount: # /etc/fstab: static file system information. # <file system> <mount point> <type> <options> <du <pass>... /dev/emc/home /home xfs defaults 0 df -h Filesystem Size Used Avail Use% Mounted on /dev/md/0 471M 103M 344M 24% / tmpfs 501M 0 501M 0% /dev/shm /dev/mapper/raid1-usr 2.0G 838M 1.2G 42% /usr /dev/mapper/raid1-var 20G 9.1G 11G 46% /var /dev/mapper/emc-home 199G 181G 19G 91% /home 24
LUN méret növelés Lehetséges módszerek: 1. LUN növelése: meta LUN létrehozás 2. új LUN létrehozás - RAID 0 3. új LUN létrehozás - LVM Szükséges lépések LVM esetén: pvcreate /dev/scsi/host0/bus0/target1/lun0/part1 vgextend emc /dev/scsi/host0/bus0/target1/lun0/part1 lvextend -L+100G /dev/emc/home xfs_growfs /dev/emc/home 25
Hibatűrő csatlakozás storage-hoz 1. storage megfelelő beállítása: /opt/navisphere/bin/navicli -h 192.168.242.243 storagegroup -sethost -host sziszifusz -failovermode 2 2. kernel beállítások: Device Drivers Multi-device support (RAID and LVM) RAID support RAID-1 (mirroring) mode Multipath I/O support 3. többi lépés mind alapesetben, de particionálás helyett md, azaz: cat /etc/mdadm/mdadm.conf DEVICE /dev/sda /dev/sdb ARRAY /dev/md3 level=multipath devices=/dev/sda,/dev/sdb 26
cat /proc/mdstat Personalities : [linear] [raid1] [raid5] [multipath] md3 : active multipath sda[2] sdb[0] 1073741760 blocks [1/2] [U] mdadm --detail /dev/md3 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 2 8 0 1 active sync /dev/sda UUID : 7aa611cc:afe69994:aae1b159:e86179a8 Events : 0.251 df -h... /dev/mapper/emc-home 1.0T 1.2G 1023G 1% /home 27
Mérések gép típus diskvezérlő disk írás olvasás átlag fájlszerver x345 qla2340/r5-8 cx700 85 127 106 fájlszerver x345 qla2340/r5-4 cx700 68 120 94 fájlszerver x345 fusion/swr5 10k/320 75 110 92.5 mentés x345 qla2340/r5-8 cx700 67 116 91 webszerver x335 fusion/swr1 15k/320 72 75 73.5 noc x330 aic7892/sw r1 10k/160 44 53 48.5 mentés x345 fusion/swr1 10k/160 26 40 33 gaia x235 ibm 5i/r5 10k/160 32 26 29 mentés x345 ibm 5i/r5 10k/160 12 30 21 28
konszolidált, skálázható háttértár Eredmények olcsóbban fejleszthető szerverpark központi mentés hibatűrés Fejlesztési irányok SAN switch: további hibatűrés, bővíthetőség iscsi: távoli telephelyek számára biztonsági másolat tárolás mentés: LTO tape library helyett ATA storage http://zeus.gau.hu/ lajbi/eloadasok.html lajbi@ih.szie.hu 29