LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: jobinson99

请问:用arch当服务器的,一般会碰到什么问题?

[复制链接]
发表于 2009-12-14 10:09:07 | 显示全部楼层
上次看到源里有kernel26-lts内核,不那么频繁更新的
回复 支持 反对

使用道具 举报

发表于 2009-12-14 13:42:27 | 显示全部楼层
Post by poet;2055711
什么版本适合服务器,取决于你赋予服务器什么样的定义。

传统定义的服务器是:从诞生安装好开始,除因极其特殊原因(例如停电同时遇到UPS故障,或者由于管理员的操作错误造成机器必须重启,或者修复一个非常急需的内核级漏洞),应当是永远不关机不重启的。

基于这个原因,传统的教程中让你在服务器上启动一个服务进程,都是直接让你后台运行,而不是让你改 rc.local 之类的启动脚本。因为服务器几乎没有什么机会去调用启动脚本,而服务器的每次重启,通常都需要有管理员维护,因为需要手工启动一些服务。

这个特性还造成了几点:
1。为了不关机,服务器尽量减少外设消耗,只插一根电源和网线。一个机房一般提供少量的显示器和鼠标用于紧急即可,大量的服务器仅仅只是一个主机。
2。人为的操作经常容易造成失误,尤其是图形界面更是如此。为了尽量减少人为操作带来的问题,减少直接物理接触服务器的可能,服务器不直接提供终端,只提供远程访问,提供图形界面对服务器来说一般是意义不大的。因为服务器一般应当锁定在机房,并严格进行门禁管理。
3。为了不关机,服务器的大量外设被设计为热插拔,例如RAID5技术就是设计为其损坏的硬盘可以热插拔并且热替换的。服务器无需关机重启。
4。由于服务器通常是不关机的,所以内核更新和驱动更新一般意义不大,通常只需要基于核心应用的安全更新即可。版本升级完全没有必要,对于bugfix更新,通常管理员要负责检查其更新的内容,如果这个更新是业务所需要的,则进行,否则不进行更新。

一句话,服务器基本原则是“不折腾”,并且所有对服务器的设置都要为实现“不折腾”而服务。

脱离了最先的那个假设,你对服务器的需求就可能完全完全不同,那么你对发行版的选择也就完全不同了。

--
其实很多人对服务器的理解并不准确,服务器硬件的存在是为了提供专业的稳定可靠的服务,而如果你只是在自己的桌面机上启动一些服务,这并不意味着你是一个服务器,或者说,如果你只是在上班时间需要提供服务,其他时间均可关闭,那么你用自己的桌面机就可以了,并不需要一个服务器。——就好比,如果你为了卖点商品,可以只是开个网店,也可以只是注册个体工商户,根本没有必要去搞一个上市公司并修一个写字楼。公司和写字楼是用来经商的,但经商并非一定要这些。——服务器是用来提供服务的,但如果你要提供一些简单的可间断的服务,并不需要维护一台服务器。

谢谢,poet
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-14 15:38:33 | 显示全部楼层
Post by poet;2055711
什么版本适合服务器,取决于你赋予服务器什么样的定义。

传统定义的服务器是:从诞生安装好开始,除因极其特殊原因(例如停电同时遇到UPS故障,或者由于管理员的操作错误造成机器必须重启,或者修复一个非常急需的内核级漏洞),应当是永远不关机不重启的。

基于这个原因,传统的教程中让你在服务器上启动一个服务进程,都是直接让你后台运行,而不是让你改 rc.local 之类的启动脚本。因为服务器几乎没有什么机会去调用启动脚本,而服务器的每次重启,通常都需要有管理员维护,因为需要手工启动一些服务。

这个特性还造成了几点:
1。为了不关机,服务器尽量减少外设消耗,只插一根电源和网线。一个机房一般提供少量的显示器和鼠标用于紧急即可,大量的服务器仅仅只是一个主机。
2。人为的操作经常容易造成失误,尤其是图形界面更是如此。为了尽量减少人为操作带来的问题,减少直接物理接触服务器的可能,服务器不直接提供终端,只提供远程访问,提供图形界面对服务器来说一般是意义不大的。因为服务器一般应当锁定在机房,并严格进行门禁管理。
3。为了不关机,服务器的大量外设被设计为热插拔,例如RAID5技术就是设计为其损坏的硬盘可以热插拔并且热替换的。服务器无需关机重启。
4。由于服务器通常是不关机的,所以内核更新和驱动更新一般意义不大,通常只需要基于核心应用的安全更新即可。版本升级完全没有必要,对于bugfix更新,通常管理员要负责检查其更新的内容,如果这个更新是业务所需要的,则进行,否则不进行更新。

一句话,服务器基本原则是“不折腾”,并且所有对服务器的设置都要为实现“不折腾”而服务。

脱离了最先的那个假设,你对服务器的需求就可能完全完全不同,那么你对发行版的选择也就完全不同了。

--
其实很多人对服务器的理解并不准确,服务器硬件的存在是为了提供专业的稳定可靠的服务,而如果你只是在自己的桌面机上启动一些服务,这并不意味着你是一个服务器,或者说,如果你只是在上班时间需要提供服务,其他时间均可关闭,那么你用自己的桌面机就可以了,并不需要一个服务器。——就好比,如果你为了卖点商品,可以只是开个网店,也可以只是注册个体工商户,根本没有必要去搞一个上市公司并修一个写字楼。公司和写字楼是用来经商的,但经商并非一定要这些。——服务器是用来提供服务的,但如果你要提供一些简单的可间断的服务,并不需要维护一台服务器。
理论上,也是应该以“不折腾”为原则的。可是,现实是意外常常有,想永不关机?我看悬,至少我很少看到目前商用的服务器有这么强悍的(或许我接触的都比较草根)。

所以目标仍然设定为:不折腾,但还要多加几个假设:这个服务器是脆弱的,将来的管理员是懒惰+技术不行的。
这样选起版本来,估计才比较合理吧?
选arch,主要是因为系统比较清晰简洁,把PKGBIULD保存之后,将来更新也只需要依样画葫芦,所以个人觉得将来管理员折腾起来会方便点。
唯一要求算高的,就是必须紧随arch社区的脚步。
回复 支持 反对

使用道具 举报

发表于 2009-12-14 18:46:13 | 显示全部楼层
Post by jobinson99;2055814

所以目标仍然设定为:不折腾,但还要多加几个假设:这个服务器是脆弱的,将来的管理员是懒惰+技术不行的。
这样选起版本来,估计才比较合理吧?
选arch,主要是因为系统比较清晰简洁,把PKGBIULD保存之后,将来更新也只需要依样画葫芦,所以个人觉得将来管理员折腾起来会方便点。
唯一要求算高的,就是必须紧随arch社区的脚步。


脆弱?指的是什么?硬件的脆弱,操作系统核心组件的脆弱,你要运行的服务程序的脆弱?

另一个问题是:你需要管理几个服务器?如果只是一两个,我看根本不需要管理员,让搭建服务器的人兼职管理就好了。这不会是太大的代价。

如果你有很多服务器需要管理,写 shell 脚本是管理员的基本功,至少维护 cron 需要,你认为你还能让一个懒惰+技术不行的人去管理?你还认为不值得专门聘请一个有经验的管理员去做?

pkgbuild 写得再方便,对服务器而言意义恐怕都不大,因为服务器正常情况下是完全不更新的(也许是因为所谓脆弱,所以管理员们宁可选择胆小),只是针对那些明显的大的安全漏洞,进行有针对性的修补。对于运行关键业务的服务器,必须要求管理员知道这个漏洞的具体危害,决定我们是否真的需要安装这个更新。在你安装系统的时候,不可能知道将来会出现哪些安全更新,不可能提前写好所有脚本。

arch 的优势是经常要更新,而它的缺点也是你“必须得经常更新”,否则将来你安装一个新软件都满足不了版本依赖。会被迫因为要升级某一个软件而升级一大堆东西。因为arch仓库中往往只提供所有包的最新版本,这个特性决定了对于服务器而言它并不是个好的发行版。

当然,还是老话:其实很多时候你并不需要一个服务器,以现在主流机器的性能,直接在桌面机上安装一个服务就够了。做一个 cron 再搞另外个机器同步备份,费事一些就再加上负载均衡,完了。
回复 支持 反对

使用道具 举报

发表于 2009-12-14 19:10:58 | 显示全部楼层
楼上,做管理员太勤快,会累死,懒惰才是必由之路。
ibm developworks 上有不少文章专门说明如何做一个懒惰的管理员。
回复 支持 反对

使用道具 举报

发表于 2009-12-15 02:11:41 | 显示全部楼层
好贴,学习了
回复 支持 反对

使用道具 举报

发表于 2012-2-15 11:18:27 | 显示全部楼层
学习了!
本来正想用arch做服务器,看了这个帖,还是决定不折腾了=_=||

话说,挖坟了,抱歉:p
回复 支持 反对

使用道具 举报

发表于 2012-2-16 00:52:49 | 显示全部楼层
喜欢arch,又想跑服务器的,不妨试试slackware。


发完帖才发现原来是坟。
回复 支持 反对

使用道具 举报

发表于 2012-2-16 10:20:31 | 显示全部楼层
早就讨论过了吧,arch不适合作服务器....当然个人玩玩的除外了..

也不是说不适合,只要有能力,几乎所有发行版都可以用作服务器,只是维护成本的高低罢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表