이 가이드에 따라 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
RAID1을 사용 sdc
하고 설정하는 방법은 무엇입니까 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
전혀 참여하지 않음을 의미합니다(적어도 직접적으로는 참여하지 않음). 로미오의 답변을 보세요. 훌륭한 답변입니다.
를 사용하고 싶다면 mdadm
불가능하지는 않지만(디스크 끝에서 버전 1.0 메타데이터 사용),적당한 방법이를 수행하는 방법은 파티션을 나누고 /dev/sdd
, mdadm
해당 파티션에 RAID를 배치하고, 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(mkfs, rsync를 사용한 경우)에서 UUID를 업데이트하고 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, 파일 시스템)을 제공합니다. 사용하는 동안 암호화를 추가할 수도 있습니다. ;-)