답변:
대상에서 sshd가 실행중인 소스에서 대상으로 복사 :
dd if=/dev/sda | gzip | ssh root@target 'gzip -d | dd of=/dev/sda'
대상이 sshd를 실행하지 않을 때 sshd_host를 통해 소스에서 대상으로 복사
nc -l -p 62222 | dd of=/dev/sda bs=$((16 * 1024 * 1024))
ssh -L 62222:target:62222 sshd_host &
출처: dd if=/dev/sda | nc -w 3 localhost 62222
dd - if = 가 소스이고 of = 가 대상, bs = 가 블록 크기입니다. 블록 크기가 다르면 성능이 향상 될 수 있습니다. 16은 일반적으로 상당히 합리적인 출발점입니다. count = 를 사용 하여 복사 할 블록 수를 나타낼 수도 있습니다 .
nc -- p 는 서비스에 사용할 포트를 나타냅니다. -l 은 서비스를 시작하는 데 사용됩니다. -w 는 종료하기 전에 pipline의 데이터를 기다리는 시간을 설정합니다.
ssh -- L 은 원격 호스트에서 터널을 설정합니다. 인수의 형식은 local_port:target_host:target_port
입니다. 로컬 프로그램 (nc)은 local_port에 연결되며이 연결은 터널링되고 target_host의 target_port에 연결됩니다.
정의 된 옵션은이 옵션에 사용 된 옵션입니다. 자세한 내용은 매뉴얼 페이지를 참조하십시오.
몇 가지 참고 사항 :
source machine dd -> nc -> ssh -> ssh tunnel -> sshd server -> nc on target -> dd
ssh없이 netcat을 사용하려면. 이것이 가장 빠른 방법이고 안전한 방법은 아니라고 가정합니다. 다음과 같이 전체 디스크를 복사하고 복원 할 수 있습니다.
IP 192.168.0.1의 컴퓨터 A
cat /dev/hdb | nc -p 9000
컴퓨터 B에서
nc -l 192.168.0.1 9000 > /dev/hdb
man nc에 따르면 -l 옵션은 다음과 같습니다.
-l nc가 원격 호스트에 대한 연결을 시작하지 않고 들어오는 연결을 수신하도록 지정하는 데 사용됩니다. 이 옵션을 -p, -s 또는 -z 옵션과 함께 사용 하면 오류가 발생 합니다.
netcat은 필요하지 않습니다.
src 컴퓨터에서 다음을 실행하십시오.
dd if=/dev/sdX bs=1M | ssh root@dstMachine " dd of=/dev/sdY bs=1M"
sdX 및 sdY의 파티션이 마운트되지 않았다고 가정합니다. knoppix 또는 기타 유사한 라이브 배포판으로 두 상자를 모두 부팅 할 수 있습니다 .
DD - 데이터 걸리는 경우 - [제공되지 않은 경우 표준 입력에서 소요]로 데이터를 송신 의 [제공되지 않는 경우 - 데이터는 표준 출력으로 전송된다]. bs -block size ...는 속도를 높여줍니다.
ssh-원격 상자에서 따옴표로 제공된 명령을 실행합니다. ssh의 stdin으로 펌핑 된 모든 데이터는 원격 시스템으로 터널링되고 그곳에서 실행 된 명령에 stdin으로 porovided됩니다.
netcat을 사용한 기본 사본 이 여기에 설명되어 있습니다 .
여기에 SSH를 포함 시켜야 할 경우 , 포트 포워딩 을 사용할 수 있습니다 .
-R [bind_address:]port:host:hostport
그러나 전체적으로, 당신은 (netcat없이) 먼저 SSH 전송을 수행 할 수 있습니다.
또는 clonezilla를 사용하여 sshfs를 통해 원격 스토리지를 "마운트"할 수 있습니다.
위에 제공된 옵션을 조합하여 시도했으며 결과를 공유하고 있습니다. dd 블록 크기, gzip 및 gzip 압축 알고리즘을 조합하여 사용하는 것이 가장 빠릅니다.
보시다시피 gzip은 1M 블록 크기와 함께 빠른 알고리즘을 사용할 때 개선되었습니다.
time dd bs=1M if=/dev/HypGroup00/stage-snapshot | gzip --fast | ssh hyp5 'gzip -d | dd bs=1M of=/dev/HypGroup00/stage'
12884901888 bytes (13 GB) copied, 326.045 s, 39.5 MB/s
time dd if=/dev/HypGroup00/stage-snapshot | gzip --fast | ssh hyp5 'gzip -d | dd of=/dev/HypGroup00/stage'
12884901888 bytes (13 GB) copied, 370.158 s, 34.8 MB/s
time dd if=/dev/HypGroup00/stage-snapshot | ssh hyp5 dd of=/dev/HypGroup00/stage
12884901888 bytes (13 GB) copied, 370.274 s, 34.8 MB/s
time dd bs=1M if=/dev/HypGroup00/stage-snapshot | ssh hyp5 dd bs=1M of=/dev/HypGroup00/stage
12884901888 bytes (13 GB) copied, 372.906 s, 34.6 MB/s
time dd bs=1M if=/dev/HypGroup00/stage-snapshot | gzip | ssh hyp5 'gzip -d | dd bs=1M of=/dev/HypGroup00/stage'
12884901888 bytes (13 GB) copied, 520.116 s, 24.8 MB/s
LVM을 통해 로컬 디스크를 사용하는 Enterprise GigE 스위치를 통해 GigE에 연결된 두 개의 빠른 서버가 사용되었습니다.
슬레지 해머를 사용하여 너트를 깨뜨리는 것처럼 보이거나 더 나은 비유로 가위로 잔디를 자르려고합니다. :)
사내에서해야 할 큰 이유가없는 한 이런 작업을 수행하기위한 도구 중 일부를 살펴 보는 것이 좋습니다.
Trinity Rescue Kit 는 멀티 캐스트를 통한 이미징 드라이브를 지원하는 무료 라이브 CD이며, 전체 보어 이미징 시스템으로 가지 않고 원하는 것을 수행 할 수 있습니다.