ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LVM(Logical volume Manager)
    Unix Linux Like 2013. 11. 11. 01:02

    기존 디스크 관리 방식의 문제점

    100GB 하드를  /data 에 마운트 하여 데이터 저장용으로 사용하다가 용량이 부족하여 하드디스크를 추가하려고 할 때 

    새로 구입한 100GB 하드디스크 는 /data2에 마운트 하여 사용하거나 /data 하위 디렉토리에 마운트하는 등

    디스크별로 용량을 관리하는 번거로움이 생긴다


    LVM 개념

    여러 하드디스크를 합쳐서 한 파일시스템으로 사용하는 것


    특징

    작은 용량의 하드디스크 여러 개를 큰 용량의 하드디스크 한 개처럼 사용

    서버 운영 시에 대용량의 별도 저장 공간이 필요할 대 활용



    2개이상의 하드디스크를 1개의 볼륨으로 사용하며 파일이 저장되는 방식으로 

    RAID와 달리 앞의 하드디스크가 완전히 저장된후에 다음 하드디스크에 데이터가 저장된다.

    즉, 앞의 하드디스크에 데이터가 완전히 저장되지 않는다면 다음 하드디스크는 전혀 사용되지 않는다.


    용어

    Physical Volume(물리 볼륨)        /dev/sda1, /dev/sdb1, /dev/sdc1 등을 의미

    Volume Group(볼륨 그룹)           Physical Volume을 합쳐서 물리적 그룹 한 개로 만드는 것

    Logical Volume(논리 볼륨)         Volume Group을 나눠서 논리적 그룹으로 나눔(1개이상)

    Physical Extent                        PV가 갖는 일정한 블록

    Logical Extent                          LV가 갖는 일정한 블록




    LVM 사용하기 - 100GB 하드디스크 3개를 추가 했다고 가정


    1. 아래와 같이 각 디스크에 Linux LVM 타입 파티션을 생성한다.


    # fdisk /dev/sdb                        // 두번째 하드디스크 선택

    Command : n                             // 새로운 파티션 생성( 기존의 파티션이 없다고 가정)

    Command action : p                   // Primary partition 선택

    Partition number : (1-4) : 1          // 파티션 번호 1 번 선택

    First cylinder : [ENTER]             // 시작 실린더 번호 입력, 기본 값 사용(그냥 Enter )

    Last cylinder : [ENTER]             // 마지막 실린더 번호 입력, 기본 값 사용(그냥  Enter)

    Command : t                             // 파일시스템 유형(타입) 선택

    Hex Code : 8e                           // 선택한 파일시스템 유형 번호 입력( "L"을 입력하면 유형 번호 출력됨), 8e (Linux LVM)

    Command : p                            // 설정된 내용 확인

    Command : w                           // 설정 저장


    2. pvcreate 명령으로 물리적 볼륨을 생성한다.


    # pvcreate /dev/sdb1

    Physical volume "/dev/sdb1" successfully created


    # pvcreate /dev/sdc1

    Physical volume "/dev/sdc1" successfully created


    # pvcreate /dev/sdd1

    Physical volume "/dev/sdd1" successfully created


    3. 세 물리 볼륨을 하나로 묶어주는 작업 진행, 즉, 볼륨 그룹을 생성한다. 볼륨 그룹 이름은 testVG


    # vgcreate testVG /dev/sdb1 /dev/sdc1 /dev/sdd1

    Volume group "testVG" successfully created


    4. vgdisplay 명령으로 볼륨 그룹이 제대로 생성되었는지 확인

    # vgdisplay


    5. lvcreate 명령을 사용하여 논리적 볼륨을 생성한다.

    # lvcreate -L 150GB -n testLV1 testVG


    위 명령의 의미는 testVG 아래에 testLV1 이라는 논리 볼륨을 생성하고, 크기는 150GB로 설정 하라는 의미


    일만적인 하드디스크(/dev/sda)를 파티션(/dev/sda1)으로 분할하는 것과 마찬가지로 

    볼륨 그룹(/dev/testVG)을 논리 그룹(/dev/testVG/testLV1)으로 불할하는 것이다.


    /dev/testVG/testLV1 은 실제 /dev/mapper/testVG-testLV1 이라는 파일에 링크되어 있다.

    그냥 취급하기 편하게 /dev/testVG/testLV1이라고 생각해도 관계없다.


    6. 파일시스템 생성

    일반적으로 파티션을 생성 후 mkfs.ext3 명령어로 ext3 파일 시스템을 포맷하듯이, /dev/testVG/testLV1 도 똑같은 과정을 거친다.


    # mkfs.ext3 /dev/testVG/testLV1


    7. 마운트

    아래와 같이 마운트 할 디렉토리 생성후 마운트 한다.

    # mkdir data

    # mount /dev/testVG/testLV1 /data


    df 명령을 통해 여유 공간을 확인

    # df


    8. 부팅시 마운트 되도록 설정

    # vi /etc/fstab

    /dev/tesVG/testLV1         /data             ext3            defaults            1    1




    전체적인 그림







    ※ 출처: 뇌를 자극하는 Redhat Fedora : 리눅스 서버 & 네트워크 







     





     

    728x90
    반응형

    댓글

Designed by Tistory.