Thin Clients HOWTO
From OpenEducationWiki
| Table of contents |
[edit]
Thin Client Model
I've been researching some overseas success stories and have found one school district with such an astonishing rate of linux uptake that its model is worth pursuing. The school district is Kamloops British Columbia, SD73 (http://www.sd73.bc.ca/district-operations.php/page/linux-in-education/).
I've had recent correspondence with Gregg Ferrie (below). The SD73 setup is based on LTSP (http://www.ltps.org) but rather than run a pure remote session, the computer lab setup in SD73 is as follows:
- One central server for up to 200 clients.
- Clients are diskless workstations (price quoted Can$190) with decent memory, sound and accelerated video.
- Clients PXE boot from the boot server and have NFS as for their filesystem.
- Apps are loaded across NFS but run locally on the workstation
Benefits are:
- Centralised software installation for all systems
- Centralised client kernel updates
- All home directories on the central server so all are automatically backed up
- Access is identical from all clients on the server
- Apps run locally providing excellent user experience
- Running locally allows for apps that are often troublesome with remote sessions:
- Playing videos
- 3D games
- Rendering for print
I think their admin infrastructure is different but I haven't had a chance to ask further.
[edit]
Correspondence with SD73 (Canada)
[edit]
Correspondence From Gregg Ferrie at SD73
Morning Richard No that page is not current so I will give you the abridged version of where we are currently at. School District No. 73 has 54 schools and another 6 administration sites including Board Office, Maintenance and Transportation. Roughly 4500+ computers or desktops for all staff and students. Each Elementary School has one teaching lab of 30 computers, at least one computer in each classroom, computers in libraries, Learning Assistance rooms and the offices. Secondary schools range in size but the smallest have at least 2 teaching labs of 30 ranging up to 8 in the largest school. Since the summer of 2006 we have been authorized funding and done the following: Replaced all windows-based computers in Elementary school teaching labs with Linux thin client desktops (1000 in total). Since the summer of 2007 we are in the process of changing out all Elementary school classrooms, libraries and administrative offices with Linux Thin clients - 400 to date and this project will continue until the Spring of 2009 when all elementary schools will be completed. So out of the total of 2000+ computers in Elementary Schools at least 1800 of them will be running Linux Thin Clients. In Secondary Schools we have been doing a systematic changeout of Windows-based computers with Linux Thin Clients since the summer of 2007. So far almost half of the approximately 2500+ workstations have been replaced with Linux thin clients. The remainder will be changed out over the next two summers which will be completed by the summer of 2009. There will be approximately 2200+ out of 2500+ desktops running Linux thin clients by the end of this process. All of our district servers and server software is Open Source. All schools are using Debian-based Samba servers. Our clients cost approximately $200 each and support sound and accelerated video which makes the users experience better than Windows XP. The transition wasn't easy initially however now we have the full support of both Senior Administration and the school administration. In fact when we started we had trouble getting schools to pilot the system, now they are fighting over who gets to go next!
Richard Andrews 2008-02-22T21:26 AEDT
[edit]
Correspondence from Dean Montgomery
> One of my goals is to produce a LinuxInSchools-HOWTO which would ideally > consist of a step-by-step guide to planning, rolling out and sustaining > (for at least the first 5 years) a linux deployment in a school setting. > > SD73 seems to have had phenomenal success on this front so I want to know > how you guys got it so right and - in open source tradition - I want to > make it easy for others to replicate that success and build on it. > > Below are a bunch of angles I'd like to know more about but don't really > know where to start yet, so any ad-hoc info on these topics would be great. > > * Psychology of dealing with the educator-versus-IT syndrome of > us-and-them; and other similar conflicts We started with the elementary schools years ago. Couldn't afford windows labs so they got ltsp linux. John C. wrote a hybrid program to run big apps like Firefox and OpenOffice on the server because they wouldn't run on 32MB of RAM. About 2 years ago we had one principal that lead the charge: Dean Coder. Dean Coder wanted to switch his entire school, including admin staff, to linux. We were jumping for joy but we made sure we said that it is a school admin initiative and not an IT staff initiative. We were very open with all the concerns (Linux GradeBook, Accounting Software, Student Info System, etc.). At this point we switched from LTSP to diskless because we needed features and scalability that LTSP couldn't provide. The schools do not want to work at a "dumb terminal" with the basics :- they want eye-candy, wallpapers, screensavers, clipart, 3d desktop, movies, music, games with the ability for teachers to turn non educational activities on/off. Dean Coder's school became the model school. People would drive from all over BC to watch students and teachers do their work on Linux diskless clients. When other Administrators and teachers heard and saw the success, the demand for Linux started. Schools started fighting over who would be the next to upgrade to linux. > * Templates for linux-based school IT infrastructure We have an elementary template and a secondary template. The elementary template had a "elementry committee" consisting of Principals, VPs, and teachers. I sat in on one or two sessions. So the initiative became "elementary driven" not "IT driven". They tweaked the desktop Icons, and re-arranged the menu into School Categories. Doug Smith is heading this Elem Committee. The secondary template only required in-your-face key apps with easy to understand labels. On the desktop and in the tray: * "Web" * "Writer" * "Email" * "Gradebook" (Teachers) People don't care that it is OpenOffice, Iceweasel/Firefox, Kontact. K.I.S.S. > * Getting and keeping linux converts Provide on-site tech support for "getting acquainted with linux" time period. The first school was a month or so of on-site support, fixing, and tweaking the system. Get students and staff involved with finding problems so that your tech can fix them in some sort of priority order. Iron out the glitches. After that initial Barriere Image we can now plan + install in 1 week and provide 1 week of on-site in-classroom support/training. > * Identifying the most important people to get on-board * Admin Staff - have one that is willing to try it in their school. Willing to work with his staff to make it work. * Teachers - even though students use it the most. Teachers must have their key applications rock solid. Selling feature for teachers are... The gradebook: - Easy to use - remote access through web-based or FreeNX. The wordprocessor: - Polished demo of how to use OpenOffice (Open, Save, Gallery-Clipart, Drawing tools are important, how the interface works, how to find help. Online resources.) Very Visual. "Teacher tools": - "Snapshot Screen" - get a snapshot of the entire lab's screens. - "Watch Screen" - view students desktop live. - "Internet on/off" - "Internet filters on/off" - "Games on/off" - "Watch Me" - all client machines watch the teacher's screen. Provide training for the teachers. Identify their key computer usage and make that shine for them on linux. * SBO Admin & other Principals - Once "test" school is up-and-running and is rock solid - bring up other administrators to demo the system - witness it live. Have a polished demo of key applications (gradebook, internet, email, office suite) - then wow them with the eye-candy (beryl/fusion 3d desktop, live videos, digital cameras, etc.) > * Selling the idea to parents and students * Students love it - as long as they can change their wallpaper. Include some Games like Pingus, Supertux, Tuxracer, Tuxcart, etc. (Give teachers ability to turn them on/off.) * FreeNX access from home ( allow students to use software from home if they have an internet connection ). > * Selling the idea to school district/department bureaucrats * Demos as mentioned above. Plus "bottom line" get more apps and save $$$. Do not promote "free" because, psychologically, "Free" has no value to it. People will pay money to get less features in a Micro$oft product instead of downloading Linux because mentally the dollar value is a way to measure features. Micro$oft capitalizes on "value psychology" pay-more get-more: e.g. Home Basic, Home Premium, Business, Enterprise, Ultimate. Be honest to the end users... "It will be different, there is a learning curve, but you will have more tools to work with." > I'm particularly interested in getting some details on the thin client > setup. My understanding is that the setup is something like the following > (please fill in the details and correct wrong assumptions). > > * The clients are diskless PCs with decent CPU, network, RAM, sound and > video with a monitor, KB and mouse connected Correct. Thin Client Computers: Apex Supercase M317 (includes CSA approved Power Supply & all connectors) Biostar NF61S Micro AM2 SE Motherboard AMD AM2 Sempron 3400 Processor 512 Mb Kingston DDR-2 667 Memory Logitech OEM Keyboard Logitech Value 3 button Wheel Mouse Assembly and Testing In quantity we are purchasing these built and tested for $189.00 CAD plus tax! ==== First organize your dhcp.conf this is *very important* in order to match printers to rooms, allow for teacher tools to have controll over just their lab. our IPs are organized as follows. 10.x.y.z x=school number y=classroom number z=workstation in the classroom Plus host naming conventions. t101-1 = teacher workstation in room 101 workstation # 1 has an ip 10.9.101.1 s3-1 = student workstation in room 3 ws# 1 ip 10.9.3.1 s3-2 = student workstation in room 3 ws# 2 ip 10.9.3.2 > * Clients PXE boot and drag a kernel from the boot server and mount / as > NFS Yes - it is also important to create a PXE boot image of memtest+ [and PCCheck if you have it]. At the beginning we get a batch of RAM that was 10% - 20% bad so we would get it fixed on warranty before school started up. If we didn't it would look bad to have stable linux crashing because of bad ram. > * Executables are pulled across the network and the processes run on > the client itself leading to good performance for screen intensive apps > like playing movies or games Exactly! So far we have been able to get 100 Clients on one server with boded Gig NICs. And our biggest school has over 200 thin clients - we had to separate the application server which the clients mount / on and the data server for /home > * Network traffic is therefore essentially file transfers of executables > and files and normal network interactions From the server to the core switch requires a GIG backbone. From switch to switch also requires a GIG backbone. From switch to client only requires 100M. ( Remember to include switches and wiring upgrades in your cost analysis ) > Some specific questions about your thin client setup > * What (ballpark specs) hardware is in the clients? Already mentioned above. > * Ditto servers? * Dual Core AMD64 * 8G RAM * 2x 1Gig nics (which we bond to create 2G connection from the server to the core switch) * Raid5 with 3-4 drives. > * Is the client image based on a particular distro; why that one? Debian - because it is 100% free and easy to upgrade. Years ago we had RedHat and it was very hard to upgrade and not free. Ubuntu was too new at the time of implemenation - now it is a solid alternative plus Ubuntu is not scared to throw in non-free packages like nvidia video drivers and vmware kernel modules. Debian is a bit of a pain to get non-100%-free packages. > * What distro runs the server; why that one? Debain - history of being rock solid and easy/free to upgrade. Debian, however, is very plain-jane. Nothing is configured or tweaked out of the box. It requires allot of extra tweaking. e.g. samba, webmin(user accounts), menu's, mime-types (default apps) etc. Ubuntu is much better at pollishing apps. > * What NFS version and what kind of server; why? 3, because it works. > * Can you describe the network topology of what connects to the main > servers? Internet | [Firewall & dansguardian proxy] optional | Base server (user accounts, printer shares, nfs, dhcp, tftp etc) Virtual server (i386 client software, FreeNX access) | | | | bonded 1G nics | | core switch (all gig ports with ability for bonding) | | 1G connection from core to classrooms. | classroom remote switch | | | | workstations (100M) printers etc. > * Are there other servers (do you split PXE server and NFS > servers)? We split our biggest school 200+ thin clients to have * client mount / on application server. * client mount /home on data server. > * What's the authentication system (LDAP I assume) and how do you > administer it? We have tried LDAP-only in the past but found some shortcomings as well as hard-to-work-around bugs so... We have access several authentication methods: passwd, nis/yp, ldap, samba Webmin has the ability to add "hook scripts" to managing users. We use these hook scripts to keep all the different protocols in sync. * Webmin updates flat files passwd shadow. * Hooks update nis/yp (for thin clients) * Hooks update samba (for Ms Windows Labs and windows Virtual machine authentication) * Hooks update ldap for website moodle synchronization etc. So we can add/delete/modify a user in one location and multiple protocols get updated. > * How do you deal with remote admin of machines which throw away their SSH > keys every reboot? Because the / file system is shared we update a program or script on the server and all clients instantly get it. ssh works fine - ssh is restricted to only a few users and is only used for automation and testing. > * Given that everyone is on a shared filesystem, do you have any apps that > capitalise on that for peer-to-peer interactions in a class setting? Google earth because it is always downloading and caching images from the internet. But it hasn't been a big problem. We have a few teachers doing multimedia audio/video mixing. we suggest they work off of usb sticks instead of the nfs shares. > * How often do you roll out new PXE kernels for the clients? Just did one this last week. Kernels updates are very important and are required to support all the new hardware technology. (usb plug-n-play, sound, network etc is always changing). I try to do a "dist-upgrade" every year in order to keep all schools up-to-date with the latest stable software. This is where I found the .deb package system shines. It is able to upgrade nicely with very few errors. > Other questions not directly related to thin client: > * Are all school desktops (incl. staff, admin) on the thin client network > or is it just PCs in labs? It depends on the staff in the school. We (IT) have not put pressure on them(Admin) but it seems that about 1/2 are willing to try out linux. All teachers are getting linux on their desktop. For the XWindowsOnly application we generally: * For admin - yes ( vmware virtual machines with Remote Desktop ) * For teachers - try to find alternatives, if absolutely nessesary we give them vmware on the local machine running win98+deepfreeze ( but this is more work to administer and they don't) * wine - we have found that wine will run some windows apps native in linux. > * What have been the killer apps? Desktop Integration: - when you click on a movie or music or document it opens properly in the correct application. When you plug in your camera or usb stick it just works! OpenOffice.org - make sure you install and tweak it - add extra fonts, templates, clipart etc. Give them a good visual demo - include adding pictures and drawings - everybody loves visuals. Promote that "yes it is different and does require learning" but it does everything you need it to do. Level's the playing field for Teachers and Students who can't afford Microsoft. Email/Collaboration/Calendar/Sync - these are buz words to admin - I like KDE Kontact - Others Thunderbird - we are trying to get web based Zimbra. FirstClass failed in support for us. Web Browser - All schools startup with their personal "moodle" website. This allows them to customize where students go from there. Teachers can add their own links or handout material quizes etc. http://skss.sd73.bc.ca/ http://best.sd73.bc.ca/ http://chasesec.sd73.bc.ca/ http://aeperry.sd73.bc.ca/ Qcad drafting. We are also trying to consolidate the school links into one directory. Every menu category in linux has a corresponding "Online ..." option. Online Math Online Science Online French It links directly to a wiki page where we can grow the web-based content. http://eduweb.sd73.bc.ca/ In the Elem Schools - Tux Paint. - Tux Math. - Tux Type. - Web browser web apps java/flash sites. - OpenOffice Writer and Impress. > * If you had to do it all again, what would you do differently? Maybe try Ubuntu instead of Debian??? - Ubuntu is more up-to-date and doesn't hesitate to include closed source software like nvidia vmware etc. However I've seen Ubuntu fail on some upgrades. > * I believe you had the advantage of having support for linux from pretty > high up in the chain of command at the beginning. How would you approach > advocating linux in a school if that support did not exist? * Have your tech's switch to Linux in order to learn how to use and support it. * Prepare your technicians for OpenSource software and how to support it. - How do you insert a page number or graphic in OpenOffice Writer? - How do you add text transitions and backgrounds OpenOffice Impress? - How do you create a web link in moodle? - How do you find cups PPD drivers for X printer? - How do you install/upgrade software on Linux? What do you do if it breaks? - Know how to use google, mailing lists, bug databases, and blogs to get additional support! - It is all about finding/getting/giving support! * Choose one student lab - that has teachers with the right attitude - non technical teachers are good because they show an "I'm not a techy but it is easy to do" attitude. - Demo that lab to Admin as a proof-of-concept. * Choose some admin or teachers (even at the SBO), that are willing to try linux. Provide lots of support/training - make sure everything just works (printing, usb, documents, email, media etc.) * Install OpenSource apps - don't promote "free" but rather demo functionality. OpenOffice in labs etc. * We preloaded linux on 2 laptops to lend to a few tech-ed teachers to give them time to test the drafting and programming software. (short term training perk) * Find a School that is willing to pilot. Have some tech staff that is good at opensource - meaning they can read and write and debug code (bash, perl, php, C). All our IT staff is required to have Linux LPI training. We are having trouble keeping up with the demand for linux-based schools now. > * What do you each consider the key advantages and penalties to the school > resulting from the switch to linux (I'd like a diverse set of > points-of-view)? Advantage: * Centralized updates - two edged sword - make sure you test your updates on a non-production server before installing it in production. * No virus/spyware/deepfreeze/novell/ms licencing. * Inexpensive workstations (no disks etc). * Hot-swappable workstations - if it breaks, swap it with this spare "toaster". * Students love it. * If teachers/admin are trained properly and have support, they love it. Disadvantage: * More expensive server. * More expensive network infrastructure. * Some teachers/technicians do not like change, resist and even undermine the efforts to improve the system. e.g. "You will hate OpenOffice, it's garbage". Usually these people do not know how to insert Clipart in OpenOffice and do not go to the "Help" menu to find out. They will find the "one" piece of software that doesn't do X and will make a huge noise about it to everyone. If you are prepared to find and provide solutions quickly then these people become known as cry-babies. * Some technicians do not know how to read/write code. Which can be awkward in "open source". * We always leave some windows workstations in the school or a windows lab in case there is a special needs application that will not run on the new system. -- Dean Montgomery Network Support Tech./Programmer School District #73
Richard Andrews 2008-02-23T13:16 AEDT

