Linux 9

[Linux] 리눅스 디스크 용량 확인

[Linux] 리눅스 디스크 용량 확인 l Linux 리눅스 시스템을 운영하다 보면 디스크 공간 사용률이 100%가 되어 서비스에 장애가 발생하는 경우가 있다. 일반적으로 실수하는 부분이 로그 파일을 방치하여 어느 순간 디스크 공간을 모두 소진하였거나, 데이터베이스 서버의 경우 데이터를 백업할 때 순간적으로 디스크를 모두 소진하여 발생할 때가 있다. 주기적인 시스템 모니터링으로 디스크 공간에 대한 사용률을 확인하여 사전에 이러한 부분을 방지할 수 있도록 하는 것이 중요하다. 그렇다면 어느 디렉터리에서 많은 공간을 사용하는지를 확인하는 방법은 무엇일까? 이번 포스트에서는 리눅스에서 디스크 사용량을 확인하는 방법에 대해서 알아본다. 리눅스에서 디스크 공간을 확인하는 명령어는 df (Disk Free)이다. ..

Linux 2023.09.26

[Linux] 쉘(shell) 스크립트 기초

[Linux] 쉘(shell) 스크립트 기초 l Linux 쉘 스크립트(shell script)는 셸이나 명령줄 인터프리터(Interpreter)에서 실행되도록 작성되었거나 한 운영 체제를 위해 쓰인 스크립트이다. 쉘 스크립트가 수행하는 일반 기능으로는 파일 이용, 프로그램 실행, 문자열 출력 등이 있다. 쉘 스크립트에서는 .sh라는 파일 확장자를 가진 파일이 특정 종류의 쉘 스크립트를 가리키는 것이 보통이지만, 대부분의 셸 스크립트는 파일 확장자를 지니지 않는다. 쉘 스크립트는 인터프리터 방식이므로 라인별로 읽어 실행함으로 속도가 다소 느리다는 단점이 있다. 쉘 스크립트라는 말은 유닉스 쉘을 위해 쓰인 스크립트를 말하는 반면, command.com(도스)과 cmd.exe (윈도우) 명령 줄 스크립트는 ..

Linux 2023.09.05

[Linux] Alpine Linux (알파인 리눅스) 는 무엇일까?

[Linux] Alpine Linux (알파인 리눅스) 는 무엇일까? l Linux 컨테이너 환경으로 다양한 서비스를 빌드하다보니, DevOps 팀에서 베이스 이미지를 ubuntu나 centos 대신 alpine(알파인) 리눅스를 사용하는 것이 어떻겠냐는 제안을 받았다. 리눅스는 다양한 커널 기반으로 배포판을 가지고 있다. 이번 포스트에서는 Alpine Linux (이하 “알파인 리눅스”)에 대해서 알아본다. [개요] 알파인 리눅스는 리눅스 커널 기반으로 한 리눅스 배포판 중 하나이며 MIT 라이선스 아래에 배포되었으며 LEAF 리눅스의 포크 버전이다. 알파인 리눅스는 다른 배포판과 다르게 Musl과 BusyBox를 기반으로 한다. 알파인 리눅스의 컨셉은 LEAF 리눅스와 동일하게 “작고”, “보안이 뛰..

Linux 2023.09.04

[Linux] OOM(Out of Memory)란?

[Linux] OOM(Out of Memory)란? l Linux 몇일전부터 개발 환경에서 겪던 문제로 멀쩡하던 MySQL 서비스가 갑자기 연결이 되지 않는다. 처음엔 단순히 행 현상인줄 알고, MySQL 서비스를 재시작 하였다. 그런데 동일한 상황이 하루에도 여러 번 발생하고 있어서 원인을 살펴보기로 했다. 원인을 살펴보니, 아래와 같은 로그가 있었다. Aug 30 01:35:08 xxxxx kernel: [7189052.423131] [18540] 111 18540 1930392 1535479 12935168 0 0 mysqld Aug 30 01:35:08 xxxxx kernel: [7189052.423132] Out of memory: Kill process 18540 (mysqld) score 5..

Linux 2023.08.30

SQL Linux의 fsync 및 버퍼된 IO (버퍼된 쓰기중 오류가 발생하였을때 파일은 유효할까?)

SQL Linux의 fsync 및 버퍼된 IO (버퍼된 쓰기중 오류가 발생하였을때 파일은 유효할까?) · Version : SQL Server Linux PostgreSQL에서 fsync() 오류처리는 안전하지 않으며 XFS에서 데이터 손실이 발생할 수 있다는 내용이 있다. · PostgreSQL's handling of fsync() errors is unsafe and risks data loss at least on XFS : https://www.postgresql.org/message-id/flat/CAMsr%2BYE5Gs9iPqw2mQ6OHt1aC5Qk5EuBFCyG%2BvzHun1EqMxyQg%40mail.gmail.com#CAMsr+YE5Gs9iPqw2mQ6OHt1aC5Qk5EuBFCyG+..

SQL Server와 SQL Linux에서 인스턴스 파일 초기화 차이점

SQL Server와 SQL Linux에서 인스턴스 파일 초기화 차이점 · Version : SQL Server, SQL Server Linux SQL Server는 로그 파일 또는 데이터 파일이 증가하거나 새로 작성될때, 인스턴트 파일 초기화 작업을 진행한다. 이번 포스트에서는 인스턴스 파일이 초기화 될때, 기본 파일 시스템 구현과 Windows 와 Linux 간의 동작 차이를 알아본다. · Database File Initialization : https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-instant-file-initialization?view=sql-server-2017 SQL Server는 데이터 및 로..

SQL Linux 업그레이드

SQL Linux 업그레이드 · Version : SQL Linux, Ubuntu SQL Linux 를 최신버전으로 업그레이드 하는 방법에 대해서 살펴본다. 필자는 Ubuntu에 SQL Linux가 설치된 상태이다. SQL Linux를 업그레이드 진행 하기전 전체 사용자 및 데이터베이스 백업을 진행한다. 만약 업그레이드가 잘못되어 데이터베이스를 복원해야 할 경우를 대비해서 백업본을 보관하는 것이 좋다. 서버 로컬 접속 또는 Putty등을 사용하여 Ubuntu 서버에 연결한다.필자의 경우 Putty를 사용하여 Ubuntu 서버에 접속 하였다. Ubuntu에서 기존에 실행되고 있는 SQL Linux의 버전을 확인한다. Sqlcmd 유틸리티를 사용하여 SQL Linux에 연결하여 정보를 확인 할 수 있다. (..

MySQL/MariaDB Memory 모니터링

MySQL/MariaDB Memory 모니터링 · Version : MySQL 5.7.21, Ubuntu 16.0.4 Memory 사용률은 모든 운영체제에서 중요한 모니터링 지표이다. 다양한 어플리케이션이 서버에서 실행되면서 실제 물리메모리를 초과하는 메모리 요구가 발생할 수 있기 때문에 메모리 모니터링도 중요하다. 실제 데이터베이스의 경우 메모리가 부족하여 성능저하가 크게 발생하는 경우가 많다. 아래 명령어는 Unbuntu Linux에서 5초 간격으로 메모리 사용량을 확인하는 명령이다. watch -n 5 free –m 리눅스는 메모리의 효율적인 운영을 위해 전체 메모리에서 미리 Buffers + Cached 값을 자동으로 할당해 놓는다. 만일 어플리케이션에서 메모리가 필요할 경우 Cached에 할당된..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB CPU 모니터링

MySQL/MariaDB CPU 모니터링 · Version : MySQL 5.7.21, Ubuntu 17.4 CPU 사용률은 모든 운영체제에서 가장 중요한 모니터링 지표이다. 이번 포스트는 기본적인 CPU 모니터링 방법에 대해서 살펴본다. 리눅스에서는 다양한 명령어를 사용하여 CPU 사용률을 확인할 수 있다. · Top 명령을 사용한 CPU 모니터링 : http://sqlmvp.kr/221024130336 기본적으로 CPU 사용량을 확인하기 위해서는 mpstat명령을 사용할 수 있다. 일반적으로 데이터베이스의 경우 시스템을 독립해서 사용하기 때문에 대부분의 CPU 사용량은 CPU System, CPU User, CPU IOwait 이 차지한다. mpstat [IOwait 높은 경우] CPU 사용량이 높으..

MySQL, MariaDB 2019.03.24