RHEL 5.4를 사용하여 HD 복제본을 만드는 방법은 무엇입니까?

RHEL 5.4를 사용하여 HD 복제본을 만드는 방법은 무엇입니까?

우리는 RHEL 5.4를 사용하고 있으며 일부 하드 드라이브를 복제해야 합니다. 이를 수행하는 좋은(또는 "올바른") 방법은 무엇입니까? 가능하다면 dd를 사용하는 것을 피하고 싶습니다. 왜냐하면 다소 느리기 때문입니다. (그러나 이것이 유일한 선택이라면 그렇게 하십시오.)

몇 가지 주의사항:

1) 우리는 매우 엄격한 승인 프로세스를 갖고 있고 우리가 사용할 수 있는 유일한 배포판은 RHEL이기 때문에 라이브 CD를 포함한 다른 배포판을 사용할 수 없습니다.

2) 가능하다면 RHEL 패키지의 일부인 소프트웨어를 사용해야 합니다. 다른 소프트웨어를 추천해 주시면 감사하겠습니다. 하지만 이미 RHEL에 포함된 소프트웨어를 사용할 수 있다면 많은 서류 작업을 절약할 수 있을 것입니다.

나는 이것이 내가 해야 할 것보다 일을 더 어렵게 만들려는 것처럼 보인다는 것을 알고 있지만 이것이 회사 규정의 본질입니다.

어떤 도움을 주셔서 감사합니다!

답변1

얼마나 정확한 클론이 필요합니까? 예를 들어 LVM이 있는 경우 ID가 일치해야 합니까? ext2(및 3, 그리고 아마도 대부분의 Linux 파일 시스템)에는 각 파일 시스템에 UUID(Universally Unique Identifier)가 있습니다. 원본과 복제본이 일치해야 합니까?

즉, 클론이 필요한 이유는 무엇입니까?

드라이브의 정확한 복제본을 만드는 데 dd보다 빠른 것은 없습니다.

일부 dd 대안

  1. 파티션을 복제하려면 fdisk(또는 parted, cfdisk 등)를 사용하십시오. 필요한 경우 lv 도구. 파일 시스템을 만들고, 데이터를 사용 rsync하거나 복사 (cd /origmount ; tar cf) | (cd /newmount; tar xf -)합니다 cp. 이렇게 하면 파일이 완전히 다른 블록 배열로 배치되지만 모양은 동일해집니다. 아니면 원래 파일 시스템을 마운트하지 말고 다음과 같은 것을 사용하십시오.dump -level0 -f - /dev/sda1 | (cd /mnt/sdb1; restore -f - -rf)
  2. 소프트웨어 RAID 도구(md)를 주의 깊게 사용하여 원래 파티션에서 성능이 저하된 RAID1을 생성하고, 새 파티션을 추가하고, 동기화가 완료될 때까지 기다린 다음 RAID를 해제하세요. 이는 아마도 dd보다 느릴 수 있지만 대부분의 작업은 컴퓨터가 실행되는 동안 완료될 수 있으므로 해당 단어의 특정 정의에 대해서는 "더 빠를" 수 있습니다.

답변2

다음은 CentOS 5.5가 설치된 대형 LVM 관리 디스크에서 더 작은 디스크로 이동하기 위해 기록한 단계입니다(분명히 큰 디스크에서 사용된 공간은 작은 디스크의 크기보다 작았습니다). 이 작업을 수행하는 더 좋은 방법이 있다고 확신하지만 이 방법은 성공적이었습니다. 일부 단계는 상황에 따라 다를 수 있으며 필요에 따라 조정할 수 있습니다.

요구사항:

  • CD 설치
  • 새 디스크

단계:

  • 새 디스크를 연결하세요

  • CD로 부팅하고 프롬프트에서 "linux 복구"를 입력하여 복구 모드로 들어갑니다. 마운트를 계속할지 아니면 건너뛸지 묻는 메시지가 표시됩니다. 계속해야 합니다(에 마운트됩니다 /mnt/sysimage). 요청하는 경우 새 디스크를 포맷하지 마십시오.

  • 를 사용하여 이전 형상을 확인하십시오 fdisk -l. 일반 LVM 구성이 있을 가능성이 높습니다 /dev/sda1. LVM 외부에 존재하는 /boot 파티션이 됩니다. 크기는 1-13이어야 하며 나머지 디스크는 LVM 전용이어야 합니다./dev/sda2sda1

.

# fdisk -l
...
/dev/sda1 * 1 13 ... 83 Linux
/dev/sda2  14 ...    8e Linux LVM
# fdisk /dev/sdb
>Command...:
n
>Command action
>e extended
>p primary partition (1-4)
p
>Partition number (1-4):
1
>First cylinder ...:
<default>
>Last cylinder ...:
13 (value from /dev/sda1, the original /boot)
>Command...:
n
>Command action
>e extended
>p primary partition (1-4)
p
>Partition number (1-4):
2
>First cylinder ...:
<default>
>Last cylinder ...:
<default (end of disk)>
>Command...:
t
>Partition...:
1
>Hex code...:
83
>Command...:
t
>Partition...:
2
>Hex code...:
8e
>Command...:
a
>Partition...:
1
>Command...:
w
  • /dev/sdb1에서 /boot용 파일 시스템 생성

.

# mkfs.ext3 /dev/sdb1
  • /dev/sdb2에 새로운 물리 볼륨, 볼륨 그룹, 논리 볼륨과 해당 파일 시스템을 설정합니다. ?G원하는 사이즈로 교체하세요 . LogVol00은 LVM 파티션 크기에서 필요한 스왑 볼륨 크기를 뺀 크기여야 하며, LogVol01은 스왑 크기여야 합니다.

.

# pvcreate /dev/sdb2
# vgcreate VolGroup01 /dev/sdb2
# lvcreate --name LogVol00 --size ?G VolGroup01
# lvcreate --name LogVol01 --size ?G VolGroup01
# mkfs.ext3 /dev/VolGroup01/LogVol00
# mkswap /dev/VolGroup01/LogVol01
  • 새 디스크를 마운트하고 를 사용하여 기존 디스크의 내용을 복사합니다 cp -ax. /dev, /proc, /sys, /boot및 복사를 피하십시오 /lost+found./mnt

.

# mkdir /mnt/newdisk
# mount /dev/VolGroup01/LogVol00 /mnt/newdisk
# cd /mnt/sysimage
# for i in $(ls -1 | grep -v '\(dev\|proc\|sys\|mnt\|boot\|lost\)'); do echo $i; cp -ax /mnt/sysimage/$i /mnt/newdisk; done
# cd /mnt/newdisk
# mkdir {dev,proc,sys,mnt,boot}
  • 새 디스크를 마운트 /boot하고 기존 디스크의 내용을 복사한 다음 마운트 해제합니다.

.

# mkdir /mnt/{boot,newboot}
# mount /dev/sda1 /mnt/boot
# mount /dev/sdb1 /mnt/newboot
# cp -ax /mnt/boot/* /mnt/newboot
# umount /mnt/newboot
  • 새 디스크에 grub 설치

.

# mount -o bind /dev /mnt/newdisk/dev
# mount /dev/sdb1 /mnt/newdisk/boot
# chroot /mnt/newdisk
# grub
> root (hd1,0)
> setup (hd1)
> quit
  • 당신의 문제를 해결하세요/boot/grub/grub.conf

.

# vi /boot/grub/grub.conf
:%s/VolGroup00/VolGroup01/g
:wq
  • 초기화를 다시 실행하세요

.

# cd /boot
# for i in $(ls -1 initrd* | grep -v bak); do mv $i{,-bak}; ver=$(echo $i | sed 's/initrd-//;s/\.img//;'); mkinitrd /boot/$i $ver; done
  • chroot에서 나가기

.

# exit
#
  • 당신의 문제를 해결하세요/etc/fstab

.

# vi /mnt/newdisk/etc/fstab
:%s/VolGroup00/VolGroup01/g
:wq
  • 이 시점에서 기존 디스크를 종료하고 제거하십시오. 복구 모드로 다시 부팅합니다. 이제 다음 위치에 마운트 /dev/sdb됩니다 ./dev/sda/mnt/sysimage

  • 상표/boot

.

# e2label /dev/sda1 /boot
  • CD를 꺼내면 이 시점에서 크기가 조정된 디스크로 부팅할 수 있습니다.

답변3

글쎄요, 'dd' 및 기타 RHEL이 제공하지 않는 도구를 사용하지 않으려면 파일 시스템을 복제하고 내용을 복사해야 합니다(선택한 도구, cpio, tar, rsync 등 사용). 새 드라이브에 GRUB를 넣습니다. 이는 정지된 드라이브(아마도 RHEL 복구 모드로 부팅)를 사용하여 수행하는 것이 가장 좋습니다.

답변4

디스크의 이미지 복사본을 얻으려면 Ghost, Fog, Clonezilla 등을 사용해 볼 수 있습니다(VMware Converter 등도 가능).

파일 시스템 복사의 경우 rsync 등을 권장합니다.

관련 정보