[리눅스] LVM

최동혁·2023년 2월 7일
0

리눅스

목록 보기
11/16

LVM

  • Logical Volume Manager

구성

  • PE : Physical Extent

  • PV : Physical Volume

  • VG : Volume Group

  • 파티션을 PV 단위로 쪼갠다.

  • 쪼갠 volume을 PE 단위로 더 쪼갠다.

  • PV들을 모아놓은 것이 VG이다.

  • LE : Logical Extent

  • LV : Logical Volume

  • 내가 사용할 만큼 LV로 때서 사용한다.

원래 파티션을 쪼개서 사용하는 것의 순서

  • 디스크 추가 -> 인식 -> 파티션 생성 -> 파일 시스템 생성 -> 마운트

LVM의 순서

  • 디스크 추가 -> 인식 -> LVM 타입의 파티션 생성 -> PV 생성 -> VG 생성 -> LV 생성 -> 파일 시스템 생성 -> 마운트

실습

디스크 추가

  • VMware 에서 원래 있던 SCSI 20GB를 제외한 10GB, 30GB, 50GB 하드를 추가한다.

디스크 인식

  • echo 명령어를 이용해 디스크 인식을 시킬 것인데, 저번 실습때 했던게 생각이 안난다면?

  • history | grep echo 명령어를 이용하면 그동안 echo 명령어를 사용했던 history가 출력이 된다.
  • host2를 복사해서 붙여넣기 하면 인식이 된다.

LVM 타입의 파티션 생성

  • 일단 fdisk -l 명령어를 이용해 인식이 잘 되었는지 확인한다.

  • 총 3개를 추가 시켰으니, sdb, sdc, sdd 까지 확인이 된다.

  • LVM 타입으로 파티션을 생성해주자.

  • LVM 타입의 파티션 생성

    • fdisk [장치명]
      • ex) fdisk /dev/sdb
      • n -> p (주 파티션) -> 엔터 (첫번째 섹터) -> 엔터 (마지막 섹터) -> t (타입 변경) -> 8e (LVM 타입으로 변경) -> w (저장)
  • 그리고 fdisk -l 명령어로 다시 확인을 해보자.

  • type이 Linux LVM으로 바뀐것을 확인할 수 있다.

PV 생성

  • PV 생성

    • pvcreate [파티션명]
      • ex) pvcreate /dev/sdb1
  • 생성 확인

    • pvscan 혹은 pvdisplay

VG 생성

  • VG 생성

    • vgcreate [볼륨그룹명][파티션명1] [파티션명2][파티션명3] ....
      • ex) vgcreate vg_test /dev/sdb1 /dev/sdc1
  • 생성 확인

    • vgscan 혹은 vgdisplay [볼륨그룹명]

LV 생성

  • LV 생성
    • lvcreate -L [볼륨크기] -n [볼륨명][볼륨그룹명]
      • ex) lvcreate -L 5G -n lv_test vg_test
        • 볼륨 그룹 vg_test를 lv_test라는 이름을 가진 볼륨으로 5G만큼 만들겠다 라는 소리.
  • 생성 확인
    • lvscan 혹은 lvdisplay [볼륨명]
      - ex) lvdisplay /dev/vg_test/lv_test

파일 시스템

  • 파일 시스템
    • mkfs -t [파일시스템 타입][볼륨명]
      • ex) mkfs -t xfs /dev/vg_test/lv_test

마운트

  • 마운트
    • mount [볼륨명][마운트포인트]
      • ex) mount /dev/sjb-vg/sjb-lv1 /disk
      • disk 디렉토리에 마운트 시키겠다는 소리

결과 확인

  • df -h

  • 10G와 30G, 50G 이렇게 3개의 하드 디스크를 추가 시켰는데, LVM 을 이용해 70G의 이용 가능한 디스크 공간을 얻었다.

  • PV로 나눈 것들을 VG로 묶은 후, 내가 쓸만큼을 LV로 지정해 둔 것이다.

  • 10G, 30G, 50G의 PV를 VG로 묶은 후, 70G 만큼 LV로 만든 것이다.

  • 장점은 용량을 그때 그때 늘릴 수 있다.

LVM 늘리기

  • 현재 90G정도의 크기를 vg로 묶여있고, 20G 정도 쓸 수 있다라는 소리.

  • LV로 70G를 위에서 만들었기 때문에.

  • 부족하니깐 하드를 40G 짜리 하나 더 추가하자.

  • 위의 실습 과정에서 하드 인식과 pv 생성까지 진행하자.

  • 원래 설정해둔 vg에서 추가 생성한 pv를 추가해야 한다.

vg 확장

  • vgextend [볼륨 그룹명][파티션명]

    • ex) vgextend sjb-vg /dev/sde1

  • 확장 확인

  • 아까 나머지 20G에 40G 추가한 하드까지 더해서 총 60G 정도 사용 가능하다고 나온다.

lv 확장

  • lvextend -L +[용량][볼륨명]

    • 어떤 이름을 써야할지 모르겠으면 lvextend -L 같은 명령어를 치고 Tab 키를 두번 누르면 쓸 수 있는 이름이 나온다.
  • 확인

  • 40G를 추가해서 110G가 되어야 하는데, 위의 그림에서는 70G로만 잡혀있다.
  • 파일시스템을 추가 안해줘서 그렇다.
  • 물리적으로 추가가 된게 맞는데, 논리적으로 추가가 안된것이다.

파일시스템 조정, 마운트

  • resize2fs [볼륨명] 또는 xfs_growfs [볼륨명]

  • xfs_growfs 뒤에 어떤 이름을 쓸 수 있는지 보았을 때 여러 디렉토리가 나온다.

  • disk 디렉토리로 정한 후, 입력한다.

  • 위의 두 명령어는 파일시스템 조정을 해주고 마운트까지 같이 해주는 명령어이다.

  • df -h

업로드중..

  • 70G에 40G가 추가된 110G가 된 것을 확인할 수 있다.
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글