Linux网管123---第11章.在企业里的
电脑使用Linux-2.伺服器
* E3 S" k2 \6 [! `* e
2006-06-01
" C' T4 a+ \3 C0 q9 \3 t
4 Y# F3 m [1 R
' a# a' h+ m& y, E/ p% |
: D0 @; e- Z# {& ]
为了支援多样的硬体选择,以及明
速度及可信赖度,Linux正面对因为资源
需求增加而扩大规模的挑战。
2 w8 z5 N9 S! |$ C' h这可以包括为了更多处理的需要而迁移到SMP(对称多
处理器)配置,RAIDlevels0到5(不论是软体或
! C! L/ K" w$ S* ^5 n
硬体
驱动模式),等等。
5 V2 h7 ]3 Z, j! x7 a- d% t' {
有时,您会觉得您正在运作的Linux伺服器的硬体不再够用了,要进行重大的Linux版本升级,或者也许
! `& p, Y$ H; O
迁移到不同发行版本的Linux。当然要这样做有两种方法。保留原来的伺服器或是升级硬体(要这麽做只要
7 }9 @: x; U2 I! i3 k5 U+ E9 v
关闭服务,备份资料,进行所需的改变,必要的话回复原来的资料),或者再彻底一些,将您的
系统迁移到
3 x# X; @6 b* L9 W新的硬体。
. [) d: |* O( S$ g" D
6 r$ W1 Y% J6 j3 Q6 E
这一节将会集中在後者的情况,您将会实际上将您的各种服务从旧的伺服器移到新的上。当然有一些迁移的策
% j* x O% e" a
略,然而这一节将会试图提供
$ _. K% t7 }. j2 }, H% y. t2 M& }一些您可以采用的粗略指引以确保您的转移结果成功,打扰使用者最少。
( M3 V. ]# a; }- }
$ ~, e9 Q9 D. o7 z8 l# ^8 b; a$ Q
准备好所需的伺服器;安装及组态Linux让您的新硬体可以被支援,以及任何所需的daemon及核心基础的
+ C3 v4 Y* y* O0 o
特性(像是
防火墙)已经enable。查看第4章,以及第10章,作一个订的核心一节有关细节
5 X# V. g9 s4 G0 T- H
建立您原来的服务(像是Apache网页伺服器,Samba或Netatalk档案及列印服务等)且利用
测试的
数据使
. f2 m0 m/ S6 ?; F9 H1 J用他们至少几天以确定所有的工作如同预期。查看第7章,使用Samba进行
Windows型态的档案及列印服务以
9 U; U+ e2 a9 U
及第7章,使用Netatalk进行Macintosh型态的档案及列印服务有关细节。不要忘了确定您在``/etc/''
% G9 s, K- }5 \! k/ D5 e6 y
及``/etc/rc.d/''目录下所做的任何变动都已经按要求在新伺服器上做好了。记得移动``/etc/passwd'',
# S6 P( N" _- M* A
``/etc/group''下的使用者帐号资讯特别重要,以及当您使用shadow密码时的``/etc/shadow''!
6 U x/ Z5 }* E$ ]% K
; g/ ^+ K) |) z; y& I+ g在您的旧伺服器上关闭服务,以便将档案系统的变动减到最少。显然您不会希望当您储存资料到新伺服器时有
, _8 k. p: G5 t! w
使用者在旧伺服器更新网页或接收e-mail!以root身分,您可以用下列指令关闭大部分服务:
, e5 b; B' t( z5 E: vkillallhttpdatalkdsmbdnmbdsquidsendmailftpd
6 @9 R8 K$ @. b2 [; _: X
9 s1 r$ w. C& e) D9 \/ k5 V3 [
% D: h/ q. \+ W0 L+ y7 X% }8 I4 H- q; y4 G
上面的指令会关闭网页伺服,档案及列印服务,e-mail伺服及
FTP服务。(可能正在运作的比我上所列的更多
+ Z' c+ d" |* ]/ G7 }; a
或更少。检查您的行程列表然後终止您认为合适的服务;查看第9章,
管理行程有关细节)
$ G' d, }9 C4 L; S; ]9 r3 m: {: H
9 z8 m# P0 l+ f9 |) Q6 g' f& ?您可能需要
编辑位於旧伺服器的``/etc/inetd.conf''档,使用``#''符号,释要更新档案系统的任何服
: y3 [: K+ M `7 o$ \+ j务(像是FTP,IMAP,及POP3服务)。然後以root身分键入:
; U9 g0 q5 P: \- S2 R2 i! akillall-HUPinetd
+ k6 g& r7 w) f2 H: V
; q! V$ Y4 k( r7 K
( _3 g( r1 s" A
1 p, K: I3 [$ U2 ]) X' v/ G6 F. O; B
上面的指令会重新载入
TCP包裹程式(Internet服务的
安全包裹程式)如此一来您``/etc/inet.conf''档
( ~# s% H0 v+ h' [( |9 ?7 u. B& k中所disable的服务在未来的连接中不会被载入)。
$ Y8 n( l8 l* x" L7 P- z, i
% z# W* |' H/ f7 r0 }2 S现在您应该可以将资料移到另一部
机器上。相同地,您需要将新伺服器的一切
功能准备好,包括RedHat发行
, D$ v& o Q; D- W; N4 _, G
版未附上而您希望安装的额外软体。因此您需要备份位於``/home'',``/var/spool''的软体,以及选择的档案
/ T4 l3 K- K! }0 D) e" x" E
系统,如果有话像是``/archive''。这里有一个利用``tar''公用程式做一个资料压缩备份的例:
! b9 i" V$ f0 j# K$ q. _cd/
' z# z& I4 ~- j7 Ktarzcvpf/tmp/backup_data.tar.gz--exclude=var/spool/squid\
) h1 ]+ z' K- V; p: j& N3 s- Z
homearchivevar/spool
! m+ I" A) j' }6 b( s" M5 R5 p {' @
! u$ A @+ V9 m h: `& ^' n) {: D* y) @; Q S
! J8 X. V2 }! K上面的指令会将您的``/archive'',``/home''及``/var/spool''档案系统(或者子目录,取决於您如何建立
* Y- w) o; q/ ]6 X您的档案系统)写到一个备份档内,是一个名为压缩过的``/tmp/backup_data.tar.gz''tar格式档。确定您
6 d+ z4 ]4 I+ M* \% s4 K有足够的
空间备份,或是存到其他地方!
: s% w! e" v5 {" |( Y1 ] M5 b7 V
- D& ]% Y# P7 Y' C; _小技巧:您可以使用``du''公用程式帮忙决定所需的空间。例如,要决定``/archive/''及``/home/''
( m' E5 _4 e* j! Y6 M1 L O2 W目录所需的空间,键入:
, n; o3 F8 ^. n% b0 g5 Tdu-h-s/archive/home
7 |. e I- \4 u) D; E' K% V' z
% s8 i! F% k. R& y ^$ a# r6 ~* D0 z3 Y, O4 \6 W( M
要记住上面的指令会回报您资料的实际大小,但是如果您使用tar的``z''选项(就像上面的例子)压缩映
- @) K- [% S0 K& G
像档,您的使用需求会少一些。将``du''所做的输出视为空间需求的最坏估计。
: d; T" i) N E
* ]$ r: I4 N g/ P- b
% g. ~1 {- M: y# N3 @现在您可以将备份资料从tar档回存到新的伺服器。您可以直接由NFS回存(查看第7章,网路档案系统
5 j* B! {; @! v P(NFS)服务一节有关如何组态NFS的细节),或只利用FTP传回来然後在本地解开。这里是将上面示备
& ?6 V3 E8 `8 m8 o# R8 R- n
份回存的例:
9 M1 |2 E; J% S0 B+ Y
cd/
! M8 N H/ Q# X6 P9 Z
tarzxvpf/tmp/backup_data.tar.gz
3 {. q( k' E) E3 |" o0 y
! V w, l4 \2 A0 I1 O# m( r6 I0 N6 U
# b2 M* H8 U% n1 Z2 z下一步,必要的话,将IP位置对调,这样子新伺服器可以在原来位址看到。
% @" f2 |2 z3 o% t
* Q* e! M2 y$ c1 H$ n( P
最後,您应该关闭系统然後重新起动伺服器以确定不会看到预期外的错误讯息。查看第6章,关闭系统及重新启
4 Y, A7 O/ y0 o$ z* J6 e
动一节有关细节。
$ `* |) N) b4 V2 ?/ @1 z, F! S% L7 e, W6 ` x/ S+ F1 W
当您完成後,确定一切都是如同预期!如果不是,您可以随时重新enable在旧伺服器上的任何服务然後重新
- e0 r4 K& Y% g+ ?4 u
启动他们,如此一来使用者可以继续使用直到您解决在新伺服器上的问题(要记住,如果您这麽做您将需要再进
g( F7 z7 j( I8 ~1 I6 M
行一次上面的步骤).