Title: Evolution of the CERN printing service
1Evolution of the CERN printing service
Ignacio Reguero, Sam Lown October 2002
PS/Unix Infrastructure Section IT Division, CERN
2Outline
- Description of the Printing System
- Before, After
- Upgrade Process
- Hardware, Software
- Manageability
- Configuration
- Accounting
- The Future
3System Description
- CERN Print service
- 1180 network printers
- 1400 total queues
- Including trays and remote printers
- Statistics based on current System
- 17,000 jobs per day
- 14Gb spooled per day
- 70,000 to 100,000 Pages per day
4System Description Before
Web Server
Accounting Summary
Printer Server Back-end
PRINT3
PRINT1
PRINT2
DNS Server
Printer Name
Server IP
Clients
MS Windows
Unix/Linux
AppleTalk
TCP/IP
LPR (RFC1179)
5System Description Before
Apsfilter
LPRng
Convert to PostScript
APS config for Printer
Determine CommProg
if (model /hp2500/) if (opt_Q /A3/)
opt_Z a3,inupper ...... .....
Determine Model
Determine Output Filter Options
Add Options to Output Filter
commprog commprog. -Z.opt_Z
Papif
CTH-ifhp
Phaserif
6System Description Before
- Characteristics
- Centralised
- All clients talk to the same server rather than
each client trying to access the printer directly
(No collisions) - High Reliability
- No single points of failure
- Unified
- All clients access servers using standard
protocols
7System Description Before
- Problems
- Limited Tray Support
- Printer trays are hard-programmed
- Lacks new LPRng IFHP features
- Limited Scaleability
- Scripts for each new printer must be run on EACH
serveri.e. More Servers More Work - De-Synchronisation
- Each server may contain different configurations
- Limited Accounting
8System Description After
Web Server
DBMS (oracle)
Accounting
Accounting
Configuration
Configuration
Printer -gt Server Mappings
Printer Server Back-end
PRINT1
PRINT2
PRINT n
DNS Server
...
Printer Name
Server IP
Clients
MS Windows
Unix/Linux
AppleTalk
TCP/IP
LPR (RFC1179)
9System Description After
Apsfilter
LPRng
Convert to PostScript
APS config for Printer
Determine CommProg
commprog . -Tmodelhp2500cm opt_z .
inupper,a4
Add Model
Add Tray Options (opt_z)
Add Options to Output Filter
commprog commprog. -Z.opt_Z
Netatalk
LPRng IFHP
10System Description After
- Characteristics
- Centralised Configuration
- Always synchronised
- New IFHP features used
- Better Tray Support
- Improved accounting
- Individual jobs can be recorded rather than a
summary - Improved Scaleability
- More servers can be added with less work and less
synchronisation problems
11The Upgrade Process
- Hardware and Software Upgrades
12The Upgrade Hardware
- Previous System
- 3 Machines
- Pentium Pro 200Mhz
- 199.07 BogoMips
- 256Mb RAM
- Hard Disk - SCSI 9.1Gb
- Fast Ethernet 10/100Base-T Network
13The Upgrade Hardware
- Replacement System
- 3 Machines
- Dual Pentium 3 800Mhz
- 3185.04 Total BogoMips
- 512Mb RAM
- Hard Disk IDE 40Gb
- Fast Ethernet 10/100Base-T Network
- SCSI bus available (for CDR)
14The Upgrade Software
- RedHat 5.0 RedHat 7.2.1 CERN
- Kernel 2.4.x (from 2.0.32!)
- Perl 5.6
- Using Locally Compiled Software for Printing
- LPRng, IFHP, netatalk
15The Upgrade Software
- LPRng 3.5.2 3.8.13
- General Bug/Performance fixes
- CTI-ifhp 2.2.8 LPRng-IFHP 3.5.10
- Uses ifhp.conf for printer control commands
- No 'hard-coded' PostScript/PCL
- Vastly improved printer support (replaces
Phaserif) - Vastly improved Tray Support
- Easily modified
- Improved Accounting
16The Upgrade Software
- CAP 6.0 Netatalk 1.5.3.1
- CAP is deprecated!
- No support
- Required too much work to recompile on new system
- Netatalk now provides superior performance
- Wrapper Required for compatibility
- Maps original papif options to new pap command
- Plug-in replacement for Apsfilter
- Accounting improvements
- Adds some functions only done by CAP (trays
selection)
17Manageability
- How to manage 1100 printers....
18The Database
SERVER
PRINTER
PRINTER TYPE
Configuration
TYPE TRAY
Accounting
PRINTOUT
USER
HOST
19The Database
- All Database Functions Stored in Single Module
- PrintMan.pm (PrintMan Printer Manager)
- General Purpose Module
- Hides SQL code
- Basic functions for each table
- Add, Update, List, Get, Delete
- Job entry functions optimised for efficiency
- Database access minimised by caching data
- Provides Check functions for data entry
- Simplifies programming of user interfaces
20Manageability
- Database Centric Configuration
- Configuration files
- Generated automatically
- Easily modified
- Synchronised on all systems
- Support for SQL data extraction
- Generated Files
- /etc/printcap Standard LPR printcap
- /etc/cap.printers Printer name lookup file for
AppleTalk - apsfilter/conf/ltPrinterNamegt ApsFilter config
folder - NamedFile DNS lookup Each printer points to
server
21Manageability
- Database Accounting
- Each Job Recorded
- Including size, pages, and date
- Job records cached locally
- Jobs collated and inserted at end of day
- Support for LARGE Tables
- 400Mb data required per year
- Statistical Report Generation
- Fast, Dynamic
- Order by user, date, jobs, pages, hosts, etc. ....
22The Future
- High Availability
- Server monitoring
- Automated redirection (alter DNS, slow)
- Server Load Balancing .. ?
- Difficult
- Simple re-routing of TCP pipe does not
work(Linux Virtual Server Project) - Printer spool dir must be on same server
- Possible?
- Load Balancer forwards to correct server (DBMS
helps)
23Questions