Azure에서 Linux VM에 LVM 구성Configure LVM on a Linux VM in Azure

이 문서에서는 Azure 가상 컴퓨터의 LVM(논리 볼륨 관리자)을 구성하는 방법을 설명합니다.This document will discuss how to configure Logical Volume Manager (LVM) in your Azure virtual machine. Azure VM에서 OS 디스크 또는 데이터 디스크에 LVM을 사용할 수 있지만, 기본적으로 대부분의 클라우드 이미지는 OS 디스크에서 LVM이 구성되지 않습니다.LVM may be used on the OS disk or data disks in Azure VMs, however, by default most cloud images will not have LVM configured on the OS disk. 아래 단계에서는 데이터 디스크에 LVM을 구성하는 방법을 중점적으로 다룹니다.The steps below will focus on configuring LVM for your data disks.

선형 및 스트라이프 논리 볼륨 비교Linear vs. striped logical volumes

LVM을 사용하여 단일 저장소 볼륨에 여러 실제 디스크를 결합할 수 있습니다.LVM can be used to combine a number of physical disks into a single storage volume. 기본적으로 LVM은 일반적으로 선형 논리 볼륨을 만듭니다. 즉, 실제 저장소가 함께 연결되어 있습니다.By default LVM will usually create linear logical volumes, which means that the physical storage is concatenated together. 이 경우 일반적으로 읽기/쓰기 작업은 단일 디스크로만 전송됩니다.In this case read/write operations will typically only be sent to a single disk. 반면 읽기 및 쓰기가 볼륨 그룹에 포함된 여러 디스크에 분산되는 스트라이프 논리 볼륨을 만들 수도 있습니다(RAID0과 유사).In contrast, we can also create striped logical volumes where reads and writes are distributed to multiple disks contained in the volume group (similar to RAID0). 성능상의 이유로 논리 볼륨을 스트라이프하여 읽기 및 쓰기가 연결된 모든 데이터 디스크를 사용하는 것이 좋습니다.For performance reasons, it is likely you will want to stripe your logical volumes so that reads and writes utilize all your attached data disks.

이 문서에는 여러 개의 데이터 디스크를 단일 볼륨 그룹으로 결합한 다음 스트라이프 논리 볼륨을 만드는 방법을 설명합니다.This document will describe how to combine several data disks into a single volume group, and then create a striped logical volume. 아래 단계는 대부분의 배포로 작업하도록 일반화되어 있습니다.The steps below are generalized to work with most distributions. 대부분의 경우 Azure의 LVM을 관리하기 위한 유틸리티 및 워크플로는 다른 환경과 근본적으로 다릅니다.In most cases the utilities and workflows for managing LVM on Azure are not fundamentally different than other environments. 늘 그렇듯이, 특정 배포로 LVM을 사용하는 설명서 및 모범 사례의 경우 Linux 공급업체에도 문의하시기 바랍니다.As usual, also consult your Linux vendor for documentation and best practices for using LVM with your particular distribution.

데이터 디스크 연결Attaching data disks

하나의 디스크가 LVM을 사용하는 경우 일반적으로 두 개 이상의 빈 데이터 디스크로 시작합니다.One will usually want to start with two or more empty data disks when using LVM. IO 요구 사항에 따라 Standard Storage에 저장된 디스크(디스크당 최대 500IO/ps) 또는 Premium Storage에 저장된 디스크(디스크당 최대 5000IO/ps)를 연결할 수 있습니다.Based on your IO needs, you can choose to attach disks that are stored in our Standard Storage, with up to 500 IO/ps per disk or our Premium storage with up to 5000 IO/ps per disk. Linux 가상 컴퓨터에 데이터 디스크를 프로비전 및 연결하는 방법은 이 문서에서 자세히 다루지 않습니다.This article will not go into detail on how to provision and attach data disks to a Linux virtual machine. Azure에서 빈 데이터 디스크를 Linux 가상 머신에 연결하는 방법에 대한 자세한 내용은 Microsoft Azure 문서 디스크 연결 을 참조하세요.See the Microsoft Azure article attach a disk for detailed instructions on how to attach an empty data disk to a Linux virtual machine on Azure.

LVM 유틸리티 설치Install the LVM utilities

  • UbuntuUbuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL, CentOS 및 Oracle LinuxRHEL, CentOS & Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 및 openSUSESLES 12 and openSUSE

    sudo zypper install lvm2
    
  • SLES 11SLES 11

    sudo zypper install lvm2
    

    SLES11에서 /etc/sysconfig/lvm도 편집하고 LVM_ACTIVATED_ON_DISCOVERED을 "사용"으로 설정해야 합니다.On SLES11, you must also edit /etc/sysconfig/lvm and set LVM_ACTIVATED_ON_DISCOVERED to "enable":

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

LVM 구성Configure LVM

이 지침에서는 /dev/sdc, /dev/sdd/dev/sde로 참조하는 세 개의 데이터 디스크가 연결되었다고 가정합니다.In this guide we will assume you have attached three data disks, which we'll refer to as /dev/sdc, /dev/sdd and /dev/sde. 이러한 경로가 VM의 디스크 경로 이름과 일치하지 않을 수도 있습니다.These paths may not match the disk path names in your VM. 'sudo fdisk -l' 또는 유사한 명령을 실행하여 사용 가능한 디스크를 나열할 수 있습니다.You can run 'sudo fdisk -l' or similar command to list your available disks.

  1. 실제 볼륨을 준비합니다.Prepare the physical volumes:

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. 볼륨 그룹을 만듭니다.Create a volume group. 이 예제에서는 볼륨 그룹 data-vg01을 호출합니다.In this example we are calling the volume group data-vg01:

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. 논리 볼륨을 만듭니다.Create the logical volume(s). 아래 명령으로 전체 볼륨 그룹에 걸쳐 data-lv01이라는 단일 논리 볼륨을 만들지만, 볼륨 그룹에 여러 논리 볼륨을 만들 수도 있습니다.The command below we will create a single logical volume called data-lv01 to span the entire volume group, but note that it is also feasible to create multiple logical volumes in the volume group.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. 논리 볼륨 포맷Format the logical volume

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    참고

    SLES11에서는 ext4가 아닌 -t ext3을 사용합니다.With SLES11 use -t ext3 instead of ext4. SLES11은 ext4 파일 시스템에 읽기 전용 액세스만 지원합니다.SLES11 only supports read-only access to ext4 filesystems.

/etc/fstab에 새 파일 시스템 추가Add the new file system to /etc/fstab

중요

/etc/fstab 파일을 부적절하게 편집하면 부팅할 수 없는 시스템이 발생할 수 있습니다.Improperly editing the /etc/fstab file could result in an unbootable system. 확실하지 않은 경우 배포 설명서에서 이 파일을 제대로 편집하는 방법에 대한 자세한 내용을 확인하세요.If unsure, refer to the distribution's documentation for information on how to properly edit this file. 또한 편집하기 전에 /etc/fstab 파일의 백업을 만드는 것이 좋습니다.It is also recommended that a backup of the /etc/fstab file is created before editing.

  1. 새 파일 시스템용으로 원하는 탑재 지점을 만듭니다. 예를 들어 다음과 같습니다.Create the desired mount point for your new file system, for example:

    sudo mkdir /data
    
  2. 논리 볼륨 경로 찾기Locate the logical volume path

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. 텍스트 편집기에서 /etc/fstab을 열고 예를 들어 다음과 같이 새 파일 시스템에 항목을 추가합니다.Open /etc/fstab in a text editor and add an entry for the new file system, for example:

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    /etc/fstab을 저장하고 닫습니다.Then, save and close /etc/fstab.

  4. /etc/fstab 항목이 올바른지 테스트합니다.Test that the /etc/fstab entry is correct:

    sudo mount -a
    

    이 명령 결과 오류 메시지가 발생하는 경우 /etc/fstab 파일에서 구문을 확인하세요.If this command results in an error message check the syntax in the /etc/fstab file.

    그런 다음, mount 명령을 실행하여 파일 시스템이 탑재되었는지 확인합니다.Next run the mount command to ensure the file system is mounted:

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (선택 사항) /etc/fstab의 Failsafe 부팅 매개 변수(Optional) Failsafe boot parameters in /etc/fstab

    많은 배포에는 /etc/fstab 파일에 추가할 수 있는 nobootwait 또는 nofail 탑재 매개 변수가 포함되어 있습니다.Many distributions include either the nobootwait or nofail mount parameters that may be added to the /etc/fstab file. 이 매개 변수는 특정 파일 시스템 탑재 시 오류를 허용하며 Linux 시스템이 제대로 RAID 파일 시스템을 탑재할 수 없는 경우에도 계속 부팅되도록 합니다.These parameters allow for failures when mounting a particular file system and allow the Linux system to continue to boot even if it is unable to properly mount the RAID file system. 이러한 매개 변수에 대한 자세한 내용은 배포 설명서를 참조하십시오.Refer to your distribution's documentation for more information on these parameters.

    예제(Ubuntu):Example (Ubuntu):

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

TRIM/UNMAP 지원TRIM/UNMAP support

일부 Linux 커널은 디스크에서 사용되지 않은 블록을 버릴 수 있도록 TRIM/UNMAP 작업을 지원합니다.Some Linux kernels support TRIM/UNMAP operations to discard unused blocks on the disk. 이러한 작업은 Azure에 삭제된 페이지가 더 이상 유효하지 않으며 폐기될 수 있음을 알리는 데 표준 저장소에서 주로 유용합니다.These operations are primarily useful in standard storage to inform Azure that deleted pages are no longer valid and can be discarded. 큰 파일을 만들고 삭제하는 경우 페이지를 삭제하여 비용을 절감할 수 있습니다.Discarding pages can save cost if you create large files and then delete them.

Linux VM에서 TRIM 지원을 사용하는 두 가지 방법이 있습니다.There are two ways to enable TRIM support in your Linux VM. 평소와 같이 권장되는 방법에 대해 배포에 확인하세요.As usual, consult your distribution for the recommended approach:

  • /etc/fstabdiscard 탑재 옵션을 사용합니다. 예:Use the discard mount option in /etc/fstab, for example:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • 일부 경우 discard 옵션에는 성능이 저하 될 수 있습니다.In some cases the discard option may have performance implications. 또는 fstrim 명령을 명령줄에서 수동으로 실행하거나, 또는 정기적으로 실행하기 위해 crontab에 추가할 수 있습니다.Alternatively, you can run the fstrim command manually from the command line, or add it to your crontab to run regularly:

    UbuntuUbuntu

    # sudo apt-get install util-linux
    # sudo fstrim /datadrive
    

    RHEL/CentOSRHEL/CentOS

    # sudo yum install util-linux
    # sudo fstrim /datadrive