활성 물리 볼륨으로 RAID1 설정하기(Debian 9stretch)

활성 물리 볼륨으로 RAID1 설정하기(Debian 9stretch)

이 가이드에 따라 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, 파일 시스템)을 제공합니다. 사용하는 동안 암호화를 추가할 수도 있습니다. ;-)

관련 정보