2019-04-28 12:21:41 weixin_42399752 阅读数 36

Unix和Linux
一、Unix的起源
1969年,由KenThompson在AT&T贝尔实验室实现的。使用的是用汇编语言。
1970年,KenThompson和DennisRitchie使用 C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。
二、Unix的推广-从学校到企业
起初AT&T没有把Unix作为正式商品,以分发许可证的方法,对Unix仅仅收取很少的费用,就把Unix的源代码被散发到各个大学。由于Unix收费少,因此,很多厂商就选择了Unix作为他们生产的计算机使用的操作系统。
三、Unix的两大分支:AT&T UNIX System V 和BSD Unix。
到了70年代中后期,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(UnixSystemLab,USL)来继续发展Unix。
几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)对Unix进行研究,做了大量改进工作,组成一个完整的Unix系统 ──BSDUnix(BerkeleySoftwareDistribution),向外发行。
BSDUnix有很大的影响力,例如美国国防部的项目─ARPANET(阿帕网),ARPANET今天发展成为了Internet,而 BSDUnix中最先实现了TCP/IP协议,使Internet和Unix紧密结合在一起。
AT&T吸收了BSDUnix中已有的各种先进特性,并结合其本身的特点,推出了 UnixSystemV版本之后,形成了两大分支。
在1992年,Unix系统实验室指控BSDI── 一家发行商业 BSDUnix的公司,违反了AT&T的许可权,发布自己的Unix版本。
后来,Unix系统实验室被AT&T卖给了Novell公司,Novell不打算陷入这样的法律纷争中,因此就采用了比较友好的做法。伯克利的CSRG被允许自由发布BSD,但是其中来自于AT&T的代码必须完全删除。
Unix主要有Sun 的Solaris、IBM 的AIX, HP的HP-UX,以及x86平台的的SCO Unix/Unixware。
四、自由软件基金会(Free Software Foundation,FSF)
是一个倡导自由软件的国际性非盈利组织。由Richard Stallman在1984年建立。
五、GNU计划
(GNU’s Not Unix)是由Richard Stallman在1983年9月27日公开发起的。它的目标是发展一个类似UNIX,完全自由的操作系统。
六、GPL
(General Public License,通用公共许可协议)是一种版权形式,是Richard Stallman在开放源代码软件发行的实践中,逐渐总结出的一套保护自由软件的条款,称之为GPL。当人们提起商业软件版权时,总会用到 Copyright,而在GPL中,人们则使用“CopyLeft”。
中心意思:自由软件由开发者提供源代码,任何用户都有权使用、拷贝、扩散、修改该软件,同时用户也有义务将自己修改过的程序代码公开。允许用户在分发过程中收取一定的费用。但是,用户在再分发时,要保证新用户能取得源代码的权力。保证新用户与自己相同,在得到软件时,同时得到同自己一样的权力。在GPL 下,不存在“盗版”。但有一点,用户不能将软件据为己有(申请软件产品“专利”等),因为这将侵犯GPL版权。

自由软件之父-------Richard Stallman
七、GNU/linux
到90年代,已经发现或者完成了构建一个操作系统所需的,除了内核之外的所有主要成分。
1991年,由Linus Torvalds开发了一个自由的内核。1992年,把Linux和几乎完成的GNU 系统结合起来,就构成了一个完整的操作系统:一个基于Linux的GNU系统-GNU/linux. 值得注意的是Linux并没有包括Unix源码。它是按照公开的POSIX标准重新编写的。
Linux商业化的有RedHat Linux 、SuSe Linux、slakeware Linux、国内的红旗等,还有Turbo Linux.
八、Unix和Linux的区别和联系
联系:
1)Linux思想源于Unix.(Linus Torvalds以Unix为原型,开发的linux)
2)Linux产品成功的模仿了UNIX系统和功能
两大区别:
1)linux是开发源代码的自由软件.而unix是对源代码实行知识产权保护的传统商业软件。
2)UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.
(Unix针对大型应用。在性能上,linux没有那么全面,主要针对个人和小型应用。)
使用Unix的环境,比如银行、电信、民航部门,那一般都是固定机型的Unix。比如电信里SUN的居多,民航里HP的居多,银行里IBM的居多。

2013-03-18 09:41:02 zuixinnet 阅读数 815
分类: Storage IBM AIX Linux2010-10-11 10:56 2857人阅读 评论(1) 收藏 举报

 

一. 双机热备

 

双机热备系统是高可用领域中的一项重要技术,从上世纪90年代中期,当互联网技术在国际上开始发展普及,各种自动化控制、数据库、关键IT应用的不断增多,这些应用逐渐渗透到各种核心领域,大多需要不间断运行,为此,高可用的理念被提出,高可用的需求也开始大量呈现出来,由于当时的计算机设备价格昂贵,网络环境及核心应用较少而且相对简单,因此为了实现应用的高可用,用户一般都采用双机热备系统的方式,在那个阶段,双机热备系统软件几乎是用户唯一的选择,国外各个厂商也纷纷推出了各自的产品,来满足用户的需求。

国外厂商Veritas、Legato的相关产品开始在用户群中普及起来,但是对于国内用户来说,这些厂商的产品往往价格昂贵,操作复杂,维护成本很高,国内很少有用户能够承担,是花费大量的金钱购买国外产品,还是继续维持现状,是摆在用户面前的棘手问题。

此时,国内有一家软件厂商“联鼎软件”开始崭露头角,推出了国内第一款自主研发的高可用软件:Landercluster,并成为第一个在SCO平台成功实施多节点高可用集群的厂商,当时SCO平台在银行、保险行业中拥有大量用户,LanderCluster凭借优秀的品质,适合的价格,成为这些用户的首选产品,也确立了在高可用软件领域领先地位。

随后,由于国内市场对高可用概念的不断深入,用户群需求也不断增加,市场上也陆续出现了新的品牌,如ROSE HA、Dataware等,并且国内一些公司也开始OEM。至今市场中已经存在二十几个不同品牌,但其中有绝大部分是OEM原厂商的产品。

 

 

双机热备,是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。

    双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。 实现双机热备,需要通过专业的集群软件或双机软件。

    从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。

 

 

二. 双机热备解决方案

 

2.1 Unix平台下双机热备解决方案

 

IBMHPSUN为代表的UNIX环境下都有双机热备解决方案,如IBM Hacmp(High Availability Cluster Multi-Processing)双机热备解决方案份软件的主要功能是提高企业客户计算机系统及其应用的可靠性,而不是单台主机的可靠性。

HACMP是利用LAN来监控主机及网络、网卡的状态。在一个HACMP环境中有TCP/IP网络和非TCP/IP网络。TCP/IP网络即应用客户端访问的公共网,该网可以是大多数AIX所支持的网络,如Ethernet,T.R.,FDDI,ATM,SOCC,SLIP,等等。非TCP/IP网络用来为HACMP对HA环境(Cluster)中的各节点进行监控而提供的一个替代TCP/IP的通讯路径,它可以是用RS232串口线将各节点连接起来,也可以是将各节点的SCSI卡或SSA卡设置成Target Mode方式。

作为双机系统的两台服务器(主机AB)同时运行Hacmp软件;服务器除正常运行自机的应用外,同时又作为对方的备份主机;两台主机系统(A和B)在整个运行过程中,通过 “心跳线”相互监测对方的运行情况(包括系统的软硬件运行、网络通讯和应用运行情况等);一旦发现对方主机的运行不正常(出故障)时,故障机上的应用就会立即停止运行,本机(故障机的备份机)就会立即在自己的机器上启动故障机上的应用,把故障机的应用及其资源(包括用到的IP地址和磁盘空间等)接管过来,使故障机上的应用在本机继续运行;应用和资源的接管过程由HA软件自动完成,无需人工干预;当两台主机正常工作时,也可以根据需要将其中一台机上的应用人为切换到另一台机(备份机)上运行。

 

另外HP ServiceGuardSUNsuncluster都可以实现双机热备解决方案功能。

 

2.2     Linux平台下双机热备解决方案

 

Linux环境下双机热备解决方案软件可以采用Steeleye的Lifekeeper for Linux ,LifeKeeper 提供直观的基于Java的图形接口,方便实现跨平台配置、管理和状态监控; 同时也包括一个完整的命令行接口。SteelEye公司的LifeKeeper for Linux 一个通过保持系统正常运行而确保应用具有持续可用性的软件应用。LifeKeeper 实现以双机热备解决方案方式连接在一起的linux系统的高可用性,这是通过监控系统及应用健康状态,保持客户连接性并为任何客户,无论位于互联网、内联网还是外联网提高不间断的数据存取。为了使系统及应用能在宕机是自动恢复,LifeKeeper允许将在应用在发生错误时切换到双机中的另一台服务器上。这有助于LifeKeeper将单点失败的风险降低到最低,从而在Linux系统上创建一种抗错环境以满足关键任务操作的严格可用性要求。

 

Redhat Linux系统下的双机热备解决方案系统的实现,使用的双机控制软件是Linux-HA heartbeat因此,除了安装操作系统及相关的应用服务程序之外,还需要安装heartbeat控制软件。通过对heartbeat软件的配置,可以把两台服务器分别指定为主节点和从节点,指定心跳信号的时间间隔,指定cluster IP、子网掩码、广播地址、鉴权方式,还可以设置heartbeat启动的服务,该服务最终由双机系统通过cluster IP对外提供。Heartbeat可以最大限度地保护用户端的应用连续性。用户的硬件资源(如网卡),软件资源(如操作系统、数据库管理系统、数据库应用系统、电子邮件系统等)均能处于heartbeat容错软件的保护之下,当这些被保护的资源出现技术故障时, heartbeat容错软件可以随时实施系统资源的切换。因此,heartbeat真正实现了用户硬件或是软件资源发生故障时系统及应用层上的在线热切换。

 

因此无论是大中小企业,根据业务应用的重要性不同,都可以采用双机热备解决方案,特别是电信、政府、税务、银行等行业重要应用系统,需要7X24X365永远运行的业务,一般都会使用双机热备或者集群方式来保证企业应用“万无一失”。当然使用双机热备需要有资金支持的,无论是从硬件和软件上我们必须要全盘考虑好,特别是UNIX环境下,配置HA是非常麻烦的事等,这些问题是企业在实施双机热备解决方案过程中必须要重视的。

 

 

三. 双机与集群

 

随着IT市场的不断高速发展,各种软硬件产品不断推陈出新,用户的全天候运行应用迅速增加,需要全天候运行的环境中,几乎都不能够承受宕机,无论是计划内的宕机(升级、维护和修复),还是突发的宕机(由于人为错误、处理故障、电源故障、甚至灾难事件)。许多企业都在制订最短时间内恢复核心应用的业务连续性计划,在此计划中,高可用的应用又是重中之重。

 

新技术在发展,用户的需求在发展,高可用软件产品也必须发展,随着各种存储及网络环境的演进,SAN构架下的系统不断增加,用户目前的核心应用数量越来越多,在这种分布式多应用系统构架下,双机环境通常只能实现单个应用的高可用,主要有Active/StandBy工作模式和应用互备Active/Active工作模式,当用户的核心应用多于二个的时候,双机热备系统的方式将力不从心,除非用户愿意搭建多个双机热备系统环境,但是多个双机热备系统的环境将大大增加硬件采购成本(多增加一倍的硬件采购成本)及管理难度。当用户核心应用在未来不断增多的时候,双机环境无法扩展。

 

纯粹的双机热备系统方式由于存在很多的局限性以及极差的扩展性,在国际上的应用的确已经越来越少,取而代之的日益被用户接受和广泛使用的高可用系统是多节点集群,目前新用户在选择高可用解决方案时往往已经拥有不止一个关键应用,或者就算某些用户目前只有极少的关键应用,但其考虑未来关键业务数量的增加,仍然可以先购买两个节点的“集群”,日后可以进行扩展,如何简单的扩充也是用户急需解决的问题,“集群”的“平滑扩展”就能很好的满足用户这些需求。另外,关键应用增多后如何更好的管理,应用得到更完善的保障,也是用户关心的问题,由于“集群”系统可以整合大量的核心应用,甚至是不同操作系统平台的应用,并实现统一管理,而且“集群”中的每个节点通常拥有两个以上备援节点,使得整个被“集群”保护起来的核心应用较“双机”更加强壮,整体可靠性、可用性也更高。在多节点“集群”系统中,备援服务器的数量往往比较少,比如8个节点的“集群”通常最多只需要2台备援服务器,这样将大大减少建设时的硬件投资,大大降低用户TCO。

 

“集群”系统往往对目前流行的服务器、数据库及应用(如oracle,sql,SAP等)、存储环境(如SAN,ISCSI)有更好的支持,借助一定的技术,甚至能够实现“应用虚拟化”,对于用户来说,将更有利于未来的发展。但是“集群”技术较“双机”的复杂度有所提高,需要更专业的技术人员进行维护。

 

随着用户需求的不断发展,单纯的“双机热备系统”显然越来越不适应新技术及新用户的需求,“双机”将成为一些入门用户及低端用户的选择,而高可用“集群”技术将接替“双机热备系统”,成为用户更好选择。


from :http://blog.csdn.net/tianlesoftware/article/details/5932885

2018-10-25 20:41:38 qq_28869927 阅读数 1409

悉悉嗦嗦

对于接触计算机不久的同学来说,可能经常听到类似:Unix,Linux,类Unix,Mac OS X,BSD,FreeBSD,“Linux和Unix一样啦”,“差不多”等等名次和论断。

就我个人来说,本科阶段学习操作系统的时候,其实也没有认真去弄明白这其中的历史关系,有时候也是人云亦云,实际上也不懂它们之间到底有什么区别和联系。那时,仅仅是想学习Linux的使用、开发、运维等知识,对于Linux的发展历史和内核原理就当作是听听评书。

直到现在研究生阶段,在反反复复使用了cd, ls, chmod等等东西之后,恰逢学校开设了高级操作系统这门课,借着这个机会认认真真梳理一下Linux的发展史,以及其和Unix或者其他操作系统之间的区别和联系,也算是为自己答疑解惑了。

网上能直接找到的资料比较杂乱、鱼目混珠,在这里结合自己的专业知识进行了筛选和总结,希望能对大家有所帮助。

Unix的历史

Unix于1969年诞生于贝尔实验室,是Dennis Ritchie 和 Ken Thompson 两人灵感火花碰撞的产物。在此之前,贝尔实验室开发了一个多用户操作系统Multics。但很遗憾,这是一个失败的产物。正是由于Multics的失败,贝尔实验室发现处于没有操作系统可用的尴尬境地,于是乎设计了一个文件原型系统,也就演化成了后来的Unix系统。

1973年,Unix系统被利用C语言重写,这一行动也成为了后来Unix被广泛移植的最直接的原因。

这其中,一个比较著名的衍生开发版就是加州大学伯克利分校开发的Berkeley Software Distributions,即现在我们听到的BSD。最初的BSD修正了贝尔实验室Unix的一些bug,并且还集成了不少额外的软件。

基于BSD的开放特性,BSD以Darwin,FreeBSD,NetBSD和OpenBSD等形式继续发展。

在此基础上,许多厂商进行了定制性的开发,推出了他们自己的Unix系统,其中比较著名的就是Sun公司的SunOS和Solaris。

今天,Unix已经发展成了一个支持抢占式多任务、多线程、虚拟内存、换页、动态链接和TCP/IP网络的现代化操作系统,。

Linux简介

20世纪90年代初,为了满足Intel 80386微处理器的需求,Linus这位大神(没错,就是下面这位,图来源于百度百科)开发了一个全新的操作系统,即Linux系统。
在这里插入图片描述
所以,划重点:Linux 完全不等于 Unix,这是两个独立的操作系统。但是Linux和Unix完全没有关系吗?为什么使用起来感觉如此相似呢?

当时已经存在Unix系统和Microsoft 的 DOS系统。Linus热衷于Minix,一种教学的廉价Unix,但是这位大神终日为了不能修改Minix源码并发布这些修改而感到烦恼。同时期的DOS系统,对于Linus而言,除了玩游戏别无他用。

在这种情况下,Linus开始开发自己的操作系统。(嗯,那时这哥们儿还只是一名大学生)。于是,Linux诞生。由于其许可证条款的约定,Linux迅速成为多人合作的开发项目。

Linux被称之为类Unix系统,但不是Unix。这是因为Linux设计之初借鉴了Unix的许多规范化的设计思想并且实现了Unix的API(POSIX标准和其他Single Unix Specification定义),但是Linux并未直接使用Unix的源码,而是采用了和Unix一致的程序编程接口,这也就是为什么说二者是两个不同的操作系统。完全不能划等号=

Mac OS

关于Mac OS和Linux的发展及区别,可以参考:
【Linux && Mac OS】Mac OS 和 Linux 的内核有什么区别

2010-01-01 22:16:00 wwwlh 阅读数 538
UNIX和LINUX下的一些有用的工具和技巧 
 

UNIX和LINUX下的一些有用的工具
这里记录我认为非常有用的UNIX工具
1、如何将一个输出信息输出到多个文件里,写日志的时候非常有用,这个功能可以使用tee命令来实现
例子:
echo "test"| tee -a file1|tee -a file2
2、如何在命令行上定期执行某条命令,例如监控某个目录文件系统的变化
粗看一下,似乎很容易解决,你一定马上想到at命令,但是你马上就会发现问题,屏幕的输出问题,在LINUX有一条命令可以解决这个问题
watch
例子:
watch ls -l
缺省的时候是每2秒一次,这个命令如此的有用,以致我在其他UNIX平台怀念这条命令,在UNIX上仿照了一个SHELL来实现这条命令,目前还不成熟,但是平时够用了呵呵。
$a=100
while $a>=1 
do
clear
sleep 1
ls -l
sleep 5
done
将来考虑加入时间和命令的命令行的读取,其实也不难,就是我有点懒呵呵,有空再说吧
3、MORE命令的一个技巧
more是最常用的UNIX命令,但是你没有想过,在MORE的时候,按一个V键就可以启动VI来编辑这个文件,存盘后就能接着MORE了
这个技巧在查看多个文件时极为有用
more *.c
看到错误就改过来,岂不爽
4、修改文件时间
touch 命令我们通常用于创建一个空文件,你一定经常用touch 1.txt的命令来创建这样一个空文件,可是你想过没有这条命令是touch的副业^_^,它的主业是修改文件的时间,例如:
touch -t 20080320 1.txt

5、如何判断某个文件系统使用率大于某个值,这个在备份的SH里面很有用下面给出一个例子

fsmax=90

fssize=`df /bak|grep '% /bak'|awk '{print $5}'|sed 's/%//g'`

if [ $fssize -ge $fsmax ]; then
echo "****Check filesystem Size is exceed "$fsmax"%!! Clear the over 60 days old backup files!!****" >>/bak/backupsh/dayfullbak.log
find /bak/daybak -xdev -mtime +60 -name "*.*" -exec rm -f {} /;
fi

这里面重要的是这句

fssize=`df /bak|grep '% /usb'|awk '{print $5}'|sed 's/%//g'`

这句的意思是使用AWK对df的输出值进行过滤输出第五列的内容,你df一下就明白了,这列是百分比。

没有更多推荐了,返回首页