Linux 호스트를 새 하드웨어로 복사


13

이전 하드웨어에서 새 하드웨어로 마이그레이션을 호스트하기 위해 호스트를 수행해야합니다. 특히, HP BL460G7에서 HP BL460G8까지. 기존 서버와 새 서버 모두 2 x 600GB 2.5 "드라이브가 있으며 RAID1 용으로 구성되어 있습니다. 서버 당 30 분의 다운 타임을 감당할 수 있습니다.

마이그레이션 할 서버는 4 대가 있으며 가장 작은 서버에는 논리 볼륨에 총 120GB가 할당되고 가장 큰 서버에는 510GB가 할당됩니다. 3 대의 서버가 RHEL5를 실행 중이고 1 대의 서버가 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 노드 클러스터의 일부라는 점에 유의해야합니다. 백업이 있지만 전체 시스템 장애가 발생한 경우에만 백업을 사용합니다.

이전 테스트에서는 약 50MBps의 시스템 사이에서 최대 'dd'가 너무 느리다는 것을 보여주었습니다.

편집 : 나는 kudzu를 사용하여 하드웨어 변경을 처리하고 처리하려고했습니다.


사용중인 RHEL5 및 RHEL6의 특정 버전은 무엇입니까?
ewwhite

답변에서 수정 됨
1174838

Gen8 서버에 G7 디스크를 맞추려고하지 마십시오. 실제 트레이보다 더 많이 변경되었습니다.
Chopper3

중요한 데이터가있는 RAID를 의도적으로 저하시키는 것은 좋은 계획처럼 들리지 않습니다.
kasperd

답변:


18

분포에 따라 필요한 다른 단계가있을 수 있습니다. 특히 드라이버 (@ewwhite를 지적 해 주셔서 감사합니다).

  1. livecd / usb에서 새 서버를 부팅하십시오.
  2. 새 드라이브에서 파티션과 부트 블록을 준비하십시오.
    • 설정에 따라 MBR / bootblock을 복사하여 수행 할 수 있습니다.
  3. 파일 시스템을 만드십시오.
  4. 이전 서버에서 새 서버로 재 동기화를 수행하십시오.
    • 후속 rsync가 얼마나 오래 걸리는지 확인하기 위해 다시 수행 할 수도 있습니다. 30 분 미만이면 계속하십시오.
    • 새로운 시스템이 부팅되면 실제로 시도 할 수 있습니다. IP (또는 기타) 충돌이 발생하지 않도록주의하십시오.
  5. 파일 시스템에 쓸 모든 서비스를 종료합니다
    • livecd / usb로 재부팅하는 것이 좋습니다.
  6. 이전 서버에서 새 서버로 다시 동기화 데이터
  7. 새 서버를 재부팅하고 사용하십시오

이렇게하면 원래 서버가 그대로 유지되므로 문제가 발생하면 쉽게 돌아갈 수 있습니다. 그러나 약간의 지식 (grub / rsync / partitions)이 필요하므로 미리 준비하고 테스트하기 전에 미리 준비하는 것이 좋습니다.


실제로 두 플랫폼 간에는 드라이버 차이가 있으므로 사용중인 RHEL의 부 릴리스를 아는 것이 중요합니다.
ewwhite

그래 아, 나는 ... 기업 배포판에 관한 ... 죄송합니다 '그 시합 아무것도 대답 안
폭스

@ 폭스 : 인기있는 수요에 의해 삭제되지 않았습니다. 당신의 대답은 좋습니다.
Sven

1
@ user1174838 그 장애물이되어서는 안됩니다 ... 내가 볼 수있는 유일한 문제는 매우 작은 양의 작은 파일입니다.
폭스

1
이중 rsync가 서버 다운 타임을 최소화한다는이 훌륭한 솔루션을 잊지 마십시오. 대부분의 데이터가 실행중인 서버에서 전송되기 때문에 두 번째 rsync (현재 서비스 외부 서버)는 최신 차이점.
peterh-복 직원 모니카

6

두가지:

  • 새롭고 rsync 데이터를 작성합니다.
  • 다운 타임 할당 / 창이 너무 짧은 것 같습니다. 삼십분 특정 상황에서 작동 할 수 있지만, 안 당신은 실제로 작업을 수행하는 데 걸리는 무엇을 기반으로 사실적인 가동 중단 요구 사항을 지시 할?

각 서버에 포함 된 데이터 , 데이터 이탈 량 및 프로비저닝 체계에 따라 필요한 Gen을 새 Gen8 ProLiant에 설치하고 설정 및 기타 데이터 부분을 동기화 할 수있는 지점에서 동기화하는 것이 좋습니다. 데이터.

아마도 시드 복사본을 만들어 후속 rsync에서 파일 변경 사항을 가져 오는 데 걸리는 시간에서 중단 시간 요구 사항을 도출 할 수 있습니다. 전송 프로세스를 가속화해야하거나 작은 파일이 많을 경우 이를 도와 줄 수 있는 기술이 있습니다 .

이러한 유형의 전환을 자주 수행합니다. 비슷한 Linux 설치의 경우 정확한 패키지 목록 (Yum 또는 RPM을 통해 쉽게 구할 수 있음), 구성 디렉토리 (예 :) /etc및 데이터 파티션 이상의 것이 거의 필요하지 않습니다 . 킥 스타트 프로비저닝 시스템이없는 경우 /root/anaconda-ks.cfg파일을 활용하여 G7 시스템의 구축 방법에 대한 아이디어를 얻을 수 있습니다 .

언급 한 특정 RHEL 버전을 기반으로 디스크를 단순히 이동하는 것에 대한 질문에 대답하기 위해서는 이것이 가능합니다. 디스크 / 캐디를 이동할 수 있으며 HP Smart Array 메타 데이터는 시스템에있을 수있는 P410 및 P420 컨트롤러간에 호환됩니다. 그러나 새 시스템에서 드라이브 및 구성 요소의 펌웨어를 먼저 완전히 업데이트하지 않으면이 작업을 수행하지 않습니다.


이 스레드에서 정말 좋은 의견은 모두 감사합니다. PM으로 돌아가서 더 큰 변경 창을 요청하겠습니다.
user1174838

1

이전 OS 버전에서 새 하드웨어 (대개 RAID 컨트롤러)를 처리 할 수있는 경우 CloneZilla를 사용해 볼 수 있습니다 .

한 하드웨어에서 다른 하드웨어로 이동할 수 있는지 확인하기 위해 dd로 트릭을 수행하여 모든 데이터를 이전 서버에서 새 서버로 전달합니다.

SystemRescueCD 와 같은 라이브 배포판으로 새 서버를 부팅하고 IP 주소와 다음과 같은 dd 명령으로 구성하십시오.

nc -l 8000 | dd of=/dev/sda

현재 서버에서 수행

dd if=/dev/sda | nc ${newserverip} 8000

이것은 서버의 / dev / sda를 새로운 서버 / dev / sda에 복사합니다. 이렇게하면 원래 서버에서 다운 타임없이 테스트를 수행하고 거의 위험을 감수 할 수 있습니다.


2
이전 디스크의 파일, 특히 데이터베이스 서버 및 이와 유사한 파일에 기록하는 프로세스를 이전 서버에서 실행중인 경우 이로 인해 손상된 (복사 된) 파일 시스템 및 (복사 된) 파일의 손상된 데이터가 남을 가능성이 매우 높습니다. 원시 디스크를 마운트 해제하거나 읽기 전용으로 마운트하지 않는 한 원시 디스크를 작성하지 마십시오.
Guntram Blohm은 Monica를

@GuntramBlohm 내가 아는 것은, donwtime없이 기존 서버를 새로운 서버로 복제 할 수 있는지 확인하는 것입니다. 테스트 한 후에는 서버를 복제하거나 물론 서버를 종료하거나 주요 서비스를 중지 할 수 있습니다.
alphamikevictor 12

CloneZilla 및 관련 기술은 시스템간에 데이터를 복사하는 데 30 분 이상 소요됩니다.
user1174838

0

프로젝트 관리자가 더 큰 중단 창 요청을 거부했습니다.

질문에 요약 된 제안 된 절차는 테스트에서 잘 작동했습니다. 가동 중지 시간은 20 분 미만입니다. hpacucli 유틸리티를 사용하여 G7의 진행 상황을 모니터링 한 다음 Gen8을 사용하여 매우 유용했습니다.

아직 화 내지 않았지만 BL460G7에서 BL460 Gen8까지 RHEL 5.10을 테스트하는 데 효과적이었습니다.

펌웨어를 업데이트하지 않았습니다.

G7에서 초기 RAID1 재 동기화는 한 시간 이상이 걸렸습니다. Gen8의 재 동기화는 50 분이 채 걸리지 않았습니다. 이것은 나에게 관심이 있었지만 문제를 찾지 못했습니다.

모든 유용한 의견과 제안에 다시 한번 감사드립니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.