it-swarm-ko.tech

DD를 사용하여 기존 드라이브에서 새 드라이브로 데이터를 마이그레이션하려면 어떻게해야합니까?

랩톱의 내부 SATA 하드 드라이브를 40G 드라이브에서 160G 드라이브로 업그레이드하고 있습니다. SATA 카드가있는 Linux/Ubuntu 데스크탑이 있습니다. 실제로 직장에서 몇 개의 CentOS 및 FreeBSD 상자에 대해 동일한 작업을하고 싶습니다. 이것은 동일한 솔루션을 갖는 것 같습니다.

DD 을 사용하여 40G 파티션을 160G 드라이브에 미러링하거나 40G 파티션을 로컬에 이미지로 저장할 수 있다고 들었습니다. 40G 이미지를 160G 드라이브에 복사하십시오.

아무도 내가 어떻게 할 수 있는지 설명 할 수 있습니까? gparted 와 같은 다른 유틸리티가 필요합니까?

30
Stefan Lasiewski

첫 번째 작업은 두 디스크를 기존 Linux 시스템에 연결하거나 새 디스크를 원래 시스템에 연결하는 것입니다.

좋은 디스크 위에 빈 디스크를 복사하는 것이 매우 간단하므로 very주의해야합니다!

부트 섹터와 모든 것을 끝내려면 다음과 같이하십시오.

dd if=/dev/hdx of=/dev/hdy

여기서 hdx는 40G 디스크이고 hdy는 160G 디스크입니다. /dev/hdx1와 같은 파티션 번호가 없다는 것을 알 수 있습니다. 이것은 전체 디스크, 파티션 정보 및 모두를 복사합니다.

새 디스크는 기존 디스크와 마찬가지로 40G가 할당됩니다. 노트북에 다시 넣으면 바로 부팅됩니다. LVM을 사용 했습니까? 그렇지 않으면 모든 파티션을 사용하지 않았기를 바랍니다. 이 지점을 지나가려면 더 많은 정보가 필요합니다.

다른 해결책은 각 개별 파티션을 덤프하는 것입니다. 부팅 정보를 다시 만들어야하기 때문에 상황 인식이 훨씬 더 필요합니다.

이 모든 것은 하드 디스크를 업그레이드하지 않고 컴퓨터를 복제하는 데 가장 적합합니다. 백업을 사용하여 새 설치로 복원하는 것이 훨씬 좋습니다.

6
Stephen Jazdzewski

일반적으로 "외부 인클로저를 사용하여 두 번째 하드 드라이브를 연결하고 Linux CD에서 부팅 한 다음 dd if=/dev/sda of=/dev/sdb bs=1G, 그러나 같은 기술을 업무에 사용하고 싶기 때문에 더 나은 해결책이 있습니다.

모든 서버와 랩톱은 Clonezilla 를 사용하여 직장에서 이미지를 얻습니다. 그것을 사용하는 두 가지 방법이 있습니다 ... 하나는 전용 서버를 사용하고 아마도 당신을 위해 과잉 일 것이고, 다른 하나는 부팅 CD와 외장 하드 드라이브를 사용합니다.

아이디어는 Clonezilla CD로 부팅하고 외부 USB 드라이브가 느리게 작동하는 것입니다. Clonezilla는 기존 드라이브의 이미지를 생성하는 과정을 안내합니다. 그 후 시스템 전원을 끄고 드라이브를 교체 한 다음 Clonezilla로 부팅하여 데이터를 복원합니다.

이를 통해 A) 이미지를 더 큰 드라이브에 배치하고 B) 데이터 백업을 유지할 수 있습니다.

17
Matt Simmons

can dd를 사용하여 이와 같은 디스크를 복사하면 여러 가지 단점이 있습니다.

  1. 대상은 원본과 크기가 정확히 같거나 커야합니다.
  2. 복사 후 추가 공간을 사용하려면 파티션 크기를 조정해야합니다
  3. 여유 공간을 복사하는 데 시간이 낭비됩니다
  4. 이전 디스크에 존재하는 모든 조각화는 유지됩니다

Ghost4Linux, partclone 또는 clonezilla와 같은 이미징 프로그램을 사용하면 최소한 숫자 2와 3을 처리해야합니다. 또한 새 디스크를 포맷하고 마운트 한 다음 cp -ax (root로)를 입력 한 다음 새 드라이브에 부트 로더를 다시 설치하십시오. 이 방법은 상기 단점들 중 어느 것도 겪지 않는다.

5
psusi

파티션을 간단히 복사하려면 dd if=/dev/srcDrive of=/dev/dstDrive 또는 이와 유사한 것 man page 를 읽어 보라고 권합니다. 지금 일하고 있기 때문에 더 많은 정보를 줄 수 없습니다 ..

3
Berne

Dd로 어떻게하는지 물었지만 dump 의 출력을 restore . 소스 ad1s1a 및 대상 ad2s1a 가 주어진 경우 :

$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a  | restore -rf -

FreeBSD에서 시도했지만 실제로 FreeBSD Forum 에서 찾았습니다.

2
zvolkov

간단한 예는 다음과 같습니다.

dd if=/dev/sda of=/dev/sdb

그러나 특별한 도움이 필요한 경우 맨 페이지 (man dd)를 읽거나 Google에서 검색해야합니다.

또 다른 아이디어는 rsync (-az [하나의 파일을 하나씩 복사하는 대신 파일을 패키지화 함] 또는 --numeric-ids [와 같은 올바른 옵션을 설정하는 것을 잊지 마십시오) "root"와 같은 이름 대신 uid/gid와 다른 것). 링크에는 많은 예제가 포함되어 있습니다.

새 HDD에 파티션이 없으면 gparted 또는 palimpset을 사용할 수 있습니다.

확실하지 않으면 HDD를 포맷 한 다음 rsync와 데이터를 동기화합니다.

1
fwaechter

글쎄, 나는 연결된 디스크와 라이브 CD로 부팅하여 이와 비슷한 마이그레이션을 수행했다.

  1. 두 번째 디스크의 첫 번째 디스크에 대한 파티션 정보를 다시 만들어 여분의 공간을 사용하기 위해 일부 파티션을 더 크게 만들 수 있습니다.
  2. 그런 다음/dev/sda {1,2,3,4}가 있고/dev/sdb {1,2,3,4}에 복사하려고한다고 가정하면 mkdir/mnt/sd {a, b} {1 , 2,3,4} 각 파티션에 각 파티션을 마운트하십시오 (또는 하나씩 파티션을 원할 경우/mnt/Origin/mnt/destination을 만들고 각 쌍을 마운트/마운트 해제 할 수 있습니다)
  3. 그런 다음 cp -avr/mnt/Origin /을 수행하십시오./mnt/destination/(또는 cp -avr/mnt/sda1 /./mnt/sdb1 /
  4. 웹을 탐색하는 동안 기다리십시오 :)
  5. Grub, lilo 또는 사용하는 모든 bootmanager를 다시 설치해야합니다.

파일을 복사 할 때 조각 모음을 수행하는 방식으로 파티션의 파일 시스템 (reiserfs 또는 ext3에서 ext4로 마이그레이션 등)을 변경할 수도 있지만, 복사 한 후/etc/fstab을 편집해야합니다. 새로운 상황.

1
Jorge Nerín