기존 하드웨어에서 새 하드웨어로 호스트 간 마이그레이션을 수행해야 합니다. 특히 HP BL460G7에서 HP BL460G8까지입니다. 이전 서버와 새 서버 모두 2개의 600GB 2.5인치 드라이브를 갖고 있으며 RAID1으로 구성되어 있습니다. 서버당 30분의 가동 중지 시간을 감당할 수 있습니다.
마이그레이션할 서버는 4개이며, 가장 작은 서버에는 논리 볼륨에 총 120GB가 할당되고 가장 큰 서버에는 510GB가 할당됩니다. 세 개의 서버가 RHEL5를 실행하고 있고 한 개는 RHEL6을 실행하고 있습니다.
나는 주어진 시간 내에 OS와 중요한 데이터를 파괴하지 않고 이 작업을 수행하는 방법에 대해 고민해 왔습니다.
내 유일한 생각은 이것이다.
- 기존 서버에서 드라이브 하나 제거(서버가 켜져 있음)
- 새 서버에서 두 드라이브를 모두 제거합니다(서버가 꺼져 있음).
- 캐디에서 G7 드라이브를 제거하고 따로 보관합니다.
- 캐디에서 G8 드라이브를 제거하고 G7 캐디에 설치
- G7 캐디의 G8 드라이브를 기존 서버에 설치
- RAID 컨트롤러가 RAID1 어레이를 재구축할 때까지 기다립니다.
- 완료되면 기존 서버 종료
- G7 캐디에서 G8 드라이브 제거
- G8 캐디에 G8 드라이브를 설치하고 G8에 삽입합니다(단일 드라이브 설치).
- G8 서버 부팅
- OS가 부팅될 때까지 기다리세요
- OS가 부팅되면 남은 드라이브를 삽입합니다.
- RAID 어레이가 재구축될 때까지 기다립니다.
제정신으로 들리나요?
편집: RHEL5는 RHEL5.10이고 RHEL6은 RHEL6.6입니다.
또한 시스템 중 두 개가 애플리케이션 "이벤트"(핵심 인프라 시스템의 일부)를 거의 지속적으로 복제하는 핫 4노드 클러스터의 일부라는 점도 언급했어야 했습니다. 백업이 있지만 전체 시스템 오류가 발생한 경우에만 사용합니다.
이전 테스트에서는 시스템 간 최대 'dd'가 약 50MBps인 것으로 나타났는데 이는 너무 느립니다.
편집: 나는 하드웨어 변경 사항을 픽업하고 처리하기 위해 kudzu에 의존하려고 했습니다.
답변1
배포판에 따라 다른 단계가 필요할 수도 있다는 점에 유의해야 합니다. 특히 드라이버입니다(@ewwhite를 지적해 주셔서 감사합니다).
- livecd/usb에서 새 서버를 부팅합니다.
- 새 드라이브에 파티션과 부팅 블록을 준비합니다.
- 설정에 따라 MBR/bootblock을 복사하여 이 작업을 수행할 수 있습니다.
- 파일 시스템을 만드십시오.
- 이전 서버에서 새 서버로 rsync를 수행합니다.
- 후속 rsync에 시간이 얼마나 걸리는지 확인하기 위해 다시 수행할 수 있습니다. 30분 미만이면 계속하세요.
- 이제 새로운 시스템이 부팅되면 실제로 시도해 볼 수 있습니다. IP(또는 기타) 충돌이 발생하지 않도록 주의하세요.
- 파일 시스템에 쓰는 모든 서비스를 종료합니다.
- livecd/usb로 재부팅하는 것이 좋습니다.
- 이전 서버에서 새 서버로 데이터 재동기화
- 새 서버를 재부팅하고 사용하세요
이렇게 하면 원본 서버가 그대로 유지되므로 문제가 발생하면 쉽게 돌아갈 수 있습니다. 하지만 이를 위해서는 약간의 지식(grub/rsync/partitions)이 필요하므로 라이브로 수행하기 전에 미리 몇 가지 준비 작업과 테스트를 수행하는 것이 좋습니다.
답변2
두가지:
- 나는 새로 만들고 rsync 데이터를 만들 것입니다.
- 가동 중지 시간 할당/기간이 너무 짧은 것 같습니다. 특정 상황에서는 30분이 효과가 있을 수 있지만 그렇게 해서는 안 됩니다.너실제로 작업을 수행하는 데 필요한 것을 기반으로 현실적인 가동 중지 시간 요구 사항을 지정하고 있습니까?
각 서버에 포함된 데이터에 따라 데이터의 양은휘젓다및 프로비저닝 체계를 고려하면 필요한 OS를 새로운 Gen8 ProLiant에 설치하고 데이터를 중지할 수 있는 지점에서 설정 및 기타 데이터 부분을 동기화하는 것이 합리적일 수 있습니다.
아마도 시드 복사본을 만들고 후속 rsync에서 파일 변경 사항을 선택하는 데 걸리는 시간에서 가동 중지 시간 요구 사항을 도출할 수 있습니다. 전송 프로세스를 가속화해야 하거나 작은 파일이 많은 경우 다음이 있습니다.이에 도움이 될 수 있는 기술.
저는 이런 전환을 자주 합니다. 유사한 Linux 설치에서는 정확한 패키지 목록(Yum 또는 RPM을 통해 쉽게 얻을 수 있음), 구성 디렉터리(예: /etc
) 및 데이터 파티션 외에는 거의 필요하지 않습니다. 킥스타트 프로비저닝 시스템이 아직 없다면 파일을 활용하여 /root/anaconda-ks.cfg
G7 시스템이 어떻게 구축되었는지에 대한 아이디어를 얻을 수 있습니다.
언급한 특정 RHEL 버전을 기반으로 디스크 이동에 대한 질문에 대답하는 것은 절대적으로 가능합니다. 디스크/캐디를 이동할 수 있으며 HP Smart Array 메타데이터는 시스템에 있을 수 있는 P410 및 P420 컨트롤러 간에 호환됩니다. 하지만 먼저 새 시스템의 드라이브와 구성 요소의 펌웨어를 완전히 업데이트하지 않고는 이 작업을 수행하지 않을 것입니다.
답변3
이전 OS 버전이 새 하드웨어(주로 RAID 컨트롤러)를 처리할 수 있는 경우 다음을 시도해 볼 수 있습니다.클론Zilla.
한 하드웨어에서 다른 하드웨어로 이동할 수 있는지 확인하려면 dd를 사용하여 몇 가지 트릭을 수행하여 이전 서버의 모든 데이터를 새 서버로 전달합니다.
다음과 같은 라이브 배포판으로 새 서버를 부팅합니다.시스템복구CD, 다음과 같이 IP 주소와 dd 명령을 사용하여 구성합니다.
nc -l 8000 | dd of=/dev/sda
현재 서버에서 수행
dd if=/dev/sda | nc ${newserverip} 8000
이렇게 하면 서버의 /dev/sda의 원시 복사본이 새 서버 /dev/sda에 만들어집니다. 이렇게 하면 원본 서버에서 다운타임 없이 테스트를 수행할 수 있으며 위험도 거의 0에 가깝습니다.
답변4
프로젝트 관리자가 중단 기간을 연장해 달라는 요청을 거부했습니다.
질문에 설명된 제안된 절차는 테스트에서 잘 작동했습니다. 가동 중지 시간은 20분 미만이었습니다. hpacucli 유틸리티를 사용하여 G7과 Gen8의 진행 상황을 모니터링했는데 매우 유용했습니다.
나는 아직 화가 나서 이 작업을 수행한 적이 없지만 앞서 언급한 대로 BL460G7부터 BL460 Gen8까지의 RHEL 5.10에 대한 테스트에서 잘 작동했습니다.
펌웨어를 업데이트하지 않았습니다.
G7의 초기 RAID1 재동기화에는 한 시간이 조금 넘게 걸렸습니다. Gen8의 재동기화에는 50분도 채 걸리지 않았습니다. 이것이 나를 염려했지만 어떤 문제도 발견할 수 없었습니다.
모든 유용한 의견과 제안에 다시 한번 감사드립니다.