Най-четените учебни материали
Най-новите учебни материали
***ДОСТЪП ДО САЙТА***
ДО МОМЕНТА НИ ПОСЕТИХА НАД 2 500 000 ПОТРЕБИТЕЛИ
БЕЗПЛАТНИТЕ УЧЕБНИ МАТЕРИАЛИ ПРИ НАС СА НАД 7 700
Ако сме Ви били полезни, моля да изпратите SMS с текст STG на номер 1092. Цената на SMS е 2,40 лв. с ДДС.
Вашият СМС ще допринесе за обогатяване съдържанието на сайта.
SMS Login
За да използвате ПЪЛНОТО съдържание на сайта изпратете SMS с текст STG на номер 1092 (обща стойност 2.40лв.)Линукс. Клиенти под Linux |
![]() |
![]() |
![]() |
Като операционна система, Linux предлага чудесна база за създаването на инсталации от тънки клиенти (thin clients) и сървърите за тях. Тази статия се стреми да покаже по-скоро различните възможности и конфигурации за тънки клиенти под Linux, отколкото самото изпълнение, което точно и обширно е описано в съответните how-tos, FAQs, Идеята Тънкият клиент е опростен компютър, който черпи голяма част от функциите си от централен сървър. Съществуват различни степени на "тънкост", в зависимост колко функции се изпълняват се локално при клиента и централно на сървъра. Типичният тънък клиент разполага с огрaничена изчислителна мощност (отнася се за процесора и паметта), мрежова карта и обичайните входно-изходни устройства (монитор, клавиатура и мишка). Основната изчислителна мощност и дискове се намират на сървъра, където се изпъняват всички потребителски програми. Главната идея зад тънките клиенти е да се намалят разходите по компютърната техника и нейната поддръжка. Тънките клиенти са просто устроени, често без никакви механично движещи се части, което рязко намалява ръзможността от повреда. Липсата на дисково пространство също премахва нуждата от локално администриране на файлове. Така почти цялата администрация се извършва на централния сървър. Ако има нужда от надграждане на процесорната можност или на дисковото пространство, това се извършва само при сървъра, защото само там се съхраняват и зареждат програмите и потрбителските файлове. Предистория Принципът зад тънките клиенти всъщност е доста стар. Той датира с появата на първите mainframe и миникомпютри, въвели т.нар. "time sharing". Това е позволявало няколко потребителя да работят едновременно на една и съща машина, като всеки е стоял пред собствен текстов терминал с клавиатура. Операционната система Unix, първоначално създадена за микрокомпютъра PDP-7, още от самото си създаване поддържа "time sharing" и едновременно работещи потребители. С появата на персоналния компютър се появи евтина и ефективна алтернатива на сложните и скъпи mainframe и миникомпютри. "Персоналният" им характер обаче се оказва по-скоро слабост, когато се търси ефективна поддръжка на няколко десетки и повече PC. Това стана особено явно през края 90'те години, когато количеството на употребяваните персонални компютри се увеличи многократно. През 1997 Gartner Group публикува изследване за компании в Съединените Щати, според което пет-годишните разходи за един Windows 3.1 PC възлизат на $44250, $38900 за Windows95 PC и $38400 за WindowsNT PC. Приблизително по това време IBM, Oracle и Sun представиха идеята за Network Computer, или NC, който беше насочен срещу утвърдената Wintel платформа. Появиха се различни интересни технологии за тънки клиенти, като Citrix WinFrame, Microsoft Windows NT Terminal Server и JavaStation на Sun. Въпреки възникналия дебат NC срещу PC, тънките клиенти постепенно заеха значителна ниша от пазара и днес има десетки компании занимаващи се с изработване на хардуер за клиентите, софтуерни приложения и инсталация и поддръжка. Ролята на Linux При Тънките Клиенти През последните няколко години Linux показа, че свободният софтуер може успешно да конкурира комерсиалните софтуерни продукти. Свободният и отворен характер на кода, надежността на ключови сървърни приложения и бързото развитие дадоха възможност на Linux платформата да проникне, макар и все още плахо, в корпоративния свят, контролиран от Microsoft и Sun Microsystems. Нека да погледнем кои ключови технологии дават възможност на Linux успешно да се ползва като платформа за тънки клиенти:
Къде Могат да Бъдат Използвани Тънки Клиенти под Linux Ключов фактор за спестяване на средства чрез използване на тънки клиенти, е да знаем кога да ги използваме. Те работят най-добре в следните принципни ситуации:
При разработката на интегрални схеми традиционно се използва специализиран Unix софтуер, който поддържа само комерсиалните варианти на Unix като Solaris, AIX или Irix. В дадения случай се касае за ASIC приложение на Cadence, което е инсталирано на Sun машина. Понякога се налага приложението да се ползва от няколко протребителя едновременно. Коя е най-изгодната алтернатива тук? Тъй като цената на допълнителните Sun работни станции и лицензите на Cadence e много висока (>>$10000), най-евтино е ползването на Linux клиенти, които да се свързват към XDM сървъра на Sun машината. В същото време Linux клиентите монтират потребителските файлове от SAMBA сървър под Linux, който сервира Windows NT клиенти. Тук би трябвало да се спрем и на ситуациите, когато използването на тънки клиенти би било безсмислено.
Хардуерни Изисквания Изискванията към хардуера на тънките клиенти не са много високи, тъй като те ще зареждат само Linux ядрото, init и X-сървъра. Конфигурациите са взети от съществуващи инсталации, както и от лични тестове и експерименти.
Всички други устройства, включително и твърдия диск не са задължителни и тяхното добавяне би довело до "набеляването" на клиента. Тези които ценят тишината и спокойствието, могат с няколко модификации да направят тънкия Linux клиент безшумен. Първо, ако се касае за микропроцесор, който се нуждае от принудително охлаждане, честотата му може да бъде намалена докато той престане да се нагрява и вентилаторът да бъде изваден. След това захранването може да бъде сменено с по-малко без вентилатор, или пък вентилаторът на съществуващото захранване да бъде изключен (не се препоръчва). Съществуват също така и компании, които предлагат готови тънки клиенти за няколко стотин USD. Те са специално построени за целта и често разполагат с дънна платка с малък form factor, където графиката и Ethernet контролера са интегрирани. Не всички готови тънки клиенти обаче са съвместими с Linux. Тъй като при сървърът ще се зареждат всички потребителски програми, при него ще е нужна по-голяма инвестиция. Един Pentium клас сървър може много успешно да поддържа 20 тънки клиента. Когато клиентите се ползват за такива тривиални неща като електронна поща или просто тексто-обработване, техния брой може да бъде увеличен до 50 и повече. При конфигурирането на сървъра е нужно да се обърне внимание на следните точки:
Принцип на Действие Има няколко възможни конфигурации за стартиране на един тънък клиент под Linux, но в повечето случаи главните стъпки са едни и същи: 1. Зареждане на Linux ядрото от флопи диск или чрез TFTP. 2. Монтиране на минимална root filesystem от NFS сървър. 3. Стартиране на локален X сървър. 4. Свързване към XDM сървър, който извършва log-in на потребителя След като потребителят премине през XDM log-in процеса, всички програми, които той извиква се изпълняват на сървъра, докато целият потребителски интерфейс (графична среда, сигнали от мишката и клавиатурата) се обработва от локалния X сървър. Управлението на потребителския интерфейс от специализиран сървър е фундаменталната характеристика на X-Windows. Особености при Инсталацията Тук накратко ще се спрем на някои важни особености при инсталирането на тънки клиенти. Както вече споменах, начините за конфигуриране на инсталацията са много и има възможности за дълго експерементиране. Начин на зареждане на ядрото Linux ядрото може да бъде заредено в паметта по два начина: 1. От boot дискета по обикновения начин. Това обаче поставя изискването за флопи дисково устройство и не винаги е желателно или удобно. 2. Чрез мрежова карта с boot eprom. След включването на тънкия клиент се извършва програмата, която е записана на eprom-а. Тази специална програма инициализира мрежовата карта, излъчва bootp (или dhcp) request за да получи своя IP адрес и сваля ядрото от tftp сървър и го зарежда в паметта на клиента. Какво Linux ядро ни е нужно ? Типичното ядро за тънък клиент, когато е внимателно конфигурирано заема малко пространство, или около 400 KB. То непременно трябва да поддържа мрежовата карта, TCP/IP и да е компилирано с опцията NFS root file system. Кодът за дисковете и дисковите файл системи, включително и extfs2 е излишен. Всички опции по LAN интерфейса трябва да са компилирани като част от монолитното ядро, затова внимавайте с модулите. Linux ядрото за сървъра има по-различни функции, особено внимание трябва да се обърне на поддръката на съответните сървъри. Актуалния Linux 2.2 предлага NFS сървър, който работи в kernel mode и изисква компилиране на съответния модул. Версиите на Linux ядрото, NFS модула и nfsd трябва да си съвпадат, в противен случай могат да възникнат проблеми при зареждането на модула или при стартирането на демона. root file system Монтирането на root file system става от NFS сървър. Тя трябва да съдържа необходимите файлове за стартирането на init и след това на XFree. Не трябва да се ползва root файловата система на сървъра, а вместо това да се създаде под-директория и там да се изгради root файловата система, която ще се използва от тънките клиенти. След това директорията може да се експортира. Всеки отделен клиент обаче ще има нужда да създава временни файлове и да променя някой от файловете в /dev. Има поне две решения на този проблем: 1. да се създадат под-директории с копие на root file system за всеки един клиент и след това всяка една от тези директории да се експортират в read write mode. Това решение има смисъл само при малък брой клиенти. 2. да има само една под-директория с root file system, която да се експортира в read only mode. След това в работната памет на всеки тънък клиент трябва да се създаде локален ramdisk с капацитет от 4 до 8 MB. На този ramdisk клиентът ще може да записва временните си файлове. Сигурност Сигурността на инсталацията е много важна и на нея трябва да се обърне специално внимание. TFTP сървърът представлява потенциален риск за системата, защото не изисква никаква идентификация от клиента. Затова сървърът трябва да бъде рестриктивно конфигуриран. X в нормалната си конфигурация предлага само рудиментарна сигурност. Достъпът се контролира от т. нар. access control list (ACL), който регулира достъпа според адреса на отдалечения host. Слабостта на този метод с крие в невъзможността за разграничаване на потребителите и рискът от spoofing. За по висока степен на защита може да се премине към MIT Magic Cookie, XDM Authorization или MIT Kerberos. |