이것이 내 기존 디스크 파티션입니다.
[root@xyz development: /root] lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
repolv repovg -wi-ao---- 1.95t
LogVol00 rootvg -wi-ao---- 6.00g
LogVol01 rootvg -wi-ao---- 10.00g
LogVol02 rootvg -wi-ao---- 10.00g
LogVol03 rootvg -wi-ao---- 15.00g
LogVol04 rootvg -wi-ao---- 8.00g
[root@xyz development: /root] lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sda 8:0 0 100G 0 disk
├─/dev/sda1 8:1 0 500M 0 part /boot
└─/dev/sda2 8:2 0 92.7G 0 part
├─/dev/mapper/rootvg-LogVol00 253:0 0 6G 0 lvm /
├─/dev/mapper/rootvg-LogVol04 253:1 0 8G 0 lvm [SWAP]
├─/dev/mapper/rootvg-LogVol03 253:3 0 15G 0 lvm /var
├─/dev/mapper/rootvg-LogVol02 253:4 0 10G 0 lvm /tmp
└─/dev/mapper/rootvg-LogVol01 253:5 0 10G 0 lvm /opt
/dev/sdb 8:16 0 50G 0 disk
/dev/sdc 8:32 0 1.5T 0 disk
/dev/sdd 8:48 0 1.5T 0 disk
└─/dev/mapper/repovg-repolv 253:2 0 2T 0 lvm /var/www/html
/dev/sde 8:64 0 1.5T 0 disk
└─/dev/mapper/repovg-repolv 253:2 0 2T 0 lvm /var/www/html
/dev/sdf 8:80 0 1.5T 0 disk
└─/dev/mapper/repovg-repolv 253:2 0 2T 0 lvm /var/www/html
/dev/sdg 8:96 0 1.5T 0 disk
/dev/sdh 8:112 0 1.5T 0 disk
/dev/sr0 11:0 1 1024M 0 rom
[root@ development: /root] pvs | grep repovg
PV VG Fmt Attr PSize PFree
/dev/sdc repovg lvm2 a-- 1.46t 1.46t
/dev/sdd repovg lvm2 a-- 1.46t 500.00g
/dev/sde repovg lvm2 a-- 1.46t 1000.00g
/dev/sdf repovg lvm2 a-- 1.46t 1000.00g
/dev/sdg repovg lvm2 a-- 1.46t 1.46t
/dev/sdh repovg lvm2 a-- 1.46t 1.46t
- 우선 아래 2.0T가 어떻게 들어오는지 이해가 안가네요. lsblk 출력 /var/www/html이 /dev/sdd, /dev/sde 및 /dev/sdf에 배포되는 것을 보면. 그러면 수학적 계산에 따르면 6.0T가 되어야 합니다.
[root@xyz development: /root] df -h /var/www/html/ FileSystem Size Usage Free Usage% Mount Point /dev/mapper/repovg-repolv 2.0T 1.7T 263G 87% /var/www/html
- 둘째, 새로운 디스크가 추가되었기 때문에 /var/www/html 데이터를 다른 디스크로 이동하고 아래와 같이 마운트 포인트를 재구성/이동하고 싶습니다. 모든 명령의 순서를 안내해 주시겠습니까?
FileSystem /dev/sdc : repovg-rhel6lv -> Mount to /var/www/html/RHEL6 /dev/sdd : repovg-rhel7lv -> Mount to /var/www/html/RHEL7 /dev/sde : repovg-rhel7awslv -> Mount to /var/www/html/RHEL7AWS /dev/sdf : repovg-rhel8lv -> Mount to /var/www/html/RHEL8 /dev/sdg : repovg-amzn24lv -> Mount to /var/www/html/AMZN24 /dev/sdh : repovg-amzn24lv -> Mount to /var/www/html/AMZN24
답변1
이제 파일 시스템을 포함하는 LV "repolv"가 있고 이를 "rhel6lv", "rhel7lv" 등과 같은 더 작은 부분으로 분할하려고 합니다. 그런 다음 각각의 새 LV를 별도의 물리적 디스크로 마이그레이션하려고 합니다.
일반적인 접근 방식은 다음과 같습니다.
- 이제 별도의 마운트 지점이 필요한 각각의 새 파일 시스템에 대해 새 LV를 만듭니다.
- 모바일 데이터
- LV를 각각의 물리적 디스크로 마이그레이션합니다. (주어진 LV가 어느 디스크에 있는지가 정말로 중요한지 묻고 싶습니다.)
일회성 데이터를 사용하여 다음을 테스트합니다. 요구 사항을 충족한다는 확신이 들 때까지 프로덕션 데이터에 적용하지 마세요.
원본 파일 시스템에 대한 바인드 마운트를 생성합니다.
mkdir /mnt/vwh
mount --bind /var/www/html /mnt/vwh # Bind mount
이제 각각의 새로운 LV/파일 시스템에 대해 이 블록의 변형을 반복하십시오. 시작하기 전에 적절한 LV 크기, 파일 시스템 유형 및 레이블, 최종 물리적 디스크를 확인하십시오.
lvcreate --name rhel6lv --size 10G /dev/repovg # Check size
mkfs -t ext4 --label rhel6 /dev/repovg/rhel6lv # Check filesystem type and label name
mv /var/www/html/RHEL6 /var/www/html/RHEL6.old # Save the original data
mkdir /var/www/html/RHEL6 # Create mountpoint
mount /dev/repovg/rhel6lv /var/www/html/RHEL6 # Mount new filesystem
cp -a /mnt/vwh/RHEL6.old/. /var/www/html/RHEL6 &&
rm -rf /mnt/vwh/RHEL6.old # Move data
pvmove --name rhel6lv /dev/sdc # Move extents for this LV to the required target disk
( 숨겨진) 도트 파일 /mnt/vwh/RHEL6.old
이 없으면 cp … && rm …
.mv /mnt/vwh/RHEL6.old/* /var/www/html/RHEL6
이 디스크 수에서는 하드웨어 오류로부터 보호하기 위해 RAID 사용을 고려할 것을 강력히 권장합니다. 그리고 백업. 많은 백업.특히 심각한 문제가 발생할 경우를 대비해 시작하기 전에 백업을 만드세요.