다음을 통해 공유


Azure의 Linux VM에서 LVM 구성

이 문서에서는 Azure 가상 머신에서 LVM(논리 볼륨 관리자)을 구성하는 방법을 설명합니다. LVM은 OS 디스크 또는 Azure VM의 데이터 디스크에서 사용할 수 있지만, 기본적으로 대부분의 클라우드 이미지는 OS 디스크에 LVM을 구성하지 않습니다. 아래 단계에서는 데이터 디스크에 대한 LVM 구성에 중점을 줍니다.

선형 및 줄무늬 논리 볼륨

LVM을 사용하여 여러 실제 디스크를 단일 스토리지 볼륨으로 결합할 수 있습니다. 기본적으로 LVM은 일반적으로 선형 논리 볼륨을 만듭니다. 즉, 물리적 스토리지가 함께 연결됩니다. 이 경우 읽기/쓰기 작업은 일반적으로 단일 디스크로만 전송됩니다. 반면 읽기 및 쓰기가 볼륨 그룹에 포함된 여러 디스크에 분산되는 스트라이프 논리 볼륨을 만들 수도 있습니다(RAID0과 유사). 성능상의 이유로, 읽기 및 쓰기가 연결된 모든 데이터 디스크를 활용하도록 논리 볼륨을 스트라이프하는 것을 원할 수 있습니다.

이 문서에서는 여러 데이터 디스크를 단일 볼륨 그룹으로 결합한 다음 스트라이프 논리 볼륨을 만드는 방법을 설명합니다. 아래 단계는 대부분의 배포에서 작동하도록 일반화됩니다. 대부분의 경우 Azure에서 LVM을 관리하기 위한 유틸리티 및 워크플로는 다른 환경과 근본적으로 다르지 않습니다. 평소와 같이 Linux 공급업체에 문의하여 특정 배포에서 LVM을 사용하기 위한 설명서 및 모범 사례를 확인하세요.

데이터 디스크 연결

하나는 일반적으로 LVM을 사용할 때 두 개 이상의 빈 데이터 디스크로 시작하려고 합니다. IO 요구 사항에 따라 디스크당 최대 500 IO/ps 또는 디스크당 최대 5000 IO/ps의 Premium Storage를 사용하여 Standard Storage에 저장된 디스크를 연결하도록 선택할 수 있습니다. 이 문서에서는 Linux 가상 머신에 데이터 디스크를 프로비전하고 연결하는 방법에 대해 자세히 설명하지 않습니다. 빈 데이터 디스크를 Azure의 Linux 가상 머신에 연결하는 방법에 대한 자세한 지침은 Microsoft Azure 문서 "디스크 연결"을 참조하세요.

LVM 유틸리티 설치

  • Ubuntu

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

    sudo yum install lvm2
    
  • SLES 12 및 openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    SLES11에서도 /etc/sysconfig/lvm을(를) 편집하고 LVM_ACTIVATED_ON_DISCOVERED을(를) "사용"으로 설정해야 합니다.

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

LVM 구성

이 가이드에서는 세 개의 데이터 디스크들을 연결한 것으로 가정합니다. 이 디스크들은 각각 /dev/sdc, /dev/sdd/dev/sde로 참조됩니다. 이러한 경로는 VM의 디스크 경로 이름과 일치하지 않을 수 있습니다. 'sudo fdisk -l' 또는 유사한 명령을 실행하여 사용 가능한 디스크를 나열할 수 있습니다.

  1. 물리적 볼륨을 준비하세요.

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. 볼륨 그룹을 만듭니다. 이 예제에서는 볼륨 그룹을 data-vg01호출합니다.

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. 논리 볼륨(들)을 만듭니다. 아래 명령은 전체 볼륨 그룹에 걸쳐 호출 data-lv01 되는 단일 논리 볼륨을 만들지만 볼륨 그룹에 여러 논리 볼륨을 만드는 것도 가능합니다.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. 논리 볼륨 서식 지정

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

    비고

    SLES11에서는 ext4 대신 사용합니다 -t ext3 . SLES11은 ext4 파일 시스템에 대한 읽기 전용 액세스만 지원합니다.

/etc/fstab에 새 파일 시스템 추가

중요합니다

/etc/fstab 파일을 부적절하게 편집하면 부팅할 수 없는 시스템이 발생할 수 있습니다. 확실하지 않은 경우 배포판의 설명서에서 이 파일을 올바르게 편집하는 방법에 대한 자세한 내용을 확인하세요. 또한 편집하기 전에 /etc/fstab 파일의 백업을 만드는 것이 좋습니다.

  1. 새 파일 시스템에 대해 원하는 탑재 지점을 만듭니다. 예를 들면 다음과 같습니다.

    sudo mkdir /data
    
  2. 논리 볼륨 경로 찾기

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. 텍스트 편집기에서 열고 /etc/fstab 새 파일 시스템에 대한 항목을 추가합니다. 예를 들면 다음과 같습니다.

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

    그런 다음 저장하고 닫습니다 /etc/fstab.

  4. 항목이 /etc/fstab 올바른지 테스트합니다.

    sudo mount -a
    

    이 명령으로 인해 오류 메시지가 표시되면 /etc/fstab 파일의 구문을 확인하십시오.

    다음으로 mount 명령을 실행하여 파일 시스템이 탑재되었는지 확인합니다.

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

    여러 배포판은 nobootwait 또는 nofail 탑재 매개 변수를 /etc/fstab 파일에 추가할 수 있습니다. 이러한 매개 변수를 사용하면 특정 파일 시스템을 탑재할 때 오류가 발생할 수 있으며 RAID 파일 시스템을 제대로 탑재할 수 없는 경우에도 Linux 시스템이 계속 부팅되도록 할 수 있습니다. 이러한 매개 변수에 대한 자세한 내용은 배포 설명서를 참조하세요.

    예제(Ubuntu):

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

TRIM/UNMAP 지원

일부 Linux 커널은 디스크에서 사용되지 않은 블록을 버릴 수 있도록 TRIM/UNMAP 작업을 지원합니다. 이러한 작업은 삭제된 페이지가 더 이상 유효하지 않으며 삭제될 수 있음을 Azure에 알리기 위해 표준 스토리지에서 주로 유용합니다. 페이지를 삭제하면 대용량 파일을 만든 다음 삭제하는 경우 비용을 절감할 수 있습니다.

Linux VM에서 TRIM 지원을 사용하는 두 가지 방법이 있습니다. 보통은 사용 중인 배포판에서 권장하는 방법을 참조하세요.

  • discard/etc/fstab 탑재 옵션을 사용합니다. 예:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • 경우에 따라 discard 옵션은 성능에 영향을 줄 수 있습니다. 또는 fstrim 명령을 명령줄에서 수동으로 실행하거나, 또는 정기적으로 실행하기 위해 crontab에 추가할 수 있습니다.

    Ubuntu

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

    RHEL, CentOS 및 Oracle Linux

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