CentOS 서버 동기화 Step by Step! (feat. Rsync)

2015.03.25 기준 CentOS 최신 버전은 7.0.1406 이지만 무한한 삽질로 인한 빡침으로 14년 10월 20일에 릴리즈된 6.6 버전으로 진행한다.

(7.0.1406 버전으로 정신적 데미지 많이 받음… 하아…)

– 일단 휘리릭 휘갈겨 쓴 후, 시간을 두고 글 정리를 해야겠음.. 이쁘게 다듬으려니 귀찮..OTL

[일반 PC 에서의 작업]

별도 준비물 : FAT32 형식으로 포맷된 4GB 이상의 USB 메모리 (본체에 꽂아 놓은 상태로 진행 ㄱㄱ)


1. CentOS 6.6 넷인스톨 iso 파일을 다운로드 한다. (64bit 기준)

( http://ftp.daum.net/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-netinstall.iso )

2. iso2usb 유틸리티를 다운로드 한다. (2015.03.25 기준 최신 : v0.7)

( http://sourceforge.net/projects/iso2usb/files/latest/download )

3. 2에서 다운받은 압축파일을 압축해제하고 나온 실행 파일을 실행한다. ( iso2usb.exe )

4. 1에서 다운받은 iso 파일을 선택하고 하단의 USB 드라이브 명을 확인한 후 OK

5. 약 2~3분이 지나면 부팅가능한 USB 메모리가 된다. 본체에서 안전하게 제거하고 (전원이 꺼져있는) 설치할 서버 본체 USB 포트에 꽂는다.

A 서버에서 B 서버로 파일들을 동기화 또는 백업 하려고 함!

[A & B서버에서의 공통 작업]

# OS 설치작업 시작 #

1. 서버를 켜고 BIOS 메뉴에 들어가서 USB 메모리를 첫번째 부팅 장치로 설정한다. 그리고 저장 후 재시작.

2. ‘Install CentOS 6.6 뭐시기 블라블라~’ 선택하고 좀 기다리면 시퍼런 배경의 설정 창이 뜬다.

3. 일단 랜카드부터 설정을 해준다. IP / 게이트웨이 / DNS 등

4. 설정이 잘 되면 어느 CentOS 미러서버의 파일을 다운받아 설치를 계속 진행할 건지 설정하는 창이 뜬다.

( http://ftp.daum.net/centos/6.6/os/x86_64/images/install.img ) – 다음서버가 제일 속도 준수하더라..

5. 주소를 올바르게 입력하면 혼자 다운로드 받고 GUI 설치화면으로 넘어간다. (여기서부터가 리얼 설치)

6. 시간대 설정하고 Root 비번 설정하고 파티션 설정하고 소프트웨어 뭐 설치할지 설정하고 나면 실제 설치가 진행된다.

(아직 익숙치 않은데 호기롭게 Minimal 로 설치했다가 무한삽질로 인해 눈물을 머금으며 다시 재설치 했다.)

7. 설치의 마지막 과정인 재시동이 되고 나면 엄청나게 많은 설정사항들이 [ OK ] 를 내뱉으며 서버 관리자의 로그인 직전 상태가 된다.

8. 관리자 로그인 후 랜카드가 제대로 잡혔는지 여기저기 ping 날려준다. 문제 없길 바라자. (문제 있으면 구글링해서 해결하자.. 그것까지 적으려니 귀찮다.)

# OS 설치작업 끝 #

9. SSH 자동 로그인 작업

[root@localhost ~]# ssh-keygen -t rsa

# 그 후 입력하는 것들 뜨면 일단 엔터 연타 #

그럼 root 폴더 밑에 .ssh 디렉토리와 그 하위에 id_rsa, id_rsa.pub 파일이 생성될 것이다. (뭐가 문제인지 강제로 .ssh 폴더 생성후 퍼미션 설정해도 자동 로그인이 안 될 수 있다.)

(원래 서버 작업시 최고관리자/root 로 작업하는 걸 보안상의 이유로 추천하지 않는다. 이 글에서는 귀차니즘으로 인해 이렇게 처리한다는 걸 보여주기 위함!)

A 서버 정보 : 1.2.3.4

B 서버 정보 : 5.6.7.8

B 서버 SSH 포트 : 20000

[A 서버에서의 작업]

SSH 공개키 작업 시작#


1. 9에서 생성된 id_rsa.pub 파일을 B 서버로 보내야한다.

[root@localhost ~]# cat ~/.ssh/id_rsa.pub | ssh -p 20000 root@5.6.7.8 ‘cat >> ~/.ssh/authorized_keys’

# B서버의 root 비밀번호를 물을 것이다. (위 명령어에서 root 로 B 서버 ssh 로그인 시도하니까!)

그리고 퍼미션도 한 번 설정해준다.

[root@localhost ~]# ssh -p 20000 root@5.6.7.8 ‘chmod 0600 ~/.ssh/authorized_keys’

2. 1의 작업으로 B서버로의 ssh 로그인은 비밀번호 입력할 필요 없이 바로 할 수 있다.

[root@localhost ~]# ssh -p 20000 root@5.6.7.8

SSH 공개키 작업 끝#

# rsync 세팅 시작 #

1. 테스트겸해서 A 서버의 작은 디렉토리(/test)를 B 서버로 보내본다.

[root@localhost ~]# rsync -avzh /test -e “ssh -p 20000” root@5.6.7.8:/backup


2. 첫 동기화라서 해당 A 서버 경로의 파일을 모조리 체크하고 전송하기 시작할 것이다.

(B 서버의 /backup/test 경로로 파일 전송)