Linux-haladó

Hogyan működik a Linux scheduler olyan program esetén, ahol 4ms vagy kisebb időzítő működik?

Fórumok

Sziasztok!
Nagyjából a téma címe lefedi a kérdést, amire választ várok.

Ami biztos, hogy a sofware clock a legtöbb mai Linux esetén fordításkor állítódik be, méghozzá a legtöbb esetben a 250-es értékre (ami 4ms-nak felel meg). Ugyebár ezt a 4ms-ot nevezzük egy jiffynek.
Tehát a scheduler ilyen-olyan módon eldönti, hogy milyen sorrendben foglalkozhat a CPU az egyes processekkel. Minden sorra kerülő processnek van 4ms-nyi ideje, aztán jön a következő.
(Javítsatok ki, ha valami nem helytálló a fentiekben!)

No de mi történik akkor, ha írok programot, amiben megadok egy időzítést, ami kisebb, vagy egyenlő mint egy jiffy (4ms)? Nyílván, a scheduler nem fogja állandóan az én programomat ütemezni, viszont így az ilyen kicsi időzítésnek sincs értelme. Vagy igen ?

Egy másik kérdés szorosan a témában:
Egy általunk írt programban 20ms időzítést állítunk be és vegyük azt az optimális esetet, hogy minden 5. ütemezésnél a mi programunk kerül sorra. Nyílván, az optimális eset és 17ms időzítés mellett szintén az 5. ütemezésre kerülne sor a mi programunkra. A kérdés az, hogy ezt a 3ms-ot visszakapom valamikor, vagy ez maradandó hiba? Másképp feltéve a kérdést: 120ms alatt 6-szor (120/20=6), vagy 7-szer (120/17=7,1) kerül sor a programunkra?

ZENTYAL PDC -MEGOLDVA-

Fórumok

Windows klienseket szerettem volna a ZENTYAL-szerver által létrehozott domain-be beléptetni, de nem sikerül. Bekéri a csatlakozáshoz szükséges usernevet és jelszót.
Én beírom : 'Administrator' és a ZENTYAL-ben beállított jelszót. Kicsit vár, aztán nem csatlakozik. Valami ilyet ír ki : 'A tartomány vezérlője nem létezik, vagy rossz felhasználónevet, jelszót adott meg !'
Kipróbáltam WinXP-n, Win7-n, és ugyanaz.
Ötlet ??
http://ubuntuone.com/4QnTnUnbXYn7j6wr3SDpLT

xorg.conf billentyűzetkiosztás

Fórumok

Van nekem egy vonalkódolvasóm, ami nem tud magyart.
Már kérdezgettem és gugliztam, azt már megtaláltam, hogy lehet csak erre az egy devicera kiosztást váltani:

setxkbmap -device 13 us

Így működik is szépen, viszont szeretném valahogy xorg.conf-ba beletenni, hogy ezt magától csinálja.
Ezzel próbáltam eddig:


Section "InputClass"
    Identifier             "Vonalkodolvaso"
    MatchProduct  "WIT Electron Company WIT 122-UFS V2.02"
    MatchDevicePath  "/dev/input/event*"
    MatchIsKeyboard   "yes"
    Option           "XkbLayout" "us"
EndSection

Működik, viszont globálisan állítja a kiosztást, tehát minden eszközre. Hogy kéne úgy módosítani, hogy csak erre az eszközre legyen érvényes a kiosztás?

raid rendszerek elvi megbízhatósága kérdés

Fórumok

Ha egy diszk megbízhatósága p, akkor mennyi egy raid6, raid5, raid10, raid1E rendszer megbízhatósága?

A matematikai tudásom nem elégséges a kérdéseim megválaszolásához :-(A diszk megbízhatóságá a vizsgált élettartamban (elsõ 5 év), a gyártó úgy adja meg, hogy mekkora két meghibásdás közötti várhatóan eltelt idõ (MTBF). Ez nem túl jó metrika, mert a diszk egyszercsak tönkremegy (várható élettartam), és utána kidobjuk, mert tönkrement. Nincs két hiba, ami között jól viselkedik.

De, mégis, tegyük fel, hogy tudható az, hogy valamennyi idõ alatt valamekkora valószínûségggel hibásodik meg, és ez mindíg ugyanannyi az élettartama alatt. Egy diszkre legyen: 1 óra alatt p valószínséggel nem hibásodik meg.

(Ekkor 1 év alatt p^8760 valószínséggel nem hibásodik meg, oks.)

A raid1 akkor megy tönkre, ha egyszerre két diszk hibásodik meg. Rámondhatjuk, hogy 1-(1-p)^2 a jósága (óránként) de ez nem igaz, ugyanis egy spare berakása és a rekonstrukció R óra, és ha ezalatt hibásodik meg a korábban túlélt eredeti diszk, akkor is elesett a raid.

A raid10 az N darab (N páros egész) diszkbõl áll. Egy spare beillesztése R óra. A raid10 tönkremegy, ha egy diszk kiesése esetén R idõnél hamarabb esik ki a kiesett diszk párja. Minden diszknek pontosan 1 párja van.
Az a gyanum, hogy a raid10 megbízhatósága az N növelésével csökken, és elöbb-utóbb eléri az 1 diszk megbízhatóságát. Kiváncsi lennék erre a grafikonra. (N, R, p)

A raid1E (linux raid10 implementáció) hasonló a fentihez, de minden diszknek két párja van, a rekonstrukt ideje alatt 2 olyan diszk is van, aminek kiesése a terljes raid elesését is okozza. a diszkek száma: N, 2-nél nagyobb egész (nem kell, hogy páros legyen). Itt is kiváncsi vagyok, hogy mikor lesz az egész rosszabb, mint 1 diszk. (N, R, p)

A raid5 esetén 1 diszk kiesése esetén valami R rekonstrukciós idõ alatt bármelyik másik esik ki az N-1 diszkbõl, a tömb meghalt. Itt is kiváncsi vagyok arra a küszöbre, aminél nagyobb raid5 már kevésbé megbízható, mint 1 diszk (N, R, p) összefüggés, N -> (N, R, p) grafikon.

A raid6 esetén 2 diszk kiesését még túléli, de 3 diszkét már nem. Az elsõ diszk kiesésénél indul el a rekonstrukció, és a rekonstrukció ideje alatt nem szabad, hogy még 2 kiessen. Itt is kiváncsi vagyok arra a küszöbre, aminél nagyobb raid6 már kevésbé megbízható, mint 1 diszk (N, R, p) összefüggés, N -> (N, R, p) grafikon.

Tapasztalatból tudom, hogy az egyre nagyobb diszkek esetén növekszik az R rekonstrukciós idõ. Az a tippem, hogy az R rekonstrukciós idõ növekedésével a "vállalható N" erõsen csökken. A raid10, raid1E rendszerek esetében a rakonstrukciós idõ sokkal kisebb, mint raid5, vagy raid6 esetén. (12 óra versus 3 nap, 1TB diszk esetén, entry-level storage rendszerben).

A grafikonokból olyan vegyes kérdéseim is vannak, hogy hány diszk esetén megbízhatóbb a raid10, mint a raid5, vagy ha a raid10 rekonstrukciós ideje másfélszerese a raid1E rekonstrukciós idejének, akkor melyik a jobb stb.

Természetesen nagyon köszönöm magukat az összefüggéseket is, de ha nem lehetetlen elemi módszerekkel megmagyarázni, akkor a magyarázatot is.

Red Hat frissítések letöltése

Fórumok

Sziasztok!

Közelembe került egy RHEL 6 és MRG telepítésre, mindkettő céges megvásárolt. Összeraktam egy kickstart állományt az automatikus telepítésre, de kíváncsi vagyok lehetséges-e valami olyan, hogy az összes frissítést leszedjem ami kijött azóta az RHEL 6-hoz, meg MRG-hez és csináljak belőle egy telepítő DVD-t vagy esetleg egy telepítő USB pendrive-ot. Ez utóbbi esetleg a gyári telepítőről is érdekes lenne. Ideális esetben RHEL+RHEL sup+MRG egy helyen lenne, nem különböző lemezeken. Ilyen lehetséges vagy csak a feltelepített csomagokat tudom a működő rendszeren yum-on keresztül neten elérni? Kérdem azért, mert a gépnek nincsen net elérése és szeretném úgy telepíteni, hogy legalább a telepítés pillanatában aktuális csomagok legyenek rajta.

Találtam olyat, hogy comps.xml alapján összerak egy telepítő rendszert (ha jól értem mindent rárak ami nem optional), ez még akár jó is lehetne egy tuningolt comps.xml állománnyal, de nekem nem sikerült a három lemezt eggyé olvasztanom, a fő lemez anyagát látta, a Supplementary és MRG lemezek nem kerültek rá.

Régebben próbálkoztam revisorral CentOS, SL és Fedora alatt, meg pungival is, de nekem nem jöttek be, ami lemezt összeraktak nem működött, hibával elszállt telepítés közben. Viszont azok legalább az összerakott kickstart állomány alapján szedték össze a cuccot.

Tehát a kérdés, lehet-e leszedni frissítéseket a Red Hat-tól és lehet-e belőle egy aktuális telepítő DVD-t faragni?

SME Server 7.5 Kernel panic - not syncing

Fórumok

Sziasztok!

Egy 7.5-ös SME Server egy újraindítás után a következő problémát generálja:

md: bind(hda1)
raid1: raid set md1 active with 2 out of 2 mirrors
mdamd: /dev/md1 has been started with 2 drives.
md: md2 stopped
md: bind(hdc2)
md: hda2 has same UUID but different superblock to hdc2
md: hda2 has diferent uuid tohdc2
md: export_rdev(hda2)
mdadm: failed to add /dev/hda2 to /dev/md2: Invalid argument
mdadm: /dev/md2 assembled from 0 drives - not enough to start the array.
Making device-mapper control mode
scanning Logical volumes
Reading all physical volumes. This may take a while...
Activating logical volumes
Volume group "main" not found
ERROR: /bin/lvm exited abnormally! (pid 438)
Creating root device
Mounting root filesystem
mount: error 6 mounting ext3
mount: error 2 mounting none
Switching to near root
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel panic - not syncing: Attempted to kill init!

2 egyforma vinyó RAID 1-es tömbben van. Eddig semmi gondja nem volt, de most már egyáltalán nem akar a rendszer beindulni.
Hogyan lehetne megmenteni a rendszert?
Esetleg mivel tudnám a rajtalévő adatokat lementeni?

Előre is köszönöm a segítséget!
Üdv: Szoker

NUMA architektúra + cpuset kérdések

Fórumok

Sziasztok,

0. kérdés: tudtok olyan fórumot a széles Interneten, ahol NUMA rendszerek üzemeltetésével kapcsolatban lehet feltenni kérdéseket?

Van egy sokprocesszoros (1000+) linuxos NUMA rendszer, ahol a memórialokalizáció maximalizálása érdekében igyekszünk cpuseteket használni. Két problémát nem sikerült eddig megnyugtató módon megoldanunk:

1. Ha egy program túllépi a számára engedélyezett memória node-ok által biztosított memóriát, akkor elkezd futni az oom-killer. Naiv feltételezésem szerint ilyenkor gyorsan meghal a hibát okozó processz és minden visszatér a rendes kerékvágásba. Ezzel szemben a tapasztalatok szerint változatos hibák mellett lerohad a komplett rendszer, valószínűleg túlterhelődik a numalink kapcsolat. Mi lehet az oka? Hogyan lehet az ilyet elkerülni? (A memory overcommit-ot kikapcsoltam, de az vsz. csak a komplett memóriára vonatkozik, egy cpusetben történő túlfoglalás ellen nem véd.)

2. A gépen fut 20000+ "processz" (vagy szál). Ezek többsége kernel szál, amelyek mind az ezer processzorra külön pid-ként jelennek meg. Az a probléma, hogy ezek mind a root cpusetben futnak, így a linux ütemező (elvileg) össze-vissza pakolhatja őket cpu core-okra, sőt ezt a terhelés minél jobb megosztása miatt szereti is csinálni. Vajon honnan lehet látni, hogy egy kernel szál "rögzített-e" egy adott cpu core-ra? (Dilettáns tudásom alapján a kernel tud ilyet mondani egy szálra.) Érdemes-e sportolni azon, hogy (bizonyos) kernel szálak ne a root cpusetben, hanem egy kisebb, konzisztens egységben (pl. egy kicsi boot cpuset) fussanak? Az egyik elsődleges ilyen jelöltem az nfsd lenne.

Akkuidő win vs. linux

Fórumok

Hi,

adott egy laptop (Dell 5010), amin dual boot win8 és gentoo (xfce4) van. Feltűnt, hogy linux alatt drasztikusan csökken az akkuidőm. Utánajárva, kipróbálva arra az érdekes megállapításra jutottam, hogy 100%-os akksinál kihúzva windows alatt több, mint másfél óra a becsült hátralévő idő (és tartja is a rendszer), viszont linux alatt ugyanez 34 perc (és sajna tényleg le is merül), ráadásul az akksi töltöttség 47%.

Ötletek?

Transparent proxy - Browser error pages

Fórumok

Sziasztok!

A következő érdekes dologra lettem figyelmes: Ha a Squid Cache: Version 3.1.6-os proxy-mat transzparens módban üzemeltetem, a böngészők error page-ei nem jelennek meg a felhasználóknál. Ellenkező esetben igen.
(Ha localhoston:3128 || localip:3128 || 3128 on figyel a squid akkor sem jó.)

Böngészem egy ideje a netet megoldást keresve, de nem találtam semmi érdemlegeset.

Tapasztaltatok Ti is efféle abnormalitást? Esetleg tatlátatok rá valami megoldást is?
Köszönöm előre a válaszotokat ;)

SZERK.: Ez nem is abnormális működés, csak a transzparens mód vele járója és kell egy plusz opció az error page-ek engedélyezéséhez ebben a módban?

Üdv.:
V007