LVM을 이렇게 구축한 공간을 활용해
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 10G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 10G 0 disk
└─pro103-home--files (dm-2) 253:2 0 10G 0 lvm /home/pro103by
vdc 252:32 0 50G 0 disk
└─pro103by--sql-mysql (dm-1) 253:1 0 90G 0 lvm /data
vdd 252:48 0 30G 0 disk
└─dbbackup-data (dm-0) 253:0 0 30G 0 lvm /dbbackup
vde 252:64 0 30G 0 disk
└─pro103by--sql-mysql (dm-1) 253:1 0 90G 0 lvm /data
vdf 252:80 0 10G 0 disk
└─pro103by--sql-mysql (dm-1) 253:1 0 90G 0 lvm /data
vdg 252:96 0 150G 0 disk
└─vdg1 252:97 0 150G 0 part
pro103by-sql 볼륨 그룹에 포함된 드라이브
lvs -o +devices /dev/pro103by-sql/mysql
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
mysql pro103by-sql -wi-ao---- 89.99g /dev/vdc(0)
mysql pro103by-sql -wi-ao---- 89.99g /dev/vde(0)
mysql pro103by-sql -wi-ao---- 89.99g /dev/vdf(0)
사용 공간
pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/vdb pro103 lvm2 a--u 10.00g 4.00m 9.99g
/dev/vdc pro103by-sql lvm2 a--u 50.00g 0 50.00g
/dev/vdd dbbackup lvm2 a--u 30.00g 0 30.00g
/dev/vde pro103by-sql lvm2 a--u 30.00g 0 30.00g
/dev/vdf pro103by-sql lvm2 a--u 10.00g 0 10.00g
/dev/vdg1 pro103by-sql lvm2 a--u 150.00g 150.00g 0
세 드라이브 모두에서 데이터를 이동해야 합니다. - /dev/vdc /dev/vde /dev/vdf pvmove를 사용하여 한 드라이브에서 다른 드라이브로 데이터를 이동하는 방법을 알고 있지만 이것이 어떻게 작동하는지 잘 모르겠습니다. 이 경우.
답변1
면책조항: 백업을 만드세요.
이는 처음 3개의 PV(50+30+10=80g)에 사용된 총 공간이 4번째 PV(150g)의 사용 가능한 공간보다 작기 때문에 가능합니다.
이것은 복잡한 작업이 아닙니다. (첫 번째 및) 두 번째 예입니다.pvmove
귀하의 사례에 대한 매뉴얼 페이지는 다음과 같습니다
지정된 PV의 단순 LV에서 사용하는 모든 물리적 범위를 VG의 다른 곳에서 사용 가능한 물리적 범위로 이동합니다.
pvmove /dev/sdb1
물리적 범위를 이동할 때 특정 목표 PV를 사용하십시오.
pvmove /dev/sdb1 /dev/sdc1
귀하의 경우에 적합하므로 한 번에 하나씩 세 가지 명령을 사용하여 수행할 수 있습니다.
pvmove /dev/vdc /dev/vdg1
pvmove /dev/vde /dev/vdg1
pvmove /dev/vdf /dev/vdg1
이것매뉴얼 페이지에도 나와 있습니다.단일 LV에 대해 이 작업을 병렬로 수행하면 안 됩니다. 손상은 발생하지 않지만 어떤 작업도 완료되지 않으며 다시 실행해야 합니다.
서로 다른 소스 PV에서 데이터를 이동하는 경우 여러 pvmoves를 동시에 실행할 수 있습니다.그러나 추가 pvmoves는 이미 변경 중인 LV를 무시합니다.이므로 일부 데이터는 이동되지 않을 수 있습니다.
이 작업은 데이터베이스가 실행 중인 상태에서 온라인으로 수행할 수 있습니다(이는 pvmove
임시 미러 맵 등을 사용하여 원활한 마이그레이션을 보장합니다. 자세한 내용은 참조).매뉴얼 페이지에 대한 참고 사항.). 그러나 서비스를 계속 실행하는 데 이것이 필요하지 않은 경우 백업을 수행하기 전에 백업을 수행하고 데이터베이스를 오프라인으로 전환하는 것이 좋습니다. 이렇게 하면 예상치 못한 문제가 발생할 경우 백업에서 롤백할 수 있습니다.
/dev/vdg1
그런 다음 다음 명령 중 하나를 실행하여 모든 데이터가 실제로 PV에 있는지 확인할 수 있습니다.
pvdisplay --maps
또는 구체적으로:
pvdisplay --maps /dev/vdc
pvdisplay --maps /dev/vde
pvdisplay --maps /dev/vdf
pvdisplay --maps /dev/vdg1
그러면 /dev/vdg1
(모두 ) /dev/pro103by-sql/mysql
에 사용된 물리적 범위 만 표시됩니다.
직교 명령은 다음과 같습니다.
lvdisplay --maps /dev/pro103by-sql/mysql
이는 모든 논리적 범위가 /dev/vdg1
.