서버관리자분들 ㅠㅠ 죄송합니다 질문사항이 계속 생기네요
2012.06.27 18:52
짧게 말씀드리면
저희 부서에 SQL 및 서버PC를 만질줄 아는사람이 단 한명도 없습니다....
회사 전산부서에 연락을 해도 모르겠다는 답변밖에 없어서 MAKER를 부르자니.. 돈이 들고 해서 독자적으로 한번 해보려고 합니다.
RAID 1 구성 Server PC 하드디스크는 일반 SATA 160G 하드 2개를 이용해서 사용중입니다(일명 미러링이라고 하나요?)
- 제가 연말까지 해야하는 업무 -
Server PC가 고장났을 경우 최대한 신속하게 복구시키는것.. 길어야 30분 남짓.
제가 시도해본 방법
- RAID 구성된 HDD 교체실시 (미러링 된 HDD라서 그런지 DATA도 똑같고 그냥 바로 성공했습니다.)
SERVER PC 에 있는 HDD ( 저희 서버PC가 뭔 기종인지는 모르나 PORT 0, 1 하드두개만 꽂을수 있게 되어있습니다.)
문제는....
관리자분들이 바라는것이 HDD 구매비용이 아까운것인지... 제 능력을 시험해보려는것인지 모르겠는데
진정 원하는것은 이것입니다
1. OS를 Windows Server 2003 Enterprise Edition R2를 사용중인데, sysprep 같은 것을 이용해서 만능고스트를 만들수 있는지?
네이버 검색시 win7 xp 이야기는 많은데 서버2003 이야기는 없더라구요 ㅠㅠ
(용량이 다른 HDD에 집어넣어도 OS설치가 정상적으로 되게 하라 - 이게 필수내용입니다.)
2. SQL Server 상의 DB 를 네트워크에 연결된 다른PC에 받아서 Trouble 발생 시 DB복구가능한가?
쉽게말하면.. 하드 안사고 고스트로 하라는거같은데.. 아무리 인터넷을 뒤져도 Sysprep 서버2003이 된다 안된다 라는
이야기가 없더라구요...
회사 보안팀이 있어서 아무 프로그램이나 USB 들고갔다가 보안에 걸리면 징계감이라 ;;;
직종을 알면 더 쉽게 답변해주실 수 있을거같아서,, 알려드립니다. LG DISPLAY 자동화시스템( FA장비)을 하고있습니다.
혹시나 FA장비쪽에서 일을 하시는분이나.. 서버관리자분들 계시면 답변부탁드립니다..
전 이틀전까지만해도 SQL이 뭔지도몰랐던 사람입니다 ㅠㅠ 알기쉽게 설명부탁드립니다;;
혹시나 회사에서 OS 를 고스트로 백업떠서 사용하는곳이 있으시다면 조언 부탁드려요
코멘트 8
-
piloteer
06.27 19:29
-
뮤리찌
06.27 19:35
저도 전에 생초보 상태애서 Server를 1년간 운영을 한다고 해 보았는데, case by case가 너무 많았었습니다.
전문가 분들꼐서 보시면 우스운 방식으로 관리를 했었기 때문에 도움이 안될 것으로 보입니다만... ^^;;
단도직입적으로 저는 가상서버로 돌려서 backup을 만들어서 운영을 하였었습니다.
시스템은 네트워크등 여러가지 설정요인이 너무나 많기 때문에 서버 다운시 단순 data만 가지고서는 복구가 어렵습니다.
그래서 가상 Server 3EA 각 Server별 가상 HDD는 2EA씩으로 총 6개의 가상 HDD를 돌려서 운영을 하였었으며,
각 가상 HDD를 지속적으로 backup을 떠서 운영을 하였습니다.. (MS Sharepoint Server 운영 목적)
이 방법으로는 실시간 백업은 불가능하므로, 2~3일 주기로 backup을 관리하시면 되는데 backup data가 엄청 큽니다.. ㅠ.ㅠ
메모리 할당은 최소화로 운영하셔야 합니다만, 메모리 증설은 어쩔 수 없을 것 같습니다.
당시 가상화 내용이 막 나오기 시점이라서, 엄청난 시행착오가 많았었습니다...
그냥 참조만 하시기 바랍니다.. ^^
-
고장시 30분 이내로 복구라... 메인보드, 파워가 고장날때는 어떻게 하라고 그런 무책임한 책임을 떠 넘기는 지 모르겠군요.
돈없이는 불가능한 임무입니다. 경험적으로 하드 다음으로 고장 잘 나는게 쿨링팬과 파워이거든요.
서버 하나 더 구매해서 리플리케이션으로 이중화하겠다고 해보세요. 제경우 mysql쓸때 서버 3대로 master,slave,slave 이렇게 구성해서 master서버 고장시 바로 대처가 가능하도록 사용했습니다.
-
준용군
06.27 21:46
쥐불도 모르는 입장에서 둘다 가능한걸로 압니다만.
전 흔한책두권사다가 이틀보고 환불했습니다.
아주 어렵지 않을걸로 .....결정적으로 룬이님이 해야할작업은 한정되어있습니다. -
준용군
06.27 21:49
제가 잘몰라서 하는이야기입니다만 특정 구분과 특정 데이터만 아주 극소수 기입하고 특정bd만 백업하여 떠넘기는걸로보입니다.
관련서적 한권만보고 조금만이해하는데 시간을 투자하면 해결되지 않을까싶은데요
뒷이야기 자세한설명은 아랫분이 아주빨리 해결해줄겁니다. -
먼저 올리신 질문을 보니 1분 1초라도 빨리 복구되어야 하는 서버네요.
30분내 복구도 참 가혹한 조건이라고 생각했는데, 그런 서버라면야...
결국 스노우캣님께서 적어주신 의견과 비슷한 이야기인데, HA(High Availability)구성밖에 답이 없을것 같네요.
-
혹시..물리적인 서버 자체를 미러링 하는 방법도 있나요?
그냥 궁금해서..
예전에 서버 파워가 나가 버린 적이 있어서 복구하는데 시간이 많이 걸린적이
있었는데.. 기계 장비에 연결된 컴퓨터라던지 서버 자체를 똑같은 사양의 PC 두 대를 가지고
미러링 되도록 하다가.. 장비 하나가 죽을 경우 다른 장비로 서비스가 넘어가도록 하는 방법이 가능할까요?
-
L4 스위치를 그런 용도로 많이 사용하죠.
DB 서버를 예로 들면 아래와 같습니다.
일단 구성도는 대강 이렇게 되구요.
|
L4 스위치
|
----------------------
| |
Master Slave
두 서버를 각각 master, slave라고 하고, 두 서버간에 미러링을 통해서 실시간 동기화를 시킵니다.
그리고 L4 스위치에서 DB연결에 대해서 Active-Standby로 설정을 합니다.
평소에는 Master 서버로 트래픽이 흐르게 하고, Master가 죽으면 Slave로 트래픽을 돌려버리는거죠.
Master가 죽어서 통신이 불가능해지면 L4 스위치가 트래픽을 자동으로 Slave 서버쪽으로 돌려버립니다.
그러면 Slave 서버를 통해서 서비스를 계속 하게 되는거구요.
Master 서버가 살아나면 다시 DB를 동기화 하고,
구성에 따라서 트래픽을 다시 Master로 돌리거나, 아니면 계속 Slave로 서비스를 하다가 Slave가 죽으면 Master로 다시 트래픽을 돌리게 됩니다.
물론, Active-Active로 구성하고 로드밸런싱을 하기도 합니다. ^^
일단 쪽지 답변해드렸습니다.
1번의 경우 제 특기는 윈도가 아니라 리눅스라서 도움을 드리기 힘들고, 2번의 경우 가능합니다. 쪽지에 드린 대로 주기 백업을 한 후에 자동으로 다른 외장하드나 외부 저장소에 데이타베이스를 업로드하도록 bat 파일을 짜서 스케쥴러에 등록해 두시면 원래 서버가 죽어도 그 하드디스크에서 자료를 꺼내서 그대로 다른 컴퓨터에서 db자료를 불러오는 게 가능합니다. 미리 db만 교체하면 바로 서버로 활용이 가능하도록 다른 서버측 소프트웨어들도 준비를 해두시는 게 좋습니다.
즉, 2번을 풀어서 설명하자면 다음과 같습니다.(1-2대 규모의 소규모 서버라고 가정했습니다.)
0.백업을 저장할 외부저장소나 컴퓨터를 구합니다.
1. sql을 백업/덤프뜨는 배치파일 스크립트를 만듭니다.배치파일이 실행하는 명령어는 쪽지로 드린 링크를 확인하세요.
2.저장된 백업파일을 외부 저장소나 컴퓨터로 이동하도록 배치파일을 수정합니다. 외장하드면 그냥 그 위치에 저장하면 되고, 외부 컴퓨터면 ftp등을 통해 자동 업로드하게 스크립트를 짭니다. 재대로 파일이 이동되는지를 확인합니다. (ftp의 경우 보안에 조금 신경을 써 주셔야 할 수도 있습니다.)
3.배치파일을 특정시간마다 주기적으로 실행되도록 스케쥴러에 등록합니다.윈도의 경우 제어판에서 어찌어찌 하던걸로 기억합니다.
4.서버 fail시 사용할 다른 컴퓨터를 준비해,(백업시 자동으로 파일이 업로드되도록 설정되는 컴퓨터가 이 컴퓨터여도 좋습니다.)서버 관련 소프트웨어를 죄다 올립니다. 백업된 db를 올리고 재대로 서버가 작동하는질 확인합니다.
5.기존 서버가 문제가 생길 시, 최신 백업본을 이 비상용 컴퓨터에 복원해 올린 후 고장난 서버에 맞춰 ip등 네트워크 설정을 대체해 고장난 서버를 대체합니다.
단, 이런 방법은 db파일 말고도 다른 정보가 자주 바뀐다거나 서버 소프트웨어 업데이트가 있다거나 할 경우 약간 귀찮아질 수도 있습니다. 비교적 쉽게 다른 컴퓨터를 서버로 만들고 유지하는 게 가능할 때만 통합니다.
여기서 배치파일은 유닉스의 쉘스크립트 비슷한 개념인데, 도스 써보신 분들은 익숙하실 .bat파일입니다. 그냥 메모장 열고 안에다 콘솔 명령어를 순차적으로 적어두시고 bat파일로 저장하시면 명령어가 실행됩니다.