SUSE Linux Enterprise LVM 씬 프로비저닝 공간 부족 문제를 안전하게 해결하세요
SUSE Linux Enterprise에서 데이터 고갈과 메타데이터 고갈을 구분하고, 스토리지를 확장하고, 메타데이터를 복구하고, 자동 확장을 활성화하여 LVM 씬 풀이 가득 찬 문제를 진단하고 복구합니다.
먼저 씬 풀의 데이터 공간 , 메타데이터 공간 또는 둘 다 소진되었는지 확인합니다. 이 차이에 따라 복구 계획이 달라집니다. 씬 풀은 할당된 블록을 저장하는 데이터 논리 볼륨(LV)과 이러한 할당을 추적하는 메타데이터 LV로 구성됩니다. 씬 논리 볼륨의 가상 크기는 풀의 물리적 용량을 초과할 수 있는데, 이것이 씬 프로비저닝의 목적이자 오버커밋을 모니터링해야 하는 이유입니다.
SUSE Linux Enterprise Server 15 SP7 설명서에 따르면 씬 볼륨은 필요에 따라 씬 풀에서 공간을 할당하며, 가상 볼륨의 크기가 사용 가능한 물리적 스토리지 용량을 초과할 수 있습니다. 상위 LVM 씬 풀 설명서에는 중요한 운영 규칙이 추가되어 있습니다. 가상 볼륨 Data%이나 물리적 스토리지 용량이 100%에 도달하기 전에 풀을 확장해야 합니다. 자세한 내용은 SUSE Linux Enterprise Server 15 SP7 스토리지 관리 가이드 및 LVM 씬 프로비저닝 설명서를Meta% 참조하십시오 .
lvs일반적인 디스크 공간 검사에 의존하는 대신 명시적인 열을 사용하여 실행하십시오 . 파일 시스템은 물리적 씬 풀이 거의 고갈된 상태에서도 가상 공간이 사용 가능하다고 보고할 수 있습니다.
lvs -a -o lv_name,vg_name,lv_attr,lv_size,data_percent,metadata_percent
설명: 씬 풀은 Data% 및 Meta% 값으로 식별해야 합니다. 파일 시스템의 여유 공간만으로는 물리적인 씬 풀 고갈 여부를 알 수 없습니다.
값이 100에 가깝거나 100에 도달 하면 Data%데이터 풀에 새 쓰기를 위한 블록이 부족해진 것입니다. LVM 공식 문서에서는 데이터 풀이 고갈되면 쓰기 작업에서 오류가 발생할 수 있으며, 이로 인해 파일 시스템이 손상될 수 있다고 경고합니다. Meta%값이 100에 도달하는 경우, 메타데이터 고갈로 인해 씬 풀 메타데이터와 파일 시스템 모두 일관성이 떨어질 수 있으므로 더욱 신중한 대응이 필요합니다.
다음은 결정해야 할 사항입니다. 씬 풀은 해당 볼륨 그룹에 사용 가능한 익스텐트가 있는 경우에만 확장할 수 있으며, 그렇지 않으면 해당 볼륨 그룹에 물리적 스토리지를 추가해야 합니다.
vgs -o vg_name,vg_size,vg_free
vgdisplay VG_NAME
캡션: VG 여유 공간 확인을 통해 간단한 씬풀 확장과 스토리지 추가가 필요한 경우를 구분할 수 있습니다.
VG에 충분한 여유 공간이 있다면 일반적으로 씬 풀을 직접 확장할 수 있습니다. 여유 공간 VFree이 0이거나 너무 작으면 계속 재시도하지 말고 lvextend, 불필요한 씬 볼륨이나 스냅샷을 제거하거나, discard 명령어를 사용하여 블록을 회수하거나, 새 물리적 볼륨을 추가하는 방법을 결정하십시오.
스토리지 사용량이 이미 100%에 도달한 경우, 스토리지 변경을 진행하기 전에 쓰기 작업이 많은 애플리케이션을 중지하거나 일시 중단하십시오. 이렇게 하면 스토리지 계층에 장애가 발생하거나 복구되는 동안 데이터베이스, 가상 머신, 컨테이너 또는 기타 서비스가 계속해서 쓰기 작업을 수행하는 것을 방지할 수 있습니다.
systemctl stop YOUR_APPLICATION.service
systemctl status YOUR_APPLICATION.service
설명: 씬 풀이 가득 찼거나 손상된 경우 복구하는 동안 애플리케이션을 일시 중지하면 추가 쓰기 작업이 제한됩니다.
중지해야 할 서비스 목록은 정해져 있지 않습니다. 워크로드 아키텍처와 유지 관리 절차를 따르십시오. 데이터베이스 및 가상 머신의 경우 프로세스를 갑자기 종료하기보다는 제품에서 지원하는 종료 또는 정지 방법을 사용하는 것이 좋습니다.
가상 씬 LV가 아닌 실제 씬 풀 자체를 확장해야 합니다. 문제는 물리적 풀 용량 부족이기 때문입니다. 예를 들면 다음과 같습니다.
lvextend -L +20G VG_NAME/THIN_POOL
lvs -o lv_name,vg_name,lv_size,data_percent,metadata_percent VG_NAME/THIN_POOL
캡션: 얇은 풀을 확장하면 물리적 용량이 추가됩니다. 새로운 공간이 확보되면 데이터 사용률(Data%)이 감소할 것입니다.
lvextend 매뉴얼 문서에는 씬 풀 직접 확장 및 --poolmetadatasize메타데이터 별도 옵션에 대한 내용이 나와 있습니다. 실제 증가율과 예약 가능한 스토리지 용량을 기준으로 증분 크기를 선택하십시오. 예를 들어 고정된 값은 +20G모든 시스템에 대한 크기 조정 권장 사항이 아닙니다.
대상 블록 장치가 사용되지 않고 필요한 데이터가 없는지 확인한 후에만 스토리지를 추가하십시오. LVM 물리 볼륨을 생성하면 선택한 장치에 LVM 메타데이터가 기록되므로 장치 이름을 잘못 입력하면 손실이 발생할 수 있습니다.
lsblk
blkid
pvcreate /dev/NEW_DEVICE
vgextend VG_NAME /dev/NEW_DEVICE
vgs -o vg_name,vg_size,vg_free
캡션: VG가 가득 차면 관리자가 사용되지 않은 장치를 확인한 후 새 물리적 저장 장치를 먼저 추가할 수 있습니다.
SUSE 문서에 따르면 볼륨 그룹은 파티션 또는 전체 디스크를 추가하여 확장할 수 있습니다. 멀티패스, SAN, RAID, 암호화, 클러스터 또는 클라우드 기반 시스템에서는 스토리지 토폴로지를 검토한 후 확장해야 합니다. 간단한 예시에 표시된 원시 디스크가 올바른 장치 계층이 아닐 수 있기 때문입니다.
메타데이터 고갈은 단순히 데이터 용량을 추가하는 것이 아니라 오프라인 복구 사례로 처리해야 합니다. LVM 씬 풀 매뉴얼에는 메타데이터 고갈로 인해 씬 풀 메타데이터와 파일 시스템의 일관성이 깨질 수 있다고 명시되어 있습니다. 문서화된 복구 순서는 풀을 비활성화하고, `repair` 명령어를 사용하여 복구한 lvconvert --repair후, 메타데이터를 확장하고 파일 시스템을 확인하는 것입니다.
애플리케이션을 중지한 후 파일 시스템을 마운트 해제하거나 풀을 사용하여 씬 LV를 비활성화하십시오. 그런 다음 다음과 유사한 관리 절차를 따르십시오.
lvchange -an VG_NAME/THIN_LV
lvconvert --repair VG_NAME/THIN_POOL
lvextend --poolmetadatasize +1G VG_NAME/THIN_POOL
캡션: 메타데이터가 가득 찬 상태에서는 단순히 데이터 익스텐트를 늘리는 것뿐만 아니라 오프라인 씬 풀 복구 및 추가 메타데이터 공간이 필요합니다.
이 +1G그림은 예시일 뿐입니다. 메타데이터 크기 조정은 풀 크기, 청크 크기, 스냅샷 사용량 및 할당 동작에 따라 달라집니다. 복구 후 시스템 로그를 검사하고 I/O 오류가 발생한 경우 파일 시스템별로 지원되는 검사 또는 복구 절차를 사용하십시오. 마운트된 파일 시스템에서 파일 시스템 복구 도구를 무작정 실행하지 마십시오.
항상 그런 것은 아닙니다. 파일을 삭제하면 파일 시스템 내부의 공간이 확보되지만, 씬 풀은 폐기 정보가 풀에 도달했을 때만 물리적 청크를 회수합니다. LVM 설명서에 따르면 fstrim이러한 블록을 회수할 수 있지만 스냅샷은 블록을 계속 참조하여 블록이 해제되지 않도록 할 수 있습니다. 풀이 폐기를 무시하도록 구성된 경우 trim 명령은 블록을 회수하지 않습니다.
파일 시스템과 워크로드가 지원하는 경우, 삭제 동작을 확인하고 풀이 작동 가능한 수준으로 안정화된 후에만 트림 작업을 수행하십시오.
lvs -o lv_name,discards VG_NAME/THIN_POOL
fstrim -v /mount/point
오래된 씬 스냅샷을 삭제하면 해당 스냅샷이 블록에 대한 유일한 참조인 경우 스토리지 공간을 확보할 수 있습니다. 스냅샷을 삭제하기 전에 백업 및 보존 요구 사항을 확인하십시오.
LVM 씬 풀 모니터링을 활성화하고 검증한 후, VG에 충분한 여유 용량을 확보하여 자동 확장을 구성하십시오. 업스트림 LVM은 dmeventd일반적으로 서비스를 통해 lvm2-monitor데이터 또는 메타데이터 사용량이 구성된 임계값을 초과할 때 대응합니다.
systemctl status lvm2-monitor.service
lvs -o+seg_monitor VG_NAME/THIN_POOL
lvchange --monitor y VG_NAME/THIN_POOL
lvmconfig --type full activation/thin_pool_autoextend_threshold
lvmconfig --type full activation/thin_pool_autoextend_percent
설명: 자동 확장은 활성 모니터링, 적절한 임계값 및 볼륨 그룹에 남아 있는 여유 확장 영역에 따라 달라집니다.
LVM 매뉴얼에 따르면 임계값 100은 자동 확장을 비활성화하며, 최소 유효 임계값은 50입니다. 임계값이 낮을수록 쓰기 속도가 매우 빠른 풀에 대해 LVM이 반응할 시간을 더 확보할 수 있습니다. 확장 비율은 정책이 실행될 때 풀이 얼마나 증가하는지를 결정합니다.
대표적인 구성은 다음과 /etc/lvm/lvm.conf같습니다.
activation {
thin_pool_autoextend_threshold = 70
thin_pool_autoextend_percent = 20
}
위 값들은 예시일 뿐이며, 일반적인 기본값이 아닙니다. 쓰기 버스트 속도, 모니터링 간격, 스토리지 프로비저닝 리드 타임, 그리고 사용 가능한 VG 여유 공간을 고려하여 안전 여유 공간을 조정하십시오. VG 자체가 이미 가득 찬 경우에는 자동 확장이 도움이 되지 않습니다.
하나 이상의 신호를 확인하십시오. 풀에는 여유 공간이 있어야 하고, VG에는 예상되는 증가를 위한 충분한 여유 공간이 있어야 하며, 애플리케이션이 정상적으로 쓰기 작업을 수행할 수 있어야 하고, 로그에 지속적인 씬 풀 I/O 또는 메타데이터 오류가 표시되지 않아야 합니다.
lvs -a -o lv_name,vg_name,lv_attr,lv_size,data_percent,metadata_percent
vgs -o vg_name,vg_size,vg_free
journalctl -u lvm2-monitor.service --since "30 minutes ago"
캡션: 풀 사용률에 여유 공간이 있고, VG에 사용 가능한 여유 공간이 유지되며, 모니터링에서 지속적인 I/O 오류가 보고되지 않으면 복구가 확인됩니다.
애플리케이션을 점진적으로 재시작하고 실제 워크로드가 복구되는 동안 씬 풀(thin pool)을 모니터링하십시오. 씬 Data%풀이 비정상적으로 빠르게 다시 증가하는 경우, 풀을 확장하면 용량 계획 문제를 해결하지 않고도 즉각적인 장애를 해결할 수 있습니다.
| 관찰 | 추천 방향 |
|---|---|
Data%100에 가까운 Meta%건강 상태, VG에는 여유 공간이 있습니다. | 씬 풀을 확장하고 워크로드 복구를 검증합니다. |
Data%거의 100에 가까워서 VG에는 여유 공간이 없습니다. | 확장하기 전에 검증된 스토리지를 추가하고, 블록을 안전하게 회수하거나, 유지되는 씬 볼륨/스냅샷을 줄이십시오. |
Meta%100에 도달했습니다 | 워크로드를 일시 중지하고, 풀을 비활성화하고, 오프라인에서 메타데이터를 복구하고, 메타데이터를 확장하고, 파일 시스템을 검증합니다. |
lvconvert --repair실패 | 메타데이터에 반복적으로 임의로 쓰기 작업을 수행하지 마십시오. 로그 및 메타데이터 백업을 보존하고 문제가 발생하면 SUSE 지원팀 또는 숙련된 LVM 복구 엔지니어에게 문의하십시오. |
| 밀집된 얇은 볼륨 | 클러스터 리소스 관리 절차를 따르십시오. SUSE에서는 씬 풀과 씬 볼륨을 함께 관리하여 하나의 노드에만 독점적으로 사용하도록 요구합니다. |
| 수영장은 연장 후 얼마 지나지 않아 다시 물로 가득 찹니다. | 스냅샷 보존, 삭제 동작, 쓰기 증가, 모니터링 임계값 및 용량 계획을 조사합니다. |
df -h저장 공간이 부족한 경우 물리적 저장 공간이 여유롭다고 단정하지 마십시오 .pvcreate새 장치가 사용되지 않는 장치임을 확실히 확인하기 전까지 는 장치를 초기화하지 마십시오 .SUSE Linux Enterprise에서 데이터 고갈과 메타데이터 고갈을 구분하고, 스토리지를 확장하고, 메타데이터를 복구하고, 자동 확장을 활성화하여 LVM 씬 풀이 가득 찬 문제를 진단하고 복구합니다.
안전한 서버 워크플로우(업데이트, SSH, 방화벽, AppArmor, 감사 및 유효성 검사)를 통해 Debian 12 Bookworm을 최신 CIS 벤치마크 v2.0.0에 대비하여 강화합니다.
Gooroom OS에 Flatpak 및 Snap 앱을 설치하는 방법을 알아보고, 릴리스 확인, 터미널 명령어, 호환성, 보안 제어, 업데이트 및 저장 공간에 대한 실질적인 비교를 제공합니다.
Ubuntu APT 서명 오류를 안전하게 수정하세요. 패키지 검증을 비활성화하지 않고도 NO_PUBKEY, EXPKEYSIG, BADSIG, 클럭 및 저장소 구성 문제를 식별할 수 있습니다.
안전한 검색, 서비스 설정, 최소한의 multipath.conf 변경, initramfs 업데이트 및 경로 상태 확인을 통해 SLES 15에서 DM-Multipath를 구성합니다.
Btrfs 및 Snapper를 사용하여 업데이트 실패 후 SLES를 복구하세요. 롤백 옵션을 비교하고, 스냅샷을 안전하게 테스트하고, 시스템을 복원하고, 저장소를 검증하세요.
Liderahenk와 Ahenk를 사용하여 사용자 지정 Pardus GNOME 배경화면을 설정하고, dconf로 선택한 설정을 잠그고, 테스트를 거친 파일럿 환경을 통해 다른 클라이언트 정책을 배포하세요.
우분투 서버가 비상 모드로 진입한 이유를 진단하고, 일반적인 /etc/fstab 및 마운트 문제를 안전하게 복구하고, 파일 시스템을 검사하고, 정상적인 재부팅을 확인합니다.
Ubuntu 24.04에서 GTK 테마를 무시하는 Flatpak 앱 문제를 해결하세요. 테마 확장 프로그램, GTK 포털, 밝은/어두운 설정, 앱 툴킷 제한 사항을 확인하십시오.
Pardus에서 LIDER AHENK를 품질 중심 설정으로 구성하십시오. 필수 조건을 확인하고, Lider를 배포하고, Ahenk 클라이언트를 등록하고, 관리를 검증하십시오.