Lightsail 블록 스토리지 디스크를 생성하고 Linux 인스턴스에 연결 - Amazon Lightsail

Lightsail 블록 스토리지 디스크를 생성하고 Linux 인스턴스에 연결

Amazon Lightsail 인스턴스용으로 블록 스토리지 디스크를 추가로 생성하여 연결할 수 있습니다. 추가로 생성한 디스크를 Linux/Unix 기반의 Lightsail 인스턴스에 연결한 다음 그 디스크를 포맷하고 탑재해야 합니다.

이 주제에서는 새 디스크를 생성하고 Lightsail을 사용하여 연결하는 방법을 보여 줍니다. 또 연결된 디스크를 포맷하고 탑재하기 위해 SSH를 사용하여 Linux/Unix 기반 인스턴스에 연결하는 방법도 설명합니다.

Windows Server 기반의 인스턴스가 있는 경우 블록 스토리지 디스크 생성 Windows Server 인스턴스에 연결을 참조하세요.

1단계: 새 디스크 생성 및 인스턴스에 연결

  1. 왼쪽 탐색 창에서 스토리지를 선택합니다.

  2. 디스크 생성을 선택합니다.

  3. Lightsail 인스턴스가 있는 AWS 리전 및 가용 영역을 선택합니다.

  4. 크기를 선택합니다.

  5. 디스크의 이름을 입력합니다.

    리소스 이름:

    • Lightsail 계정의 각 AWS 리전 내에서 고유해야 합니다.

    • 2~255자의 문자로 구성되어야 합니다.

    • 영숫자 문자 또는 숫자로 시작하고 끝나야 합니다.

    • 영숫자 문자, 숫자, 마침표, 대시, 밑줄이 포함될 수 있습니다.

  6. 다음 옵션 중 하나를 선택하여 디스크에 태그를 추가합니다.

    • 키 전용 태그를 추가하거나 키 전용 태그를 편집(이미 태그를 추가한 경우)합니다. 새 태그를 태그 키 텍스트 상자에 입력하고 Enter를 누릅니다. 태그를 추가하려면 태그 입력이 완료될 때 저장을 선택하고, 태그를 추가하지 않으려면 취소를 선택합니다.

      Lightsail 콘솔의 키 전용 태그.
    • 키-값 태그를 생성한 다음 키를 텍스트 상자에 입력하고, 값을 텍스트 상자에 입력합니다. 태그 입력이 완료되면 저장을 선택하고, 태그를 추가하지 않으려면 취소를 선택합니다.

      키-값 태그는 저장 전에 한 번에 하나씩만 추가할 수 있습니다. 둘 이상의 키-값 태그를 추가하려면 이전 단계를 반복하세요.

      Lightsail 콘솔의 키-값 태그.
    참고

    키 전용 태그 및 키-값 태그에 대한 자세한 내용은 태그를 참조하세요.

  7. 디스크 생성을 선택합니다.

    몇 초 뒤 디스크가 생성되고, 새 디스크 관리 페이지가 열립니다.

  8. 목록에서 원하는 인스턴스를 선택하고 연결을 선택하여 새 디스크를 인스턴스에 연결합니다.

2단계: 인스턴스에 연결하여 디스크 포맷 및 탑재

  1. 디스크를 생성하여 연결했으면 Lightsail의 인스턴스 관리 페이지로 돌아갑니다.

    기본적으로 연결 탭이 표시됩니다.

    인스턴스 관리 페이지의 연결 탭
  2. SSH를 사용하여 연결을 선택하여 인스턴스에 연결합니다.

  3. 터미널 창에 다음 명령을 입력합니다.

    lsblk

    lsblk 명령의 출력에서는 디스크 경로 맨 앞의 /dev/ 접두사가 생략됩니다.

    참고

    2023년 6월 29일 Lightsail 인스턴스의 기본 하드웨어를 업데이트했습니다. 다음 예제에서는 이전 세대 인스턴스의 디바이스 이름이 /dev/xvda로 표시됩니다. 이 날짜 이후에 생성된 인스턴스의 디바이스 이름은 /dev/nvme0n1로 표시됩니다.

    Current generation instances

    다음 예제 출력에서 루트 볼륨(nvme0n1)에는 2개의 파티션(nvme0n1p1nvme0n1p128)이 있는 반면 추가 볼륨(nvme1n1)에는 파티션이 없습니다.

    [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
    Previous generation instances

    다음 예제 출력에서 루트 볼륨(xvda)에는 1개의 파티션(xvda1)이 있는 반면 추가 볼륨(xvdf)에는 파티션이 없습니다.

    [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 24G 0 disk
  4. 해당 디스크에 파일 시스템을 생성할지 여부를 결정합니다. 새 디스크는 원시 블록 디바이스이므로, 먼저 파일 시스템을 생성해야 이 디스크를 탑재하고 사용할 수 있습니다. 스냅샷에서 복원한 디스크는 이미 파일 시스템이 있을 가능성이 높습니다. 기존의 파일 시스템 위에 새 파일 시스템을 생성하면 그 작업으로 인해 데이터를 덮어쓰게 됩니다.

    다음을 사용하여 디스크에 파일 시스템이 있는지 확인합니다. 디스크에 파일 시스템이 없는 경우 2.5단계로 진행합니다. 디스크에 파일 시스템이 있는 경우 2.6단계로 건너뜁니다.

    Current generation instances
    sudo file -s /dev/nvme1n1

    새로운 디스크에 대해 다음과 같은 결과가 출력됩니다.

    /dev/nvme1n1: data

    다음과 같이 출력되면 디스크에 이미 파일 시스템이 있는 것입니다.

    /dev/nvme1n1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    Previous generation instances
    sudo file -s /dev/xvdf

    새로운 디스크에 대해 다음과 같은 결과가 출력됩니다.

    /dev/xvdf: data

    다음과 같이 출력되면 디스크에 이미 파일 시스템이 있는 것입니다.

    /dev/xvda1: Linux rev 1.0 ext4 filesystem data, UUID=1701d228-e1bd-4094-a14c-12345EXAMPLE (needs journal recovery) (extents) (large files) (huge files)
  5. 다음 명령을 사용하여 해당 디스크에 새 파일 시스템을 생성하세요. 디바이스 이름(예: /dev/nvme1n1)을 device_name으로 바꿉니다. 애플리케이션의 요구 사항 또는 운영 체제의 제한에 따라 ext3 또는 ext4 등 다양한 파일 시스템 유형을 선택할 수 있습니다.

    중요

    이 단계에서는 비어 있는 디스크를 탑재한다고 가정합니다. 이미 데이터가 있는 디스크를 탑재하는 경우(예: 스냅샷에서 복원한 디스크), 디스크를 탑재하기 전에 mkfs 명령을 사용하지 마십시오. 그 대신 2.6단계로 이동하여 탑재 지점을 만듭니다. 아니면 디스크를 포맷하고 기존 데이터를 삭제합니다.

    Current generation instances
    sudo mkfs -t xfs device_name

    그러면 다음과 같은 결과가 표시됩니다.

    meta-data=/dev/nvme1n1 isize=512 agcount=16, agsize=1048576 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 bigtime=1 inobtcount=1 data = bsize=4096 blocks=16777216, imaxpct=25 = sunit=1 swidth=1 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=16384, version=2 = sectsz=512 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
    Previous generation instances
    sudo mkfs -t ext4 device_name

    그러면 다음과 같은 다음 결과가 표시됩니다.

    mke2fs 1.42.9 (4-Feb-2014) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 4194304 inodes, 16777216 blocks 838860 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 512 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
  6. 다음 명령으로 해당 디스크의 탑재 지점 디렉터리를 생성합니다. 탑재 지점이란 파일 시스템 트리에서 디스크가 차지하는 위치이자, 디스크를 탑재한 후 파일을 읽어 오거나 쓰는 위치입니다. mount_point의 위치를 /data와 같이 사용하지 않는 공간으로 변경합니다.

    sudo mkdir mount_point
  7. 다음 명령을 입력해서 현재 디스크에 파일 시스템이 있는지 확인할 수 있습니다.

    Current generation instances
    sudo file -s /dev/nvme1n1

    /dev/nvme1n1: data 대신, 다음과 비슷한 결과가 출력됩니다.

    /dev/nvme1n1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    Previous generation instances
    sudo file -s /dev/xvdf

    /dev/xvdf: data 대신, 다음과 비슷한 결과가 출력됩니다.

    /dev/xvdf: Linux rev 1.0 ext4 filesystem data, UUID=0ee83fdf-e370-442e-ae38-12345EXAMPLE (extents) (large files) (huge files)
  8. 마지막으로 다음 명령을 입력하여 디스크를 탑재합니다.

    sudo mount device_name mount_point

    새 디스크 탑재 지점에 대한 파일 권한을 검토하여 사용자 및 애플리케이션이 그 디스크에 쓸 수 있는지 확인합니다. 파일 권한에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Amazon EBS 볼륨을 사용할 수 있도록 만들기를 참조하세요.

3단계: 인스턴스를 재부팅할 때마다 디스크 탑재

Lightsail 인스턴스를 재부팅할 때마다 이 디스크를 탑재해야 하는 경우도 있습니다. 그렇지 않다면 이 단계는 건너뛰어도 됩니다.

  1. 시스템을 재부팅할 때마다 이 디스크를 탑재하려면 해당 디바이스 항목을 /etc/fstab 파일에 추가합니다.

    수정 도중 실수로 이 파일이 손상되거나 삭제되는 경우에 대비하여 /etc/fstab 파일의 백업을 만들어 둡니다.

    sudo cp /etc/fstab /etc/fstab.orig
  2. vim과 같은 텍스트 편집기를 사용하여 /etc/fstab 파일을 엽니다.

    파일을 열기 전에 sudo를 입력해야만 변경 사항을 저장할 수 있습니다.

  3. 다음 형식으로 디스크 파일의 마지막에 새 줄을 추가합니다.

    device_name mount_point file_system_type fs_mntops fs_freq fs_passno

    새로 만든 줄은 예를 들면 다음과 같은 모습으로 보입니다.

    Current generation instances
    /dev/nvme1n1 /data xfs defaults,nofail 0 2
    Previous generation instances
    /dev/xvdf /data ext4 defaults,nofail 0 2
  4. 파일을 저장하고 텍스트 편집기를 종료합니다.