🐧 간단하지만 활용도가 높은 cron 스케줄러 이해하기
·
DevOps/Linux
cron이란?cron은 Linux/Unix 기반 시스템에서 작업을 정기적으로 실행하기 위한 스케줄러입니다. 특정 시간, 날짜, 간격마다 명령이나 스크립트를 자동으로 실행하는 데몬 프로세스를 의미합니다. 리눅스 기반 시스템뿐만 아니라 AWS의 EventBridge나 Spring 프레임워크의 스케줄링 기능 등 다양한 곳에서도 cron 표현식이 사용됩니다. * * * * * * * {실행 명령어} cron은 위와 같이 5개의 시간 필드와 실행 명령어로 구성됩니다. 앞에서부터 분, 시, 일, 월, 요일을 나타냅니다.분 (0-59)시 (0-23)일 (1-31)월 (1-12)요일 (0-7, 0 또는 7이 일요일)cron은 crontab(cron table)이라는 스케줄을 정의하는 파일에서 선언됩니다. 30 2 * ..
🐧 컨테이너는 어떻게 독립된 환경을 만들까?
·
DevOps/Linux
Container란? VM은 하이퍼바이저 위에서 독립적인 Guest OS를 실행합니다. VM 내부에서 애플리케이션, 파일 시스템, 바이너리/라이브러리, OS가 모두 포함되기 때문에 하나의 VM은 물리적으로 완전한 하나의 서버처럼 동작합니다.VM은 높은 격리 수준을 제공하지만, VM마다 자체 OS를 포함하기 때문에 무겁고 리소스 소모가 크다는 단점이 있습니다. 컨테이너는 별도의 운영체제를 포함하지 않고 호스트 운영체제의 커널을 공유(호스트의 시스템 콜 호출)합니다. 컨테이너마다 Guest OS를 갖지 않는 대신 namespace와 cgroup을 활용해 컨테이너마다 독립된 실행환경을 구성하게 됩니다.컨테이너는 하나의 프로세스처럼 실행되어 가볍고 리소스 소모가 작다는 장점이 있습니다. 컨테이너가 동작하는 원..
🐧 디스크를 유연하게 관리할 수 있게 해주는 LVM과 RAID
·
DevOps/Linux
LVM (Logical Volume Manager)리눅스에서 디스크를 사용하려면 파티션을 나누고 파일 시스템을 생성해야 합니다. 이러한 파티션 분할은 정적으로 파티션의 크기를 늘리거나 줄일 수 없다는 문제가 있습니다. LVM은 여러 개의 디스크를 하나로 보고, 논리적으로 나눌 수 있게 해 줍니다.또한, 간단한 명령어로 사용 중인 파티션의 크기를 늘리거나 줄일 수 있게 도와줍니다. LVM이란?LVM은 여러 개의 디스크나 파티션을 하나의 큰 저장소로 보고, 필요한 만큼 논리적 공간으로 나누어 사용할 수 있게 해주는 디스크 관리 기술입니다. LVM을 사용하면 디스크를 추가하거나 크기를 조절하는 작업을 중단 없이 수행할 수 있습니다.즉, 서버 운영 중에도 마운트 된 파일 시스템의 용량을 늘리거나 줄이는 것이 가..
🐧 리눅스 파티션
·
DevOps/Linux
파티션파티션 : 물리적 디스크 ➡ 여러 개의 논리적인 디스크로 분할분할된 파티션은 독립적인 디스크로 간주되어 블록과 파일 시스템 구성 등을 독자적으로 설정 가능합니다. 파티션 분할의 장점하나의 디스크에 여러 개의 운영체제를 사용 가능각각의 파티션에 서로 다른 OS를 설치할 수 있습니다.부팅 시 부트로더를 통해 원하는 OS를 선택하여 부팅할 수 있습니다. 파티션 단위의 다양한 정책 설정이 가능각 파티션마다 독립적으로 정책을 설정하여 시스템 운영에 유연성과 안정성을 더할 수 있습니다.사용자 또는 그룹별로 디스크 사용량을 제한하여 과도한 리소스 사용을 방지하거나 파티션의 접근 권한을 제한하여 데이터 손상이나 무단 접근을 방지할 수 있습니다. 그 외에도, 파티션별 백업 주기 설정, 파일 시스템 점검(fsck) ..