LVM에서 볼륨에 대해 여러 세그먼트를 설정하면 성능이 저하됩니까?

LVM에서 볼륨에 대해 여러 세그먼트를 설정하면 성능이 저하됩니까?

LVM을 사용하여 파티션된 대용량 드라이브가 있습니다. 하나의 세그먼트를 루트 파일 시스템에 할당하고 다른 여러 세그먼트를 다른 파일 시스템에 할당합니다. 그런 다음 루트 파일 시스템에 더 많은 공간을 추가하려고 하므로 할당되지 않은 끝 부분에서 다른 세그먼트를 잘라서 추가합니다(루트 파일 시스템이 두 개의 분리된 세그먼트로 구성됨을 의미).

최근에 우리는 연속되지 않은 루트 볼륨으로 인해 발생할 수 있는 일부 I/O 성능 문제를 경험했습니다. 성능 향상을 위해 루트 볼륨이 (인접) 세그먼트가 되도록 몇 가지 항목을 이동하는 것을 고려하고 있습니다(이렇게 하면 항목에 더 쉽게 액세스할 수 있다는 생각입니다).

또 다른 견해는 LVM이 이미 이 모든 것을 처리했으며 영향을 미치지 않을 것이라는 것입니다(드라이브 레이아웃을 그래픽적으로 더 컴팩트하게 만드는 것 외에는).

두 권의 책에 대해 지불할 수 있는 벌금은 얼마입니까?

답변1

연속되지 않은 PE 블록을 동일한 LV에 할당하는 것은 LV 증분을 매우 작게 만들고 LV를 여러 번 늘리는 등(동시에 많은 LV에 대해 동일한 작업을 수행하는 등) 정말 이상한 작업을 수행하지 않는 한 성능에 눈에 띄는 영향을 미치지 않아야 합니다. 동일한 VG의 작업) - 이로 인해 많은 조각화가 발생할 수 있습니다.

즉, LVM을 포함한 모든 볼륨 관리 시스템을 사용하면 순차적일 수도 있는 조각을 읽을 수 있지만 여기서는 그렇지 않다고 생각합니다. 파일 시스템이 연속되지 않은 두 개의 비연속 범위 할당으로만 구성된 LV에 있는 경우 인식할 수 있는(측정할 수 없는) 문제는 확실히 발생하지 않습니다.

이 LV에 대한 두 개의 할당이 연속적이라는 보장은 없지만 VG의 할당되지 않은 PE가 단편화되지 않는 한 연속될 것입니다. (동일한 VG에 LV를 자주 추가하고 삭제하는 경우에만 발생합니다.)

이것이 비용 효율적이라면 파일 수준 백업을 수행하고 PV에서 기본 VG를 다시 빌드하여 LV 조각 모음을 고려할 수 있습니다.

답변2

논리 볼륨을 연결되지 않은 여러 물리적 확장 영역으로 분할하면일부머리 위로 머리가 가운데 틈을 찾아야 하기 때문이다. 그러나 단일 조회의 오버헤드는 작으므로 실제로는 볼륨이 두 조각으로 분할되는 것을 눈치채지 못할 것입니다. 1000개 이상의 청크로 분할되면 다음과 같은 형태로 변하기 시작할 수 있습니다.소량문제지만 현실적으로 그렇게까지 나빠질 수는 없습니다.

관련 정보