|
|
|
Linux Documentation (historical)
More information on Linux can be found at the official
Linux hompage
Current software available on Linux platform at Monash.
Index
- Introduction
- Implementation
Introduction
A decision was made in mid 1995 to introduce a PC based Unix operating system,
to Computer Centre labs. Broadly to provide:
- Extra X terminals.
- Alleviate demand of existing Unix stations for introductory
course work.
- Reduce cost in setting up equivalent resource using
commercial Unix stations.
- Make full use of PCs resource with a turnkey dual operating systems
capability.
- Giving more choice of operating system on PCs.
- Provide a platform for hand on in depth study of Unix.
The project was assigned to the ITS
Shared System group with
support from Micros,
Networks group, with Jack Chorowicz as the project leader.
The Shared System implementation team leader was:
Keith Lewis,
Time frame
It is expected that CC will have some 200 PCs in 6 labs across 5
campuses operational by the
beginning of 1996 1st term (4th of March). The demand for such
capability exceeds our expectation, we are now proceeding with full in
field testing, bypassing a planned pilot phase.
On going development
As expected of a tight scheduled project, bugs, setup and utilities are being
written and modified as they are being detected. We are slowly enhancing
our turnkey system.
So far:
- October 95, develop various environment and setup tools.
- November-December 95, setup test Linux boxes.
- January 96, setup a student Linux lab of PCs for testing. Refining
tools and collecting traffic data.i (see result)
- Setup 6 labs of 200 PCs accross 5 campuses by the start of 1st
semester.
- 4 March came and gone smoothly, we now have setup 10 labs ~200PCs
accross 2 campuses running Linux.
- Developing and implementing Monash campuses wild access to PCs dual
booting labs.
- Upgrade Linux production 1.2.8 to 1.2.13 for 2nd semester <-- current status
- Design a new Linux architecture to resolve overall performance
due to nfs performance.<-- current status
Implementation
Linux choice
The team decided on Linux over NetBSD influenced by the popularity of
Linux as the flavour of the year. Attracted also to Linux good library of
application software. Several aspect of Linux in terms of tools and
utilities such as 'loadlin' boot strapping program, convinced the team of
building a workable turnkey system.
Issues
Once the first system was set up at the end of November 95, the team then
started to address to issues relating to a 'public' and open Linux systems
sharing existing Computer Centre network. Three main problems were
identified:
- 1-Security
How to secure Linux sharing existing centre resource.
- 2-PC environment
How to guarantee suitable PC environment for Linux,
requiring automated process to overcome problems associated with PC lab
eg. disk gets repartitioned, disk gets used up, what VGA and mouse does
the PC have etc..
- 3-Network traffic
This issue relates to the impact of Linux eg.the bootstrapping of
Linux, nfs traffic on existing Novell environment. How to design an
acceptable responsive system to meet end users need.
- Other issues:
It was a challenge in working towards resolving these goals. It is the
aim of project to build a generic turnkey Linux system , where
any PC can either boot DOS/MSWindows or Linux. However in the initial
pilot stage the system is build around a standard PC
configuration.
How we implement it?
Basically, a boot image of Linux is served by a Novell file server on
request of a user, instead of MSWindows at a DOS login prompt. Prior to
down loading of the image, the PC environment is checked (see 2- PC environment).
At this stage of implementation and the
danger of RePart.exe deleting user disk the finer control of
down loading is achieved by checking for valid authorised PC station name.
If a /root image already exists on the hard disk, it will be 'checksumed'
for its authenticity ie. no trojan horse, shell swapping etc. A new
reload of the /root would of course be the safest way of starting Linux,
because the Novell image file is read only.
At the end of the process, control is passed to Linux utility
LOADLIN.EXE to down load Linux Kernel (VMLINUZ) and jump straight into
Linux.
This can be seen as a system weakness because there is very little one can do to protect end
users from 'Trojan horse' scamp. It is easy for any user to compile
their own version of Linux kernel and leave it running to purport to be
a login prompt. Only a complete reload of the kernel from the start
would safeguard against Trojan horse programs.
Other security issues are
addressed to by the implementation of Kerberos. Without a kerberos key the
Linux system is limited to its own resource.
- Security
Kerberos was adopted as the mechanism to safely allow Linux system share
resources with existing system.
Kerberos is adopted to resolve issues relating to:
- Linux PC user gaining root privilege by booting from a stand alone
system (eg. via floppies).
- Unauthorised users using the University resource eg. printing, email.
an issue of authentication and authorisation, the very objective
Kerberos was designed for. The work involved porting Kerberos to Linux and
introduce Kerberos widely to other systems.
Kerberos mechanism safeguards systems from attacks, by validating who the
user purport to be without having to pass clear text password over the
network which can be 'sniffed' and intercepted by any user on the
segment of the network.
Already we have found a number of PCs in public area having been
installed with a Linux system. Anyone can boot Linux from a set (2) of
floppies and become root.
Without a proper registered Kerberos password, the user will be
root to his local system alone, with no access to any other services
except of course public read only exported files.
Should we give students root password?!
During testing of our setup, it became apparent that the answer to this
question is Yes! for several reasons:
- Student can become root via booting Linux from floppies, and then
modify root password.
- 'Crack' the password and hand it out.
However the password is gotten, there is little reason NOT to to give
it out. Beside, this is a platform to teach student to become a SysOp
or SysManager of their own box, thus root priviledge is required by
students. The abuse I can think of, is user logging as root all the time.
But this should be part of educating the student not to use root
login.
Caveat: remote login (telnet, rservices) should be
disabled by default. User should be aware of the danger before reenabling
it eg. another user remote login into his box as root!(since root
password is available).
With CC Kerberised setup, security can be guaranteed. With remote
login disabled, root is localised to any one particular box.
- PC environment(Edgar and Pan)
There are two folds to this problem;
- How to guarantee the integrity of PCs? Is there a /root and
/swap partitions on local hard disk? How to overcome itchy fingers repartitioning, and
loading up the disk?
To resolve this problem we had to develop a suit of utilities namely:
CCCHECK.EXE an environment checker and RePART.EXE a scripted FDISK and
QuickFormat utility.(Pan)
- How would it possible for Linux to support a diversity of hardware
configuration eg. VGA, mouse (Edgar). We have found using existing
Intel Express Ethernet card driver needed reworking
(Pan) to make it more stable.
(get eexpress.c).
Intel EtherExpress is certainly not a card of choice, we have to make it
work because we have labs full of them. SMC/WD or 3Com
ethernet cards are preferred.
- Network traffic( Ari & Ron)
The objective of this exercise is to gauge the impact of remote booting of
Linux stations, and sizing of nfs traffic over DOS/MSWindows in a typical lab environment. The traffic data is critical in system design in order to
guarantee acceptable response time.
- New Linux architecture
The nfs test result shows that the Linux student environment
suffers poor performance due to nfs file serving. To resolve this
problem we are implementing the architecture:
- Minimise hops between nfs filter box and users disks. Which are now
moved to be in the filter box, using a PCI SCSI controller;
BusLogic BT956C which is a newer
model then the BT946C as recommended by Linux documenttaion.
- Ethernet bottleneck problem will be resolved by installing a PCI
Ethernet card (3Com 3C595TX) in the nfs filter which would improve the
throughput.
Striving for a generic Linux turnkey system
We aim to work towards designing a system that is safe and
secured for any remote PC end user to decide what
flavour of operating system he chooses to run. This will involve both
educating end users as well as set up an intelligent user friendly system.
Since the setting up of Linux involves RePartioning which is
of a same degree and danger of Format c:; the process should be
well controlled.
From pure MSWindows and Linux traffic; Linux's traffic is less than
MSWindows traffic. A PC running MSWindows sustains Novell file server
access longer (with DLLs access) than Linux with high peaks in burst mode.
Linux has the advantage of being a standalone system, with minimal nfs
access to a file server.
It is now proven that such a turnkey system would work. Some hurdles are
being worked on:
- PC area
- More emphasis is now being put on in developing
utilities to guarantee PC environment eg. Disk compression, directories
management, in order to minimise DOS reloading of files due to
repartioning of hard disk.
- Network
- Network is being upgraded to meet expected increase in
traffic with additional use of existing resource.
- Security
- Kerberos, nfs "filter/proxy" boxes are being put in place to
improve and resolve security issues.
NFS performance result
(Taken from Edgar's test mailed out on May 17 96)
Below are the results of NFS benchmark tests using iozone, on linux
client PC's with different versions of kernels. The figures were taken
by NFS writes and reads of sequential files of varying file sizes
(1MB,10MB,20MB) and getting the average. As the results would indicate,
we get better throughputs if the NFS servers were running linux, instead
of other Unix OS, something to the order of 4-5 times more. This is
regardless of what linux kernel version we are running.
Testing From | To | Via | Write / Read (KB/sec)|
comment
- Linux 386 pc | local disk | scsi | 150 /
- Linux 386 pc(russell) | Linux 486 pc(lewigi) | NFS | 7 | Same
subnet
- Linux 386 pc | DECstn(mosel) | NFS | 7 | diff subnets
- Linux 386 pc | DECstn | NFS | via NFS-filter | 7 | diff
subnet
- DECstn 5000/200 | DECstn 5000/125 | NFS | 68
- DECstn 5000/125 | DECstn 5000/125 | NFS | 56
- Alpha | DECstn 5000/125 | NFS | 66 /
- DECstn (mukluk) | DECstn at Caulfield (nella)| NFS | 72 /
- mukluk (clay) | rhea (caul) (486 freebsd) | NFS | 100 /
- DECstn | DECstn | NFS via NFS-filter | 7 /
- DECstn | Alpha | NFS | 128 /
- Alpha | Alpha | NFS | 600 /
- Linux 1.3.95 486 pc | Linux 1.2.13 486 PC | NFS | 57 / 90
|same subnet
- Linux 1.2.13 486 pc | Linux 1.2.13 486 pc | NFS | 55 / 88
| same subnet
- Linux 1.2.13 486 pc | Linux 1.2.13 486 pc | NFS | 47 / 65
| Diff subnet
- Linux 1.2.8 486 pc | Linux 1.2.13 486 PC | NFS | 57 / 92
| same subnet
- Linux 1.2.13 486 pc | DECstn 5000/125 | NFS | 9.8 / 45 |
diff. subnets
- Linux 1.2.13 486 pc | 2100 Alpha | NFS | 4.6 /
7.2 | via nfs filter diff. subnets
- Linux 1.3.95 486 pc | DECstn 5000/125 | NFS | 8 / 45
|diff. subnets
- Linux 1.2.8 486 pc | DECstn 5000/125 | NFS | 10 / 131
| diff. subnets
This a recommended configuration for the Computer Centre 1st stage
of implementation of Linux on PCs in student labs
- 486 system with a 1.44 floppy drive, minimum 8 megabytes of RAM,
400 megabyte of IDE hardisk, Microsoft mouse.
- S3 SVGA display card with multi scanned VGA monitor capable of
handling 1024x768 256 colours resolution.
- The 1st stage of implementation supports Intel express Ethernet
cards that already exist in labs. They however are not recommended due
to unsatisfactory performance.
- Preferred Ethernet cards:
- 3Com cards eg.EtherLink 3(3C509, 3C509B)
- SMC cards eg.Elite 16 (WD8013 chip)
Although other Ethernet cards are
supported by Linux, these cards are preferred.
- Student satellite station using "Repart" requires 175 MB hard disk.
Detail step by step how to setup similar labs.
Current work on Linux is accessible by ftp to ftp.monash.edu.au in
/pub/linux-cc .
Monash Linux PC labs have access to CC working directory which is
exported from mick:/cc/linux/usr/
AUTOIDE.EXE will try to match IDE reported geometry with how
the CMOS is setup. If the geometry does not match; it will use a BIOS disk
entry if it can find one, else just give a big warning. This is to make
sure we make the full use of the disk capacity.
This is just an example of the flow, CCCHECK.EXE and
REPART.EXE have
many switches and flexibility. We ASSUMED there is one IDE disk C: drive
only, and there are 3 partitions (DOS,/root/swap). MSWindows
environment boot will repopulate appropriate MSWindows files as
needed .
CCCHECK.EXE CC check for specifics:
(return ERRORLEVEL =0 for success)
- /C Checksum, test specific Linux files for security checksum
check.
- /D Display, confirm with BOOTP the station name and compare it with
valid LABS.... END LABS in CCLINUX.CFG to allow Linux to run.
- /F Files will read setup from CCLINUX.CFG. CCFILES="....",
CCDIRS="..." specify files and directories to be preserved,
anything else will be selectively wiped ie. kill non CC
files. Warning! this is a time consuming exercise, ie. delay in Linux
boot. I admit that this will force students to dump their
games into eg. windows directory, I am planning to counter
this by CCDIRS to have size ie. if it is too big, wipe it. It
will be reloaded by MSWindows boot anyway. To speedup Linux boot
we might get Linux to repopulate MSWindows partition of its files
when it is wiped.
- /H Help, syntax.
- /L Check for Linux partitions /root and /swap.
- /M Check read and writable C: drive.
- /S signature, check for RePart quick format signature so that
DOS can do a full reformat it is needed.
- /W sWap, calculate Linux Swap size set environment variable
SWAP 25 MB minimum, if disk 200-500MB, 3xmemory up to 45MB
swap. If disk > 500MB straight 3xmemory SWAP space.
Example of CCLINUX.CFG:
******* search list: L:\LINUX\, F:\LOGIN|LINUX\,V:\SHARESYS\LINUX, local
SYNTAX
- Data starts on line with IMAGE DIR
- Use back slash \ to specify subdirectories
- Data line starts on 1st column.
- CCFILES list of filename exempt from deletion
IF NO CCFILES line defined ie. Delete NO file
IF CCFILES "" ie. delete ALL FILES
- CCDIRS list of subdirectory exempt from deletion
IF NO CCDIRS line defined ie. DO NOT delete
directories
IF CCDIRS "" ie. delete ALL directories
- LABS:.....END LABS: block is last read ie. end of CFG
Labs entries starts at column 1.
--------------------------------------------------------
IMAGE DIR "v:\sharesys\info\linux\image"
CCFILES "\autoexec.bat,\BC.bat,\startnet.bat"
CCDIRS "\WINSTUD,\WINDOWS\*,\boot,\NWCLIENT"
LABS:
maths-g16b
CTL-G14
CC-G16
END LABS:
Replication and backup procedure
Replication:
Replication can be achieved through the use of rdist ( remote
file distribution client program) which is a program to maintain
identical copies of files over multiple hosts. The rdist version that
we have uses rsh command to access each target host. Rdist reads
commands from a distfile to update files and/or directories.
Backup and restore:
It is proposed that the root or / partition of all servers be backed up
on
one of the disks on mick on a regular basis. The size of the /
partition is about 15MB. Mick in turn gets backed up once a week
(incrementals)
and a full
backup every month. In the absence of the dump and restore command in
linux, we will use cpio.
Download a PKZIPed programs for total system recovery
from catastrophic crash ie. lost of root partitions. This programs will
enable minimum boot to restore from mick.cc.monash.edu.au.
See more detail about Replication &
Backup/Restore.
Issues and problems encountered
- Giving out root password to students; as discussed above in
"Security" section.
- V1.2.8 with reworked Intel EEXPRESS card driver works fine for less
networked intensive coursework. However it has been reported that it
still suffers with system 'hangup' when doing large ftp with little
packet latency eg. ok to ftp to the US for a file, but hangs when
doing transfer of the same file between local hosts.
ACTION: V1.2.8 none, because it requires backward version of gcc,ld etc.
Since we are moving to v1.2.13 we will work on the new released version
of EEXPRESS and see.
May-1996.
The problem with hangups with the eexpress card is inherent to the card
because of how the card service incoming packets with the Intel chip
requiring acknowledgement from CPU to clear pending tasks. In slow
system the slow latency of interrupt servicing would guarantee the i82586
managing itself adequately. In faster CPU system, the more frequent
interrupts would cause a lock up due to severe nested interrupts that
the i82586 could not recover from.
The release version is V.02, it has been tested on V1.2.3, to some 80%
satisfaction. There has been no problem for Unix introductory
coursework. But we know for a fact that it does hang when doing large
file transfer.
ACTION: No more work done on eexpress.c, we will upgrade the labs with
another more proven ethernet cards.
- Linux woul Kernel Panic all the time, after reload and
whatsoever
DIAGNOSIS:
After scratching my head, and checked and double checked if we don't
have some
bad image and corrupted data etc.. all looked ok, beside the same images
and
program work on the machine next to it.
SO, it must be something local to that particular PC.
I re-FDISKed the disk to a single volume and DOS re-FORMATted the drive.
L:\LINUX\LINUX again and launched Linux , all worked again!...
CONCLUSION:
The fault was due to the hard disk developing bad blocks in the Linux
partition.
Since it is not marked as 'bad', "Repart" will just try to block write
over
it, but when it comes to try to use it ie. run the Kernel ...PANIC.
The DOS re-Format process was the only way to mark the block 'bad'
so that the sectors will not get used by "RePart".
An alternative would have been to boot linux from floppies and then
'fsck'
the Linux partition.
ACTION:
I am still thinking about how to avoid this situation. Any
suggestion?
|