忍者ブログ

ブランクがあるインフラエンジニアの備忘録

サーバ構築のメモ

LVM

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

LVM

・本稿環境
 仮想マシンで検証する場合、仮想ハードディスクを一台追加してください。本稿では追加されたハードディスクは/dev/sdbとして扱います。

◇LVM利用手順
・パーテーションの設定
 以下の手順でパーテーションを作成します
[root@STR1 ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.7
Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present
Creating new GPT entries in memory.
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-62914526, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-62914526, default = 62914526) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8300
Changed type of partition to 'Linux filesystem'
Command (? for help): p
Disk /dev/sdb: 62914560 sectors, 30.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A65D22B8-364B-43AB-8824-39827BCF7447
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        62914526   30.0 GiB    8300  Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
・物理ボリューム作成
[root@STR1 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
・ボリュームグループの作成
[root@STR1 ~]# vgcreate test-vg /dev/sdb1
  Volume group "test-vg" successfully created
・論理ボリュームの作成
[root@STR1 ~]# lvcreate -L 5G -n Lv01 test-vg
  Logical volume "Lv01" created.
・ファイルシステムを作成し、マウント
[root@STR1 ~]# mkfs.xfs /dev/test-vg/Lv01
meta-data=/dev/test-vg/Lv01      isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@STR1 ~]# mkdir /data
[root@STR1 ~]# mount /dev/test-vg/Lv01 /data/
[root@STR1 ~]# df -HT /data/
ファイルシス              タイプ サイズ  使用  残り 使用% マウント位置
/dev/mapper/test--vg-Lv01 xfs      5.4G   72M  5.3G    2% /data
・論理ボリュームとファイルシステムの拡張
 例として論理ボリュームを3G拡張してみます。
[root@STR1 ~]# lvextend -L +3G /dev/test-vg/Lv01
  Size of logical volume test-vg/Lv01 changed from 5.00 GiB (1280 extents) to 8.00 GiB (2048 extents).
  Logical volume test-vg/Lv01 successfully resized.
 引き続き、論理ボリュームサイズに合わせファイルシステムを拡張します。
[root@STR1 ~]# xfs_growfs /data/
meta-data=/dev/mapper/test--vg-Lv01 isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1310720 to 2097152
  以下のコマンドでボリュームサイズが拡張されている事を確認します。
[root@STR1 ~]# df -HT /data/
ファイルシス              タイプ サイズ  使用  残り 使用% マウント位置
/dev/mapper/test--vg-Lv01 xfs      8.6G   94M  8.5G    2% /data
 約3G追加された事が確認出来ました。
・スナップショットのテスト
 テスト用のlvm-test.txtファイルを作成します。
[root@STR1 ~]# echo "Hello LVM." > /data/lvm-test.txt
[root@STR1 ~]# ls /data/
lvm-test.txt
[root@STR1 ~]# cat /data/lvm-test.txt
Hello LVM.
・スナップショット作成
[root@STR1 ~]#[root@STR1 ~]#  lvcreate --snapshot -L 500M -n snap /dev/test-vg/Lv01
  Logical volume "snap" created.
 元のボリュームと、使用されているスナップショットボリュームの現在の割合を表示します。
[root@STR1 ~]# lvs -a -o +devices
  Devices file sys_wwid t10.ATA_____VBOX_HARDDISK___________________________VB70946409-7f454173_ PVID YMm8eCIR5SkuO0JofNsHEDPihSr1HncN last seen on /dev/sda2 not found.
  LV   VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
  Lv01 test-vg owi-aos---   8.00g                                                     /dev/sdb1(0)
  snap test-vg swi-a-s--- 500.00m      Lv01   0.00                                    /dev/sdb1(2048)
・テスト用ファイルの削除
 テスト用に作成したlvm-test.txtを削除します。
[root@STR1 ~]# rm -rf /data/lvm-test.txt
[root@STR1 ~]# ls /data/
#何も表示されない事を確認します。
・スナップショットのマージ
 dataディレクトリをアンマウント後、スナップショットをマージします。
 
[root@STR1 ~]# umount /data
[root@STR1 ~]# lvconvert --merge /dev/test-vg/snap
  Merging of volume test-vg/snap started.
  test-vg/Lv01: Merged: 100.00%
 マージ後、マウントを行い、削除したlvm-test.txtが元に戻っている事を確認します。
[root@STR1 ~]# mount /dev/test-vg/Lv01 /data/
[root@STR1 ~]# ls /data/
lvm-test.txt
[root@STR1 ~]# cat /data/lvm-test.txt
Hello LVM.
PR

コメント

プロフィール

HN:
のらくら
性別:
非公開
自己紹介:
介護と自身の手術でブランクが出来たインフラエンジニアの学習メモ。VirtualBOXで仮想サーバーを建て、GNS3でCiscoルーター&スイッチによるネットワークのエミュレーションもしています。GNS3ネットワーク内に仮想サーバーと連携させて、実際のネットワーク環境におけるサーバーをシミュレートする他、LinuC level3 300の対策もしています。

P R