TheKoguryo's 기술 블로그

 Version 2024-11-29

3.6.5 Block Volume 마운트하기

OCI 문서에 따르면 root volume 이외 volume이 둘 이상일 경우 장치 이름으로 마운트 할 경우 서버 재기동 후 장치 이름과 실제 장치의 대응 되는 순서가 달라 질 수도 있다고 합니다. 2019년 1월 10일 기준 서버 재기동 후 장치 이름과 실제 장치의 대응 되는 순서를 보장하기 위해 Consistent Device Path 기능이 출시 되었습니다. 지원되지 않는 이미지 및 인스턴스에서는 전과 동일하게 Volume의 UUID를 기준으로 마운트 방식을 사용합니다.

Device Path로 마운트 하기

  1. OCI 콘솔에서 앞서 Attach된 Block Volume의 Device Path(/dev/oracleoci/oraclevdb)를 확인할 수 있습니다.

    image-20230504155729533

  2. Compute Instance에 SSH로 접속한 후 Device Path를 확인합니다.

    [opc@examplelinuxinstance ~]$ ls -la /dev/oracleoci/
    total 0
    drwxr-xr-x.  2 root root  140 May  4 06:49 .
    drwxr-xr-x. 21 root root 3300 May  4 06:49 ..
    lrwxrwxrwx.  1 root root    6 May  4 06:32 oraclevda -> ../sda
    lrwxrwxrwx.  1 root root    7 May  4 06:32 oraclevda1 -> ../sda1
    lrwxrwxrwx.  1 root root    7 May  4 06:32 oraclevda2 -> ../sda2
    lrwxrwxrwx.  1 root root    7 May  4 06:32 oraclevda3 -> ../sda3
    lrwxrwxrwx.  1 root root    6 May  4 06:54 oraclevdb -> ../sdb
    
  3. 마운트 할 디렉토리 생성

    sudo mkdir /mnt/vol1
    
  4. /etc/fstab 업데이트

    sudo vi /etc/fstab 명령을 수행하여 확인한 Device Path를 바탕으로 다음 내용을 추가합니다.

    OCI 문서의 권고에 따라 인스턴스 재기동시 장착한 Volume의 장애로 인한 영향을 줄이기 위해 _netdev,nofail 옵션을 반드시 추가합니다.

    • Use the _netdev and nofail Options

      sudo vi /etc/fstab
      
    • 업데이트 예시

      기존 내용의 제일 아래에 마운트 정보를 한 줄 추가합니다.

      
      #
      # /etc/fstab
      # Created by anaconda on Tue Jan 17 19:39:49 2023
      ...
      
      ## https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Tasks/connectingtoavolume.htm
      /.swapfile      none    swap    sw,comment=cloudconfig  0       0
      
      /dev/oracleoci/oraclevdb /mnt/vol1 xfs defaults,_netdev,nofail 0 2
      
  5. 마운트

    sudo mount -a
    
    • 마운트 결과

      /dev/sdb가 /mnt/vol1에 마운트 된걸 알 수 있습니다.

      [opc@examplelinuxinstance ~]$ sudo mount -a
      [opc@examplelinuxinstance ~]$ df -h
      Filesystem                  Size  Used Avail Use% Mounted on
      devtmpfs                    1.8G     0  1.8G   0% /dev
      tmpfs                       1.8G     0  1.8G   0% /dev/shm
      tmpfs                       1.8G  8.7M  1.8G   1% /run
      tmpfs                       1.8G     0  1.8G   0% /sys/fs/cgroup
      /dev/mapper/ocivolume-root   36G  8.7G   27G  25% /
      /dev/sda2                  1014M  334M  681M  33% /boot
      /dev/sda1                   100M  5.1M   95M   6% /boot/efi
      /dev/mapper/ocivolume-oled   10G  112M  9.9G   2% /var/oled
      tmpfs                       363M     0  363M   0% /run/user/0
      tmpfs                       363M     0  363M   0% /run/user/988
      tmpfs                       363M     0  363M   0% /run/user/1000
      /dev/sdb                     50G  389M   50G   1% /mnt/vol1
      
  6. 인스턴스 재시작

    /etc/fstab에 추가하였기 때문에 인스턴스 재시작시에도 자동으로 마운트 됩니다. 아래와 같이 이상없이 마운트 되는지 확인해 봅니다. 재시작 후에도 /mnt/vol1으로 마운트 되어 있는 걸 알 수 있습니다.

    [opc@examplelinuxinstance ~]$ sudo reboot
    Connection to 144.24.81.117 closed by remote host.
    Connection to 144.24.81.117 closed
    
    $ ssh -i privateKey opc@144.24.xx.xxx
    FIPS mode initialized
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Thu May  4 06:49:04 2023 from 132.145.xx.xx
    [opc@examplelinuxinstance ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    devtmpfs                    1.8G     0  1.8G   0% /dev
    tmpfs                       1.8G     0  1.8G   0% /dev/shm
    tmpfs                       1.8G  8.7M  1.8G   1% /run
    tmpfs                       1.8G     0  1.8G   0% /sys/fs/cgroup
    /dev/mapper/ocivolume-root   36G  8.7G   27G  25% /
    /dev/sda2                  1014M  334M  681M  33% /boot
    /dev/sda1                   100M  5.1M   95M   6% /boot/efi
    /dev/mapper/ocivolume-oled   10G  112M  9.9G   2% /var/oled
    /dev/sdb                     50G  389M   50G   1% /mnt/vol1
    tmpfs                       363M     0  363M   0% /run/user/0
    tmpfs                       363M     0  363M   0% /run/user/1000
    



이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.

Last updated on 10 Jan 2022