はじめに
こんにちは。
支店内の個人ロッカーが食料庫になっている、BFT名古屋支店の秋山です。
ここ最近何度もLVMを作成するタイミングがあったので、
手順として残しておこうと思います。
前提条件
・環境 RHEL7
・事前にディスクが準備されていること(今回は以下を使用)
Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
用語説明
LVM論理ボリュームマネージャー
複数のハードディスクやパーティションにまたがった記憶領域を一つのボリュームグループにまとめ、単一の論理ボリュームとして扱うことのできるディスク管理機能
LVMを使用することで、論理ボリュームの拡大・縮小をシステムを停止せずに行うことができる物理ボリューム(Physical Volume)
物理的な記憶媒体
通常はディスク1つに対して1対1の構成だが、 ディスクを複数パーティションに区切ることで、パーティション単位でPVを作成することが出来るボリュームグループ(Volume Gloup)
作成されたPVの管理を行う論理ボリューム(Logical Volume)
実ファイルを格納する領域
任意のファイルシステムにフォーマットすることができ、動的に拡張・縮小が可能(VGの空き容量による)
LVM作成
早速作業に取り掛かりましょう!
PV作成
まずは、物理ボリュームを作成します。
# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created.
作成できたことを以下のコマンドで確認します。
# pvdisplay "/dev/sdb" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Yq8x2i-yvli-D9Rf-N0x8-Xbdr-pb2y-5M3kNu
VG作成
次に、vgtest
という名のボリュームグループを作成します。
# vgcreate vgtest /dev/sdb Volume group "vgtest" successfully created
作成できたことを以下のコマンドで確認します。
# vgdisplay --- Volume group --- VG Name vgtest System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <15.00 GiB PE Size 4.00 MiB Total PE 3839 Alloc PE / Size 0 / 0 Free PE / Size 3839 / <15.00 GiB VG UUID T7BNj3-zHPe-DfGh-S3ZK-2KSS-nzXv-4bZfrs
LV作成
次に、lvtest
という名の論理ボリュームを作成します。
# lvcreate -L 500 -n lvtest vgtest Logical volume "lvtest" created.
〈補足〉
-L 作成する論理ボリュームのサイズを指定
(デフォルト単位はメガバイト)
-n 作成する論理ボリュームの名前を指定
作成できたことを以下のコマンドで確認します。
# lvdisplay --- Logical volume --- LV Path /dev/vgtest/lvtest LV Name lvtest VG Name vgtest LV UUID eR7Iej-k53w-WIY3-GCgS-RP6m-c2q3-WO1sxc LV Write Access read/write LV Creation host, time node1-test-1, 2022-12-23 16:47:08 +0900 LV Status available # open 0 LV Size 500.00 MiB Current LE 125 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
これで、物理ボリューム、ボリュームグループ、論理ボリュームまで作成できました。
ファイルシステム作成
次に、作成した論理ボリュームにxfsファイルシステムを作成します。
# mkfs.xfs /dev/vgtest/lvtest meta-data=/dev/vgtest/lvtest isize=512 agcount=4, agsize=32000 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=128000, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
LVMをディレクトリにマウント
LVを作成しただけでは機能しないため、今回は/opt/test
ディレクトリにマウントを行います。
# mount /dev/vgtest/lvtest /opt/test
マウントできたことを確認します。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 909M 0 909M 0% /dev tmpfs 920M 0 920M 0% /dev/shm tmpfs 920M 8.9M 911M 1% /run tmpfs 920M 0 920M 0% /sys/fs/cgroup /dev/sda3 18G 2.1G 16G 12% / /dev/sda1 473M 134M 340M 29% /boot tmpfs 184M 0 184M 0% /run/user/0 /dev/mapper/vgtest-lvtest 497M 26M 472M 6% /opt/test
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk tqsda1 8:1 0 476M 0 part /boot tqsda2 8:2 0 1.9G 0 part [SWAP] mqsda3 8:3 0 17.7G 0 part / sdb 8:16 0 15G 0 disk mqvgtest-lvtest 253:0 0 500M 0 lvm /opt/test sr0 11:0 1 4.2G 0 rom
作成した論理ボリュームlvtest
が
/opt/testにマウントされていることが確認できました。
マウント後に、touchやviでファイル作成後rmで削除し、読み書きができることまで 確認してみて下さいね。
以上で完了となります。
終わりに
今回はLVMの作成手順をまとめてみました。
今後も学んだ内容をアウトプットしていこうと思います。
最後までご覧いただきありがとうございました!
参考
LVM論理ボリュームマネージャー
第1章 LVM 論理ボリュームマネージャー Red Hat Enterprise Linux 7 | Red Hat Customer Portal