적용 대상: ✔️ Linux VM ✔️ 유연한 확장 집합
이 문서에서는 Azure Portal을 통해 Linux 가상 머신에 새 디스크와 기존 디스크를 모두 연결하는 방법을 보여 줍니다. Azure Portal에서 Windows VM에 데이터 디스크를 연결할 수도 있습니다.
필수 조건
디스크를 Azure VM(Virtual Machine)에 연결하기 전에 다음 팁을 검토합니다.
가상 머신의 크기로 연결할 수 있는 디스크 개수가 제어됩니다. 자세한 내용은 가상 머신의 크기를 참조하세요.
가상 머신 찾기
아래 단계를 수행하세요.
Azure Portal로 이동하여 VM을 찾습니다. 가상 머신을 검색하여 선택합니다.
목록에서 디스크를 연결하려는 VM을 선택합니다.
가상 머신 페이지의 설정에서 디스크를 선택합니다.
새 디스크 연결
아래 단계를 수행하세요.
기존 디스크 연결
아래 단계를 수행하세요.
디스크 창의 데이터 디스크에서 기존 디스크 연결을 선택합니다.
디스크 이름에 대한 드롭다운 메뉴를 선택하고 사용 가능한 관리 디스크 목록에서 디스크를 선택합니다.
저장을 선택하여 기존 관리 디스크를 연결하고 VM 구성을 업데이트합니다.
Linux VM에 연결하여 새 디스크 탑재
Linux VM에서 사용할 수 있도록 새 디스크를 분할, 포맷 및 탑재하려면 VM에 SSH합니다. 자세한 내용은 Azure에서 Linux와 함께 SSH를 사용하는 방법을 참조하세요. 다음 예제에서는 azureuser를 사용자 이름으로 하는 공용 IP 주소 10.123.123.25를 사용하여 VM에 연결합니다.
ssh azureuser@10.123.123.25
디스크 찾기
VM에 연결되면 디스크를 찾아야 합니다. 이 예제에서는 lsblk
를 사용하여 디스크를 나열합니다.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
출력은 다음 예제와 유사합니다.
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
이 예제에서 추가된 디스크는 .입니다 sdc
. LUN 0이며 4GB입니다.
좀 더 복잡한 예제의 경우 포털에서 여러 데이터 디스크의 모양은 다음과 같습니다.
이미지에서는 LUN 0의 경우 4GB, LUN 1에서는 16GB, LUN 2에서는 32G의 세 가지 데이터 디스크가 있음을 확인할 수 있습니다.
출력에서 LUN 0의 lsblk
4GB 디스크, sdc
LUN 1의 16GB 디스크, LUN sdd
2의 32G 디스크가 sde
있음을 알 수 있습니다.
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
sdd 3:0:0:1 16G
sde 3:0:0:2 32G
빈 디스크를 새로 준비합니다.
중요합니다
데이터가 포함된 기존 디스크를 사용하는 경우 디스크 탑재로 건너뜁니다. 다음 지침은 디스크의 데이터를 삭제합니다.
새 디스크를 연결하는 경우 디스크를 분할해야 합니다.
유틸리티를 parted
사용하여 데이터 디스크를 분할하고 포맷할 수 있습니다.
- 배포판에 사용할 수 있는 최신 버전을
parted
사용합니다. - 디스크 용량이 2TiB 이상인 경우 GPT 분할을 사용해야 합니다. 디스크 용량이 2TiB 미만이라면 MBR 또는 GPT 분할을 사용할 수 있습니다.
다음 예제에서는 대부분의 VM에서 첫 번째 데이터 디스크가 일반적으로 사용하는 환경인 parted
에서 /dev/sdc
을 사용합니다.
sdc
을 디스크에 맞는 옵션으로 바꿉니다.
XFS 파일 시스템을 사용하여 형식을 지정하기도 합니다.
partprobe
유틸리티를 사용하여 커널이 새 파티션 및 파일 시스템을 인식하는지 확인합니다. 사용하지 partprobe
않으면 Blkid 또는 lslbk 명령이 새 파일 시스템에 대한 UUID를 즉시 반환하지 않을 수 있습니다.
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1
디스크 탑재
파일을 사용하여 mkdir
파일 시스템을 탑재할 디렉터리를 만든 다음 파일 시스템을 탑재하는 데 사용합니다 mount
. 그런 다음 다시 부팅한 후 드라이브가 자동으로 추가되도록 /etc/fstab 파일에 드라이브를 추가합니다.
디바이스 이름(예: /dev/sdc1)이 아닌 /etc/fstab에서 UUID(유니버설 고유 식별자)를 사용하여 드라이브를 참조하는지 확인합니다. 부팅하는 동안 OS에서 디스크 오류를 검색하는 경우 UUID를 사용하여 지정된 위치에 탑재되어 있는 잘못된 디스크를 회피합니다. 나머지 데이터 디스크에는 동일한 디바이스 ID가 할당됩니다. 새 드라이브의 UUID를 찾으려면 유틸리티를 blkid
사용합니다.
sudo mkdir /datadrive
sudo mount /dev/sdc1 /datadrive
sudo blkid
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
fstab 파일 편집
비고
/etc/fstab 파일을 부적절하게 편집하면 부팅할 수 없는 시스템이 발생할 수 있습니다. 확실하지 않은 경우 배포판의 설명서에서 이 파일을 올바르게 편집하는 방법에 대한 자세한 내용을 확인하세요. 편집하기 전에 /etc/fstab 파일의 백업을 만들어야 합니다.
그런 다음 텍스트 편집기에서 /etc/fstab 파일을 엽니다. 이전 단계에서 만든 /dev/sdc1
디바이스의 UUID 값과 /datadrive
의 탑재 지점을 사용하여 파일 끝에 줄을 추가합니다. 이 문서의 예제를 사용한 경우 새 줄은 다음 샘플과 같습니다.
파일 편집을 마쳤으면 편집기를 저장하고 닫습니다.
비고
나중에 fstab을 편집하지 않고 데이터 디스크를 제거하면 VM이 부팅되지 않을 수 있습니다. 대부분의 배포는 nofail 및/또는 nobootwait fstab 옵션을 제공합니다. 이러한 옵션을 사용하면 디스크가 부팅 시 탑재되지 않더라도 시스템을 부팅할 수 있습니다. 이러한 매개 변수에 대한 자세한 내용은 배포 설명서를 참조하세요.
nofail 옵션은 파일 시스템이 손상되었거나 부팅 시 디스크가 없는 경우에도 VM이 시작되도록 합니다. 이 옵션이 없으면 FSTAB 오류로 인해 Linux에 SSH를 사용할 수 없음(영문)에 설명되어 있는 동작이 발생할 수 있습니다.
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
디스크 확인
이제 다시 사용하여 lsblk
디스크와 탑재 지점을 볼 수 있습니다. 그런 다음 출력은 예제와 같이 표시됩니다.
다음 예제 출력에서는 이제 .에 /datadrive
탑재된 것을 sdc
확인할 수 있습니다.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 4G
└─sdc1 4G /datadrive
Azure의 Linux에 대한 TRIM/UNMAP 지원
일부 Linux 커널은 디스크에서 사용되지 않은 블록을 버릴 수 있도록 TRIM/UNMAP 작업을 지원합니다. 이 기능은 Azure에 삭제된 페이지가 더 이상 유효하지 않으며 폐기될 수 있음을 알리는 데 주로 유용합니다. 이 기능은 관리되지 않는 표준 디스크 및 디스크 스냅샷과 같이 사용된 스토리지의 양에 따라 청구되는 디스크의 비용을 절감할 수 있습니다.
Linux VM에서 TRIM 지원을 사용하는 두 가지 방법이 있습니다. 보통은 사용 중인 배포판에서 권장하는 방법을 참조하세요.
discard
/etc/fstab에서 탑재 옵션을 사용합니다. 예를 들면 다음과 같습니다.```config UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2 ```
경우에 따라
discard
옵션을 사용하면 성능이 저하될 수 있습니다. 또는fstrim
명령을 명령줄에서 수동으로 실행하거나, 또는 정기적으로 실행하기 위해 crontab에 추가할 수 있습니다.Ubuntu
sudo apt-get install util-linux sudo fstrim /datadrive
RHEL
sudo yum install util-linux sudo fstrim /datadrive
SUSE
sudo zypper install util-linux sudo fstrim /datadrive