[시스템] 문제 있는 서버 ..다른서버로 옮기기..
www48 서버 다른 서버로 옮기기.
www48:211.47.65.35
www482 : 211.47.65.71
1.www48 번 서버를 그대로 두고 새롭게 구축할 서버를 세팅한다.
가급적이면 www48 서버와 동일한 파티션 구조로 하는 것이 좋겠다.
2.새롭게 구축할 서버를 똑같이 www48이라고 하면 작업시 혼란스러우므로
새롭게 구축할 서버는 www482 라고 하자.
3.서버의 동기화는 rsyncd 를 이용하므로 www48 서버에 rsyncd 를 설치한
다.
어차피 www482 에서도 rsync 를 이용하여여 하므로 둘다 설치한다.
4. www48 서버에 rsyncd 를 설정한다.
먼저 /etc/inetd.conf 에 아래 줄을 추가한후 killall -HUP inetd 로 재시
동한다.
rsync stream tcp nowait root /usr/bin/rsync rsyncd –daemon
그리고 /etc/rsyncd.conf 를 만들어 아래와 같이 설정한다.
[etc]
path = /etc
comment = /etc
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home]
path = /home
comment = /home
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home2]
path = /home2
comment = /home2
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home3]
path = /home3
comment = /home3
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home4]
path = /home4
comment = /home4
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home5]
path = /home5
comment = /home5
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[home6]
path = /home6
comment = /home6
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[tmp]
path = /tmp
comment = /tmp
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[local]
path = /usr/local
comment = /usr/local
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[spool]
path = /var/spool
comment = /var/spool
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[log]
path = /var/log
comment = /var/log
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[www]
path = /www
comment = /www
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
[backup]
path = /backup
comment = /backup
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 211.47.65.71
max connections = 2
timeout 600
5, www482에서 rsync를 하기위해 아래와 같이 스크립트를 만들자.
(rsync.sh)
#!/bin/sh
/usr/bin/rsync -avz 211.47.65.35::etc /etc
/usr/bin/rsync -avz 211.47.65.35::home /home
/usr/bin/rsync -avz 211.47.65.35::home2 /home2
/usr/bin/rsync -avz 211.47.65.35::home3 /home3
/usr/bin/rsync -avz 211.47.65.35::home4 /home4
/usr/bin/rsync -avz 211.47.65.35::home5 /home5
/usr/bin/rsync -avz 211.47.65.35::home6 /home6
/usr/bin/rsync -avz 211.47.65.35::tmp /tmp
/usr/bin/rsync -avz 211.47.65.35::local /usr/local
/usr/bin/rsync -avz 211.47.65.35::spool /var/spool
/usr/bin/rsync -avz 211.47.65.35::log /var/log
/usr/bin/rsync -avz 211.47.65.35::www /www
/usr/bin/rsync -avz 211.47.65.35::backup /backup
6. www482 에서 rsync로 데이터를 받을시 변하지 말아야 할 파일이 있다.
이는 chattr 을 이용한다.(chattr.sh)
#!/bin/sh
chattr +i /etc/lilo.conf
chattr +i /etc/fstab
chattr +i /etc/sysconfig/network-scripts/ifcfg-eth0
chattr +i /etc/HOSTNAME
chattr +i /etc/sysconfig/network
chattr +i /etc/filesystems
chattr +i /etc/conf.modules
7. www482 에서 /etc 디렉토리만 rsync를 해본후 reboot를 해본다.
재부팅시 에러가 없는지 확인한다.
만약 6번작업을 하지 않은후 rsync를 했다면 www482를 다시 깔아야 할 것
이다.
8. ./rsync.sh 를 실행하여 데이터를 동기화한다.
9. www482 에서 몇몇 도메인에 대해 테스트를 해 보아 정상적으로
이전되었는지 확인한다. 특히 db 등을 테스트해보자…
10. www482 에 대해 이상이 없는지 확인하였으면 재부팅을 해본다.
이후
chattr -i /etc/lilo.conf
chattr -i /etc/fstab
chattr -i /etc/sysconfig/network-scripts/ifcfg-eth0
chattr -i /etc/HOSTNAME
chattr -i /etc/sysconfig/network
chattr -i /etc/filesystems
chattr -i /etc/conf.modules
로 풀고 /etc/sysconfig/network-scripts/ifceg-eth0 을 수정후
/etc/rc.d/init.d/network restart 를 한다.
11. www482 서버에서 arp.sh 를 실행하여 arp cache 를 업데이트 한다.
#!/bin/sh
/sbin/ifconfig eth0 211.47.65.35
/usr/sbin/send_arp -i eth0 211.47.65.35 00508B9A356B 211.47.65.255
ffffffffffff
211.47.65.35 는 www48 의 IP
00508B9A356B 는 www482의 MAC_Address