Lvm

지각생 연습장

목차

LVM

  • Logical Volume Manager
  • 여러 하드디스크를 그룹화 해서 유동적으로 공간을 구성할 수 있다. Software RAID라 할까?
  • LVM-HOWTO (KLDP)
  • 물리볼륨(pv)->볼륨그룹(vg)->논리볼륨(lv)

사용 개요

  1. 각 디스크를 물리볼륨화 : pvcreate
  2. 만들어진 여러 물리볼륨을 묶음 : vgcreate
  3. 묶인 볼륨을 필요에 따라 적절히 분배 (파티션 만들기) : lvcreate
  4. 만들어진 파티션을 포맷
  5. 마운트해서 사용
# pvcreate /dev/hdb1
# pvcreate /dev/hdc1
...
# vgcreate test /dev/hdb1 /dev/hdc1 ... 
# vgdisplay -v test
(test 볼륨그룹에 대한 정보 확인)
# lvcreate -L 50M -n HOWTO test 
# mke2fs /dev/test/HOWTO 
# mount /dev/test/HOWTO /mnt

명령어들

  • lvm / lvm-bin-scan (/sbin 에 lvmiopversion 명령에 대한 심볼릭 링크 유지) / lvmchange (obsolete) / lvmdiskscan (List devices that may be used as physical volumes) / lvmiopversion (report LVM protocol version) / lvmsadc (Collect activity data) / lvmsar (Create activity report)

pv

  • pvcreate / pvremove
  • pvdisplay / pvs / pvscan
  • pvresize
  • pvchange
  • pvmove

vg

  • vgcreate / vgremove
  • vgdisplay / vgscan / vgs
  • vgchange / vgconvert
  • vgimport / vgexport
  • vgextend (볼륨 그룹 늘리기, 인수로 늘릴 그룹 이름과 새 물리 볼륨) / vgreduce / vgrename / vgsplit
  • vgcfgbackup / vgcfgrestore
  • vgck

lv

  • lvcreate / lvremove
  • lvdisplay / lvscan / lvs
  • lvchange / lvconvert
  • lvextend / lvreduce / lvrename / lvresize

디스크 교체하기

물리 디스크에 문제가 생겼을 경우, 새 하드디스크를 장착해서 물리볼륨(pv)을 만들고, pvmove 유틸리티를 이용해 옮겨져야 할 PE(physical extents) 를 그 디스크(pv)로 이동시킨다.

  1. 교체할 하드디스크(disk1)와 같거나 큰 용량의 하드디스크(disk2)를 준비
  2. disk2를 물리볼륨으로 만든다
  3. 새 pv 를 vg 에 포함시킨다
  4. pvmove 로 데이터를 옮긴다.
  5. vgreduce 로 disk1의 물리볼륨을 뺀다.
  6. disk1 을 물리적으로 제거한다.

참고

개인 도구