TDDI09 System installation: Written report
Starting in 2008, the separate written report will be removed in favor of more stringent requirements on the written lab reports (in particular the testing portions). If this applies to you (i.e. you are doing the labs for the first time in 2008), then read no further.
Information for students from 2007 and earlier
If you completed the labs in 2007 or earlier, you still need to complete a separate written report according to the information that follows
You can get out of writing a written report by doing more lab work. The written report is almost certainly less work, but some might prefer to do something in the lab. See the end of this page details.
The written report is intended to let you dig deeper into one specific area of the course. To complete the assignment you will need to review available literature and take the time to understand the topic.
You may either choose one of the topics listed below or suggest your own. If you take the opportunity to come up with your own topic, it must be approved by the course leader before you start work. Simply send an e-mail to firstname.lastname@example.org outlining your topic.
All topics will require you to collect information from multiple sources, and in some cases you will have to come up with your own conclusions. If you focus on learning about and understanding the topic, writing the report should be easy.
How to get a PASS rather than a FAIL
I have high expectations. The usual strategy of attempting to get away with as little work as possible almost never works in my courses. In the long run, that strategy only results in more work. There has been at least one occasion in the past where I failed nearly everybody for not reaching the standards I require.
Nevertheless, getting a passing grade isn't really difficult at all. If you keep the following points in mind, you should be able to get a passing grade on your first attempt:
- Be detailed. Be in-depth report. Be ambitious. Do a good job.
- Don't leave any unanswered questions. If you say that "xyzzy is used to gazonk", also explain how xyzzy is used to gzanok and why you would want to gazonk in the first place, and maybe also other ways to gazonk that don't involve xyzzy, and other uses for xyzzy.
- If you ever ask yourself "should I include this in the report", the answer is yes. If you think to yourself "I probably don't need to include this in the report", there's a good chance you're wrong.
- Use examples. I find that examples are far more illustrative than fuzzy theoretical descriptions. The best way to explain something is to combine a good explanation with a good example. Make your examples concrete. And most importantly of all: make up your own original examples from scratch.
- Use good references. There are plenty of summaries of various topics on the Internet, but they are often inaccurate, old, or even completely wrong. Whenever possible, confirm non-authoritative sources by reading the relevant standards or RFCs. Always take care to ensure that your sources are up-to-date. This is an area that is constantly moving forward, and what was accurate last week may be completely obsolete today.
- When I read a report, I try to see if the author has understood the topic, so one way that practically guarantees a passing grade is to actually understand the topic.
- Learn enough about the topic to ensure that you know all the important aspects of it. I will almost certainly notice if you've just skimmed your references, because you will have missed something important.
- Did I mention examples? I am application-oriented. I don't like digging through unclear theoretical arguments. Illustrate your points. Be original.
- This one's important! Write your own text. Just piece together a report from various websites, you're guilty of plagiarism, and that can get you suspended. Since I almost always notice when people try to cheat this way, it's just not worth trying.
- Always specify sources. If you "borrow" a picture (which you're not really allowed to do), specify the source. If you quote something, specify the source. If you are reiterating an argument or definition you have read, specify the source.
Q: How many pages do you require?
A: The number of pages is less important than the contents. It's up to you need to write a comprehensive report on your chosen topic. Experience shows that most reports end up being between 10 and 20 pages long. Reports under eight pages (of content) or with fewer than eight references are often missing something important.
Change control is used to reduce the risk associated with changing a system (of any kind). Change control in system administration has been shown to reduce the number of problems encountered in a system, and speed up recovery from problems that do occur. Write a report that gives an overview of change control in general -- not just as applied to system administration -- including what change control can help with, can't help with, what preprequisites there are for successful implementation of a change control process, what a change control process might look like and how it might work in practice and so forth.
Configuration management is one of the hot topics in system administration today. It is also applied in a wide range of fields. Write a report that explains what configuration management is (in general, and as related to system administration) and why it is important. Review tools and methods for change control in system administration and write a brief review of these.
Network installation and booting
In large installations, individual systems are almost never installed and configured by hand. The process is automated and uses the network. Explain how normal Intel-based computer systems can be installed automatically, including all relevant network protocols and standards. Contrast this to some other architecture, such as OpenBoot or OpenFirmware-based systems. Explain how the process can work when installation servers are on different networks from the systems being installed.
System monitoring is an important part of the day-to-day process of maanging computer systems. Study different network protocols for monitoring, such as SNMP and RMON and explain how they can be applied. Look at the problem of monitoring very large and complex systems, where one fault may lead to many others. What ways are there to filter alerts so that only the relevant information is presented to system administrators (rather than inundating them with alerts)? Look at fully automatic system monitoring -- the kind that automatically recognizes anomalies, without the system administrator first having to establish a baseline. Explain how such systems work.
Backup and recovery
Backups are an insurance against potentially very expensive data loss. In a small system, backups are trivial, but as the size of a system grows, backups become more complex. Study some of the important aspects of backups in large-scale systems, such as backing up databases (particularly live databases), backing up mail systems (take a good look at Microsoft Exchange), dealing with large number of clients, increasing performance, so clients do not need to be tied up in the backup process longer than necessary. Explain the pitfalls introduced by these aspects. Explain how the pitfalls can be avoided in practice. Also look at various media types: different tapes, optical discs and hard drive options. What are their characteristics? Advantages? Disadvantages? What does the future hold for backup technology?
Write a technology overview of current storage technology for medium-sized to large systems (consider systems up to at leaste petabyte size). What technologies are there? What are their characteristics, strengths and weaknesses? Also include current trends and your predictions for the future.
High availability is a huge topic, from which you will have to carve a small part. High availability is ensuring that systems and/or services are available at all times, in the face of everything from routine problems and maintenance to the most severe disasters. Furthermore, high availability is not merely a question of technology. It includes financial issues (e.g. what cost is reasonable), social issues (e.g. how staff reacts to problems), legal issues (e.g. liability in the case of failure) and much, much more. If this topic interests you, please contact David Byers to discuss what might be an appropriate sub-area to work on.
The "I don't want to write a report" option
You don't want to write a written report? No problem! As an option to the written report below, you may do some extra lab work:
- Complete the storage (STO) lab
- Come up with (and complete) your own original lab
This option is not easier than writing a report. In fact, it is probably much harder. But it might also be more fun (for some of you), and you'll almost certainly learn a lot more.
Important: if you want to choose this option, you must tell the course leader or lab assistant (if there is one) well before the deadline for the written report. This can't be stressed enough: this option is not an easy way out! If you find the first labs (or writing a report) difficult, chances are you will find this even harder.
The lab you come up with needs to be documented in the same way as the labs for TDDI09 (apart from the formatting). This means writing explanatory text, suitable exercises, and an answer key (I have one for all the labs). Basically, it should be possible to hand your lab to next years students, and they should have no more problem following it than they do any of the current labs.
Because we may want to use your lab in some future course, you must either place your lab in the public domain or licence it to LiU under the Creative Commone Attribution licence (see For your lab to be acceptable it must either be placed in the public domain (which lets us do whatever we want with it) or licensed under the Creative Commons Attribution license (which lets us do nearly whatever we want with it, as long as we mention your name).
To get you started, here are some ideas for a new lab (feel free to come up with your own though):
- LDAP -- Convert the entire system to use LDAP as a directory service.
- Web -- Implement an interesting web server configuration.
- Database -- Implement a database server, including working backups, and use the database for something in the system (e.g. mail)
- High Availability -- Make a service (e.g. e-mail) highly available by implementing a failover mechanism (e.g. using IPVS).
- Load balancing -- Implement transport or application layer load balaning (e.g. using IPVS) for a service.
- System monitoring -- Implement a system monitoring solution. Make it do something interesting.
Page responsible: David Byers
Last updated: 2008-08-05