데이터 복구 · 3 min read · Dec 25, 2025
RAID1 LVM 파티션에서 Knoppix Linux LiveCD로 데이터 복구하기
RAID1 LVM 파티션에서 Knoppix Linux LiveCD로 데이터 복구하기
버전 1.0
저자: Till Brehm
최종 수정: 2007년 4월 11일
이 튜토리얼은 Fedora Core 설치 프로그램과 같이 LVM2 RAID1 설정의 일부였던 단일 하드 디스크에서 데이터를 복구하는 방법을 설명합니다. 데이터를 복구하는 것이 왜 그렇게 문제가 될까요? LVM RAID1 설정의 일부였던 각 하드 디스크는 RAID에 저장된 모든 데이터를 포함하고 있지만, 하드 디스크는 단순히 마운트할 수 없습니다. 먼저 파티션에 대한 RAID 설정을 구성해야 하며, 그런 다음 이 RAID 파티션을 사용하기 위해 LVM을 설정해야 마운트할 수 있습니다. 데이터 복구를 위해 Knoppix Linux LiveCD를 사용할 것입니다.
전제 조건
이 튜토리얼에서는 Knoppix 5.1 LiveCD를 사용했습니다. 여기에서 CD ISO 이미지를 다운로드하고 CD에 구워주세요. 그런 다음 RAID 파티션을 포함하는 하드 디스크를 메인보드의 IDE / ATA 컨트롤러에 연결하고 Knoppix CD를 CD 드라이브에 넣고 CD에서 부팅하세요.
제가 사용한 하드 디스크는 첫 번째 IDE 컨트롤러(hda)에 연결된 IDE 드라이브입니다. 제 경우, 하드 디스크에는 하나의 파티션만 포함되어 있었습니다.
RAID 복원
Knoppix가 부팅된 후, 셸을 열고 다음 명령을 실행하세요:
sudo su루트 사용자로 전환합니다.
원래 구성에서 mdadm.conf 파일이 없기 때문에 다음 명령으로 생성합니다:
mdadm --examine --scan /dev/hda1 >> /etc/mdadm/mdadm.conf결과는 다음과 비슷해야 합니다:
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a
파일을 편집하고 RAID 배열을 설명하는 줄 끝에 devices=/dev/hda1,missing을 추가합니다.
vi /etc/mdadm/mdadm.conf마지막으로 파일은 다음과 같이 보입니다:
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a devices=/dev/hda1,missing
문자열 /dev/hda1은 하드웨어 장치이며 missing은 이 RAID 배열의 두 번째 디스크가 현재 존재하지 않음을 의미합니다.
파일 /etc/default/mdadm을 편집하세요:
vi /etc/default/mdadm그리고 다음 줄을 변경하세요:
AUTOSTART=false다음과 같이:
AUTOSTART=true
이제 RAID 설정을 시작할 수 있습니다:
/etc/init.d/mdadm start
/etc/init.d/mdadm-raid start
RAID 장치가 정상인지 확인하려면 다음 명령을 실행하세요:
cat /proc/mdstat출력은 다음과 같아야 합니다:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 hda1[1]
293049600 blocks [2/1] [_U]
사용하지 않는 장치:
LVM 설정 복구
LVM 구성 파일은 mdadm.conf와 같은 간단한 명령으로 생성할 수 없지만, LVM은 파티션의 시작 부분에 구성 파일 내용의 하나 이상의 복사본을 저장합니다. dd 명령을 사용하여 파티션의 첫 번째 부분을 추출하고 텍스트 파일에 기록합니다:
dd if=/dev/md0 bs=512 count=255 skip=1 of=/tmp/md0.txt텍스트 편집기로 파일을 엽니다:
vi /tmp/md0.txt먼저 일부 이진 데이터를 찾고, 그 다음에는 다음과 같은 구성 파일 부분을 찾을 수 있습니다:
VolGroup00 {
id = "evRkPK-aCjV-HiHY-oaaD-SwUO-zN7A-LyRhoj"
seqno = 2
status = ["RESIZEABLE", "READ", "WRITE"]
extent_size = 65536 # 32 메가바이트
max_lv = 0
max_pv = 0
physical_volumes {
pv0 {
id = "uMJ8uM-sfTJ-La9j-oIuy-W3NX-ObiT-n464Rv"
device = "/dev/md0" # 힌트만
status = ["ALLOCATABLE"]
pe_start = 384
pe_count = 8943 # 279,469 기가바이트
}
}
logical_volumes {
LogVol00 {
id = "ohesOX-VRSi-CsnK-PUoI-GjUE-0nT7-ltxWoy"
status = ["READ", "WRITE", "VISIBLE"]
segment_count = 1
segment1 {
start_extent = 0
extent_count = 8942 # 279,438 기가바이트
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
}
}
}파일 /etc/lvm/backup/VolGroup00을 생성합니다:
vi /etc/lvm/backup/VolGroup00그리고 구성 데이터를 삽입하여 파일이 위의 예와 비슷하게 보이도록 합니다.
이제 LVM을 시작할 수 있습니다:
/etc/init.d/lvm start볼륨을 읽습니다:
vgscan모든 물리적 볼륨을 읽고 있습니다. 잠시 걸릴 수 있습니다…
메타데이터 유형 lvm2를 사용하여 볼륨 그룹 “VolGroup00”을(를) 찾았습니다.
pvscanPV /dev/md0 VG VolGroup00 lvm2 [279,47 GB / 32,00 MB free]
총: 1 [279,47 GB] / 사용 중: 1 [279,47 GB] / VG 없음: 0 [0 ]
그리고 볼륨을 활성화합니다:
vgchange VolGroup00 -a y 1 logical volume(s) in volume group "VolGroup00" now active이제 파티션을 /mnt/data에 마운트할 수 있습니다:
mkdir /mnt/data
mount /dev/VolGroup00/LogVol00 /mnt/data/
UTF-8 형식의 파일 이름이 있는 하드 디스크에서 데이터를 복구하는 경우, 현재 비 UTF-8 로케일로 변환해야 할 수 있습니다. 제 경우, RAID 하드 디스크는 UTF-8 인코딩된 파일 이름을 가진 Fedora Core 시스템에서 왔습니다. 제 목표 로케일은 ISO-8859-1입니다. 이 경우, Perl 스크립트 convmv가 파일 이름을 목표 로케일로 변환하는 데 도움이 됩니다.
convmv 설치
cd /tmp
wget http://j3e.de/linux/convmv/convmv-1.10.tar.gz
tar xvfz convmv-1.10.tar.gz
cd convmv-1.10
cp convmv /usr/bin/convmv
/mnt/data의 모든 파일 이름을 ISO-8859-1 로케일로 변환하려면 다음 명령을 실행하세요:
convmv -f UTF-8 -t ISO-8859-1 -r --notest /mnt/data/*변환을 먼저 테스트하려면 다음을 사용하세요:
convmv -f UTF-8 -t ISO-8859-1 -r /mnt/data/*링크
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.