웹마스터 팁

오래전부터 제로보드와 XE, 워드프레스 등 CMS 를 사용해 만들고, 업그레이드하고, 이전시켜온 홈페이지가 2~300여개정도 된다. 본업은 아니지만 하나씩 알아가는 재미삼아 시작한 웹제작의 결과물이다.


이번에 의뢰받은 사이트는 꽤 규모가 있는 대형 커뮤니티사이트인데

자료를 보니 5년전 내가 구축해주었던 제로보드4로 구축된 사이트이고 이번에 여러가지 이유때문에 XE로 구축, 이전하기로 하였다


문제는 늘 수십에서 수백명이 동시접속해 있는 상태이며 데이타량만 300기가 정도 되었다.


규모가 작은 몇백메가 정도의 사이트라면 많이 해 봤기 때문에 별 두려움은 없었는데 이 사이트는 수년사이 데이타량이 엄청나게 증가하였고 잠시라도 서버가 버벅거리는 징후가 오면 게시판에 회원들의 불만이 표출되는 특성때문에 무턱대로 들이댈수 없는 형편이었다.


이 사이트는 카페24단독웹호스팅으로 운영되고 있으며 새 XE사이트 역시 새로운 서버를 구성해 카페24내에 구축해두었다.


이제 데이타 이전만 하면 되는데 테스트 삼아 Zboard->XE 마이그레이션툴로 기존 게시물중 일부를 백업받으려고 보니 게시물수도 어마어마하다.

사진커뮤니티이기때문에 모든 게시물마다 고해상도 사진파일들이 첨부되어있었고 총 30여개의 게시판에 게시물수도 30만개 가량 되었다.


백업할 XML 파일을 1기가 단위로 분할하여 그중 한개를 다운로드받아보니 다운로드 시간만도 무지 오래걸리고, 아니나 다를까 사이트관리자로부터 연락이 왔다. 지금 무슨 작업하느냐고, 회원들 항의가 들어왔다고..

항의를 무릅쓰고 한가지 테스트를 더 해보았다.

즉, 마이그레이션옵션중 "첨부파일미포함" 옵션을 켜고 생성된 XML 파일용량을 보니 켜지않는 상태보다 약 1/50 정도의 용량밖에 되지 않았다.

이 정도면 현재방식으로 작업이 가능하겠다싶어 새 서버에 임포트시켜보니 웬걸, 첨부파일이 영문이면 제대로 임포트가 되는데 한글파일명은 모조리 패쓰하고 만다.


트래픽과 구서버의 HDD용량 때문에 도저히 이 방법으론 불가하다는 판단하에 새로운 방법을 생각했는데

카페24관리자에게 특정시간대에 기존 자료를 아직 사용자가 없는 새서버에 모두 분할백업받아주면 그 자료를 일괄 다운로드받아 PC에 APM 을 설치하고 똑같은 환경에서 PC에서 XML을 다운로드받아 작업하기로 했다.

그리고 백업본 이후에 다시생성되는 나머지 게시물들은 차후 새 서버 오픈하기이전 몇시간정도를 구서버를 세우고 작업하기로 하였다.


다음은 작업 순서별 내용이다.


1. 기본장비를 점검했다. PC에서 300기가정도의 압축데이타를 풀수 있을정도가 되지 않는다. 1T HDD 를 추가구입 장착했다. 작업할 PC가 T끼리 결합하면 공짜로 주는 인터넷이고 게다가 무선랜환경이라 속도도 초당 3~4메가정도밖에 나오질 않는다. 속도문제로 정 안되면 PC방 가서하면 되겠지 생각했다.


2. 카페24에 백업을 의뢰했다. 데이타량 때문에 새서버의 HDD 를 떼어다가 구서버의 HDD를 통채로 카피하여 압축하는 방식으로 했는데, 2,3시간정도면 될줄 알았는데 자꾸 데이타누락이 생겨 새벽부터 그날 오후 6시경까지 진행되었다.

데이타는 300여기가를 5기가단위로 잘라 tar.gzaa 형태로 총 50여개의 파일로 새서버에 분할압축 저장하였다.DB는 약 1.9기가정도의 sql 파일 한개로 백업하였다.


3. 이 데이타를 ftp 로 다운로드받으면서 동시에 PC에 APMSetup 을 설치하였다.

그런데 APMSetup7 은 기본적으로 utf8 로 세팅된다. DB환경을 euckr 로 쉽게 바꿀수 있을줄 알았는데, 설정변경후 백업 sql 을 임포트시켜보니 계속 한글이 깨진다. 결국 APMSetup5 로 설치하였다.

약 1.9기가 가량의 sql 은 다행히 잘 임포트되었다. DB 문제는 해결이다.


4. 이제 50여개로 분할압축된 약 300기가의 데이타를 압축해제해야한다.

Alzip 을 실행해 보니 아니나다를까 첨부터 먹히질 않는다. 일찌감치 포기하고 알집은 아예 삭제해 버렸다.


구글링을 해보니 이정도 데이타를 윈도우환경에서 압축해제하려면 7zip 이 가장 낫다고 되어있다. 그런데 공홈에서 설명하는 내용을보니 Tar 압축인 경우 32비트 PC에서는 최대 2기가 까지만 압축해제가 가능하다고한다 (정확하게 해석했는지는 모르겠다)

어찌됐든 시도해보기로 했는데 전체 분할파일을 모두 선택하고 7z 으로 해제를 시작하니 3가지정도의 오류가 생긴다.

.tar로 해제생성할 수 없고 gzip 포맷으로 해제될거다, 마지막 추가파일이 더 있는거 같다 등 총 3가지 오류였는데 무시하고 해제를 강행하였다.


그런데 압축해제된 파일을 보니 ABC.tar 아니면 다른형태로라도 확장자가 붙어있어야 되는데 아예 확장자없는 파일이 생겨있다.

용량은 약 300기가 정도로 제대로 풀려있는거 같은데 순간 황당했던 기분이란..


암튼, 오류가 3가지나 생겼으니 제대로 해제가 안된거라고 판단하고 다시 반디집을 통해 시도해 봤는데 반디집은 분할압축된 파일들은 해제할수 없나보다. 여러파일들을 동시 선택할 수 없고, 첫번째 파일만선택후 압축해제하니 오류가 생겨버린다. 난감.


모험을 해보기로 했는데 7zip 을 통해 확장명없이 생성된 파일명을 고쳐 ABC.tar 란 확장자를 붙이고 다시 반디집으로 압축을 해제해 보니 어라? 압축이 풀린다.

무려 300기가를 잘 풀어낸다. 반디집 대단하다!


지금 그렇게 풀어낸 300기가 데이타를 PC에서 APMSetup->htdocs 로 복사시켜두고 XML 백업받고 있다.

그중 한개를 ftp 로 새서버에 업로드하여 테스트 하니 첨부파일까지 잘 들어갔다.


이제 날밤새며 PC APM에서 XML 만들고, ftp 로 새서버에 올리고, 새서버에서 xml 임포트 시키는 일들이 남아있다.

그런데 APM 로컬서버에서 XML 다운로드받는것도 시간이 꽤 걸린다. 아무래도 PC 사양문제인듯하다.


압축해제하면서 알게된건데 윕도우용 TarTool 이란것도 있다. 반디집으로 안되면 TarTool 을 써봐야겠다 생각했는데 아직 못써봤다.

참고로, 작업 PC환경은 아래와 같다. 당분간 PC는 안바꿔도 되겠다. ^^


0.png




PS : 이 글이 팁이 될수 있을지는 모르겠지만 검색해 보니 대용량서버이전에 대한 글들이 부족하고 나름대로 시행착오를 거쳐 얻은 노하우라 생각되어 기록으로 남겨둘겸 이곳에 글을 남깁니다.

저같은 케이스를 만나실 일 있으시면 조금이라도 도움 되시길

제목 글쓴이 날짜
주소를 지도링크하기 마루디자인 2015.03.04
도메인이 바뀐후 기본 URL을 바꿨지만 2차메뉴의 링크는 바뀌지 않은 경우. [9] Ryuj 2013.11.20
xpresseditor에 한글 글꼴 추가 [2] YJSoft 2013.10.25
XE 로그인을 아이디로 바꾸려는데 회원설정에서 회원가입 탭이 안보일때. 불금 2015.02.27
PDF 뷰어 팁 [4] 돼지코구뇽 2014.12.06
kakao Javascript SDK logout 컴박살 2015.02.25
특정 게시판에서는 스팸 ip 동작 안하게 하기 [4] Kxo 2015.02.22
htaccess 보안 팁 포럼위트 2015.02.24
300기가 Zboard4->XE 이전기 [14] file forest535 2015.02.13
스케치북 최신버전에서 미리 덧글 입력해두기 [5] file LI-NA 2015.02.18
추천 취소 기능 만들기 [5] file Summer 2013.09.11
xe core 설치 화면 오류 있습니다. 이렇게 바꿔주세요. [2] 한꼬마 2015.02.18
데이타 이전 시 xml 파일 임포트 속도 높이기 ^^ forest535 2015.02.17
jquery 외부로드하기 [22] DynamicLaser 2014.04.07
XE와 별도 프로그램 연동시 세션공유 [15] 똑디 2008.12.12
snoop가 안될때 curl 로 가져오기 [3] 한꼬마 2015.02.13
템플릿등에서 PHP 제어 구조(if, for, foreach)의 대체 문법 적용 [3] 총모아 2015.01.30
1.4.2.3 에서 1.4.3 이상 버전으로 업그레이드 시 백지화면 해결팁 [4] 2년후 2010.12.15
회원가입후 24시간 이후 글작성 가능하기 [2] 샵사이드 2015.02.09
인증메일을 gmail의 smtp로 보내기 [29] showjean 2012.07.17