LVM とは

## 勉強前イメージ

論理ボリュームとかそこらへんの話

## 調査

### LVMとは？

logical volume manager の略で論理的にパーティションを管理します。
複数のハードディスクやパーティションにまたがった領域をまとめて
1つの論理論理ボリュームとして扱うことの出来る機能になります。
LVMの機能を使用することで論理ボリュームの拡大・縮小などシステムを停止せずに行うことができます。

### 単語の解説

#### PE(フィジカルエクステント)

PEはLVMが扱う記憶領域で最小の単位で、デフォルトが4MB、最大65,536個まで作ることができる。

#### PV(フィジカルボリューム)

PVは物理的な記憶媒体のこと。
通常であればディスク1つに対して1対1だが、
複数パーティションで区切り、パーティション単位でPVを1対1で作成することも出来る。

#### VG(ボリュームグループ)

VGはPV(フィジカルボリューム)の管理を行います。
通常VG作成時に、PV(フィジカルボリューム)の中にデフォルト4MBでPE(フィジカルエクステント)が作られ、
複数のPV(フィジカルボリューム)でVG(ボリュームグループ)が作成されます。

#### LV(ロジカルボリューム)

LVは、実ファイルを格納する領域で
LV(ロジカルボリューム)はPV(フィジカルボリューム)の集合で作成されています。

### PE(フィジカルエクステント),PV(フィジカルボリューム),VG(ボリュームグループ),LV(ロジカルボリューム) の関係性

HDD から PV(フィジカルボリューム) が作られ、
PV(フィジカルボリューム) は PE(フィジカルエクステント) の集まりで、 VG(ボリュームグループ) が作られる。
VG(ボリュームグループ) から LV(ロジカルボリューム) が作られ
LV(ロジカルボリューム) から パーティションが作られる

![LVM関係性 とは - diagrams.net - Google Chrome 2021-02-04 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/bb73101f-dba0-a310-f81f-703bf2ed8aed.png)

### それぞれ確認コマンド

- PV(フィジカルボリューム)

`pvdisplay` コマンドを使用する

```
[root@localhost dev]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <7.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1791
  Free PE               0
  Allocated PE          1791
  PV UUID               xaCKaw-qIio-uPla-p6TA-lZNu-fDw7-sGn8PK
```

ちなみに、PE(フィジカルエクステント)も見れます。
以下に抜粋したのですが
PEのサイズがデフォルト4MB
全部で1791個あり、余ってるPEはないよ、と記載されています。

```
  PE Size               4.00 MiB
  Total PE              1791
  Free PE               0
```

- VG(ボリュームグループ)

`vgdisplay` コマンドを使用する

```
[root@localhost dev]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <7.00 GiB
  PE Size               4.00 MiB
  Total PE              1791
  Alloc PE / Size       1791 / <7.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               9sXEuX-o3T2-z18q-VADH-xpLa-A56U-TjTO8e
```

- LV(ロジカルボリューム)

`lvdisplay` コマンドを使用する
LVは2つあるようです

```
[root@localhost dev]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                EUY3W0-00JP-yFNB-Bybo-FAJJ-2GsD-Mg3O2W
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-01-11 03:10:17 +0900
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                sqg8KV-dlAp-aIG2-YaQB-CnOL-cywz-m6KCxp
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-01-11 03:10:17 +0900
  LV Status              available
  # open                 1
  LV Size                <6.20 GiB
  Current LE             1586
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
```

コマンドから推測される構成は以下のようです。
PVが1つあり、 PEが1791個ありました。
VGが1つあり、LVがrootとswapで2つありました。

![LVM とは2 - diagrams.net - Google Chrome 2021-02-04 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/c530d430-b7df-2b5e-9255-1e336737c719.png)

## 勉強後イメージ

今回はLVMに焦点を当てて勉強したけど、次はLVMはどのようなところとくっついて動いてるのか気になる

## 参考

- [【Linux・CentOS7】 LVM によるディスクの管理について解説](https://go-journey.club/archives/557)
- [LVMの情報を表示するには](https://www.atmarkit.co.jp/flinux/rensai/linuxtips/a065lvminfo.html)
- [ディスク、パーティションの情報確認](https://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=%A5%C7%A5%A3%A5%B9%A5%AF%A1%A2%A5%D1%A1%BC%A5%C6%A5%A3%A5%B7%A5%E7%A5%F3%A4%CE%BE%F0%CA%F3%B3%CE%C7%A7)
- [LVMってそもそもなんなのさ！？　[Linux(LVM/RAID/Storage)]](https://piro791.blog.ss-blog.jp/2008-11-04)