M1 및 C1 EC2 인스턴스의 인스턴스 스토어 스왑 볼륨 활성화
참고
이 주제는 c1.medium
및 m1.small
Linux 인스턴스에만 적용됩니다.
c1.medium
및 m1.small
인스턴스 유형은 물리적 메모리 양이 제한되어 있습니다. 따라서 시작 시간에 Linux 시스템의 가상 메모리의 역할을 할 수 있는 900MiB의 스왑 볼륨, 즉 스왑 공간이 부여됩니다. Linux에서 스왑 공간은 물리적으로 할당된 것보다 더 큰 메모리가 시스템에 필요할 때 사용될 수 있습니다. 스왑 공간이 활성화되면 Linux 시스템은 물리 메모리에서 자주 사용되지 않는 메모리 페이지를 스왑 공간(기존 파일 시스템의 스왑 파일 또는 전용 파티션)으로 스왑하고 고속 액세스가 필요한 메모리 페이지용으로 해당 공간을 해제합니다.
참고
-
메모리 페이징용으로 스왑 공간을 사용하는 것은 RAM을 사용하는 것보다 빠르거나 효율적이지 않습니다. 워크로드가 메모리를 스왑 공간으로 정기적으로 페이징하는 경우 큰 RAM 용량을 갖는 대형 인스턴스 유형으로 마이그레이션할 것을 고려해야 합니다. 자세한 내용은 Amazon EC2 인스턴스 유형 변경 단원을 참조하십시오.
-
Linux 커널에서는 이 스왑 공간을 루트 디바이스의 파티션으로 간주하지만 이 공간은 루트 디바이스 유형에 상관없이 실제로는 별도의 인스턴스 스토어 볼륨입니다.
Amazon Linux는 이 스왑 공간을 자동으로 활성화 및 사용하지만 사용자의 AMI에서 이 스왑 공간을 인식 및 사용하기 위해서는 추가적인 몇 단계가 필요합니다. 인스턴스에서 스왑 공간이 사용되는지를 확인하려면 swapon -s 명령을 사용합니다.
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1
위 인스턴스에서는 900MiB의 스왑 볼륨이 연결 및 활성화되었습니다. 이 명령을 수행했는데 스왑 볼륨이 표시되지 않는 경우 디바이스에서 스왑 공간을 활성화해야 합니다. lsblk 명령을 사용하여 가용 디스크를 확인합니다.
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk
여기에서 인스턴스는 스왑 볼륨 xvda3
를 사용할 수 있지만 해당 볼륨은 활성화되지 않은 상태입니다(MOUNTPOINT
필드가 공란임). swapon 명령을 사용하면 스왑 볼륨을 활성화할 수 있습니다.
참고
/dev/
를 사용하여 디바이스 이름 앞에 lsblk를 추가해야 합니다. 사용자 디바이스는 sda3
, sde3
, 또는 xvde3
등으로 다르게 명명할 수 있습니다. 아래 명령에서 시스템의 디바이스 이름을 사용합니다.
[ec2-user ~]$
sudo swapon /dev/xvda3
이제 lsblk 및 swapon -s 출력에 스왑 공간이 표시되어야 합니다.
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP]
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1
또한 /etc/fstab
파일을 편집하여 부팅 시마다 이 스왑 공간이 자동 활성화되도록 설정해야 합니다.
[ec2-user ~]$
sudo vim /etc/fstab
/etc/fstab
파일에 다음 명령을 추가합니다(시스템의 스왑 디바이스 이름 사용):
/dev/xvda3
none swap sw 0 0
인스턴스 스토어 볼륨을 스왑 공간으로 사용하려면
모든 인스턴스 스토어 볼륨은 스왑 공간으로 사용될 수 있습니다. 예를 들어, m3.medium
인스턴스 유형은 스왑 공간으로 적당한 4GB SSD 인스턴스 스토어 볼륨이 포함됩니다. 사용자의 인스턴스 스토어 볼륨이 훨씬 큰(예: 350GB) 경우 해당 볼륨을 4-8GB의 작은 스왑 파티션으로 나누고 나머지는 데이터 볼륨으로 사용할 수 있습니다.
참고
이 절차는 인스턴스 스토리지를 지원하는 인스턴스 유형에만 적용됩니다. 지원되는 인스턴스 유형의 목록은 EC2 인스턴스의 인스턴스 스토어 볼륨 제한 섹션을 참조하세요.
-
인스턴스에 연결된 블록 디바이스 목록을 확인하여 인스턴스 스토어 볼륨에 사용할 디바이스 이름을 얻습니다.
[ec2-user ~]$
lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /
이 예제에서 인스턴스 스토어 볼륨은
/dev/xvdb
입니다. Amazon Linux 인스턴스이기 때문에 인스턴스 스토어 볼륨은 포맷된 후/media/ephemeral0
에 마운트됩니다. 모든 Linux 운영 체제에서 이러한 과정이 자동으로 수행되는 것은 아닙니다. -
(선택 사항) 인스턴스 스토어 볼륨이 마운트되면(
MOUNTPOINT
명령 출력에 lsblk로 목록 표시) 다음 명령으로 마운트를 해제합니다.[ec2-user ~]$
sudo umount /dev/xvdb
-
mkswap 명령으로 디바이스에 Linux 스왑 영역을 설정합니다.
[ec2-user ~]$
sudo mkswap /dev/xvdb
mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
-
새 스왑 공간을 활성화합니다.
[ec2-user ~]$
sudo swapon /dev/xvdb
-
새 스왑 공간이 사용 중인지 확인합니다.
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
-
/etc/fstab
파일을 편집하여 부팅 시마다 이 스왑 공간이 자동 활성화되도록 설정합니다.[ec2-user ~]$
sudo vim /etc/fstab
/etc/fstab
파일에/dev/xvdb
(또는/dev/sdb
) 항목이 있는 경우 아래 라인과 일치하도록 변경합니다. 이 디바이스에 대한 항목이 없는 경우/etc/fstab
파일에 다음 라인을 추가합니다(시스템의 스왑 디바이스 이름 사용):/dev/
xvdb
none swap sw 0 0