Azure SQL Managed Instance에서 로컬 스토리지 사용량 모니터링
Azure SQL Managed Instance에서 로컬 스토리지 사용량 모니터링
· Version : SQL Server, Azure SQL Managed Instance
Azure SQL Managed Instance를 사용할때, 선택한 인스턴스의 vCore 및 예약 스토리지에 따라 사전에 정의된 스토리지 공간이 있다. 이번 포스트에서는 Managed Instance 스토리지 공간을 모니터링하는 방법에 대해서 알아본다.
Managed Instance에서는 아래와 같은 제약이 있다.
· 인스턴스의 스토리지 제한은 Azure Portal에서 선택할 수 있다. 범용은 8TB, 비즈니스 크리티컬은 4TB 보다 클 수 없다.
· (범용 전용) 로컬 SSD 디스크 스토리지의 제한 – Managed Instance의 경우 tempdb는 24GB X vCore 공간만큼 로컬 SSD에 배치된다. 배치된 로컬 SSD 의 한계에 도달하면 tempdb에서 임시 객체를 만들수 없다.
스토리지 리밋에 도달하면 스토리지 공간/ vCore 수를 늘리거나 일부 리소스를 비워야 한다. 스토리지 변경은 오래 걸릴수 있기 때문에 스토리지 한계에 도달하기 전에 스토리지를 추가하는 것이 중요하다. sys.dm_os_volume_stats 는 Managed Instance 스토리지를 포함하여 볼륨에 대한 사용 정보를 제공한다. 아래 스크립트를 사용하여 스토리지의 사용량 정보를 확인 할 수 있다.
SELECT volume_mount_point, used_gb = CAST(MIN(total_bytes / 1024. / 1024 / 1024) AS NUMERIC(8,1)), available_gb = CAST(MIN(available_bytes / 1024. / 1024 / 1024) AS NUMERIC(8,1)), total_gb = CAST(MIN((total_bytes+available_bytes) / 1024. / 1024 / 1024) AS NUMERIC(8,1)) FROM sys.master_files AS f CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id) GROUP BY volume_mount_point; |
아래 그림에서 http://의 경우 원격 Azure Premium Disk 저장소를 사용하고 있는지 보여준다.
위 스크립트를 주기적으로 실행하여 available_gb 가 줄어드는 것을 확인하여 스토리지 공간이 부족할 경우 알림을 받을 수 있도록 한다.
[참고자료]
2019-09-06 / Sungwook Kang / http://sungwookkang.com
Azure SQL Managed Instance, Azure Local Storage, SQL Azure, sys.dm_os_volume_stats, 로컬 스토리지