내 상황은 다음과 같습니다.
- 기가비트 이더넷을 사용하는 동일한 데이터 센터에있는 2 개의 전용 서버
- 두 전용 서버 모두 추가 도구와 유틸리티가 추가 된 Debian Squeeze 기반의 복구 환경으로 부팅되었습니다. 또한 소프트웨어 다운로드, 패키지 설치 및 / 또는 필요에 따라 컴파일 할 수있는 충분한 tmp 공간 (두 상자에 32GB RAM)이 있습니다.
- 두 전용 서버 모두 약 3TB의 사용 가능한 공간이 있습니다.
- "소스"서버에는 Adaptec 4 포트 컨트롤러가있는 하드웨어 RAID-10에 4 개의 1.5TB 디스크가 있습니다.
- "대상"서버에는 Adaptec 2 포트 컨트롤러가있는 하드웨어 RAID-1에 2 x 3TB 디스크가 있습니다 (다른 포트와 동일하지만 포트 수는 다릅니다).
- 사용 가능한 블록의 수는
/dev/sda
10MB 미만이지만 대상 서버의 배열은 몇 메가 더 작습니다. - 두 RAID 어레이는 모든 구성 디스크의 전체 디스크 표면을 사용하여 하나의 단일 RAID 볼륨을 생성하도록 구성되어 있습니다.
- 운영 체제는 MBR 모드로 부팅됩니다. UEFI 부팅이 사용되지 않습니다.
내가하고 싶은 것 :
- "소스"서버에서 "대상"서버로 전체 OS 이미지 (GPT 파티션 테이블의 GRUB2 부트 로더, / boot 파티션 및 / 파티션으로 만 구성됨)를 블록 계층에서 복사하십시오.
- 가능한 경우 복사는 "실시간"으로 이루어져야합니다. 즉, 디스크 이미지를 복사본으로 하드 디스크에 압축을 풀지 않는 한 대상쪽에 적절한 디스크 이미지 파일을 저장할 공간이 충분하지 않습니다. 일어나고 있습니다. 서버 간의 기가비트 이더넷 연결은 이것에 익숙 할만큼 충분히 안정적
fsck
이며, 전송 전후에 파일 시스템이 정상인지 확인하기 위해 양쪽 끝 (소스 및 대상)에서 실행됩니다. - 가능하면 각 파티션의 구성 파일 시스템에서 사용하지 않는 네트워크를 통해 블록을 전송하지 마십시오 (모든 파티션은 ext4로 포맷 됨). "소스"디스크의 50 % 이상이
/
파티션 에서 사용 가능한 공간이기 때문 입니다. /
복사 할 때 대상 디스크의 크기보다 작은 크기로 맞도록 파티션 크기를 조정하십시오 .- 복사가 성공하면 각 볼륨을 마운트하고 고정 IP에 대한 참조를 수정하여 새 서버의 IP를 반영하십시오. (추가 도움 없이이 작업을 올바르게 수행 할 수 있습니다)
내 질문 :
- 내가해야 첫 번째 의 크기 사이 (바이트)의 차이를 계산
/dev/sda
각 서버를 한 다음 사용e2resize
비파괴로의 크기를 줄일/
파티션을 소스 측에 이 대상 측의 공간에 맞도록? - 나는 실행해야
dd
원시 블록 장치에/dev/sda
대상 (이상으로 소스에서ssh
), 또는 I 대상에 해당 파티션 레이아웃을 생성해야하고 실행dd
각 파티션 ? 한 번에 파티션을 처리하면 부트 로더의 문제가 발생하지만 한 번에 파티션을하지 않으면dd
대상이 보유 할 수있는만큼 많은 바이트를 쓴 후에 데이터 전송을 중지해야합니다. (/
마지막으로 블록 의 파티션 끝을 "닫습니다" . 이는 소스의 파티션 레이아웃에서 다른 모든 파티션의 논리적으로 "오른쪽에 있습니다".
몇 가지 기타. 사양 :
- 소스 상자의 호스트 OS는 여러 OpenVZ 게스트를 실행하는 Ubuntu Server 12.04입니다.
- 두 상자가 모두 구조로 부팅되므로 실행중인 운영 체제에서 기본 데이터를 변경하지 않고도 디스크에 직접 액세스 할 수 있습니다.