1. CoLinux – avagy két dudás
egy csárdában
Szalai Ferenc
Nemzeti Informatikai Infrastuktúra Iroda
(NIIF Iroda)
szferi@niif.hu
2. Bevezető
●
Motiváció: ClusterGrid: Nemzeti
tudományos műszaki számítási és
adatárolási infrastruktúra
●
Feladat: 1000 windows-on szeretnénk
Linux-ot futtatni.
●
Technológiai megoldás: virtualizáció
●
Konkrét választás: Cooperative Linux
(CoLinux)
3. Virtualizációs technikák
●
Alkalmazás szintű: cygwin, posix
emulációs program könyvtárak
●
Chroot alapú: BSD jail, linux-vserver,
virtouzzo (SW-Soft, ebben a hónapban
let szabad softwer egy része)
●
Emuláció: WMWare, QEmu, MS Virtual
PC
●
Paravirtualizáció: User-Mode-Linux,
XEN, CoLinux
4. Mi az a CoLinux?
●
Kernel patch (alapvetően 2.6-os
kernelhez):
– interfész host OS kernel meghajtóval
(driver)
– virtualis eszközök: blokk meghajtók, konzol,
hálózat
●
Felhaszálói programok:
– colinux-daemon, colinux-console-nt,
colinux-console-fltk, colinux-network-bridge
●
NT alapú windows kernel kell hozzá
●
Fő fejlesztő: Dan Aloni (Japán)
5. Hogyan működik-részletek
(ring3)
Host Userspace
colinux-serial-daemon Host Kernel Guest Kernel
process (ring0) (ring0)
IPC using colinux-daemon coLinux
named pipes process Kernel Normal
driver
Linux
Main Run Userspace
ioctl()
Loop Passage
page
entry entry
colinux-console-nt (unmodified
process binaries)
colinux-net-daemon
process
colinux-bridged-net-daemon
process
6. CoLinux hálózat
●
natív bridge:
– Win32TAP az OpenVPN projektből: virtuális
hálózati meghajtó a windowsban
– natív windows bridge
●
emulált bridge: winpcap meghajtó kell
hozzá a windows-on konfigurációt nem
igényel
●
egzotikus módszetek: ppp, slip stb.
7. Telepítés
●
stabil változat: 0.6.2
– letölthető windows installer (NSIS
setup.exe) ami a kernel és felhaszálói
programok
– root állományrendszert nekünk kell
csinálni: gentoo, debian van előre gyártott
– XML konfigurációs állomány: memória,
root állomány rendszer, hálózat, initrd,
kernel
●
unstable változat: monoton-ban a
forrás elérhető, linux-on mingw gcc
kereszetfordító figuráció
8. Haszálat
●
colinux-daemon.exe:
– kernel.sys betöltése (--install-driver)
– windows szolgáltatásként is regisztálható
(--install-service)
– a többi colinux-* program futatása a
konfigráció alapján
9. Teljesítmény
●
Window folyamat ütemezője nem rossz!
– alacsony prioritás colinux-* folyamatoknak
– a host rendszeren nem érezni napi interaktív
haszálat mellett
●
Teszt: povray CPU-ra, iozone I/O-ra:
– CPU 98%
– IO 83%
10. Mire haszálhatjuk
●
Bármire amire egy Linux-ot
– linux kernel tesztelés és hibakeresés
– windows linux átálás
– hogyan haszáljuk iptables-t windows-on :)
– virtuális szuperszámítógép építésére:
ClusterGrid: Linux szerver (klaszter front-
end), CoLinux kliensek.
11. Problémák
●
Stabilitás: 90%-os
●
Hálózat:
– 10 Mb/s a maximum :(
– IEEE 802.1q VLAN trunk technika
támogatása hiányzik
●
Memória kezelés: közös memória
haszálat a host rendszerrel hiányzik
●
I/O: COW
●
Több CoLinux felügyelete