Transcript Lecture 1

DT211-4
Systems Integration
Ronan Bradley
[email protected]
Aims of the SI Course…

This module covers the issues relating to the
integration of diverse computer systems in a
modern networking environment and the
technologies commonly used to address
them. The module focuses on system and
network services such as centralised
authentication and authorisation, naming and
file sharing
Learning Outcomes


Describe and compare the purpose,
configuration and operation of common
system and network services such as DNS,
ntp, LDAP, NIS, nfs and SaMBa
Configure common network services to
enable file sharing, naming and centralised
authentication and authorisation
Learning outcomes 2


Configure system authentication and
authorisation mechanisms to use network
services to create a single
authentication/authorisation domain
Analyse system performance to identify
failures or performance issues relating to the
system or the network services in use
Examination


Written Examination
Continuous Assessment


60%
40%
Final breakdown to be finalised
Probable structure:


2 Practical Assessments worth 35%/35% of CA
1 Final Assessment worth 30% of CA
Reading List…

Essential Reading



The many web-sites with cover this material
BELLOMO, M. M., James. (2000). Network and
System Integration for Dummies, John Wiley &
Sons.
HARVEL, L., WEBB, David., FLYNN, Steven.,
WHITEHURST, Todd. (2000). The UNIX and
Windows 2000 Handbook: Planning, Integration
and Administration, Prentice Hall PTR.
Why is it hard?

The network is
Global
Changing
Heterogeneous (Linux/UNIX, Windows, and
AS/400 and mainframes and …)
Risky
More fragile than you think

And perfect service is expected





Naming services

Associates human-friendly names with machinefriendly name

Resolution of a given hostname to an IP address


Allows machines to be grouped logically, by domain name
Organise the name space using the (FQDN) Fully
Qualified Domain Name

lugh.student.comp.dit.ie or lugh
Some UNIX and Linux history
Ken Thompson and Dennis Ritchie
A brief (ancient) history of
UNIX



UNIX led to development of TCP/IP
Numerous vendors sell different UNIX varieties
Ken Thompson and Dennis Ritchie developed UNIX
at Bell Labs (part of AT&T)


System V
UNIX source code was cheaply available from AT&T

Quickly distributed to many organizations
Varieties of UNIX

All flavors of UNIX share many features:






Support multiple, simultaneously logged-on users
Coordinate multiple, simultaneously running tasks
Mount disk partitions on demand
Apply permissions for file and directory access
and modification
Uniform method of issuing data to or receiving
data from hardware devices, files, and running
programs
Start programs without interfering running
programs
Varieties of UNIX (continued)

All flavors of UNIX share the following
features (continued):




Hundreds of subsystems, including dozens of
programming languages
Source code portability
Window interfaces (e.g., X Windows)
Two main categories:


Proprietary
Open source
Open Source UNIX


Open source software available to anyone, without
licensing fees
Open source UNIX flavors:



Users can modify code


Linux
BSD
Add functionality
Can be installed on wide range of systems
What’s the difference between
Unix and Linux?

Linux an be considered as a full-featured Unix clone



It cannot legally be called Unix as ‘Unix’ is a registered
trademark
Research and development of the Linux kernel is
undertaken by thousands of volunteers over the
Internet

Robust version 1 was released in 1994

Combination of Kernel, tools and Daemons make up the full
operating system
Distributions of Linux from many sources

Kernel must be packaged with commands, daemons and
other software to create a useable operating system
Top 10
(see http://distrowatch.com)
1 Ubuntu
 2 Mint
 3 Fedora
 4 Debian
 5 openSUSE
 ... and many more

Two common questions

Why not more Windows in this module?

Why do we use the command line and not
the graphical interface

Sometimes … does Unix have a graphical
interface and does Windows have a command
line?
User Mode Linux
User Mode Linux (UML)

A virtualisation technology for Lunix



Vmware is a common virtualisation technology
Allows many ‘instances’ of an operating system to run on a
single server
Provides a sandbox environment


01/04/2016
“User-Mode Linux is a safe, secure way of running Linux
versions and Linux processes.”
“Run buggy software, experiment with new Linux kernels or
distributions, and poke around in the internals of Linux, all
without risking your main Linux setup.”
18
User Mode Linux (UML)



UML is a useful teaching tool, especially in courses
where students need a dedicated machine in order
to get the most out of it
UML is being used to teach OS development,
network administration, and more general system
administration.
These are all cases where having a virtual machine
to practice on is far more convenient for everyone
than using physical boxes.

01/04/2016
http://user-mode-linux.sourceforge.net/
19
Why UML?



The UML kernel runs in a virtual machine that can be configured
in ways that your physical machine can't. It can have more
memory, more devices, and, soon, more processors. So you can
do development and testing of hardware capabilities even when
you don't have the relevant hardware.
Poking around inside a running system
 Since you have a full OS running outside UML, it's pretty easy for
the terminally curious to find ways of looking inside this kernel
that are impossible for a native kernel.
As a secure sandbox or jail Processes inside the user-mode
kernel have no access to the hosting machine or to the outside
world that's not explicitly provided. So, a malicious application
running inside it can do no harm to anything that matters.
01/04/2016
20
Why UML?



Virtual networking UML virtual machines are networkable, to each
other, to the host, and to other physical machines. So, UML can be
used to set up a virtual network that allows setting up and testing of
experimental services. See the networking tutorial and virtual network
screenshot for more information
As a test environment Testing of some types of software requires
booting up a machine. With UML, this can be very easily automated.
There is a small test harness available , consisting of a small perl
module implementing a UML object which provides methods to boot a
virtual machine, log in to it, run commands, and shut it down.
Disaster recovery practice Do you know what you would do if your
machine suddenly didn't boot one day? With UML, you can set up
virtual disasters and practice recovering from them. This doesn't have
to be serious business - it can also be fun. Ever wonder what happens
when you run UML# rm -rf / but been afraid to try it? Now you can with
impunity.
01/04/2016
21
UML at the School of
Computing

The School of Computing provides one
system specifically for hosting UML sessions


01/04/2016
wicklow.cs.dit.ie
Upgraded in 2008
22
Wicklow UML

The binary executable on wicklow.cs.dit.ie which
loads the Linux kernel for the UML environment is


/usr/bin/umllinux
This is a script which invokes

01/04/2016
/bin/linux.nfs
23
McCool UML



In UML, the entire file system is contained in
a single file
By default the file used is root_fs in the
current directory
If no command-line option is specified, the
executable linux kernel will look for a file
called root_fs in the current directory
01/04/2016
24
Copy On Write



In UML, the entire file system is contained in a single
file
By default the file used is root_fs in the current
directory
If no command-line option is specified, the
executable linux kernel will look for a file called
root_fs in the current directoryThe Copy On Write
mechanism (COW) allows many users to use the
same base root_fs yet still make their own changes
UML File systems




This works by keeping a read-only copy of the root file system
shared by all users and a copy-on-write file for each individual user
The copy-on-write (cow) file contains only those changes which an
individual user has made to files
From the user’s point of view, their file system consists of two
parts
 root_fs (read-only and shared)
 cow_fs (read/write and not shared)
To support the sharing of a single root file system among all UML
users on wicklow, the master root file system is stored in
 /opt/uml/rootfs.debian
Personal cow file


To allow UML users on wicklow to store their
own modifications to the root_fs file, each
student has their own cow file
This cow file is located in their home directory
on wicklow and is called


/uml/root_fs_cow_<your username>
Since this file reflects any changes you have
made to the root_fs, if you delete this file all
changes will be lost
umllinux script

To start UML on wicklow, users use the
umllinux script
!/bin/sh
/bin/linux.nfs ubd0=/uml/root_fs_cow_`whoami`,
/opt/uml/rootfs.debian eth0=mcast


This tells the executable linux kernel /bin/linux.nfs
to use the root_fs (/opt/uml/rootfs.debian) and the
cow file specified (/uml/root_fs_cow_<your
username>)
It also tells linux to provide one ethernet card, eth0
Backup your cow file


If the user were to create a backup copy of
their cow file at the start of each wicklow
session, then they would have the ability to
roll-back any changes that were made during
a given session
In this way users could experiment with
settings and installing software in the
knowledge that undoing their changes would
be a simple matter
host_fs

How can you transfer files between the host
and the UML session?


As a virtual network, there is no way to access
servers not on the network
UML supports the use of a specialised file
system driver host_fs

This allows us to mount the file system of the host
machine from within the UML instance
There are a number of ways of doing this
01/04/2016
30

host_fs

The first mechanism for mounting the host file
system is to use the mount command as
follows


mount none /mnt/host –t hostfs
This will cause the root of the host’s file
system to be mounted at the /mnt/host
directory (which must exist)
01/04/2016
31