Skip to content

Instantly share code, notes, and snippets.

@t-okkn
Last active April 20, 2021 15:27
Show Gist options
  • Save t-okkn/620a5cfd8b3a6f503a02d7f7b7ed01e2 to your computer and use it in GitHub Desktop.
Save t-okkn/620a5cfd8b3a6f503a02d7f7b7ed01e2 to your computer and use it in GitHub Desktop.
LVMの設定に関する資料

LVM Tips集

LMVに関連した設定手順等のコマンドを掲載します。

■前提

Ubuntu 18.04 LTS にて検証した手順になります。
※「{{ }}」にて囲まれている部分は変数を表します(Jinja2などのテンプレートエンジンでもレンダリング可能なようにしてあります)。

■LVM 環境構築手順(non-RAID)

以下の作業の流れで構築します。

1.物理ボリューム作成(pvcreate)
    ↓
2.ボリュームグループ作成(vgcreate)
    ↓
3.論理ボリューム作成(lvcreate)
    ↓
4.論理ボリュームにファイルシステム作成
    ↓
5.作成したファイルシステムのマウント


  1. lvm コマンドの存在確認

    $ lvm version
    
  2. 物理ボリュームの作成
    ここでLVMに組み込むデバイス全てに対して pvcreate を実行

    $ sudo pvcreate {{ Device1 }}
    $ sudo pvcreate {{ Device2 }}
    ...
    

    もし、 Device {{ Device1 }} excluded by a filter. と表示される場合は以前作った
    パーティションが残っているので、パーティションテーブルを消去

    $ wipefs -a {{ Device1 }}
    

    その後、 pvcreate を再度実行

  3. 作成した物理ボリュームの確認

    $ sudo pvdisplay
    $ # sudo pvscan <- 簡易版
    
  4. ボリュームグループの作成

    $ sudo vgcreate {{ VolumeGroup }} {{ Device1 }} {{ Device2 }}...
    
  5. 作成したボリュームグループの確認

    $ sudo vgdisplay
    
  6. 論理ボリュームの作成

    $ sudo lvcreate -l 100%FREE -n {{ LogicalVolume }} {{ VolumeGroup }}
    

    実容量を指定したい場合は -L オプションで指定

    $ sudo lvcreate -L 100G -n {{ LogicalVolume }} {{ VolumeGroup }}
    
  7. 作成した論理ボリュームの確認

    $ sudo lvdisplay
    
  8. ファイルシステムの作成
    例として、 ext4 でフォーマット

    $ sudo mkfs.ext4 -L {{ VolumeLabel }} /dev/{{ VolumeGroup }}/{{ LogicalVolume }}
    
  9. マウントする

    $ sudo mount -t ext4 /dev/{{ VolumeGroup }}/{{ LogicalVolume }} /mnt
    

■LVM 環境構築手順(RAID1)

(工事中)

■LVM の論理ボリュームを拡張する

  1. 論理ボリュームの拡張

    $ sudo lvextend -l 100%FREE /dev/{{ VolumeGroup }}/{{ LogicalVolume }}
    

    実容量を指定したい場合は -L オプションで指定

    $ sudo lvextend -L 100G /dev/{{ VolumeGroup }}/{{ LogicalVolume }}
    
  2. ファイルシステムに反映

    $ sudo resize2fs /dev/{{ VolumeGroup }}/{{ LogicalVolume }}
    

■参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment