UNIX服务器
UNIX服务器(精选9篇)
UNIX服务器 第1篇
关键词:UNIX服务器,监控系统,构架,实现
1 UNIX系统监控介绍
在UNIX操作系统中,主要包括中央处理机即CPU、内存即memory、磁盘空间以及网络带宽等几种关键资源。为此,在多进程中,UNIX系统所需要监控的参数有CPU用户状态使用率、CPU等待I/O状态使用率、CPU系统状态使用率、CPU空闲状态、上下文交换状况、中断状况、系统调用状况等;在虚拟内存系统中,UNIX系统所需要监控的参数有空闲物理内存的状况、交换区的使用状况等;在文件系统中,UNIX系统所需要监控的参数有文件系统空闲空间状况、文件系统mode空闲状况等。UNIX系统中其他需要监控的参数还包括网络带宽和操作系统本身的状态。
shell命令采集方法UNIX操作系统都提供了shell命令来查看系统信息和执行脚本,因此shell命令采集方法实现简单,且不存在任何不兼容问题,这是目前许多监控系统所采用的方法。shell命令采集方法的过程如下:(1)DCU向被监控机操作系统传递shell命令;(2)被监控机操作系统返回shell命令执行的结果;(3)DCU解析返回的执行结果;(4)判断是否还有监控信息需要获取,是,则重复步骤(1H3),否则结束。
UNIX操作系统在Gnome(GUN Network Object Model Environment,GUN网络对象模型环境)下提供了Glibtop库。安装完成后在/user/include下产生glibtop目录,该目录下包含.h头文件,每个头文件定义了一种数据类型,并提供一个系统函数,用以获得相应的系统信息。例如,glibtop_get_cpu()可获取CPU的使用状态,glibtop_get_proclist()可获取当前进程列表,glibtop_get_mem()可获取内存的使用状态等。
通过Telnet连接获得监控信息Telnet协议软件在中间代理上实现后,中间代理成为被监控机的虚拟终端,可执行一系列操作,包括shell命令的执行、文件的查看等。在Telnet连接下,没有服务器端软件提供监控信息,因此,几种监控信息采集方法只能选择shell命令采集方法或/proc伪文件系统采集方法。而/proe伪文件系统采集方法也必须通过shell命令获得,如cat命令。由于中间代理和与其通信的被监控机间是同步的通信协议,即以串行的方式依次通过Telnet方式连接各被监控机,并传输相应/proc文件,解析得到结果。因此,使用DCU Telnet采集监控信息的延迟时间主要是在/proc文件的传输和解析上。因此,在DCU Proc失效时,为了DCU Telnet能够以同样的速度满足监控机的请求,本文中DCU Telnet采取的方法是:只要求被监控机传输与主要监控信息有关的/proe文件,例如计算CPU利用率的/proc/stat,计算内存利用率的/proc/meminfo等。
2 UNIX服务器监控系统的构架与实现
(1)要明确UNIX服务器监控系统的设计目标
针对UNIX系统存在较多功能被闲置的现实情况,应制造出用户真正需要的系统功能,并简化系统使用方法,方便企业内部的系统管理员进行安装、配置、使用和维护,这也恰恰是UNIX服务器监控系统的设计目标。对此,UNIX服务器监控系统应切实监控CPU用户状态使用率、CPU等待I/O状态使用率、CPU系统状态使用率、CPU空闲状态、上下文交换状况、中断状况、系统调用状况、空闲物理内存的状况、文件系统空闲状况、文件系统mode空闲状况、交换区的使用状况、网络流量、服务器或者操作系统本身的状态。其中,U-NIX监控系统既要能够实现内容显现和历史保留,又要构建报警系统,以及相关系统的安全和配置。
(2)要积极构架监控系统
UNIX服务器监控系统应通过数据采集、自动报警、数据显示以及历史查询等四大步骤逐步实施。在数据采集和自动报警过程中,UNIX系统包括需要连续取值的CPU使用状况和能够取瞬间值的非CPU相关数据;在数据显示和历史查询过程中,UNIX系统划分为天报表、周报表和月报表,分别用于显示最近24小时的状况、最近7天的状况和最近30天的状况,具体过程是在系统管理者或者普通用户在自行输入时间范围后,自主选取需要查看的数据,而后从RRD数据库中获取相关数据,并显示于网页上。
(3)要保证UNIX服务器监控系统的真实实现
UNIX监控系统最大的特点在于,无代理方式获得被监控系统的各项性能指标,其中无代理指的是在UNIX服务器上未安装任何自己编写的代理软件,而只通过被管理服务器自身提供的功能获取相关信息。具体要做到,将Net Telnet模块连接到UNIX服务器,在此基础上通过运行系统的命令,无须安装代理软件,即可获取服务器上的各种性能及配置信息,即通过软件系统,将原有需要管理员交互操作完成的步骤自动化,以实现UNIX系统效率和精确度的提升。此种方法贵在设计简单,但同时也要尽可能限制进程的数量,其一在于采用线程,线程是的是在进程内部执行的独立的程序段,即在同一进程中所有线程共享所在进程的上下文;其二在于采用无限循环、定期轮询的方式,检查每一个被监控服务器的连接状态,并按照不同状况作出不同的响应。
3 监控系统的部署与服务器安全性设置
一个网络监控系统如果一旦被非法利用将会使内部网络用户的几乎所有信息都暴露无遗,因此一个网络监控系统在关注整个网络安全的同时更应该加强自身的安全性。安全是一个设计到许多方面的概念,比如物理上的安全、操作系统级别的安全、网络安全等等。
在部署UNIX服务器监控系统时,针对CPU资源,应获取system time、idle time、user time、iowait time等;针对内存资源,应关注空闲物理内存,实时查看系统目前空闲内存状况,使不同的操作系统存在不同的命令,但由于不同命令不能直接显示空闲内存的总量,则其还应经过一定的处理,使命令在所有操作系统上的输出均为空闲内存的大小;针对文件系统资源,应关注目前空闲空间的数量,监控空闲空间在全部空间中所占百分比,以Sun Solaris系统为例,通常会以ufs和vxfs系统获取空闲空间情况。此外,还包括系统可用性的监控,系统可用性是指能够从网络上别的计算机访问到的被监控系统,当前用于服务器可用性的监控通常会基于ICMP协议,以及利用echo功能,回应系统请求者一个简单的网络包。
服务器安全性设置主要从网络信息的安全性角度考虑。当一个网络监控系统被非法利用时,系统内部网络用户的所有信息都将面临暴露的危险,由此,网络监控系统不仅要关注整个网络的安全,更要强化自身安全性。目前,Apache Server是能够部署在UNIX操作系统上的最为有效的安全装置。作为一种流行的Web服务器,Apache Server主要实施选择性访问控制以及强制性访问控制的安全手段,其内部的安全模块更具灵活性和实用性,比如mod_access模块可以按照访问者的域名或者IP地址对Apache Server的访问进行控制,即通常意义上的基于主机的访问控制;mod_auth模块可用于对用户和组的认证授权等方面的控制。为确保Apache Server的安全运行,应明确ServerRoot目录的权限,正确配置SSI,阻止用户修改系统设置,明确Apache Server的确省访问特性,衡量CGI脚本的安全性等。
4 监控系统存在的问题及发展方向
UNIX监控系统亟待改进之处表现为对Telnet的处理,在使用明文传送口令和数据过程中,Telnet协议下的口令和数据极易被别人窃取或者截获,就连Telnet协议所涉及服务程序的安全验证方式也可能遭遇中间人的破坏,比如中间人可能冒充真正的服务器在接收相关口令和数据后,再将错误口令和数据信息传送至真正的服务器,这个过程中必然产生极其严重的问题。对此,UNIX监控系统必须促使Telnet尽快向SSH即Secure SHell转变,通过SSH,将所有传输的数据实行加密,避免相关数据被截获或破坏,并防止DNS及IP欺骗。当前技术条件下,SSH主要由客户端与服务端的软件构成,并表现为1.x和2.x两个不兼容的版本,不过OpenSSH2.x能够同时支持此两种不兼容版本。
同时,UNIX监控系统还须考虑到对监控信息的组织和利用。任何使用者的计算机系统内部都存在海量的信息数据,但UNIX监控系统尚不能对所有主机的监控信息展开数据分析级别的保存与记录。未来,数据库、数据仓库都将得以完善,以便最大限度地存储海量的监控数据,并从巨大的数据仓库中挖掘更多更重要更有用的信息。数据挖掘工具也将相对准确地预测将来的趋势和行为,以更好地支持人们的决策,并解决那些较为消耗人工时间的传统问题,更为智能地分析临界值,提高对报警临界的智能性。
5 结语
信息时代,计算机系统规模日益扩大,服务器运行状况备受考验,尤其对现代企业来讲,如果公司管理系统不能为实现更加高效的管理、更加有序的组织服务,则企业很难获取长久发展的动力和支持。实施完善的监控和管理软件,才最有可能解决管理系统不佳的难题,UNIX服务器监控系统的构架与实现也才具备更为现实的作用和意义。目前,UNIX监控系统主要采取Telnet方法实现系统的登录和管理,但在U-NIX环境下,UNIX监控系统将逐步实现Telnet向SSH的转变,使得监控系统本身更加安全、灵活、高效。完全可以相信,未来的UNIX监控系统将获取更多Telnet和SSH的功能,并拥有更多对Windows系统的支持。
参考文献
[1]蒋漪涟.基于广域网的服务器监控系统的设计与实现[J].计算机技术与发展,2007,(09).
[2]屈利娟,郭丽霞,贺天鹤.基于SNMP的服务器性能监控技术[J].计算机时代,2007,(01).
[3]江均,唐刚,张建,张超.基于Web服务器的监控系统设计与实现[J].工业控制计算机,2008,(01).
[4]贾凯东.浅谈UNIX系统的安全策略[J].科技创新导报,2009,(07).
[5]蒋冬青,姜原成.政府公众满意度测评——基于层次分析法与模糊评价的综合评价[J].中南财经政法大学研究生学报,2009,(01).
[6]钱忠宝.一种基于模糊数学的评标方法——模糊综合评价法[J].中国招标,2008,(04).
UNIX服务器 第2篇
clearcase/“ target=”_blank“ >ccd”>于千万人之中遇见你,缘份啊,。。。。。
samba服务器的文件共享配置
1.进入LINUX,配置/etc/samba/smb.conf
仔细配置
workgrup
netbiosname
hosts allow = IP #允许访问的IP段
quest account =nobody #使用默认
security=share*
[public] 注意将“;”号去掉
path=/pub #共享文件夹
public=yes
only guest=yes
writable=yes
printable=no
guest k=yes
保存退出
2.进入/ect/rc.d/init.d/
执行#./smb restart
3.检验samba并访问WIN2000的共享资源
testparm
smbstatus
smbclient -L //2000的计算机名 -U 用户名
输入密码便可显示2000的共享资源
如要进入某个文件夹则
smbclient -L //2000的计算机名/共享名 -U 用户名
进入后出现类似DOS的提示符,我们可用FTP命令进行操作
以上是在LINUX下访问WIN2000的共享资源,要想在2000下访问LINUX的共享资源怎么办?可能有些人会直接到2000的网上领居中双击LINUX的samba SERVER的图标但进入不了,这是怎么回事,
别着急,第4步就是我要说的。
4.在RH桌面,单击“控制面板”--“服务”
启动smb(协议)、itentd(TCP连接用)
停止iptables、ipchains(两个防火墙)
RH启动时开启防火墙禁止网络连接,所以从2000的网邻中不能访问samba服务器。
OK后,保存退出
5.此时在到2000下便可访问了~~~~~~~~~!!
注释:
如果在security处设置成
security=user
则我们在从2000访问LINUX的时候需要提供密码
配置如下:
在控制台
#smbadduserlinuxname:2000name #增加用户
用户名和密码存于
/etc/samba/smbusers
/etc/samba/smbpasswd
修改smb.conf中的
encrypt passwords=yes
smb passwd file= /etc/samba/smbpasswd
保存并重启SMB
此时在到下试试你的配置是否生效吧
UNIX服务器 第3篇
目前,在服务器架构方面企业通常有三种选择:大型机、Unix与x86平台。企业最常用的一个选型标准是,如果是关键业务则选Unix,一般业务则选x86平台,大型机投资过于高昂,则慎选。因为一般认为,Unix服务器可靠、性能稳定,而x86平台则便宜、性价比高、部署起来非常简单容易。
“这样的选择标准看起来合理,其实是存在问题的。问题在于,有一些业务应用用户刚开始出于经济性的考虑选择了x86平台,但随着业务发展,其关键性不断提高,到一定时候必须迁移到关键系统上,也就是要迁移到Unix平台之上。这意味着此前的很多投资要被迫放弃,包括IT人员的技能和服务器等。”惠普亚太及日本地区副总裁兼关键业务服务器产品部总经理全寅皓表示,“惠普‘Odyssey’计划可以把用户从这种尴尬中解脱出来。”
据记者了解,惠普“Odyssey”计划的关键之一就是让用户在同一个机箱中既可以运行基于英特尔安腾处理器的HP-UX操作系统,也可以运行基于英特尔至强处理器的Microsoft Windows或Red Hat Enterprise Linux操作系统,以支持关键业务应用。这样,当用户准备将业务迁移到关键业务平台时,它可以平滑地迁移。
全寅皓详细介绍了惠普全新的研发路线图,包括在HP Integrity服务器、HP NonStop系统与HP-UX和OpenVMS操作系统上的持续创新,还包括在未来两年内推出用于HP Superdome 2机箱(代号“DragonHawk”)和c-Class刀片机箱(代号“HydraLynx”)、采用英特尔至强处理器的刀片单元,将支持HP-UX环境的创新技术用于加强支持Windows和Linux环境。
UNIX服务器 第4篇
西南医院HIS中心服务器于2001年由HP-lh4升级为IBM-x360,主服务器4颗CPU,4G内存;操作系统为Windows2000 advanced server,Oracle为8.1.7.4版本;正常业务情况下,连接到服务器的并发会话已超过1200个,活动会话长期在25个左右。
医院计划于2007年5月底启用新的门、急诊大楼,新上门诊排队叫号系统,预计增加客户端200~300个,预测新大楼启用后并发会话可能达到1500个。同时,PACS、体检、心电、手术麻醉等系统也已和HIS系统整合起来,需要和HIS系统频繁交换数据。特别是手术麻醉信息系统,与HIS系统之间的数据交换量达到了1G/日。随着整合的医疗业务越来越多,系统内数据的产生速度也越来越快,住院结算、中心摆药等需要进行大量数据查询并根据查询结果进行大量计算的复杂业务,所需时间越来越长,开始影响医院业务工作的正常开展。为此,医院决定升级HIS中心服务器。升级后的系统必须提供更高的性能和安全性,并能满足三到五年内医院业务增长的需要。
升级后的系统,要求能在独占模式下支持至少4000并发用户,并且在2000并发用户时,能提供较高性能。由于很难测试新门、急诊大楼启用后增加大量并发用户对系统性能的影响,在当前用户数下,升级后的系统性能要比现有系统有较大提升,如住院结算、中心摆药等复杂业务的处理时间应缩短至少一半。并且在业务高峰期,CPU使用率应平均在40%以下,空闲内存应平均在20%以上。这样才能在新门、急诊大楼启用后,不会对系统性能造成太大影响。
升级后的系统同时必须具备良好的扩展性,通过简单的硬件扩展,就能在4000并发用户数时,提供较好性能。
由于Oracle数据库最新版本已经是10.2.0,而且Oracle已经放弃对8.1.7版本数据库的商业技术支持,在升级服务器硬件的同时,医院也决定将Oracle数据库升级。
1 系统测试及设备选型
升级服务器,通常有两种升级方式:在原有系统上进行扩展和购买全新服务器。
当前的PC Server为32位体系结构,只能运行32位操作系统。由于寻址能力限制,在32位Windows操作系统下,Oracle数据库通常只能使用1.7G内存。即使采用Windows提供的3G参数配置操作系统,Oracle数据库也最多能使用不到3G的内存。而且Oracle在Windows平台下采用单进程技术,在Oracle体系结构中的后台进程和为每个数据库用户服务的服务进程,在Windows平台下都采用线程来实现。这样带来的后果是无论实际物理内存有多少,Oracle数据库所能使用的内存都不可能超过3G。而根据Oracle所采用的处理机制,每一个连接到数据库的用户,都会使用少量的私有内存来存放用户的私有信息。在Oracle只能使用有限内存的情况下,系统支持的并发用户受到限制。
当Oracle数据库运行在独占模式下,也就是Oracle为每一个连接到数据库的用户分配一个服务进程时,在不过多的减少数据缓存和共享池的大小以降低性能的情况下,32位Windows平台下的Oracle数据库最多能同时连接800个用户左右。
当Oracle数据库运行在共享模式下,也就是Oracle运行指定数量的服务进程,这些服务进程同时为所有连接到数据库的用户服务时,32位Windows平台下的Oracle数据库理论上可以支撑3000以上的并发用户。但在实际运行中,发现共享模式性能较独占模式低且不是很稳定,在出现故障后,由于使用这种模式的系统很少,也很难迅速查到有关信息,排除故障。因此,不能选择在原有系统上进行扩展。
在购买全新服务器时,可以有两个选择:64位Windows系统和64位UNIX系统。
尽管我们对Windows很熟悉,但64位的Windows以前没有接触过,不知道64位与32位之间存在哪些差异;对UNIX比较陌生,而且市场上主流UNIX厂商有三家,这三家厂商的产品之间有哪些差异,我们也不是很清楚。同时据我们了解,全军尚未有采用UNIX平台运行HIS系统的医院,无法找到比较合理的对比。在这种情况下,只是根据其它行业的使用评论,或者根据厂商自己的商业宣传就贸然进行选择,不是明智之举。为此,在确定设备之前,我们进行了各系统的实际测试对比。
系统能正常运行是一切改进的前提。因此在进行测试时,首先考虑到数据库版本对应用程序的影响,其次考虑操作系统平台对应用程序的影响,最后考虑操作系统平台对性能的影响。
由于此次升级对系统改动很大,包括操作系统类型、操作系统位数、数据库版本三个方面的改动,如果直接模拟系统升级后的最终状态进行测试,在出现问题时,很难进行分析定位,制定解决措施。因此,我们制定了详细的分步测试计划:
(1)确定升级后的数据库版本:在32位Windows平台上将数据库升级到10g,然后测试应用系统所有模块是否能正常运行,以确定数据库版本。在这一步测试中,相对现有系统,只引入了数据库版本这一个变化,在出现故障时,可以准确定位故障原因,并及时找出解决措施。在我们的实际测试中,发现医保相关程序只能使用7.3客户端,而7.3客户端与10.2.0版本的服务器端不兼容,只能将数据库版本确定为9.2.0。
(2)确定数据库版本后,同时建立64位Windows 2003Server、AIX 5.3、Solaris 10、HP-UX 11.23几个测试环境。
在各环境中分别安装版本为9.2.0的64位数据库,并都打上最新的9.2.0.8补丁,然后测试应用系统所有模块是否能正常运行,确定是否需要为不同系统进行不同参数配置。
(3)在确保各环境下HIS系统都完全正常后,进行性能对比测试。主要测试在独占模式下能支持的最大用户数;单用户情况下运行复杂业务所需时间;并发用户达到1000时运行复杂业务所需时间。
测试的目的是充分了解各厂商产品,以提供选择依据。同时通过测试,尽快熟悉UNIX系统。因此,在每一步测试中,我们都将测试过程尽量分解,并将分解后的测试任务指定到人,确保每一个测试步骤,在医院内部都有人充分了解测试方法和测试结果。
由于对UNIX不熟悉,在测试时,由院方向供应商技术支持工程师详细讲解HIS系统的体系结构、历史运行情况、医院规模、医疗业务运行情况等,再由供应商技术支持工程师根据系统情况,结合各自产品特点,选择他们认为的最优设置,减少由于我们不熟悉UNIX系统带来的测试偏差,以尽量公平公正的测试出各系统的性能数据,提供选择依据。
我们一共邀请了HP、IBM、SUN三家公司参加测试,由于HP公司的安腾服务器既支持64位Windows系统,也支持HP-UX系统,因此64位Windows系统和HP-UX都采用同一套硬件进行测试,在测试完Windows系统后,安装HP-UX系统,重新进行完整测试。
测试完毕后,我们对各系统基本上有了比较直观的了解。
由于任何测试都无法代表真实系统的实际情况,只能是近似估计值;同时在小型机服务器的使用过程中,厂商的服务情况、支持力度也对系统的正常运行起着重要作用。因此,我们并没有完全根据测试结果选择服务器,而是对各服务器公开招标,最终综合考虑供应商实力、服务器性能、产品价格、系统扩展性等因素,选择了HP公司的rx 6600服务器,并决定运行HP-UX操作系统。
在选择HP服务器时,我们也考虑到由于自身对UNIX不是很熟悉,尽管测试很成功,但升级仍然存在失败的可能性。在升级失败的情况下,由于硬件同时支持Windows平台,再切换回Windows系统,最多损失HP-UX操作系统的费用和升级测试花费的时间,而不会造成整套系统的浪费。在大家的共同努力下,虽然最终升级很成功,但我们仍然认为当初的考虑是有必要的。
根据测试结果,对比现有系统负荷情况,我们确定了系统配置为4颗双核心CPU,16G内存,采用64位HP-UX 11.23操作系统,后台数据库为Oracle 9.2.0。系统配置8块容量为146G、转速为1万转/分钟的高速SCSI硬盘作为存储,其中两块配置为RAID1安装系统,5块配置为RAID5容纳系统数据,1 块作为Hot Spare。
2 数据迁移测试
确定服务器型号和数据库版本后,开始确定升级步骤。由于原系统是Windows平台,升级后的系统是UNIX平台,无法采用Oracle自带的Upgrade工具直接升级,只能采用Export/Import的方式迁移数据。同时,HIS系统在非业务高峰期允许短暂的停机时间。从8.1.7采用Export方式导出的数据,无法在9.2.0.8的数据库中采用Full=y的方式导入,但可以采用根据用户导入的方式导入数据。基于此,确定升级流程如图1所示。
其中Data Guard的配置,属于升级后的系统高可用性及系统备份部分,不在本文中多加阐述。
确定升级步骤后,对每一个大步骤进行细化,尽量做到每一实际操作步骤不可再分。对不可再分的操作步骤进行详细测试,同时将所有操作脚本化,减少手工输入的命令,以减少可能发生的错误。
创建脚本时,将所有命令及执行结果、命令开始时间和结束时间都记录在日志文件中,在脚本运行结束后,通过查看日志文件,判断脚本运行结果是否符合预期,并计算脚本所需执行时间。针对日志中记录的任何错误,在查明原因后,都对脚本进行相应修改,并对修改后的脚本进行详细测试,确保万勿一失。
在细化升级步骤这一过程中,主要完成以下工作:
(1)使用dbca工具生成创建数据库的脚本,并根据系统硬件和HIS系统的要求,修改生成的参数文件。
(2)根据现有系统的实际情况生成创建表空间、创建角色和用户并授权、创建同义词的脚本。生成的创建脚本,并不是完全复制现有配置,而是在复制的同时,对现有系统中的不合理配置进行修改。比如在现有系统中,某些用户的缺省表空间和临时表空间为同一表空间,则在生成的创建脚本中,这些用户的缺省表空间不变,临时表空间更改为系统临时表空间。
(3)根据HIS系统的数据结构,创建在现有系统上使用Export工具导出数据的参数文件,并创建包含导出命令的脚本。
(4)创建在升级后系统中使用Import工具导入数据的参数文件,并创建包含导入命令的脚本。
(5)创建切换脚本,在升级全部完成后,将数据库更改为归档模式等。
(6)确定系统升级成功标志和各应用系统升级后的检查项目。
在创建的每个脚本都正确无误后,根据实际情况统筹安排,优化升级步骤,尽量减少系统停机时间。
优化升级步骤时,首先确定所有不可再分的升级步骤之间的独立性,也就是确定每一独立步骤的相互依赖关系。根据依赖关系,确定所有步骤完成时间最少的执行路径。然后根据优化后的执行路径,整合脚本,进行测试,得出合理的近似执行时间。
经过测试优化,最终生成4个按照时间顺序执行的脚本。在实际升级时,只需要按照时间顺序执行这4个脚本即可。
升级脚本全部确定完毕后,再进行两到三次完整的升级测试。每次测试前,都删除密码文件、数据文件、控制文件、在线重做日志文件、参数文件等数据库相关文件,同时删除脚本生成的日志文件。确保在不改动任何脚本的情况下,升级能完全成功。
从确定升级步骤开始,到最终所有脚本确定完毕,一共花了5个工作日进行测试。
升级脚本全部确认完毕后,按照升级流程完整的进行测试升级后,再次进行HIS系统的应用测试,确保系统的所有功能在使用脚本进行升级后都能正常使用。
3 后台应用迁移测试
HIS系统有很多后台应用,包括后台划价、后台日统计、后台月统计、医疗文件系统、PACS等其它系统。每个应用的情况都不相同,在数据库服务器从Windows平台迁移到UNIX平台后,是否能正常工作,是否需要重新配置,都需要进行分析测试。
现有系统中,后台划价、后台日统计、后台月统计都运行在主数据库服务器上,通过Windows操作系统的计划任务功能定时执行,其中后台划价是独立的Windows程序,后台日统计和后台月统计是调用数据库存储过程完成的;医疗文件系统与数据库系统相互独立;PACS等其它系统与HIS系统之间,只通过DB-Link交换数据。
基于此,我们确定升级后的应用迁移方案:
(1)后台划价迁移到其它运行Windows操作系统的服务器,仍然通过操作系统的计划任务功能定时执行,通过修改配置文件的方式使程序连接到升级后的HIS系统;
(2)后台日统计、后台月统计直接通过数据库提供的定时任务功能调用相关存储过程完成;
(3)医疗文件系统保持不变;
(4)PACS等其它系统通过修改DB-Link配置来连接到升级后的HIS系统。
对每一个后台应用,都生成相应的切换文档,明确记录迁移步骤、需要修改哪些配置参数、如何修改。
在数据迁移测试完成后,对每一个后台应用进行迁移测试,并根据测试结果修改切换文档,使应用迁移准确无误。
后台应用的迁移测试,共花了2个工作日。
4 实际升级
所有测试全部完成后,开始进行实际升级迁移的组织协调工作,并申请停机时间4.5个小时。申请时间为实际所需时间的三倍,以保证在升级过程中出现错误时,有充分的时间修正错误,并可以第二次从头开始升级;即使第二次升级失败,还有时间将系统切换为升级前的状态。这样可以确保在4.5小时后,系统一定处于可用状态,有利于其他科室安排工作。
经领导协调,确定系统升级切换时间后,以升级时现有系统的停机时刻为时间基准点,确定每一升级步骤的执行时间点,并形成详细的切换操作文档,以书面形式确认整个升级过程所需要做的每一件事情,并记录所需要的详细命令。在实际切换时,确定执行人和检查人,每一个步骤,都由执行人在检查人的监督下按照文档进行,并由检查人检查确认后,在操作文档上做确认标记。
实际升级的前一天,由已经确定的执行人和检查人,按照正式升级的要求,严格按照升级文档确定的步骤,进行测试升级。一方面检查升级文档的正确性,一方面让执行人和检查人熟悉整个升级过程,避免在实际升级过程中出现错误。在测试过程中发现的升级文档中的任何疏忽和错误,都被书面记录下来,修正升级文档,并重新进行全过程升级测试。测试成功的标志是升级后的系统是可用的。
由于各项测试和准备工作充分、细致,在实际进行升级时,所有升级步骤的执行结果都与测试时相同,整个升级过程没有出现任何错误,时间只花了90分钟。
5 升级后的系统性能
在升级后的一周内,对系统运行情况使用操作系统自带的sar、vmstat、swapinfo、top等工具进行了连续监控。监控结果表明,升级后的性能全面达到或超过了预期目标。
在业务高峰期,并发用户数在1200以上,CPU使用在20%左右,8个CPU核心的负荷差异小于10%,空闲内存在2.5G左右,此时的活动事务,也就是状态为Active的用户在3~5之间。
经测试,当并发用户达到2000时,无页面交换存在,交换分区使用率在1%以下,可以预测当并发用户达到2000时,系统性能不会有明显下降。
系统连续运行一周后,数据库的数据缓存命中率为96%以上,库缓存命中率在95%以上。
在正常业务时间,用户等待事件都为I/O等待及服务器端与客户端之间的通信等待。I/O等待的用户很少,一般间隔几分钟才发生一次,偶尔会发生2个用户同时等待I/O操作的情况,但从未出现3个以上用户同时等待I/O的情况。除了用户异常退出导致锁不能及时释放外,在系统中未发现阻塞其他用户超过5秒的锁。
升级前需要10余秒的中心摆药、住院结算等需要进行大量查询和大量计算的复杂业务,响应时间均在2秒以内,大大超出了升级前的预期目标。
在经历了1个多月的准备和测试后,系统于2007年4月16日成功升级。切换后业务完全连续,切换停机期间的急诊收费数据完全迁移到新系统中。
参考文献
[1]金宁.UNIX&UnixWare7基础教程[M].北京:电子工业出版社,2006.
[2](美)Edward Honour..ORACLE开发人员指南[M].译友翻译组,译.北京:机械工业出版社,1998.
[3]张菊芬,等.我院服务器升级前后的性能分析[J].医疗设备信息,2006(12):18-19.
[4]刘逸敏,等.医院信息系统建设过程中若干问题讨论与对策[J].医疗设备信息,2007(1):35-36.
[5]熊友生.医院网络服务器集成方案[J].医疗设备信息,2007(2):26-27.
[6]易传亮,等.C/S结构HIS系统客户端自动升级技术[J].医疗卫生装备,2007(1):48-49.
[7]葛忠良.数字化医院建设中的非技术因素[J].中国数字医学,2007(4):40-41.
[8]傅德,,等.医院信息系统建设与应用[M].北京:人民军医出版社,2002.
UNIX服务器 第5篇
修改 /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
port=3300 #修改成你自己想要的端口
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
保存退出,
解决如何修改mysql服务器监听端口的问题,
电脑资料
《解决如何修改mysql服务器监听端口的问题。Unix系统》()。Unix系统。
2)如果你安装的是其他源码包或者在同一服务器上安装多个mysqld服务的情况:
同样的配置,找出my.cnf 文件。添加port= 端口号
需要注意的是
[client]
port = 3300
这里也要改一下。
UNIX下Socket编程浅析 第6篇
关键词:UNIX,Socket,函数,程序
1. Socket建立
为了建立Socket, 程序可以调用Socket函数, 该函数返回一个类似于文件描述符的句柄。socket函数原型为:
int socket (int domain, int type, int protocol) ;
domain指明所使用的协议族, 表示互联网协议族 (TCP/IP协议族) ;type参数指定socket的类型:SOCK_STREAM或SOCK_DGRAM, Socket接口还定义了原始Socket (SOCK_RAW) , 允许程序使用低层协议;protocol通常赋值"0"。Socket () 调用返回一个整型socket描述符, 你可以在后面的调用使用它。
Socket描述符是一个指向内部数据结构的指针, 它指向描述符表入口。调用Socket函数时, socket执行体将建立一个Socket。Socket执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。
2. Socket配置
通过socket调用返回一个socket描述符后, 在使用socket进行网络传输以前, 必须配置该socket。面向连接的socket客户端通过调用Connect函数在socket数据结构中保存本地和远端信息。无连接socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。
Bind函数将socket与本机上的一个端口相关联, 随后你就可以在该端口监听服务请求。Bind函数原型为:
int bind (int sockfd, struct sockaddr*my_addr, int addrlen) ;
Sockfd是调用socket函数返回的socket描述符, my_addr是一个指向包含有本机IP地址及端口号等信息的sockaddr类型的指针;addrlen常被设置为sizeof (struct sockaddr) 。
struct sockaddr结构类型是用来保存socket信息的:
sa_family一般为AF_INET, 代表Internet (TCP/IP) 地址族;sa_data则包含该socket的IP地址和端口号。使用bind函数时, 可以用下面的赋值实现自动获得本机IP地址和随机获取一个没有被占用的端口号:
通过将my_addr.sin_port置为0, 函数会自动为你选择一个未占用的端口来使用。同样, 通过将my_addr sin_addr.s_addr置为INADDR_ANY, 系统会自动填入本机IP地址。注意在使用bind函数是需要将sin_por和sin_addr转换成为网络字节优先顺序;而sin_addr则不需要转换。
计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输, 所以对于在内部是以低位字节优先方式存储数据的机器, 在Internet上传输数据时就需要进行转换, 否则就会出现数据不一致。
Bind () 函数在成功被调用时返回0;出现错误时返回"-1"并将errno置为相应的错误号。需要注意的是, 在调用bind函数时一般不要将端口号置为小于1024的值, 因为1到1024是保留端口号, 你可以选择大于1024中的任何一个没有被占用的端口号。
3. 连接建立
面向连接的客户程序使用Connect函数来配置socket并与远端服务器建立一个TCP连接, 其函数原型为:
int connect (int sockfd, struct sockaddr*serv_addr, int addrlen) ;
Sockfd是socket函数返回的socket描述符;serv_addr是包含远端主机IP地址和端口号的指针;addrlen是远端地质结构的长度。Connect函数在出现错误时返回-1, 并且设置errno为相应的错误码。进行客户端程序设计无须调用bind () , 因为这种情况下只需知道目的机器的IP地址, 而客户通过哪个端口与服务器建立连接并不需要关心, socket执行体为你的程序自动选择一个未被占用的端口, 并通知你的程序数据什么时候到达端口。
Connect函数启动和远端主机的直接连接。只有面向连接的客户程序使用socket时才需要将此socket与远端主机相连。无连接协议从不建立直接连接。面向连接的服务器也从不启动一个连接, 它只是被动的在协议端口监听客户的请求。
Listen函数使socket处于被动的监听模式, 并为该socket建立一个输入数据队列, 将到达的服务请求保存在此队列中, 直到程序处理它们。
int listen (int sockfd, int backlog) ;
Sockfd是Socket系统调用返回的socket描述符;backlog指定在请求队列中允许的最大请求数, 进入的连接请求将在队列中等待accept () 它们。Backlog对队列中等待服务的请求的数目进行了限制, 大多数系统缺省值为20。如果一个服务请求到来时, 输入队列已满, 该socket将拒绝连接请求, 客户将收到一个出错信息。当出现错误时listen函数返回-1, 并置相应的errno错误码。
accept () 函数让服务器接收客户的连接请求。在建立好输入队列后, 服务器就调用accept函数, 然后睡眠并等待客户的连接请求。
int accept (int sockfd, void*addr, int*addrlen) ;
sockfd是被监听的socket描述符, addr通常是一个指向sockaddr_in变量的指针, 该变量用来存放提出连接请求服务的主机的信息 (某台主机从某个端口发出该请求) ;addrten通常为一个指向值为sizeof (struc sockaddr_in) 的整型指针变量。出现错误时accept函数返回-1并置相应的errno值。当accept函数监视的socket收到连接请求时, socket执行体将建立一个新的socket, 执行体将这个新socket和请求连接进程的地址联系起来, 收到服务请求的初始socket仍可以继续在以前的socket上监听, 同时可以在新的socket描述符上进行数据传输操作。
4. 数据传输
Send () 和recv () 这两个函数用于面向连接的socke上进行数据传输。
Send () 函数原型为:
int send (int sockfd, const void*msg, int len, int flags) ;
Sockfd是你想用来传输数据的socket描述符;msg是一个指向要发送数据的指针;Len是以字节为单位的数据的长度;flags一般情况下置为0。
Send () 函数返回实际上发送出的字节数, 可能会少于你希望发送的数据。在程序中应该将send () 的返回值与欲发送的字节数进行比较。当send () 返回值与len不匹配时, 应该对这种情况进行处理。
recv () 函数原型为:
int recv (int sockfd, void*buf, int len, unsigned int flags) ;
Sockfd是接受数据的socket描述符;buf是存放接收数据的缓冲区;len是缓冲的长度。Flags也被置为0。Recv () 返回实际上接收的字节数, 当出现错误时, 返回-1并置相应的errno值。
5. 结束传输
当所有的数据操作结束以后, 你可以调用close () 函数来释放该socket, 从而停止在该socket上的任何数据操作:
close (sockfd) ;
你也可以调用shutdown () 函数来关闭该socket。该函数允许你只停止在某个方向上的数据传输, 而一个方向上的数据传输继续进行。如你可以关闭某socke的写操作而允许继续在该socket上接受数据, 直至读入所有数据。
int shutdown (int sockfd, int how) ;
Sockfd是需要关闭的socket的描述符。参数how允许为shutdown操作选择以下几种方式: (0--不允许继续接收数据;1--不允许继续发送数据;2--不允许继续发送和接收数据, 均为允许则调用close () ) 。
shutdown在操作成功时返回0, 在出现错误时返回-1并置相应errno。
参考文献
[1]高波, Linux网络编程[M], 北京:清华大学出版社, 2000.
[2]都幸帆、刘峰, UNIX的进程通讯及应用, 小型微型计算机系统, 1990年01期
[3]王静、曲凤娟, 基于Socket的多用户并发通信的设计, 福建电脑, 2007年03期
UNIX下数据恢复技术研究 第7篇
关键词:UNIX,文件系统,数据恢复
1. UNIX文件系统分析
1.1 UNIX文件系统的结构
U N I X文件系统是U N I X系统的心脏部分, 提供了层次结构的目录和文件, 文件系统将磁盘空间划分为每1024个字节为一组, 称为块 (block) 。UNIX的版本很多, 不管何种版本的U N I X, 其文件系统都包括引导块、超级块、i节点区、文件存储区等几部分。
1.2 UNIX文件系统各部分的功能
引导块占用第0号物理块即文件系统的第一扇区, 不属于文件系统管辖, 如果系统中有多个文件系统, 只有根文件系统才有, 引导程序放在引导块中, 其余文件系统都不使用引导块。引导程序可以安装到硬盘的M B R (主引导记录) 或U N I X文件系统的根目录。
超级块占用第1号物理块, 位于系统的第二扇区, 紧跟引导块之后, 是文件系统的控制块, 其结构存放于/u s r/include/sys/filsys.h中。超级块包括:文件系统的大小、空闲块数目、空闲块索引表、空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间的依据。
文件存储区是存放文件内容的区域, 采用由根目录与其下的文件和目录的多级树形目录结构。UNIX所有文件均存放于目录中, 目录本身也是一个文件。目录存放文件的机制如下:首先, 目录文件本身也和普通文件一样, 占用一个索引节点;其次, 由这个索引节点得到目录内容和存放位置;再次, 从其内容中取出一个个的文件名和它对应的节点号, 从而访问一个文件。
2. UNIX系统文件的删除过程
U N I X下删除一个文件的过程很简单, 那就是释放索引节点表和文件占用的数据块, 清空文件占用的索引节点, 但不清除文件内容。但删除文件与删除目录的处理不尽相同, 不同命令删除文件的过程也不相同。
2.1 删除文件
UNIX删除一个文件的具体步骤是:根据文件i节点的地址表逐一释放文件占用的磁盘数据块, 然后清空相应的节点, 最后释放i节点。
2.2 删除目录
删除一个目录的过程:首先逐一删除目录里的所有文件, 然后删除目录。目录本身也是一个文件, 故删除方法与删除文件一致。
3. UNIX系统的数据恢复方法
U N I X文件删除后, 要恢复比Windows要困难, 因为Windows文件被删除后仍保留有完整的文件名、文件长度、始簇号等重要的信息;而U N I X文件信息全部依靠i节点的数据结构来描述, 而i节点在相应文件删除后即被清空, 使恢复比较困难, 但是还是可根据被删除文件的特征、内容和类型找到恢复的办法。
3.1 根据输入特征进行恢复
根据被删除文件所在的文件分区、被删除文件的大小、删除的时间、删除文件的用户名等特征找到相应的索引节点, 然后根据文件的分隔特征, 即U N I X文件最后一个数据块尾部多出的字节全部为0, 只要找到数据区中前一个全部为0的位置, 和后一个全部为0的位置, 其两者之间的数据就是被删除文件的数据了, 恢复此段数据就恢复了删除文件。
3.2 根据被删除文件的内容进行恢复
如果知道被删除的文件内容中若干字节的内容, 而且该文件长度又不超过一个磁盘块, 那么可以在整个文件系统中搜索这一字节串, 得出一个文件所在的数据块, 将它们的块号填入一个i节点, 即可恢复一个文件。如果知道被删除文件的精确长度 (字节数) , 那么可根据一个数据块的大小, 计算出文件的最后一个数据块中数据的精确长度, 该数据块中其他字节必然是全0。根据这一条件, 通过搜索整个文件系统, 找出其中符合条件的数据块。如果知道文件内容中存在某种可实现的关联, 例如文件的校验和, 或者文件内容的某种上下文关系, 那么也可通过搜索整个文件系统, 通过反复尝试寻找符合关联条件的磁盘数据块, 进而恢复一个文件。
3.3 根据被删除文件的类型来恢复
很多专用类型的文件都有一个特定的字符串写在文件的开始与结尾, 分别叫做文件头 (Header) 和文件脚 (Footer) , 因此可根据被删除文件的类型, 用磁盘编辑工具, 找出此类文件的文件头与文件脚的字符串, 然后在硬盘上按扇区搜索此类文件的文件头与文件脚, 将找到的这些文件的文件头与文件脚之间的硬盘扇区数据保存到一个文件中即可。
4. UNIX文件系统损坏的修复办法
当由于不正常关机、硬件错误等原因导致UNIX文件系统损坏和工作不正常时, 可以用UNIX的自带的fsck程序进行修复。
4.1 数据块的检查与修复
fsck对超级数据块的检查主要针对文件系统的长度、i-节点数目、空闲数据块统计和空闲i-节点统计等。文件系统的长度必须大于被超级数据块使用的数据块数目的总和和被i-节点列表所使用的数据块数目的总和。fsck检查所有柱面组群的数据块映像中被标记为未使用的数据块, 并加上被i-节点使用的数据块的数目, 检查这个结果是否等于文件系统中所有数据块的总和。当fsck发现数据块的分配映像有错误时, 就自动重建它。概要信息和超级数据块相联系的信息包含了文件系统中所有空闲数据块的数目, fsck将它检查到的空闲数据块的数目和概要信息中的空闲数据块的数目进行比较, 如果两者不一样, fsck就用实际检查得到的空闲数据块数覆盖概要信息中的空闲数据块数。
4.2 i-节点的检查与修复
Fsck从第二个i-节点开始检查, 直到最后一个i-节点。每个i-节点都要进行格式、类型、链接数、重复数据块、坏数据块和节点大小的检查。每个i-节点都有一个模式定义, 它指示i-节点的上接第92页上接第93页
参考文献
[1]汪中夏.刘伟.数据恢复高级技术.北京:电子工业出版社.2006.11
[2]黄步根.数据恢复与计算机取证.计算机安全.2006.01
UNIX服务器 第8篇
1 故障现象
2010年12月23日晚21:30, 医院信息系统用户陆续向网络中心值班人员报告无法使用信息系统, 值班人员查看错误代码, 初步判定为信息系统核心数据库故障, 数据库已经挂起, 各用户无法正常连接使用。值班人员采用正常情况下的数据库访问地址远程登录服务器方式进行故障定位, 无法登录服务器。由于HP小型机在安装时配置了内部网卡地址、MP管理地址、数据库访问地址, 使用PING命令分别对3个地址进行连接, 发现服务器内部网卡地址和MP管理地址能够访问, 但数据库地址仍无法访问。使用服务器内部网卡地址通过远程连接到小型机上查看数据库状态, 数据库为挂起状态, 已无法提供数据访问服务。
2 故障检测
(1) 检查硬件环境, 判断是否存在硬件故障。查看小型机的面板指示灯, 发现网络连接标识指示灯由绿色变为红色示警灯。继续查看, 发现小型机背板网络接口指示灯异常。沿着存储线路继续查询SAN (storage area network) 存储交换机状态, 发现一台SAN交换机没有电源指示, 各模块指示灯熄灭。对该交换机进行了重新加电操作, 依然没有反应, 使用万用表进行测试, 发现插头处电压为219 V, 交换机上没有指示灯供电显示, 便判定系SAN交换机电源故障导致交换机无法提供正常数据交换服务, 存在硬件故障。
(2) 软件故障检测:由于该信息系统采用如图1的存储结构方式进行工作, 所以当SAN存储交换机发生故障时, 从小型机服务器到存储设备的线路发生中断, 由于小型机操作系统安装在自身所带硬盘上, 而信息系统数据库安装在存储设备上, 当线路出现故障时, 存储设备丢失, 该数据库所在卷组会自动卸载, 导致数据库挂起, 从而使用户无法使用数据库。
3 故障处理
3.1 步骤一
设备替代法:拟采用另外一台SAN交换机重新搭建存储线路。由于Unix系统在分配卷时需结合交换机domainID、zone号、端口号等硬件信息, 因此只有完全和原有信息一致才能生成一样的磁盘ID[1]。但由于能够寻找到的替代交换机为8端口, 端口数少于在用交换机的16口, 且SAN交换机需要购买License才能激活端口进行使用, 无法及时完成替代, 采用此方案重组存储线路失败。
3.2 步骤二
端口替代法:分析该存储环境发现, 虽然该环境采用双交换机双线路连接到存储设备中, 但由于操作系统 (版本原因 (HP-UNIX11.23) ) 不支持多路径管理, 实际上只有一条存储线路有效, 而发生故障的线路恰好为在用线路, 导致数据库挂起。排除故障必须修复损坏线路, 因此将已损坏的交换机中的连接光纤转接到SAN交换机2上相应的ZONE接口, 手动将备用线路切换为在用线路, 物理上重新建立起了存储架构。采用ioscan重新发现服务器上磁盘, 可以发现磁盘但其路径发生变化, 与原有设置不符, 数据库依然无法正常启动。经检查, 发现HP-UNIX11.31以下版本均存在此现象, 只有高于此版本的操作系统用此方法磁盘路径才不会发生变化。
3.3 步骤三
软件设置法:查看小型机备份的配置表, 发现数据库用到了4组磁盘, 对比参数发现, 原有磁盘为c3d0t0、c3d0t1、c3d0t2、c3d0t3, 线路变化后变为c7d0s0、c7d0s1、c7d0s2、c7d0s3。尝试使用ln通过做软连接[2]到Oracle的设备名上。
使用Oracle命令尝试启动数据库[1]:/sbin/init.d/init.crs start, 数据正常启动, 故障排除。
4 讨论
在Unix操作系统中, 链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的方法。它可分为2种:硬链接 (hard link) 和软链接 (symbolic link) 。软链接就好像是指针一样, 而硬链接就是引用, 当所引用的路径发生变化时硬连接就失效了。软链接克服了硬链接的不足, 没有任何文件系统的限制, 任何用户均可以创建指向目录的符号链接, 且可重新指向, 还具有较硬连接更大的灵活性, 因而得到广泛的使用。本案例中通过软链接改变原有磁盘指向, 进而排除了故障[2]。
从图1存储结构图中也可以看出整个系统只有一台存储设备, 存在单点故障。当该存储设备发生故障后, 将导致整个系统瘫痪, 另外, 目前服务器采用的为HP-UNIX11.23, 由于操作系统层面不支持多路径管理, 会因为线路故障导致系统崩溃, 需要另外购置多路径管理软件, 降低线路故障的风险。对于医院信息系统, 数据库服务器和存储设备为整个系统的核心, 设备冗余备份将是保障系统安全稳定运行的有力保障。
参考文献
[1]文平.Oracle大型数据库系统在AIX/UNIX上的实战详解[M].北京:电子工业出版社, 2009.
UNIX服务器 第9篇
在UNIX和Windows NT中的TCP/IP支持产品都提供了TCP/IP打印的功能, 即UNIX可以共享Windows NT的打印机, Windows NT也可以共享UNIX的打印机, UNIX之间也可以相互共享打印机, 而Windows操作系统中的TCP/IP支持产品只提供Microsoft网络打印功能, 以实现Microsoft的各种操作系统之间的打印机共享。可以作为打印服务器的系统可以是UNIX或者Windows NT, 其他操作系统作为其客户端。Windows客户端在使用共享打印机时, 先以Microsoft网络打印服务与支持TCP/IP打印的Window NT共享打印机 (作为Windows NT的打印客户端) , 再与其他打印服务器相连。就UNIX操作系统而言, 要支持TCP/IP打印功能, 其服务器和客户端的UNIX操作系统必须启动守护进程lpd;而对于Windows NT来说, 要支持TCP/IP打印功能, 必须启动“TCP/IP打印服务”, 它类似于UNIX中的守护进程。
1 windows NT与UNIX系统之间实现共享
按由UNIX作打印服务器和Windows NT作打印服务器两种情况分别予以说明。为了简便, 假定已经按TCP/IP协议建立了计算机网络, 网络中有三个节点。
节点一, 操作系统为UNIX, IP地址是10.29.36.1, 主机名是node1;节点二, 操作系统是UNIX, IP地址是10.29.36.2, 主机名是node2;节点三, 操作系统是Windows NT, IP地址是10.29.36.3, 主机名是node3;上述节点的子网掩码 (netmask) 都是255.255.255.0。
配置网络打印机前的准备:
(1) 在UNIX操作系统下安装TCP/IP产品, 配置TCP/IP网络, 分配IP地址, 指定子网掩码。
(2) 在Windows NT操作系统下安装TCP/IP产品, 配置TCP/IP网络, 分配IP地址, 指定子网掩码。
(3) 用命令ping测试所有网络节点是否连
1.1 node1作为打印服务器, 其他两个节点作为客户端
1.1.1 打印服务器node1的配置
在UNIX中为node1配置本地普通打印机
(1) 以root用户注册, 执行命令mkdev lp (配置过程从略, 可以参见相关UNIX系统管理资料) 。
(2) 激活打印机以root用户注册, 执行命令enable mp和accept mp。
(3) 将打印机mp配置成可供客户端使用的打印机。
以root用户注册, 执行命令mkdev rlp#。
(4) 设定可以使用该打印机的客户机。
此项操作可以在文件/etc/hosts.equiv和/etc/hosts.lpd中配置, 由于文件/etc/hosts.equiv中配置的节点与本机是等价主机, 会增加许多额外的特权, 给系统带来不安全因素, 建议使用文件/etc/hosts.lpd配置网络节点。
1.1.2 客户端node2的配置
(1) 编辑网络主机名文件。
节点node2的文件/etc/hosts中应该对网络的主机名和IP地址对应关系予以说明。
(2) 配置客户端网络打印机mp。
以root用户登录, 执行命令mkdev rlp。
(3) 测试。
在节点node2中以任意用户注册, 输入命令l|lp。
在节点node1的打印机mp上应该出现相应内容, 或者在节点node1上以任意用户注册, 输入命令lpstat-t后, 应该出现node2所发打印命令产生的打印队列。
如果没有出现上述结果, 可以查看node2中的文件/usr/spool/lpd/status, 了解当前网络打印机的状态及打印不成功的原因。
1.1.3 客户端node3的配置
(1) 安装TCP/IP网络打印。
选择“开始;设置;控制面版;网络;服务;添加”。打开“选定网络服务”对话框, 从“网络服务”列表中选择“Microsoft TCP/IP打印”, 然后单击“确定”按钮。输入安装文件源路径。回到“网络”对话框后, 单击“关闭”按钮。安装完成后, 重新启动。
(2) 设置TCP/IP网络打印过程。
选择“开始;设置;打印机;添加打印机”。打开“打印机管理者”对话框后, 选择“我的电脑”, 然后单击“下一步”按钮。再打开“打印机端口配置”对话框后, 单击“添加端口”。然后“打印机端口”对话框后, 选择“LPR Port”。出现“添加LPR兼容打印机”对话框时, 在“提供lpd的服务器的名称或地址”处, 输入打印机服务器node1的IP地址“10.29.36.1”, 在“服务器上的打印机或打印队列名”处, 输入节点node1配置好的打印机名mp, 单击“确定”按钮回到前一个对话框, 单击“关闭”按钮回到“打印机端口配置”对话框后, 选择刚配置好的打印机端口, 单击“下一步”按钮。出现“打印机驱动程序选择”会话框后, 选择合适的打印机驱动程序, 再单击“下一步”按钮。出现“打印机名称”会话框后, 输入打印机名称 (任意) , 此处输入net, 然后单击“下一步”按钮。下面选择测试打印机, 以检测打印机的设置是否正常。如果配置正确, 将在节点node1的打印机mp上打印出测试页, 或者产生打印队列。单击“完成”按钮结束。
1.2 node3作为打印服务器, 其他两个节点作为客户端
1.2.1 打印服务器node3的配置
(1) 安装本地打印机mp。
选择“开始;设置;打印机;添加打印机”。出现“打印机管理者”对话框后, 选择“我的电脑”, 然后单击“下一步”按钮。出现“打印机端口配置”对话框后, 选择打印机所连接端口, 一般选择“LPT1”, 单击“下一步”按钮。出现“打印机驱动程序选择”会话框后, 选择合适的打印机驱动程序后, 单击“下一步”按钮。出现“打印机名称”会话框后, 输入打印机名称 (任意) , 此处输入mp, 然后单击“下一步”按钮。下面选择测试打印机, 以检测打印机的设置是否正常。如果配置正确, 将在本机的打印机mp上打印出测试页, 或者产生打印队列。单击“完成”按钮结束。
(2) 安装TCP/IP网络打印服务。
选择“开始;设置;控制面版;网络;服务;添加”。出现“选定网络服务”对话框时, 从“网络服务”列表中选择“Microsoft TCP/IP打印”, 然后单击“确定”按钮。输入安装文件源路径。回到“网络”对话框后, 单击“关闭”按钮。安装完成后, 重新启动。
(3) 启动TCP/IP网络打印服务。
选择“开始;设置;控制面版;服务;TCP/IP Print Server”, 然后单击“开始”按钮。
1.2.2 客户端node1、node2的配置
(1) 编辑网络主机名文件。
本机的文件/etc/hosts中应该对网络的主机名和IP地址对应关系予以说明。
(2) 配置客户端网络打印机mp。
以root用户注册, 执行命令mkdev rlp。
(3) 测试。
在节点node1、node2中以任意用户注册, 输入命令l|lp。
在节点node3的打印机mp上应该出现相应内容, 或者在节点node3的打印机队列管理上, 应该出现node1、node2所发打印命令产生的打印队列。
2 Windows XP与UNIX系统之间实现共享
实现Windows XP与UNIX系统之间共享打印机的具体步骤如下。
第一步:在XP中删除旧的TCP/IP远程打印机设置。 (下转299页) 把我的恶棍人物写得恶贯满盈, 我可以使他们无法做出善举, 因此就可以避免因动机和品质的好坏混杂而引起道德上的混乱。但是我还是要对创造这些人物负责任我不怕这么做。”而写“真实”正是现实主义作家都竭力主张的, 力求讲真理, 只反映真景真事, 并描述自己所生活的环境。主张既不夸张, 也不隐讳地描写生活。
其次, 哈特还用他特有的哈特式的幽默揭露了美国社会黑暗的一面。《咆哮营的幸运儿》中, 有一件事引起咆哮营一阵骚乱, 这件事不是“一场格斗, 因为在1850年格斗并不稀奇”。因为以前“法国佬和夏威夷佬在酒吧旁互相枪击致死那天, 赌鬼们还镇定自若的赌下去。”而是由一个新生儿降生所引起的。这一件再普通不过的事在当时与格斗, 枪杀比起来却是一件新鲜事。《扑克滩的放逐人》里, 那些人之所以被放逐是“一个秘密委员会已经决定把镇上所有不正派的人都除掉”。对于赌徒奥克赫斯特“委员会有几个主张绞死他, 以 (上接81页) (1) 依次点开“开始”“设置”打印机和传真”。
(2) 删除旧的TCP/IP远程打印机设置。如果不做这一步可能造成系统的冲突。
第二步:进行UNIX组件的安装。
(1) 依次点开“开始”“设置”“控制面板”。
(2) 打开“网络连接”文件夹。
(3) 在“高级 (N) ”菜单中, 选择“可选网络组件”。
(4) 在“WINDOWS可选的网络组件向导”对话框中勾取“其它网络文件和打印服务”选项, 然后进行“下一步”安装“UNIX打印服务”。根据提示放入Windows XP CD光盘进行安装。安装完后可点击“详细信息”查询一下是否安装完成。
第三步:添加远程打印机。
(1) 依次打开“开始”“设置”“打印机和传真”, 启动“添加打印机”。
(2) 在“本地或网络打印机”对话框中, 选取“连接到这台计算机的本地打印机”, 并取消“自动检测并安装我的即插即用打印机”选项, 进行下一步。
(3) 在“选择选择机端口”对话框中选取“创建新端口”, 再选取“LPR PORT”选项, 进行下一步。
(4) 在“添加LPR兼容的打印机”对话框中, 依次输入“提供LPD服务器的名称或地址”, 如:192.168.100.1。“服务器上的打印机名称或打印队列名称”, 如:UXEP。这一点需根据UNIX网络中的LPD打印服务器上的相关信息进行设置。确认后将产生一个虚拟端口, 它指向提供lpd的打印服务器上的打印机。
(5) 选中这个端口, 然后选择打印机厂商和型号, 输入当前配置的网络打印机的名字 (如上述UXEP) , 系统将把相应的打印机驱动程序分配给这个端口。设置打印机为不共享。最后打印测试页检测完成即可。
UNIX服务器
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。