ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] Oracle VM Swap메모리 설정하기 (2)
    개발/Cloud 2023. 4. 13. 19:00
    반응형

    2023.02.27 - [개발/Cloud] - [Oracle] Oracle Cloud 생성하기 (1)

     

    [Oracle] Oracle Cloud 생성하기

    개인프로젝트나 스터디용으로 서버구성을 하려고 여러 Cloud 서비스를 검토하던중 Oracle Cloud에서 제공되는 Free Tier가 정책이나 제공되는 사양이 괜찮다고 생각되어 선택 후 실제로 구성해 보려고

    eclipse-owl.tistory.com

     

     VM을 생성했다면 기본적으로 필요한 환경설정을 추가로 해줘야 할 필요가 있습니다. 이전글 마지막에 사양체크를 했던 정보를 다시 확인해 보겠습니다.

    ubuntu@instance-20230228-1618:~$ free -h
                   total        used        free      shared  buff/cache   available
    Mem:           964Mi       182Mi       374Mi       1.0Mi       406Mi       626Mi
    Swap:             0B          0B          0B
    ubuntu@instance-20230228-1618:~$ df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    tmpfs              98728    1060     97668   2% /run
    /dev/sda1      101430960 2018792  99395784   2% /
    tmpfs             493636       0    493636   0% /dev/shm
    tmpfs               5120       0      5120   0% /run/lock
    /dev/sda15        106858    6161    100697   6% /boot/efi
    tmpfs              98724       4     98720   1% /run/user/1001
    ubuntu@instance-20230228-1618:~$

     위와 같이 1GB 메모리가 물리적으로 잡혀있고 swap 메모리는 전혀 잡혀있지 않습니다. VM에 올리려는 프로젝트의 규모에 따라 다르겠지만 넉넉하진 않기 때문에 swap을 잡아주도록 하겠습니다.

     먼저 swap메모리로 사용할 파일을 생성합니다. 파티션으로 지정해도 되지만 그냥 편하게 파일로 생성합니다.

    #fallocate 명령을 이용한 더미 파일 생성
    sudo fallocate -l 4G /swapfile
    
    #dd 명령을 이용한 더미 파일 생성
    sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

     더미파일을 생성할때는 fallocate 명령어로도 가능하고 dd 명령어로도 가능합니다. 편한 방법으로 사용해서 생성해 주도록 합니다. 이후 권한을 설정해 줍니다.

    sudo chmod 600 /swapfile

     생성된 더미파일을 스왑파일로 생성합니다.

    sudo mkswap /swapfile
    
    Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
    no label, UUID=e5ac493c-7278-4396-bd6a-f4c799651339

     mkswap 명령어를 실행하면 위와같이 실행결과가 표시됩니다. 이제 스왑파일은 생성이 되었으니 스왑메모리를 활성화 합니다.

    sudo swapon /swapfile

    swapon 명령어를 통해 생성한 스왑파일을 메모리로 활성화 합니다. 이제 스왑메모리 설정이 되었으니 다시 메모리를 확인해 보겠습니다.

    free -m
    
                   total        used        free      shared  buff/cache   available
    Mem:             964         219         112           1         632         588
    Swap:           4095           0        4095

     성공적으로 스왑메모리가 잡혀있는것을 확인할 수 있습니다. 하지만 재부팅을 하는 순간 지금 설정한 스왑메모리는 유지가 되지 않기 때문에 자동마운트가 될수 있도록 설정파일을 편집하도록 하겠습니다.

    #파일시스템 정보 수정
    sudo vi /etc/fstab
    
    ---- /etc/fstab 정보 ----
    LABEL=cloudimg-rootfs   /        ext4   discard,errors=remount-ro       0 1
    LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1
    
    #명령어 추가
    /swapfile swap swap defaults 0 0

     이제 자동마운트 설정까지 모두 마무리가 되었습니다. 재부팅 했을때 swap 메모리가 정상적으로 마운트가 되는지 확인해 보기 위해 vm을 재시작 해보겠습니다.

     클라우드 콘솔에서 인스턴스 정보 페이지에 있는 재부팅 버튼으로 재시작을 해줍니다.

     

     재부팅 버튼을 누르면 무시무시한 안내팝업이 표시됩니다.

     

     

     실제 동작이 이루어지고 있던 인스턴스 일경우는 미리 OS명령어로 종료를 먼저 수행하고 재부팅을 하면 됩니다. 재부팅이 정상적으로 수행되고 자동으로 스왑메모리가 마운트 되었는지 확인해 보겠습니다.

    #활성화된 스왑메모리 정보를 표출합니다
    sudo swapon --show
    
    NAME      TYPE SIZE USED PRIO
    /swapfile file   4G   0B   -2

     free 명령어를 이용하여 확인도 가능하지만 swapon --show 명령어를 이용해서도 스왑메모리 활성여부를 확인할 수 있습니다. 확인결과 재부팅 후에 정상적으로 자동마운트가 수행된 것 을 확인할 수 있었습니다.

    반응형

    '개발 > Cloud' 카테고리의 다른 글

    [Oracle] Oracle Cloud 생성하기 (1)  (0) 2023.02.27
Designed by Tistory.