fstab으로 스왑메모리 추가 설정

fstab 파일을 사용하여 Ubuntu 서버의 스왑 메모리를 현재 1GB에서 4GB로 늘리는 방법에 대해 문의 주셨습니다.

스왑 메모리는 물리적 RAM(메인 메모리)이 부족할 때, 하드 디스크의 특정 공간을 마치 RAM처럼 사용하는 가상 메모리 공간입니다. 시스템이 사용 가능한 물리적 RAM보다 더 많은 메모리를 필요로 할 때, 비활성 데이터를 스왑 공간으로 옮겨 물리적 RAM을 확보하게 됩니다. 이를 통해 애플리케이션 충돌을 방지하고 시스템 안정성을 높일 수 있습니다 .

일반적으로 서버의 물리적 메모리 양에 따라 적절한 스왑 공간을 설정합니다. 예를 들어, 4GB RAM을 가진 서버는 8GB 정도의 스왑 공간을 설정하는 것이 일반적이지만, 서버 메모리가 크다면 항상 RAM의 두 배로 설정할 필요는 없습니다 .

먼저 현재 시스템에 설정된 스왑 공간의 크기를 확인.

sudo swapon --show

또는

free -h

free -h 명령어의 출력에서 “Swap:” 라인을 확인하여 현재 스왑 메모리 사용량과 총 크기를 파악할 수 있습니다.

1GB 스왑을 4GB로 늘리는 단계

기존 1GB 스왑 파일이 /swapfile에 있다고 가정하고, 이를 4GB로 늘리는 절차는 다음과 같습니다. 기존 스왑을 비활성화하고, 새로운 4GB 스왑 파일을 생성한 다음, 이를 활성화하고 영구적으로 적용하는 순서로 진행.

⚠️ 주의사항: 스왑 공간을 비활성화하기 전에 현재 시스템의 물리적 메모리에 여유 공간이 충분한지 확인하는 것이 중요합니다. free -m 명령어로 Mem: free 부분을 확인하여 현재 스왑이 사용 중인 공간보다 여유 물리 메모리가 더 많은지 확인하세요. 그렇지 않으면 시스템 성능 저하 또는 충돌이 발생할 수 있습니다 .


1단계: 기존 스왑 비활성화 및 삭제 (기존에 /swapfile이 1GB인 경우)

먼저 현재 활성화된 스왑 파일을 비활성화합니다.

sudo swapoff /swapfile

이 명령어는 /swapfile 경로의 스왑 사용을 중단시킵니다. 기존 스왑 파일이 다른 이름이거나 여러 개라면, swapon --show 명령으로 확인한 정확한 경로를 사용해야 합니다.

비활성화 후 기존 스왑 파일을 삭제합니다.

sudo rm /swapfile

2단계: 새로운 4GB 스왑 파일 생성

dd 명령어를 사용하여 4GB 크기의 빈 파일을 생성합니다.

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
  • if=/dev/zero: 널(0) 바이트를 읽어옵니다.
  • of=/swapfile/swapfile이라는 이름으로 파일을 생성합니다.
  • bs=1M: 한 블록당 1메가바이트(MB)로 설정합니다.
  • count=4096: 4096개의 블록을 생성하므로, 총 4096 MB = 4 GB 크기의 파일이 만들어집니다  .

3단계: 스왑 파일 권한 설정

생성된 스왑 파일의 보안을 위해 소유자만 읽고 쓸 수 있도록 권한을 설정합니다.

sudo chmod 600 /swapfile

이 권한 설정은 다른 사용자가 스왑 파일에 접근하는 것을 막아 보안을 강화합니다.


4단계: 스왑 영역으로 설정

mkswap 명령어를 사용하여 생성된 파일을 스왑 영역으로 포맷합니다.

sudo mkswap /swapfile

이 명령어는 리눅스가 /swapfile을 스왑 공간으로 인식할 수 있도록 준비시킵니다.


5단계: 스왑 활성화

새로 설정한 스왑 파일을 즉시 활성화합니다.

sudo swapon /swapfile

6단계: /etc/fstab에 스왑 파일 등록 (영구 적용)

재부팅 시에도 스왑 파일이 자동으로 활성화되도록 /etc/fstab 파일에 등록해야 합니다  . 텍스트 에디터(예: nano 또는 vi)를 사용하여 fstab 파일을 엽니다.

sudo nano /etc/fstab

파일 맨 아래에 다음 줄을 추가합니다.

/swapfile swap swap defaults 0 0

파일을 저장하고 종료합니다 (Ctrl+XYEnter for nano).


7단계: 스왑 공간 확인

모든 절차를 마친 후, free -h 명령어를 다시 실행하여 스왑 공간이 4GB로 늘어났는지 확인합니다.

free -h

출력된 “Swap:” 라인에서 총 스왑 공간이 4.0G로 표시되면 성공적으로 적용된 것입니다.

n8n Docker 시작과 업데이트

Starting n8n

From your terminal, run the following commands, replacing the <YOUR_TIMEZONE> placeholders with your timezone:

docker volume create n8n_data
docker run -it --rm \ --name n8n \ -p 5678:5678 \
-e GENERIC_TIMEZONE="<YOUR_TIMEZONE>" \
-e TZ="<YOUR_TIMEZONE>" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n

Updating n8n

You can also use the command line to pull the latest, or a specific version:

# Pull latest (stable) version
docker pull docker.n8n.io/n8nio/n8n
# Pull specific version
dockerpull docker.n8n.io/n8nio/n8n:1.81.0
# Pull next (unstable) version
docker pull docker.n8n.io/n8nio/n8n:next

After pulling the updated image, stop your n8n container and start it again. You can also use the command line. Replace <container_id> in the commands below with the container ID you find in the first command:

# Find your container ID
docker ps -a
# Stop the container with the `<container_id>`
docker stop <container_id>
# Remove the container with the `<container_id>`
docker rm <container_id>
# Start the container
docker run --name=<container_name> [options] -d docker.n8n.io/n8nio/n8n

Docker 설치 방법 for n8n

1. 사전 준비 사항

n8n을 Docker로 설치하기 전에 다음 사항들을 준비.

  • Ubuntu 서버: 최소 2GB 이상의 메모리(RAM)를 권장합니다.
  • 사용자 권한sudo 권한을 가진 사용자 계정이 필요합니다.

2. Docker 및 Docker Compose 설치

n8n을 Docker 컨테이너로 실행하려면 먼저 Docker와 Docker Compose를 설치해야 합니다.

  1. Ubuntu 패키지 목록 업데이트 및 필수 패키지 설치:
    • sudo apt update
    • sudo apt install ca-certificates curl gnupg lsb-release
  2. Docker 공식 GPG 키 추가 및 저장소 설정:
    • sudo mkdir -p /etc/apt/keyrings
    • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  3. Docker 설치:
    • sudo apt update
    • sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      • 참고: n8n 공식 문서에서는 docker-compose v2 사용을 권장하며, 위 명령어는 docker compose (v2)를 설치합니다 .
  4. Docker 서비스 시작 및 부팅 시 자동 실행 설정:
    • sudo systemctl start docker
    • sudo systemctl enable docker
  5. 현재 사용자를 Docker 그룹에 추가 (선택 사항)sudo 없이 Docker 명령을 사용하고 싶다면 실행합니다.
    • sudo usermod -aG docker $USER
    • newgrp docker # 그룹 변경 적용 (재로그인 필요할 수 있음)
  6. Docker 설치 확인:
    • docker run hello-world
    • Hello from Docker! 메시지가 출력되면 성공입니다.
error: Content is protected !!