论文部分内容阅读
摘要:Solaris是一款多任务处理的分布式企业网络操作系统软件,它免费、开源并且功能异常强大、性能超级稳定,身受众多大型网络应用的青睐。本文主要介绍Solaris10的系统维护管理技术。
关键词:Solaris;系统维护;系统管理
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30648-01
Maintenance and Management Techniques on Solaris System
HU Zhi-fen
(Jianghan Petroleum Administration Logging Companies, Qianjiang 433123, China)
Abstract: Solaris system is a multi-tasking, distributed, enterprise network operating software. It is free and open source and has extremely powerful and stability performance. Solaris system has been used in many large-scale network applications. This paper proposes the maintenance and management techniques of Solaris system.
Key words: Solaris; Maintenance Techniques; Management Techniques
1 引言
在服务器市场上,Sun的硬件平台具有高可用性和高可靠性,Solaris是当今市场上处于支配地位的Unix类操作系统。随着Solaris 10更新发布3次后(这3个版本依次是2005年3月份发布的Solaris 10 3/05版、2006年1月份发布的Solaris 10 1/06版、2006年6月份发布的Solaris 10 6/06版),其版本已经更趋于成熟。
Solaris 10包括600个以上的功能特性,使其成为目前最高效、最安全和最可靠的操作系统[1]。Solaris 10的这些技术优势主要包括:首先,在安全性上,它具备全球业界最先进的安全特性。例如:过程和用户权限管理、强制性访问控制的信任扩展、密框架结构和默认联网的安全性,能够帮助用户安全地交付新型解决方案,整合安全性并保护任务关键性数据。其次,在性能上,Solaris10在数据库、网络和基于JAVA技术的服务、以及充分的可扩展性方面,具备无可争议的竞争优势。再次,在网络上,Solaris10凭借着其优化的网络堆栈和当前先进的网络运算协议,无需进行更改,就可以为绝大多数应用程序提供网络支持。它提供的工具能够实现与数以百计的不同硬件和软件平台进行无缝互操作。在多种厂商顶级制造商—包括Sun、Dell HP、IBM在内—的逾800种基于SPARC和x64/x86的系统上,Solaris 10均能得到完全支持。通过使用诸如Solaris 10 容器在内的一流Solaris 10 OS的行业技术,实现在单台服务器上成千上万应用程序的整合、隔离和保护。最后,在数据管理上,Solaris10通过提供虚拟化的无限容量和近乎于零的管理,在文件系统和容量管理方面获得了巨大进步。
在这样的背景下,本文来谈谈Solaris的系统维护管理技术。
2 Solaris系统的根源
在了解solaris10的系统维护管理技术之前,我们要弄清Solaris技术的根源。[2]
Solaris是在Unix的发展过程中逐渐发展起来的。自Unix操作系统在AT&T贝尔实验室诞生后,很多科研单位都对Unix操作系统进行了改进,诞生了不少Unix的版本。其中,伯克利大学发布的第一个Unix版本,称为BSD。BSD Unix在Unix的历史发展中有相当大的影响力,被许多商家采用,成为很多商业Unix的基础,而Sun公司的Solaris正是在这个BSD Unix的基础上发展起来的。与此同时,AT&T贝尔实验室也在不断改变他们的商用Unix版本。直到AT&T贝尔实验室在吸收了BSD Unix已经有的各种优先特性,并结合其本身特点,推出了Unix System V版本之后,才形成了BSD Unix和Unix System V两大主流Unix系统。
两大主流中,Sun公司的SunOS 4.x(常被称为Solaris1.x)的命令风格与其他的BSD非常相似。后来SunOS 5.x改用了System V的版本4(SVR4),使得SunOS 5.x在风格上发生了变化。而SunOS 5.x也逐渐被Solaris 2.x名称代替,在Solaris 2.6以后,Solaris 7(SunOS 5.7)开始改变它的版本编号方法,它以过去的小版本编号为基础,采用了单一版本号的形式。也就是说,Solaris的版本序号顺序为2.5,2.6,7,8,9,10。
3 Solaris10的系统维护技术
3.1 Solaris系统管理维护理论
Solaris操作系统是基于文件的,它的主要三个部分是:Kernel、Shell和File structure。Kernel是操作系统的核心,它的主要功能是:管理系统的设备、内存、进程以及守护进程系统程序与系统硬件之间接口,并执行所有的命令。shell是用户与kernel之间的接口。它就像是命令的解释器或翻译器。Shell接收你输入的命令,对你的输入作出解释,然后就将它发送给kernel执行。Solaris系统中有三种shell:Bourne shell($)(这是Solaris的缺省shell,它为 AT&T Unix 环境而开发)、Korn shell($)(它是Bourne shell的一个超级)和C shell(%)(它的语法类似于C语言,并且有些功能与Korn shell相类似)。
系统维护管理的范畴很广。主要包括:系统配置维护管理、文件系统管理维护、网络管理维护、用户和安全管理维护等方面的技能。具体如下:
(1)系统配置维护管理。主要包括必要的知识和技能进行系统硬软件的安装配置,如:多网卡、raid磁盘阵列、打印机的配置、故障审断和配置系统日志等技术。
(2)文件系统管理维护。主要维护系统现有文件管理现状,保证系统的正常运行和使用。涉及到创建和修改文件、控制用户的工作环境、归档文件和远程命令文件系统的浏览,Vi编辑器,文件权限,访问控制列表,Shell命令,文件压缩,管理虚拟文件系统和 coredump,管理存储卷,访问控制等基本技能和技术的使用。
(3)网络管理维护。涉及网络基础配置、启动系统名字服务和系统网络安装、局域网(LAN)的配置和故障排除、IP路由,域名解析(DNS),动态主机配置协议(DHCP),IPV6和Solaris IP Filter 防火墙等众多技术。
(4)用户和安全管理维护。主要体现在如何控制越权、入侵、病毒防治方面的工作。设计系统的用户访问权限配置管理、防火墙软件的使用、各种监控软件的使用等。
另外系统的维护还关心执行系统备份和恢复等技术和软件工具的安装和使用。
3.2 Solaris系统管理维护实用技术
Solaris系统软件提供以下两种管理工具:(1)一组通用的操作系统命令;(2)具有图形用户接口的管理工具(Administration Tool)。对与不同版本的Solaris的基本命令是有些差异的,如SunOS 4.x命令与SunOS 5.x命令。以下主要以Solaris10为基础,谈谈常用的Solaris系统维护实用技术。
实用的维护技术一般包括监控、配置/设置修改以及故障处理这几个方面[3,4]。
监控最主要的目的是了解和掌握系统的负载和性能。
3.2.1 系统监控
通过使用不带参数的命令showrev来查看正在运行的solaris 10的版本。此命令加选项-r则是另外一个功能:查看目前系统所需要安装的补丁程序。
查看硬件设备的某些情况,使用命令prtconf。
查看本机所连接的磁盘数量,使用命令format这个命令也是格式化硬盘的工具。
查看网络接口的状况,使用带选项的命令 ifconfig–a。
查看cpu的个数及其利用率,使用命令mpstat。
3.2.2 用户及系统活动监控
查看系统运行了多少时间以及系统负载,使用不带参数的命令 uptime。
查看有哪些用户登录到solaris 10系统,使用命令 w。
查看系统的运行级别,使用带选项的命令 who–r。
查看系统近期的运行状态(包括关机、重起、用户登录等),使用不带参数的命令last。
查看系统运行的进程,通俗一点说就是查看系统正在运行那些程序,这是系统管理和维护过程中使用得最频繁的工具。使用带若干选项的命令ps。ps是进程状态的缩写,常用的4个选项是:-a 列出请求最频繁的进程;-e 列出正在运行的进程;-f 打印进程的详细信息;-u 显示相关用户的进程。另外还有一个类似的工具ptree,用来查看进程树。有的时候,需要手动结束一个运行的进程,这种情况发生在诸如程序本身没有关闭指令等这样的场景。结束进程使用kill或killall来完成。执行结束进程的操作一定要仔细,看准确了再执行,不要杀错进程。另外一个值得注意的是,不要随便赋予普通用户结束进程的权限,这是很冒险的事情。
查看磁盘的使用情况也是一项十分重要的工作。再大的磁盘空间也会随时间的推移而逐渐变小,当磁盘空间增加到一定限度的时候,有一些程序将发生错误甚至停止工作,我这里曾有一台工作站绘图时,提示写入错误,原因就是存放绘图临时文件的文件系统磁盘空间已用完而不能写入数据所致。使用带参数的命令df–k或df–h来查看系统硬盘的容量使用情况,不少用户倾向于使用参数–h(human readable format)使其输出的格式更加人性化,另外使用带参数的命令 du–ks 来查看当前目录所占用的磁盘空间。
查看网络连接,使用带选项的命令 netstat。通过网络连接的状态,可以知道有哪些网络服务在工作,以及是否有非法的访问等情况。
查看系统用户近期执行了哪些操作,使用命令history。切换到其他用户,看看最近他们都干了些什么。
3.3.3 负载监控
查看虚拟内存状态,使用带参数的命令 vmstat。可以通过输出值来判断某些性能下降或者故障产生的原因。
查看系统I/O, 使用命令iostat。这个命令可以带很多选项,根据各自的需求选择选项。
另外一个工具:top。在solaris 10环境中,并没有这个工具(RedHat linux默认安装这个工具),需要从网上下载这个工具包,然后把它安装到系统。
3.3.4 日志文件
系统日志存放路径是/var/adm/messages,这个文件通常会很大,不要用cat命令来读,如果用more 来读,翻页也是很辛苦的。一些有用的技巧是:先使用命令带行数选项的head和tail命令,然后使用grep这样的工具。
3.3.5 配置/设置修改
solaris 10配置网络比较复杂,它涉及到ipnodes、netmasks、hosts、defaultrouter、hostname.x等文件。
参考文献:
[1]Solaris 10 操作系统. http://solmigprc.bizcom.com.cn/software/solaris/features.jsp, 2007-7-30.
[2]Solaris的发展过程简介. http://os.51cto.com/art/200608/30216.htm, 2007-7-30.
[3]Solaris 10 系统维护. http://sery.blog.51cto.com/10037/6751, 2007-7-30.
[4]温特斯 著,吴玉亮 译. Solaris 10 实用大全,电子工业出版社,2007.
关键词:Solaris;系统维护;系统管理
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30648-01
Maintenance and Management Techniques on Solaris System
HU Zhi-fen
(Jianghan Petroleum Administration Logging Companies, Qianjiang 433123, China)
Abstract: Solaris system is a multi-tasking, distributed, enterprise network operating software. It is free and open source and has extremely powerful and stability performance. Solaris system has been used in many large-scale network applications. This paper proposes the maintenance and management techniques of Solaris system.
Key words: Solaris; Maintenance Techniques; Management Techniques
1 引言
在服务器市场上,Sun的硬件平台具有高可用性和高可靠性,Solaris是当今市场上处于支配地位的Unix类操作系统。随着Solaris 10更新发布3次后(这3个版本依次是2005年3月份发布的Solaris 10 3/05版、2006年1月份发布的Solaris 10 1/06版、2006年6月份发布的Solaris 10 6/06版),其版本已经更趋于成熟。
Solaris 10包括600个以上的功能特性,使其成为目前最高效、最安全和最可靠的操作系统[1]。Solaris 10的这些技术优势主要包括:首先,在安全性上,它具备全球业界最先进的安全特性。例如:过程和用户权限管理、强制性访问控制的信任扩展、密框架结构和默认联网的安全性,能够帮助用户安全地交付新型解决方案,整合安全性并保护任务关键性数据。其次,在性能上,Solaris10在数据库、网络和基于JAVA技术的服务、以及充分的可扩展性方面,具备无可争议的竞争优势。再次,在网络上,Solaris10凭借着其优化的网络堆栈和当前先进的网络运算协议,无需进行更改,就可以为绝大多数应用程序提供网络支持。它提供的工具能够实现与数以百计的不同硬件和软件平台进行无缝互操作。在多种厂商顶级制造商—包括Sun、Dell HP、IBM在内—的逾800种基于SPARC和x64/x86的系统上,Solaris 10均能得到完全支持。通过使用诸如Solaris 10 容器在内的一流Solaris 10 OS的行业技术,实现在单台服务器上成千上万应用程序的整合、隔离和保护。最后,在数据管理上,Solaris10通过提供虚拟化的无限容量和近乎于零的管理,在文件系统和容量管理方面获得了巨大进步。
在这样的背景下,本文来谈谈Solaris的系统维护管理技术。
2 Solaris系统的根源
在了解solaris10的系统维护管理技术之前,我们要弄清Solaris技术的根源。[2]
Solaris是在Unix的发展过程中逐渐发展起来的。自Unix操作系统在AT&T贝尔实验室诞生后,很多科研单位都对Unix操作系统进行了改进,诞生了不少Unix的版本。其中,伯克利大学发布的第一个Unix版本,称为BSD。BSD Unix在Unix的历史发展中有相当大的影响力,被许多商家采用,成为很多商业Unix的基础,而Sun公司的Solaris正是在这个BSD Unix的基础上发展起来的。与此同时,AT&T贝尔实验室也在不断改变他们的商用Unix版本。直到AT&T贝尔实验室在吸收了BSD Unix已经有的各种优先特性,并结合其本身特点,推出了Unix System V版本之后,才形成了BSD Unix和Unix System V两大主流Unix系统。
两大主流中,Sun公司的SunOS 4.x(常被称为Solaris1.x)的命令风格与其他的BSD非常相似。后来SunOS 5.x改用了System V的版本4(SVR4),使得SunOS 5.x在风格上发生了变化。而SunOS 5.x也逐渐被Solaris 2.x名称代替,在Solaris 2.6以后,Solaris 7(SunOS 5.7)开始改变它的版本编号方法,它以过去的小版本编号为基础,采用了单一版本号的形式。也就是说,Solaris的版本序号顺序为2.5,2.6,7,8,9,10。
3 Solaris10的系统维护技术
3.1 Solaris系统管理维护理论
Solaris操作系统是基于文件的,它的主要三个部分是:Kernel、Shell和File structure。Kernel是操作系统的核心,它的主要功能是:管理系统的设备、内存、进程以及守护进程系统程序与系统硬件之间接口,并执行所有的命令。shell是用户与kernel之间的接口。它就像是命令的解释器或翻译器。Shell接收你输入的命令,对你的输入作出解释,然后就将它发送给kernel执行。Solaris系统中有三种shell:Bourne shell($)(这是Solaris的缺省shell,它为 AT&T Unix 环境而开发)、Korn shell($)(它是Bourne shell的一个超级)和C shell(%)(它的语法类似于C语言,并且有些功能与Korn shell相类似)。
系统维护管理的范畴很广。主要包括:系统配置维护管理、文件系统管理维护、网络管理维护、用户和安全管理维护等方面的技能。具体如下:
(1)系统配置维护管理。主要包括必要的知识和技能进行系统硬软件的安装配置,如:多网卡、raid磁盘阵列、打印机的配置、故障审断和配置系统日志等技术。
(2)文件系统管理维护。主要维护系统现有文件管理现状,保证系统的正常运行和使用。涉及到创建和修改文件、控制用户的工作环境、归档文件和远程命令文件系统的浏览,Vi编辑器,文件权限,访问控制列表,Shell命令,文件压缩,管理虚拟文件系统和 coredump,管理存储卷,访问控制等基本技能和技术的使用。
(3)网络管理维护。涉及网络基础配置、启动系统名字服务和系统网络安装、局域网(LAN)的配置和故障排除、IP路由,域名解析(DNS),动态主机配置协议(DHCP),IPV6和Solaris IP Filter 防火墙等众多技术。
(4)用户和安全管理维护。主要体现在如何控制越权、入侵、病毒防治方面的工作。设计系统的用户访问权限配置管理、防火墙软件的使用、各种监控软件的使用等。
另外系统的维护还关心执行系统备份和恢复等技术和软件工具的安装和使用。
3.2 Solaris系统管理维护实用技术
Solaris系统软件提供以下两种管理工具:(1)一组通用的操作系统命令;(2)具有图形用户接口的管理工具(Administration Tool)。对与不同版本的Solaris的基本命令是有些差异的,如SunOS 4.x命令与SunOS 5.x命令。以下主要以Solaris10为基础,谈谈常用的Solaris系统维护实用技术。
实用的维护技术一般包括监控、配置/设置修改以及故障处理这几个方面[3,4]。
监控最主要的目的是了解和掌握系统的负载和性能。
3.2.1 系统监控
通过使用不带参数的命令showrev来查看正在运行的solaris 10的版本。此命令加选项-r则是另外一个功能:查看目前系统所需要安装的补丁程序。
查看硬件设备的某些情况,使用命令prtconf。
查看本机所连接的磁盘数量,使用命令format这个命令也是格式化硬盘的工具。
查看网络接口的状况,使用带选项的命令 ifconfig–a。
查看cpu的个数及其利用率,使用命令mpstat。
3.2.2 用户及系统活动监控
查看系统运行了多少时间以及系统负载,使用不带参数的命令 uptime。
查看有哪些用户登录到solaris 10系统,使用命令 w。
查看系统的运行级别,使用带选项的命令 who–r。
查看系统近期的运行状态(包括关机、重起、用户登录等),使用不带参数的命令last。
查看系统运行的进程,通俗一点说就是查看系统正在运行那些程序,这是系统管理和维护过程中使用得最频繁的工具。使用带若干选项的命令ps。ps是进程状态的缩写,常用的4个选项是:-a 列出请求最频繁的进程;-e 列出正在运行的进程;-f 打印进程的详细信息;-u 显示相关用户的进程。另外还有一个类似的工具ptree,用来查看进程树。有的时候,需要手动结束一个运行的进程,这种情况发生在诸如程序本身没有关闭指令等这样的场景。结束进程使用kill或killall来完成。执行结束进程的操作一定要仔细,看准确了再执行,不要杀错进程。另外一个值得注意的是,不要随便赋予普通用户结束进程的权限,这是很冒险的事情。
查看磁盘的使用情况也是一项十分重要的工作。再大的磁盘空间也会随时间的推移而逐渐变小,当磁盘空间增加到一定限度的时候,有一些程序将发生错误甚至停止工作,我这里曾有一台工作站绘图时,提示写入错误,原因就是存放绘图临时文件的文件系统磁盘空间已用完而不能写入数据所致。使用带参数的命令df–k或df–h来查看系统硬盘的容量使用情况,不少用户倾向于使用参数–h(human readable format)使其输出的格式更加人性化,另外使用带参数的命令 du–ks 来查看当前目录所占用的磁盘空间。
查看网络连接,使用带选项的命令 netstat。通过网络连接的状态,可以知道有哪些网络服务在工作,以及是否有非法的访问等情况。
查看系统用户近期执行了哪些操作,使用命令history。切换到其他用户,看看最近他们都干了些什么。
3.3.3 负载监控
查看虚拟内存状态,使用带参数的命令 vmstat。可以通过输出值来判断某些性能下降或者故障产生的原因。
查看系统I/O, 使用命令iostat。这个命令可以带很多选项,根据各自的需求选择选项。
另外一个工具:top。在solaris 10环境中,并没有这个工具(RedHat linux默认安装这个工具),需要从网上下载这个工具包,然后把它安装到系统。
3.3.4 日志文件
系统日志存放路径是/var/adm/messages,这个文件通常会很大,不要用cat命令来读,如果用more 来读,翻页也是很辛苦的。一些有用的技巧是:先使用命令带行数选项的head和tail命令,然后使用grep这样的工具。
3.3.5 配置/设置修改
solaris 10配置网络比较复杂,它涉及到ipnodes、netmasks、hosts、defaultrouter、hostname.x等文件。
参考文献:
[1]Solaris 10 操作系统. http://solmigprc.bizcom.com.cn/software/solaris/features.jsp, 2007-7-30.
[2]Solaris的发展过程简介. http://os.51cto.com/art/200608/30216.htm, 2007-7-30.
[3]Solaris 10 系统维护. http://sery.blog.51cto.com/10037/6751, 2007-7-30.
[4]温特斯 著,吴玉亮 译. Solaris 10 实用大全,电子工业出版社,2007.