Linux OS/관리

서버 이전

서버엔지니어 2023. 3. 12.
728x90

APM 버전 확인

APM 버전 확인 및 모듈 확인

Apache
/usrl/local/apache/bin/apachectl -v 소스//yum httpd -v
/usrl/local/apache/bin/apachectl -M 소스//yum httpd -M
config.nice 확인 소스//yum rpm -qa | grep httpd 확인해서 모듈 설치

MySQL
/usrl/local/mysql/bin/mysql -V 소스//yum mysql -V
config.log 확인해서 컴파일 옵션확인 소스//yum rpm -qa | grep mysql 확인해서 모듈 설치

PHP
/usr/local/php/bin/php -v 소스//yum php -v
/usr/local/php/bin/php -m 소스//yum php -m

config.nice 확인 소스//yum rpm -qa | grep php 확인해서 모듈 설치
php.ini 설정파일 확인

작업시작 전 백업본 있는지 확인
구서버 OS버전, 파티션, 데몬, 서버의 용도(web, db, dns, mail)확인

apache 특이설정 확인

ex) ssl 사용유무
/etc/passwd, /etc/group, /etc/shadow, /etc/gshadow 파일 가져오기

미리 새 서버 4개 파일 백업 한 뒤 진행
ex) rsync -avzPog -e ssh 서버IP:/가져오는 파일 경로(구서버) /받을 파일 경로(신서버)


apm 설정 맞춰서 설치
httpd.conf, httpd-vhosts.conf, my.cnf, php.ini 파일 동기화
웹소스를 가져온다 해당 소스 경로 확인 후 가져온다
보통은 home에 있으니 home/* 파일을 가져온다
ex) rsync -avzPog -e ssh 서버IP:/home/* /home/
DB데이터 가져오기
ex) mysqldump -u root -p --all-databases > all.sql 로 덤프를 떠서 rsync로 옮긴뒤
mysql -u root -p < all.sql 로 복구
추가로 가져올 데이터들 확인 후 가져온다
ex) 백업설정, 크론설정등
그런다음 사이트가 정상적으로 뜨는지 확인
윈도우 호스트 ip 변경 방법입니다.
시작 -> 보조프로그램 -> 메모장(오른쪽마우스 클릭후 관리자권한으로 실행)
메모장의 파일->열기-> C;\Windows\System32\drivers\etc 경로로 이동 -> 파일형식을 모든 파일로 변경 -> Hosts 파일 선택후 열기
파일 맨밑 부분에
IP 도메인
입력후 저장



인터넷에서 사이트 접속 후 확인

1-1. OS 버전
CentOS
cat /etc/redhat-release
Ubuntu
cat /etc/issue
Windows
Ctrl + R -> winver

1-2. 데몬 확인
Linux OS

netstat -nltp

디스크 장착 및 마운트 여부
Linux OS
fdisk -l or parted -l
Windows
Ctrl + R -> diskpart or list disk
df -Th
vi /etc/fstab
메모리 확인
Linux OS
free -g
Windows
Ctrl + R -> msinfo32 or cmd -> systeminfo

SSL 확인
Linux OS

openssl version
ssl 설정 파일 내에서 인증서 파일 위치 확인

apm 버전 확인

Source install
/usr/local/apache/bin/apachectl -v
/usr/local/php/bin/php -v
/usr/local/mysql/bin/mysql -V

yum install

/usr/sbin or /etc/init.d에서 apachectl -v, php -v, mysql -V + php는 모듈도 확인(mysqli 때문)
: 사실상 ps -ef | grep httpd 이런 식으로 경로를 찾는 편이 빠름
자동 작업 확인

Linux OS

crontab -l

Windows
Ctrl + R --> taskschd.msc


SMS HUB 사용 여부 확인

Linux OS
ps -ef | grep sms
sms hub는 콘텐츠팀 권한이므로 기술지원팀에서는 지원이 어렵고
이전 후 고객이 확인할 때 콘텐츠팀에 따로 요구하여 이전된 서버로 적용되도록
진행할 수 있음

Nameserver 확인(DNS)
dns 사용중이라면 똑같이 옮겨줘야 함
고객이 서버 내 Nameserver를 따로 운영중인지와
Nameserver 내 구서버 IP와 연결된 도메인이 있는지 확인해야 함
외부 프로그램 사용 여부 확인
netstat 시 외부 프로그램을 사용중이라면 이 부분은 이전이 어렵다고 미리 안내해야 함
방화벽 설정 확인

Linux OS
iptables 활성화 여부 및 룰셋
firewalld 활성화 여부 및 룰셋
미리 구서버 룰셋을 스크린샷으로 저장해놓고 고객에게는 고객이 직접 설정해야 한다고 안내해야 함

 

/etc 하위 기본파일 작업

원본 복사
: 파일목록 passwd, group, shadow, gshadow
cp -arp /etc/passwd /etc/passwd_original
cp -arp /etc/group /etc/group_original
cp -arp /etc/shadow /etc/shadow_original
cp -arp /etc/gshadow /etc/gshadow_original
: 운영체제나 버전이 다른 경우 시스템 계정도 달라지기 때문에 일반 계정만 복사
: 구별법은 아래와 같이 password 값이 눈에 띄게 다름

vi /etc/shadow
==
// 일반 계정인 경우
test:$6$KBY31e78$iIOVqfx2.FiG7XEZGlrussvgjVCGCsxeT8Bhi9TZ1iadv/vuBAfhV3n.A6DXni0FtKBOrDmQkzWRiwvnrfguJ0:18360:0:99999:7:::
// 시스템 계정인 경우
sys:*:18243:0:99999:7:::
==

구서버(이전대상원본서버)와 신서버(이전받을서버) 내역 동기화
: terminator(터미네이터)로 두 서버 ssh 접속 후 창 이름을 구분함
: 각 파일을 열어 하나씩 비교하며 구서버 내역을 신서버에 붙여넣기
: 모든 파일 동기화 완료 시 신서버 로그아웃 후 재접속하여 구서버 접속정보로 접속되는지 확인

APM 설치 및 설정 작업
고객 요구대로 APM 설치
: 특이사항이 없는 경우 스크립트를 사용해도 되지만 특별한 Configure 옵션이 있는 경우 수작업 설치 진행 권장
: Configure 옵션 내역을 config.nice로 확인 후 스크립트 내에 똑같이 복사하여 스크립트를 실행하여 설치할 수 있음
설정파일 원본 복사 후 동기화
: 파일목록 httpd.conf, httpd-vhost.conf, my.cnf, php.ini
cp -arp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf_original
cp -arp /usr/local/apache/conf/extra/httpd-vhost.conf /usr/local/apache/conf/extra/httpd-vhost.conf_original
cp -arp /etc/my.cnf /etc/my.cnf_original
cp -arp /usr/local/apache/conf/php.ini /usr/local/apache/conf/php.ini_original

: 기존 서버 파일을 가져오는 방법은 작업자마다 다르나 귀찮으니 scp 사용이 편함
: 로컬 -> 원격지 서버 전송 시 scp [옵션] [원본 경로 및 파일] [계정명]@[원격지IP주소]:[전송할 경로]
: 원격지 -> 로컬 서버 전송 시 scp [옵션] [계정명]@[원격지IP주소]:[원본 경로 및 파일] [전송받을 위치]
: ssh를 임의의 포트로 사용중인 경우 scp 뒤에 -P 옵션을 붙여 사용하면 됨(-p 옵션도 있으니 꼭 대문자인지 확인)
SSL 키파일 복사
: ssl 설정 파일에서 키파일 위치를 확인 후 신서버에 똑같이 경로와 파일을 구서버에서 복사하여 생성해줌
웹 소스 가져오기
: rsync로 기존 내역을 신규 서버로 당겨옴
: 반드시 root 권한으로 가져와야 하므로 권한 설정이 막혀있는 경우 임시해제하고 가져와야 함
: 보통은 /home 소스 내에 있으나 루트가 다른 경우 확인하고 가져오기
rsync -avzPog -e ssh 서버IP:/기존 서버 경로/* /신서버 내 가져올 경로/
ex) rsync -avzPog -e ssh 115.68.87.2:/home/* /home/
DB 데이터 가져오기
기존 서버 all dump 파일 생성
mysqldump -uroot -p --all-databases > all_db.sql
all dump 파일 가져오기
rsync or scp로 가져오기
신서버에 all dump 파일 밀어넣기
: 진행상황 확인하지 않고 밀어넣기
mysql -uroot -p < all_db.sql
: 진행상황 확인하면서 밀어넣기
mysql -uroot -p
패스워드 입력 후 로그인
source all_db.sql
DB 재시작 후 확인
: 재시작해야 반영이 완료됨
방화벽 설정 동기화
구서버 내 방화벽 확인
: iptables, firewalld, ufw 활성화 여부 확인
: 룰셋 똑같이 맞춰주기

추가 데이터 확인
자동실행 파일
: Linux
crontab -l
: Windows
Ctrl + R --> taskschd.msc
SMS HUB
ps -ef | grep sms
Mail 프로세스
netstat -nltp | grep mail
사이트 접속 테스트
host 변조
: Linux
vi /etc/hosts
: Windows
C:\Windows\System32\drivers\etc\Hosts
메모장으로 열고 맨 밑부분에 IP Domain1, Domain2... 입력 후 저장
고객에게 확인 요청
host 변조방법 안내 후 사이트 및 기타 내역 확인 요청

 

Sync 동기화
DB 동기화
: 고객이 사이트 이전 확인 기간 동안 쌓인 데이터를 동기화하기 위해 all dump 작업 한 번 더 진행

웹 소스 동기화
: 웹 소스 동기화 작업도 마찬가지로 한 번 더 진행하여 sync를 맞춤
: 이 때 고객이 신규 서버 내에 소스 수정 등 작업한 내역이 있으면 덮어씌워질 수 있으니 확인 후 진행

DNS 설정
Domain IP 변경
: 자사 네임서버 사용 중일 경우 구서버 IP로 등록된 도메인을 신서버로 변경
: 외부 네임서버 사용 중일 경우 고객에게 해당 네임서버 사에 변경 요청하라고 안내

'Linux OS > 관리' 카테고리의 다른 글

zabbix server, client 설치(소스설치, 패키지설치)  (0) 2023.03.12
Owasp Zap 설치하기  (0) 2023.03.12
vncserver 서비스 데몬 만들기  (0) 2023.03.12
crontab  (0) 2023.03.12
log 관리하기 (rsyslog)  (0) 2023.03.12

댓글