TDDI09 Systeminstallation REVISION: 2.0 [2015-08-28] ©2005-2015 DAVID BYERS Table of Contents INTRODUCTION ....................................................................................................................................................... 1 Time management .......................................................................................................................................... 1 Your lab assistant ............................................................................................................................................ 1 Part 1: Initial labs ................................................................................................................................................ 2 Part 2: Project ..................................................................................................................................................... 2 System overview ............................................................................................................................................. 2 Part 3: The lab description .................................................................................................................................. 3 Formatting conventions .................................................................................................................................. 3 Preparation section ......................................................................................................................................... 3 Main section .................................................................................................................................................... 3 Feedback section............................................................................................................................................. 3 Part 4: The lab report.......................................................................................................................................... 4 Specifications .................................................................................................................................................. 5 Grading ............................................................................................................................................................ 5 Deadlines......................................................................................................................................................... 5 Part 5: Planning and methodology ..................................................................................................................... 5 Change control ................................................................................................................................................ 6 Documentation ............................................................................................................................................... 6 Testing ............................................................................................................................................................. 6 Part 6: Frequently asked questions .................................................................................................................... 6 Part 7: Get started! ............................................................................................................................................. 6 FEEDBACK FORMS ................................................................................................................................................... 9 IDA/ADIT TDDI09: SYSTEMINSTALLATION IDA/ADIT TDDI09: SYSTEMINSTALLATION INTRODUCTION In this course you will install and set up a small network with the basic services that are usually needed in a small business environment. Your installation should be of high enough quality that it could be deployed in a real environment. There are two main parts of the course: an initial set of exercises and a project. Expect early labs to have more step-by-step instructions than later ones. The project labs are where you really learn by doing. Time management This is a tough course. It is designed to be a tough course. Nevertheless, experience shows that anyone can succeed, if they put in the work required. Short of cheating or knowing everything beforehand, there is no easy way through this course. It takes about six to eight hours to complete the labs if you already know all the systems (it took me two hours the last time I tried, and I designed them). But if you’re taking this course, chances are you don’t have the years of experience it takes to finish that quickly. Because of that, there are about 150 hours planned for labs (of which few are scheduled). Plan on using most of that time. In order to not finish late, manage your time. Schedule your work and follow up on your plan so you see early if your schedule is slipping. That way you can put in a little extra work early instead of a lot later. It helps if you plan to finish early. Secondly, you need to work methodically. In the long run you can save a lot of time by making sure you understand the things you are about to do before you do them. Thirdly, do as much as possible as early as possible. There will be setbacks, and if you leave too much too late, chances are you won’t finish on time. Your lab assistant There will be a lab assistant available some of the time. Hopefully the lab descriptions are clear enough that you can follow them on your own (if they aren’t, use the feedback forms to say so). At the beginning of the course you can expect to see the assistant more than towards the middle and end. The lab assistant is there to guide you, but not to solve problems for you. Before asking a question, do your best to try to find an answer on your own, and expect that the lab assistant’s response will be to indicate a new avenue of research rather than answer the question outright. The faster you get used to this, the faster you will be able to finish the labs. Furthermore, your lab assistant is not all-knowing. We have found that students are almost as good as professional system administrators at finding new and interesting ways to screw things up (truly awesome abilities to screw things up requires years of experience and professional training). So if you have a problem, don’t be too surprised if your lab assistant has no idea how to deal with it. They will do their best to help, of course, but sometimes it will take a lot of time. IDA/ADIT TDDI09: SYSTEMINSTALLATION 1 Part 1: Initial labs The initial set of exercises consists of four labs, LXB (Linux basics), UML (familiarize yourself with UML), APT (basic package management) and TST (testing). You are required to complete these before starting the project. UML – User Mode Linux Designed to familiarize you with user-mode Linux, the virtual Linux systems used in the labs. LXB – Linux Basics Designed to familiarize you with Linux in general and with commands that are useful in later stages of the course. You should be able to do most of these labs on the lab workstations, but some tasks may require “root access” (you need to log in as root). You can complete these on the UML systems that are introduced in the UML lab. APT – Basic Package Management One of the first things you will need to do in the project is install packages. This lab introduces you to basic package management tools in Debian/Gnu Linux. TST – Testing This lab contains no exercises, but you are expected to read it and hand in the feedback form. The lab introduces some basic testing and troubleshooting methodology that will be helpful later on. m You are expected to finish these labs early in the course. For historical reasons, the initial set of labs is known as “lab-1”. See the course homepage for deadlines. Part 2: Project The project constitutes the bulk of the labs. It consists of the following labs: ID Contents ID Contents SCT Scripting and testing NIS Network information services NET Basic networking STO Storage DNS The domain name system NFS Network file systems NTP Network time EMB E-mail basics The goal of the project is to install and configure a small network, similar to what one would see in a small company. The order of the labs is not entirely fixed, but the order listed above (top-to-bottom, then left-to-right) works pretty well. System overview The system consists of one server, two clients and a router. All components are Linux systems with different software and configuration. The final system will be very similar to what you find in many smaller businesses: the only real difference in this case is the number of clients and the absence of a web server. The goal is an installation with high standards. In order to support many students on limited equipment, and in order to simplify certain aspects of the lab, we use virtual Linux systems (user mode Linux) for all components. The virtual systems run on a dedicated server, and it is possible to do the labs remotely. IDA/ADIT TDDI09: SYSTEMINSTALLATION 2 Since user mode Linux instances really are full-fledged Linux systems, you will experience a very typical environment for a system administrator: all access to all machines is via a single text console or over the network. Virtual clients The clients will be configured as standalone workstations. It will be possible to log in on them and perform daily work tasks, but they do not provide any network services. They rely on the server for user names and passwords, e-mail and other network services. The two clients should be nearly identically configured when you are finished. Virtual server The server acts as a file server for the clients, handles authentication, email and other tasks. Any shared service (that both clients need) and any service that doesn’t belong on either client goes on the server. Virtual router The router handles network traffic between your network and outside network. The only service that is acceptable to run on the router is the network time service. Do not install DNS or any other service on the router. Part 3: The lab description Formatting conventions There are a few formatting conventions used in the lab exercises that you should be familiar with. m A warning triangle on the left indicates information that is very important. Not reading and fully comprehending such a section might render the lab impossible to complete, or might result in loss of data. Preparation section The preparation exercises are designed to cover topics that are important in the main lab. If you complete them and understand your work, the main lab should go smoothly. If you do not complete them, or do not understand your work, you are very likely to run in to trouble in the main lab section. To avoid wasting your time and the time of the lab assistant, you are required to complete the preparation and have it checked by the lab assistant prior to starting the main lab. Completing the preparation may require access to computers, but should not require access to the network lab. If you discover a preparation exercise that does require access to the network lab, please notify the lab assistant immediately and skip the exercise. Main section The main section consists of a number of parts, each focused on a single topic. Unless otherwise stated in the lab, the parts should be completed in order (they may depend on each other).You are encouraged to have the lab assistant check your work after each part, to ensure that you haven’t missed anything important or made any serious mistakes. Feedback section All labs include a feedback form. This form should be completed individually and handed in to the lab assistant on completion of the lab. You may also mail it to the lab assistant if you are concerned about your anonymity. Do not staple your feedback form(s) to anything else. Please print at 100% size. You are requested to rate each lab according to four criteria: difficulty, learning, interest and time, as well as comment on what you liked and disliked about the lab, and how you think it could be improved. Your feedback is very important to us. It is our most important tool for improving the quality of these IDA/ADIT TDDI09: SYSTEMINSTALLATION 3 labs. After each course we process all feedback and update the labs according to your scores and your comments. Your feedback is very important to us. It lets us know if the labs are too big, too small, too challenging or too easy, and your suggestions let us improve the labs from year to year. For example, in 2006 we collected over 1024 individual feedback forms, which were fed in to a database. Guided by this information we have been able to give you an idea of how long each lab should take and have been able to adjust the level of difficulty and extent of many labs. On those 1024 forms there were 241 comments. We have addressed as many of the dislikes as possible (some are impossible to eliminate and some aspects were disliked by some and liked by others), accepted nearly all suggestions and tried to reinforce the aspects of the lab that were already well liked. Use the comment section! If you find problems with the lab (e.g. typos, something not adequately explained etc.) make an improvement comment. If you rated the lab very low in learning or interest, or very high in difficulty, please let us know why, and any suggestions you may have to improve the situation. Don’t hesitate to comment even if you only have good things to say – it’s just as important to know what went right as to know what went wrong. m The feedback section in each lab is not a substitute for the course evaluation you find in the student portal. We need you to do both. The feedback sections in the lab give us very detailed information throughout the course, while the course evaluation gives us and the university aggregate information about the course. The two tools are used for completely different purposes, and we need you to complete them both, regardless of whether you liked the course or whether you didn’t. Difficulty Rate the difficulty of the lab. A one indicates that the lab is too easy; to us this indicates that we should consider making it more challenging or consider eliminating it. A three indicates that it was challenging but not really difficult. A five indicates that the section was too difficult; to us this indicates that we should find ways to better guide you through the section. Learning Rate how much you learned in this section. A one indicates that you learned nothing or next to nothing from the section; to us this indicates that the section may need extensive revisions. A three means you learned a bit from the section, but that there were significant things in there that you didn’t learn from. A five indicates that you learned a lot from the section. We aim for fives. Interest This is perhaps the most difficult datum to quantify. We find that labs are most successful when they awaken interest in the topics. We would like you to rate how interesting you find the topic of the lab, and how the lab affected your interest in networking in general. A one might be appropriate if you found the lab utterly boring and it awoke no interest in you or even made you less interested in computer networks. A five might be appropriate if you found the lab engaging and you are more interested in its topic afterwards than before, or even more interested in computer networks than before. Time Indicate how long you spent on the section in total (including preparation time) in minutes (resolution of more than 15 minutes is unnecessary – use your own judgment beyond that). We use the information to ensure that no lab is too extensive given the time frame of the course. Part 4: The lab report When you have completed each lab you are to prepare a lab report. Each exercise details what you need to report for that particular exercise. Please ensure that your lab report is easy to read and that your answers to the exercises are complete and unambiguous before handing the lab report in. Lab reports that do not conform to these standards will be ignored. IDA/ADIT TDDI09: SYSTEMINSTALLATION 4 Specifications Each report must be handed in electronically, either as a PDF file or as a pure text file. No other formats are acceptable. Do not compress or place files in some kind of archive. Every report must start with a page identifying the lab (by code and name), students (by name, personal number and LiU-ID) and group (by group number). Labs without that information on the first page will be rejected, possibly without notice (depends on what information is missing). Feedback forms can be submitted separately by e-mail or on paper. Grading You will be graded on your lab reports. Grades are reported Depending on the grading in use for the course, you will be graded PASS/FAIL. The following factors (at least) contribute to your grade: The quality of your answers to the exercises. The clarity of your answers to the exercises. The organization of your lab report. The readability of your lab report. This means that you can be failed on the lab if your report is too hard to read or too badly organized, regardless of how complete and how good your answers are. The exact criteria will depend on your lab assistant since the human factor cannot be entirely eliminated from the equation. If you are dissatisfied with the grade you have received, please contact the lab assistant or the person in charge of the course to plead your case. Be prepared to explain clearly why you are dissatisfied, what grade you think you should have and why you deserve it. If you fail a lab entirely you will be given the opportunity to hand in a new lab report. As with other types of exams you have three chances to get it right. If you manage to fail the lab three times in a row, you will fail the entire class. Deadlines After you finish the DNS lab, you must hand in reports and automated tests for all labs up to and including DNS. Hand in the remaining reports and automated tests when you finish the last lab. The deadlines posted on the course home page or elsewhere are firm deadlines. If you hand in a lab report late you are entirely at the mercy of the person grading it. Deadlines for correcting failed lab reports will be specified when the lab is returned to you unless they have been posted beforehand. In general you will have one to two weeks to correct the report. Part 5: Planning and methodology You can finish the different tasks in what order you find suitable. However, consider the dependencies between the different parts of the project. Start with the parts that have the fewest dependencies. For example, DNS is only dependent on basic networking, whereas almost everything else is dependent on name resolution. Therefore, it is a very good idea to implement DNS early. Similarly, most services are dependent on the user database in some way, so it is a good idea to implement a directory service early on. Regardless of which order you intend to complete the project in, you must start with UML and LXB. IDA/ADIT TDDI09: SYSTEMINSTALLATION 5 Change control You are encouraged use some simple form of change control throughout (except in LXB). At first this will be cumbersome, but with practice, it becomes simpler. You may adjust the change control process to suit your needs and ambition. Documentation You must document your work. In particular you are required to maintain a log book detailing everything you do (this is mostly for your own benefit – a logbook can be extremely helpful if you accidentally break something). At the very least, you must list date, time and action taken. Additional documentation may be produced as you see fit. Testing Everything you do must be tested and you are required to create automated test cases for every task. Basically, every change you make and every aspect of every service you install must be tested using an automated procedure. Part 6: Frequently asked questions Q: I want to do the labs alone. Is that OK? A: Maybe. Probably not. but ask your lab assistant. Q: There are three (or even four) of us who want to work together. Is that OK? A: No, and no matter how many times you ask it never will be. Q: Do I need to use the same user account every time? A: Yes. Well, if you know how to do it, you could set up access control lists that allow other members of your group to read and write your files. They will need rwx access to every file under the /users/username/mln subdirectory. Q: Are the machines backed-up so I can get back lost files? A: No. If you lose a file somehow then that file is gone. If you lose the virtual machine, it is gone. Q: Can I work from home? A: Yes, if you have an ssh client with X-windows forwarding and an X server. If you use Windows at home, I personally use putty for ssh and XMing for X. Q: There’s so much to read! Do you seriously mean I need to read it all? A: Yes. TL;DR does not apply. Digging out relevant information from massive piles of documentation is one of the most important skills a system administrator (or indeed any engineer) can have. You will learn how in this course. Learn to quickly discern documentation structure, learn where to look first. Learn to skim headings and text for keywords. It’s hard at first, but it gets a lot easier with practice. So practice! Part 7: Get started! Begin with the UML lab. This will teach you how to start the virtual Linux systems. For any exercise in the LXB lab that requires privileged system access (i.e. you need to log in as root), you should use the lab-1 virtual systems created by the setup script you ran earlier. All other exercises can be done on the normal workstation. IDA/ADIT TDDI09: SYSTEMINSTALLATION 6 Good luck, learn a lot and have fun! IDA/ADIT TDDI09: SYSTEMINSTALLATION 7 FEEDBACK FORM TDDI09 Complete this feedback form individually at the end of the lab and hand it to the lab assistant when you finish. Your feedback is essential for improving the labs. Each student should hand in a feedback form. Do not cooperate on completing the form. You do not need to put your name on the feedback form. Your feedback will be evaluated the same way regardless of whether your name is on it or not. Your name is valuable to us in case you have made and comments in the last section that need clarifications or otherwise warrant a follow-up. For each section, please rate the following (range 1 to 5 in all cases). Difficulty: Rate the degree of difficulty (1=too easy, 5=too difficult) Learning: Rate your learning experience (1=learned nothing, 5=learned a lot). Interest: Rate your interest level after completing the part (1=no intest, 5=high interest). Time: How long did the part take to complete (in minutes)? Difficulty Learning Interest Time (minutes) Overall Please answer the following questions: What did you like about this introduction? What did you dislike about this introduction? Make a suggestion to improve this introduction. IDA/ADIT TDDI09: SYSTEMINSTALLATION FEEDBACK FORM TDDI09 Complete this feedback form individually at the end of the lab and hand it to the lab assistant when you finish. Your feedback is essential for improving the labs. Each student should hand in a feedback form. Do not cooperate on completing the form. You do not need to put your name on the feedback form. Your feedback will be evaluated the same way regardless of whether your name is on it or not. Your name is valuable to us in case you have made and comments in the last section that need clarifications or otherwise warrant a follow-up. For each section, please rate the following (range 1 to 5 in all cases). Difficulty: Rate the degree of difficulty (1=too easy, 5=too difficult) Learning: Rate your learning experience (1=learned nothing, 5=learned a lot). Interest: Rate your interest level after completing the part (1=no interest, 5=high interest). Time: How long did the part take to complete (in minutes)? Difficulty Learning Interest Time (minutes) Overall Please answer the following questions: What did you like about this introduction? What did you dislike about this introduction? Make a suggestion to improve this introduction. IDA/ADIT TDDI09: SYSTEMINSTALLATION