.png)
RAID1을 설정하기 위해 다음 가이드를 따르려고 노력했습니다. https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch
현재 2개의 6TB 하드 드라이브가 있는데, 그 중 하나에 직접 물리적 볼륨을 생성했고, 다른 하나는 전혀 손대지 않은 새 제품입니다.
sdc 8:32 0 5.5T 0 disk
├─DATA-user_data 254:0 0 4T 0 lvm
└─DATA-app_data 254:1 0 1T 0 lvm
sdd 8:48 0 5.5T 0 disk
물리 sdc
볼륨에는 두 개의 논리 볼륨을 포함하는 단일 볼륨 그룹이 있습니다.
root@server:# pvscan
PV /dev/sdc VG DATA lvm2 [5.46 TiB / 469.03 GiB free]
Total: 1 [5.46 TiB] / in use: 1 [5.46 TiB] / in no VG: 0 [0 ]
root@server:# vgscan
Reading volume groups from cache.
Found volume group "DATA" using metadata type lvm2
root@server:# lvscan
ACTIVE '/dev/DATA/user_data' [4.00 TiB] inherit
ACTIVE '/dev/DATA/app_data' [1.00 TiB] inherit
sdc
가이드에서 파티션 테이블을 에서 으로 복사해야 하는 지점에 이르렀지만 , 물론 에 파티션 테이블이 없기 sdd
때문에 이는 불가능합니다 .sdc
sdc
및 를 사용하여 RAID1을 어떻게 설정할 수 있습니까 sdd
?
답변1
sdd
VG에 추가하여 미러 볼륨을 생성할 수 있습니다.
pvcreate /dev/sdd
vgextend DATA /dev/sdd
그런 다음 각 LV의 복사본 수를 변경합니다.
lvconvert -m1 DATA/user_data
lvconvert -m1 DATA/app_data
(1은 데이터 복사본 2개를 의미하고, 0은 복사본 1개를 의미) 다음과 같은 명령으로 미러링 진행 상황을 확인할 수 있습니다.
lvs -a -o name,copy_percent,devices DATA
답변2
글쎄,게으른옵션은 현재 구성을 그대로 사용하여 /dev/sdd
LVM에 그대로 추가하고 LVM 자체가 RAID를 처리하도록 하는 것입니다. 이는 mdadm
전혀 관련되지 않음을 의미합니다(어쨌든 직접적으로는 아님). Romeo의 답변을 참조하세요. 좋은 답변입니다.
를 사용하고 싶다면 mdadm
뒤늦게 불가능하지는 않지만(디스크 끝의 버전 1.0 메타데이터 사용),적절한 방법그렇게 하려면 파티션을 나누고 /dev/sdd
, 그 파티션에 RAID를 놓고 mdadm
, RAID에 LVM을 놓고, 데이터를 마이그레이션하는 것입니다. 복사본이 양호하다는 것을 확인한 후에는 를 해체하고 /dev/sdc
동일한 방식으로 파티션을 나눈 다음 RAID에 추가할 수 있습니다.
대충:
# partition step
parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart md0_0 1MiB -1MiB
(parted) print free
(parted) quit
# mdadm step
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --detail --scan > /etc/mdadm.conf
# lvm step (rsync variant, two independent copies)
vgcreate RAIDDATA /dev/md0
lvcreate ...
mkfs ...
mount ...
# LV structure and filesystems as you see fit, then copy everything over
rsync -a /mnt/DATA/. /mnt/RAIDDATA/.
# alternative lvm step (pvmove variant, single copy)
vgextend DATA /dev/md0
pvmove /dev/sdc
vgreduce DATA /dev/sdc
를 사용하여 파일을 마이그레이션하는 것이 rsync
더 빠르고 안전합니다(무슨 일이 있어도 원본은 그대로 남아 있습니다). 동시에 사용자 오류가 발생하기 쉽습니다( rsync
무언가를 놓쳤는지 알기 어렵습니다).
데이터를 마이그레이션하는 것은 pvmove
더 느리고 위험하지만(무엇이든 잘못되고 원본도 일종의 사라짐) 아무것도 놓치지 않습니다(삭제된 파일 등 포함).
이 시점에서 fstab / grub에서 UUID(mkfs, rsync를 사용한 경우)를 업데이트하고 initramfs를 업데이트하려고 합니다. 재부팅하고 모든 것이 정상이며 /dev/sdc
더 이상 사용되지 않는지 확인하십시오. 그런 다음 RAID에 추가할 수 있습니다.
# partition step
parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart md0_1 1MiB -1MiB
(parted) print free
(parted) quit
# raid resync step
mdadm /dev/md0 --add /dev/sdc1
watch -n 60 cat /proc/mdstat
그리고 그게 전부입니다 ...
대체로 대부분의 사람들이 기대하는 설정(하드 드라이브, 파티션, raid, lvm, 파일 시스템)을 제공합니다. 동시에 암호화를 추가할 수도 있습니다. ;-)