建立网络环境下的共享打印机,既节省了硬件设备投资还简化了打印管理。通过实施缓冲池结构(即Spooling系统),共享打印机可以随时随地响应网络中任何一个用户的打印请求而不至于发生冲突,同时用户也可以方便地随时提交或取消一个打印作业。
在一个大型的网络应用中,打印作业数量繁多且纸张尺寸、样式、速度要求各异,为实施更有效的管理,系统管理员可设置多个网络打印机,赋予不同的优先级,担负不同层次 的打印请求,并根据实际需要随时从缓冲池系统中添加、修改、删除打印机。当对其中某台进行维护时,可暂停其服务进程或设置其上打印作业自动转移到其他打印机上,而这一切对用户都是透明的,管理员还可以通过网管软件方便地监控网络打印机的状态,设置事件报警机制等(见图1)。以下以UNIX为例通过类、优先权等概念实现对网络环境下打印机的有效管理。
 图1
打印机的类型
打印机可分为本地打印机(Local Printer)、远程打印机(Remote Printer)、网络打印机(Network Printer)三种类型。本地打印机直接连接在本地主机并口上,远程打印机连接在网络中某台主机或打印服务器的并口上,网络打印机本身自带一块局域网卡,直接连接到网络中。本地打印机只为本地用户提供打印服务,而远程打印机和网络打印机则响应网络中所有用户的打印请求,二者仅连接方式不同而已。
打印机类(Printer Class)
类是指一组相关的打印机。网络中的打印机可分为不同的类别,如响应打印公文请求的打印机可归并到公文类中,由激光打印机组成;响应一般草稿打印请求的打印机可归并到草稿类中,由廉价的、低分辨率的喷墨打印机组成;响应一般报表打印请求的打印机可归并到报表类中,由宽行针式打印机组成;响应大批量账页打印请求的打印机可归并到账页类中,由高速行式打印机组成。当用户打印命令中包含类的指定时,类中任何一台空闲的打印机都可以参与打印,一般而言,由最先收到打印指令的一台可用的打印机提供打印服务。类名可以是任何数字、字母、下划线的长度不超过14位的任何字符串,只要输入一个新名字就可以创建一个新类,类名之间不能相同。
打印优先权(Printer Priority)
优先权可以指打印机,也可以指打印作业。打印优先权说明了打印的限制等级,使得低于此值的打印作业不会送往该打印机,除非提升打印作业优先权或降低该打印机优先权。UNIX定义优先权的范围是0~7,7最高,0最低也为默认值。所有的打印作业均放在目的地的缓冲队列中依据优先权顺序排队,优先权高的作业最先打印,如果优先权相同,则遵循FIFO(先入先出)的原则。如果打印命令中没有指定优先权,则以默认值送往目的打印机。管理员可以在用户端设置打印机时定义默认的打印机优先权,用户也可以根据需要在发出打印命令时指定打印作业优先权。
默认打印机(Default Printer)
也即缺省打印机,管理员在用户端设置打印机时可将某一类的其中一台打印机定义为默认打印机,这样该端用户发出的所有打印请求如果没有特指都自动指向该打印机,多个作业将自动排队。
打印队列服务状态
用户每提交一个打印请求,都被放入打印队列中,队列可以是某一台打印机的,也可以是某一打印机类的。打印队列分以下四种状态:接受(Accept)、拒绝(Reject)、激活(Enable)、关闭(Diaable),Accept/Reject控制是否将打印请求放入队列,Enable/Disable控制打印机是否处理队列中的请求。具体的说就是当目标打印机设定为Accept时,打印请求均可进入打印队列,否则也即Reject状态时,任何希望进入队列的请求都将失败。而当打印机处于Enable状态时,打印机可正常打印用户的打印作业,当处于Disable状态时,该打印机上的所有打印作业都将暂存在队列中,直到恢复成Enable状态方可顺序打印(见图2)。
 图2
UNIX系统打印命令简介
1.打印
[-d Dest] [-p Priority] [ -c Classname] file
其中:-d指定目标打印机
-p指定打印优先权
-c指定打印机类
用户也可以不定义以上三个选项而使用设定缺省值。
2.设置打印机状态
# /usr/lib/lpshut
# /usr/lib/lpsched
# accept class1
# reject class1
# enable printer1
# disable printer1
3.查看打印机状态
-t
4.取消一个打印作业
printer-ID
其中: printer-ID为打印作业号,可使用lpstat -t命令查出。
5.移动打印作业
多用于维护打印机时为不使用户打印中断而将一个或多个打印作业从一个队列移向另一个队列。
# /usr/lib/lpshut
# lpmove printer1 printer2 (移动所有的请求)
# lpmove printer-ID1 printer2 (移动一个请求)
# /usr/lib/lpsched
printer-101 printer2 (简单移动一个打印请求,可以由普通用户完成)
6.修改优先权
# lpfence printer3 5(修改打印机优先权)
# lpalt printer-102 5(修改打印作业优先权)
普通用户可以通过执行命令:lp、lpstat、enable、disable、lpalt、cancel来维护打印机,其他命令只能由管理员来完成以实现更高一级的维护。
异种系统下打印机的管理
一个复杂的网络中通常包含了多种操作系统平台,如:HP-UX、SCO OpenServer 3.X/5.X、Win 2000/NT/9X,它们之间打印机也是可以共享的,同时都遵守Spooling缓冲池调度规范。Windows系统之间通过NetBEUI协议互相共享打印机,UNIX系统则通过TCP/IP协议共享打印机,而Windows和UNIX间打印机的共享必须安装NFS软件如PCNFS、RelectionNFS等,通过NFS协议来实现,只要原理清楚,配置应该是一件很轻松的事情。为实现对日益增长的从小型网络到跨越地域的企业级网络环境下的打印机的可伸缩性管理,HP公司首家推出了OpenView家族的HP OpenView OpenSpool软件,该产品基于客户机/服务器体系结构,支持HP9000/800、IBM RS/6000、Sun SPARCstation多种硬件平台,安全性能好,在客户端以图形化界面实现对全网各种打印机的集中化管理和维护,使用十分方便。总之,一名合格的系统管理员只有深刻了解领会Spooling缓冲池结构及相关网络协议,才能实现对网络环境下打印机的正确维护和科学管理,做到网络资源和设备资源的充分利用。
|