차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:lvm [2016/07/12 00:56] – 바깥 편집 127.0.0.1 | tech:lvm [2022/12/03 12:22] (현재) – 172.70.233.27 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
{{tag> | {{tag> | ||
- | ======Lvm====== | + | ======LVM(Logical Volumn Manager)====== |
+ | LVM은 물리적 스토리지 이상의 추상적 레이어를 생성해서 논리적 스토리지(가상의 블록 장치)를 생성할 수 있게 해준다. | ||
+ | 직접적으로 물리적 스토리지를 사용하는 것보다 다양한 | ||
+ | ** 장점** | ||
+ | * 유연한 용량 | ||
+ | * 크기 조정 가능한 스토리지 풀(Pool) | ||
+ | * 온라인 데이터 재배치 | ||
+ | * 편의에 따라 장치 이름 지정 | ||
+ | * 디스크 스트라이핑 | ||
+ | * 미러 볼륨 | ||
+ | * 볼륨 스냅샷 | ||
+ | =====개념===== | ||
+ | 나에게 보여지는 디스크가 하드웨어와 1:1 대응이 되는 것이 아니기 때문에 | ||
+ | 기본 개념을 이해하고 있는 것이 좋다. | ||
- | Mounting a Linux LVM volume | + | 기존 파일시스템이 블록 장치에 직접 접근해서 읽고/ |
+ | LVM을 사용하면 파일 시스템이 LVM이 만든 가상의 블록 장치에 읽고/ | ||
+ | {{: | ||
+ | |||
+ | 이 관계를 이해해야 한다. 각 물리볼륨은 그룹을 통해서 묶이고, 논리볼륨을 구성하게 된다. | ||
+ | (자세한 설명은 [[http:// | ||
+ | |||
+ | |||
+ | [[tech:Lvm Mount|Mounting a Linux LVM volume]] | ||
You do not mount a partition of type "Linux LVM" the same way you mount a partition using a standard Linux file system (e.g. ext2, ext3). | You do not mount a partition of type "Linux LVM" the same way you mount a partition using a standard Linux file system (e.g. ext2, ext3). | ||
+ | =====볼륨그룹===== | ||
+ | ====vgconvert==== | ||
+ | vgconvert 명령어로 LVM1 포멧에서 LVM2 포멧으로 변환이 가능하다. | ||
+ | |||
+ | ====HDD추가==== | ||
+ | |||
+ | vgextend JoinedVG /dev/sde1 | ||
+ | 해당 볼륨그룹에 HDD를 할당한다. | ||
+ | |||
+ | ====이동==== | ||
+ | vgmove JoinedVg /dev/sde1 | ||
+ | 해당 볼륨그룹에 충분한 공간이 있다면, 해당 하드의 내용물을 다른 곳(HDD)으로 이동한다. | ||
+ | ====제거==== | ||
+ | vgreduce JoinedVG /dev/sde1 | ||
+ | 해당 HDD를 볼륨그룹에서 제거한다. | ||
+ | |||
+ | vgmove 후 vgreduce 를 하면 볼륨그룹을 파괴하지 않고, 자료를 보존하면서 안전하게 HDD를 제거할 수 있다. | ||
+ | |||
+ | =====논리===== | ||
+ | |||
+ | lvcreate -L LV용량 -n LV명 VG명 (ex - lvcreate -L 1T -n MyLV MyVG) | ||
+ | |||
+ | |||
+ | lvcreate -l 100%FREE -n Joined-lvm JoinedVG | ||
+ | JoinedVG의 모든 공간을 사용하여 | ||
+ | < | ||
$ fdisk -l /dev/hda | $ fdisk -l /dev/hda | ||
줄 16: | 줄 63: | ||
/ | / | ||
/ | / | ||
+ | </ | ||
mount /dev/hda2 /tmp/mnt | mount /dev/hda2 /tmp/mnt | ||
- | mount: /dev/hda2 already mounted or /tmp/mnt busy | + | |
First, let's determine the volume group containing the physical volume /dev/hda2. | First, let's determine the volume group containing the physical volume /dev/hda2. | ||
+ | < | ||
$ pvs | $ pvs | ||
PV | PV | ||
/ | / | ||
/ | / | ||
+ | </ | ||
Next, let's list the logical volumes in VolGroup01. | Next, let's list the logical volumes in VolGroup01. | ||
+ | < | ||
$ lvdisplay / | $ lvdisplay / | ||
--- Logical volume --- | --- Logical volume --- | ||
줄 57: | 줄 108: | ||
Read ahead sectors | Read ahead sectors | ||
Block device | Block device | ||
+ | </ | ||
The logical volume I would like to " | The logical volume I would like to " | ||
+ | < | ||
$ mount / | $ mount / | ||
+ | </ | ||
+ | |||
+ | =====LVM logical volume 확장===== | ||
+ | vg 볼륨이 1000M 남아있고, | ||
+ | 현재 lvm 볼륨은 mount 되어 사용중이다. 온라인 상태에서 확장을 할려고 하는거다. | ||
+ | |||
+ | > lvextend -L +100M / | ||
+ | > resize2fs / | ||
+ | > df -h 명령어로 확인해 보면 mount 된 볼륨이 확장된걸 확인할 수 있다. | ||
+ | |||
+ | 용량이 아니라 클러스터 숫자로 확장하려면 | ||
+ | '' | ||
+ | |||
+ | $ sudo lvextend -l +257 / | ||
+ | Size of logical volume backup/data changed from 2.73 TiB (715017 extents) to 2.73 TiB (715274 extents). | ||
+ | Logical volume data successfully resized. | ||
+ | |||
+ | =====LVM thin===== | ||
+ | |||
+ | LVM은 일반적으로 볼륨을 만들 때 블록을 할당함. | ||
+ | |||
+ | |||
+ | ====장점==== | ||
+ | |||
+ | 공간을 사용할 때에만 할당하므로, | ||
+ | 설정된 볼륨이 물리적으로 사용 가능한 공간보다 훨씬 클 수 있다. | ||
+ | |||
+ | ====단점==== | ||
- | Back to brandonhutchinson.com. | + | 씬 프로비저닝은 실제 용량 이상으로 할당되기 때문에 지속해서 모니터링을 하지 않으면 어느 순간 가용 공간이 바닥날 수 있다. 특히 가상화 환경에서 사용하는 경우, 가용 공간이 없어지는 순간 가상머신을 사용할 수 없게 된다. |
- | Last modified: 2006/07/28 | + | |
+ | 무엇보다 씬 프로비저닝의 가장 큰 단점 중 하나는 호스트에 부하가 발생한다는 점임. 호스트는 지속해서 스토리지 공간의 동적 할당과 공간 회수를 수행해야 한다. | ||
- | ^ 누구나 수정하실 수 있습니다. [[http:// | + | 호스트가 미션 크리티컬한 환경일 경우 씩 프로비저닝을 사용하는 편이 좋다. |
+ | =====하드 연결===== | ||
+ | https:// | ||