* 서버이전시 고려할 사항들
- 서버 네트워크환경문제
- 일반사용잘의 ID와 패스워드문제
- 사용자들의 도메인문제
- 서버내의 홈페이지 데이터들의 문제
- 아파치웹서버 이전문제
- MySQL 데이터베이스 이전문제
* 서버이전 계획표 작성
구분 이전하기전 서버(A) 이전후 서버(B)
작업자 김길동
작업일시 2006년 4월 5일 새벽 04시부터 06시까지
지역 용산구 구로구
IDC(업체)명 A-IDC B-IDC
IDC(업체)담당자명 박길동 이길동
IDC(업체)연락번호 111-1111 222-2222
서버모델명(서버명) SU-S2001(A서버) SU-2002(B서버)
서버IP주소 192.168.0.101 192.168.1.211
네트워크주소 192.168.0.0 192.168.1.0
브로드캐스트주소 192.168.0.255 192.168.1.255
넷마스크주소 255.255.255.0 255.255.255.0
웹서버(위치) APACHE(/usr/local/apace2) APACHE(/usr/local/apace2)
DB서버(위치) MySQL(/usr/local/mysql) MySQL(/usr/local/mysql)
FTP서버 Proftpd(/usr/local/proftpd) Proftpd(/usr/local/proftpd)
DNS서버 BIND9 BIND9
메일서버 SENDMAIL, Qpopper SENDMAIL, Qpopper
사용자수 10명 10명
기타 gd,libpng,freetype,zlib 등 gd,libpng,freetype,zlib 등
주의사항 이전하기전 사용 도메인 TTL값 최소화
cron설정주의
로그파일들 이전주의(/var/log)
이전후 홈페이지로딩테스트 및 게시판업로드테스트
작업 7일전 작업관련 홈페이지 공지사항 등록
각 사용자에게 작업관련 메일발송
* 서버에서 서비스하던 도메인들의 TTL값 변경하기
서버이전 작업을 시작하기 쵯 몇일전에 각 도메인들의 DNS정보가 세팅된 네임서버에서 각 도메인들의 zone파일들에 설정된 TTL값을 0또는 1로 설정한다.
즉, 도메인의 IP주소를 변경하기 전에 DNS의 TTL값을 0 또는 1로 설정해 둔다.
* 서버의 서비스데몬들 중지하기
- 웹서비스 중지
- 메일서비스 중지
- 데이터베이스 서버 중지
서비스를 중지하는 이유는 서버이전을 하는 도중에 계속 서비스를 하게 되면 작업하는 동안에 업데이트된 데이터들은 유실되기 때문이다.
* 이전대상서버에서 네트워크 설정작업
다음과 같이 네트워크 설정명령어들과 파일들을 통하여 새로운 네트워크 환경을 설정한다.
- route 서버라우팅 설정 명령어
- ifconfig 네트워크 인터페이스 설정 명령어
- netconfig 네트워크 설정 명령어
- /etc/resolv.conf DNS설정 파일
- /etc/sysconfig/network 기본게이트웨이 설정파일
- /etc/sysconfig/network-scripts/ifcfg-eth0 첫번째 NIC 네트워크 설정파일
- /etc/sysconfig/network-scripts/ifcfg-eth1 두번째 NIC 네트워크 설정파일
- /etc/init.d/network 설정된 네트워크 start|stop|restart
* 사용자 계정정보 이전하기
- /etc/passwd파일내의 사용자계정부분 이전하기
A서버의 /etc/passwd 파일에서 일반사용자들의 계정정보만을 복사해서 B서버의 /etc/passwd에 복사한다.
- /etc/group파일내의 사용자 그룹설정 부분 이전하기
A서버의 /etc/group파일에서 시스템사용 그룹설정 부분을 제외한 나머지 그룹부분들을 그대로 복사하여 B서버의 /etc/group파일에 그대로 추가한다.
- /etc/shadow 파일내의 사용자 설정부분 이전하기
/etc/shadow파일에서 사용자들의 정보만을 복사해서 B서버의 /etc/shadow에 복사한다.
* 일반사용자 홈디렉토리 파일들 이전하기
- A서버에서 home을 모두 압축한다.
# cd /
# tar cvfpz home.tar.gz home
- B서버에서 home.tar.gz 파일을 가져온다.
# cd /
# ncftp -u bible 192.168.0.101
ncftp / > get /home.tar.gz
- B서버에서 가져온 home.tar.gz 압축을 해제한다.
# tar xvfpz home.tar.gz -C /
* APACHE 웹서버 이전하기
아파치를 이전할 때에는 다음과 같은 주의사항이 있다.
1. httpd.conf파일 내에 설정되어 있는 가상호스트정보 수정
2. httpd.conf파일 내의 DocumentRoot정보의 확인 및 수정
3. httpd.conf파일 내의 ServerName정보의 확인 및 수정
4. httpd.conf파일 내의 UserDir정보의 확인 및 수정
- A서버에서 APACHE 디렉토리를 압축한다.
# cd /usr/local
# tar cvfp apache2.tar.gz apache2
- B서버에서 A서버에 있는 apache2.tar.gz 파일을 가져오고 압축을 해제한다.
# cd /usr/local
# ncftp -u bible 192.168.0.101
ncftp /usr/local > get /usr/local/apache2.tar.gz
# tar xvfpz apche2.tar.gz
- httpd.conf 파일 수정
NameVirtualHost 값 수정
VirutalHost 부분 수정
DocumentRoot 저옵 수정
ServerName 정보 수정
- php와 Zend 이전
* MySQL 데이터베이스 이전하기
- A서버에서 MySQL을 압축한다.
# cd /usr/local
# tar xvfpz mysql.tar.gz mysql
- A서버에서 압축한 파일을 B서버로 가져오고 압축을 해제한다.
# cd /usr/local
# ncftp -u bible 192.168.0.101
ncftp /usr/local > get /usr/local/mysql.tar.gz
# tar xvfpz mysql.tar.gz
- MySQL 실행에러문제 해결하기
호스트명 인식불능문제
/usr/local/mysql/var/호스트명.pid
/usr/local/mysql/var/호스트명.err
/usr/local/mysql/var 소유자 계정확인
* 메일서버 이전하기
- A서버에서 /etc/mail 디렉토리를 압축하여 B서버로 가져온 후에 원래위치에 압축해제한다.
- A서버의 /usr/local/lib/popper파일을 B서버로 가져와서 원래위치에 넣어둔다.
- A서버의 /var/spool/mail 디렉토리내용과 /var/spool/mqueue 디렉토리의 내요을 그대로 가져와서 B서버에 넣어둔다.
- A서버의 /etc/xinetd.d 디렉토리내에 있는 pop3파일을 B서버로 가져와서 넣어둔다.
- A서버의 /usr/sbin/sendmail 파일과 /etc/aliases 파일을 B서버로 가져와서 각자 위치에 넣어둔다.
- 이와 같이 작업한 후에 B서버에서 /etc/init.d/sendmail 스크립트를 이용하여 sendmail을 재시작하고 /etc/init.d/xinetd 스크립트를 재시작하여 /etc/xinetd.d/pop3 파일이 적용되도록 한다.
* 기타 서버이전시 작업해야할 사항들
- A서버의 /etc/hosts파일의 정보를 확인하고 필요한 정보는 B서버의 /etc/hosts파일에 등록한다.
- A서버의 /etc/hosts.allow파일과 /etc/hosts.deny파일의 내용을 B서버에 그대로 설정한다.
- A서버의 /var/spool/cron 디렉토리내의 파일들을 B서버로 그대로 가져와서 설정한다.
- A서버의 /var/log 디렉토리내에 존재하는 필요한 로그파일들(특히 wtmp, secure 파일)을 B서버로 가져와서 /var/log에 저장한다.
- A서버의 /etc/sysctl.conf 파일의 내용을 B서버의 서버사양에 맞도록 수정하여 적용한다.
- A서버의 /etc/motd, /etc/issue, /etc/issue.net 파일들의 니용을 B서버로 가져와서 해당 파일들에 저장한다.
- A서버의 /etc/rc.d/rc.local 파일을 그대로 가져와서 B서버에 복사한다.
* DNS 서버에서 해당 도메인들의 IP주소 변경작업
도메인들의 DNS서버에서 각 도메인들의 IP주소를 B서버의 IP주소(192.168.1.211)ㄹ 변경한다.
TTL값을 원래의 값으로 복원한다.
* 서버이전후 확인할 사항들
1. 홈페이지가 정상로딩 테스트
2. 홈페이지의 게시판 및 업로드 테스트하기
3. 사용자계정 정보확인 및 로그인 테스트
4. 메일수발신 테스트와 MySQL접속 테스트
5. B서버에서 응용프로그램들의 경로 확인하기