Top > Linux > LVM

LVMのこと

※以下、見るだけのコマンドも含めroot権限(もしくはsudo)必須

※単位に関する注意

  • partedで指定する単位は1000区切り(KB=KB、MB=MB、GB=GB)
  • resize2fsで指定する単位は1024区切り(K=KiB,M=MiB,G=GiB)
    • Ubuntu14.04.01のmanに"power-of-2 kilobytes, (i.e., 1024 bytes)"と記載がある
  • LVM系コマンド(lvresize,lvdisplay等)で指定する単位は小文字なら1024区切り(g=GiB)、大文字は1000区切り(G=GiB)
  • 可能であれば全てのコマンドで512バイトセクタ(s)で指定すると混乱がなくて安全

ディスク割り当て

まずはパーティション作成します。詳細はparted参照のこと。2TB以下のディスクならfdiskでもよい。

物理ボリューム

物理ディスクのうちLVMで使う領域を指定する。

  • 見る:pvscan
  • 作る:pvcreate

ボリュームグループ

物理ボリュームをまとめてグループ化する。

  • 見る:vgscan
    • 詳細に見る:vgdisplay
  • 作る:vgcreate
  • 追加する:vgextend

論理ボリューム

ボリュームグループの中でパーティションを作る。

  • 見る:lvscan
    • 詳細に見る:lvdisplay
  • 作る:lvcreate -L (容量) -n (名前) (ボリュームグループ名)

たとえば

% sudo lvcreate -L 850G -n share vg01

ってすると、/dev/vg01/shareっていうデバイスファイルができる。こいつを指定してファイルシステムを作成してマウントすれば850GBの領域が使えるようになる。

% sudo mkfs.ext4 /dev/vg01/share 
% sudo mount /dev/vg01/share /hogefuga
% df -h

あとは/etc/fstabにでも追加してやればおk

拡大する

% sudo lvresize -L +1t /dev/mapper/hoge-fuga

で論理ボリュームが拡大されるのでvgsとかで空き容量が減ったのが確認できる。

%  sudo resize2fs /dev/mapper/hoge-fuga

で実際に使えるようになる。dfなどで見えるようになる。ext2onlineじゃないとダメダヨという書き方をしているサイトもあるが、現在はresize2fsがオンラインのままで利用できるためext2onlineコマンドが存在しない事がある。

移動する

vg01に/dev/sdd1を追加

% sudo vgextend vg01 /dev/sdb1
  Volume group "vg01" successfully extended
% sudo pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1  vg01 lvm2 a-   1.82t  1.82t
  /dev/sdc1  vg01 lvm2 a-   1.82t     0
  /dev/sdd1  vg01 lvm2 a-   1.82t 46.02g

空きがある/dev/sdb1に、ヤバげな/dev/sdd1を移動する。

% sudo pvmove /dev/sdd1 /dev/sdb1

その他

物理HDDのマウントポイントが変わった場合でも正しく認識される(ディスクのシリアルを見てる)。たとえばUSB-HDDで運用している場合、中身だけ別の箱に移し替えて接続するとマウントポイントが /dev/sdb→/dev/sdd のように変わったりするが、pvdisplayで見るとマウントポイントが変わっただけで問題なく認識されていた。

その代わり、ディスク故障などで中身を他のディスクに移し替えたい場合はddなどでコピーしてもうまく行かない模様。pvmoveでやるほかない。

参考

Linux-DBシステム 構築/運用入門

Linux


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Sun, 09 Jul 2017 23:22:26 JST (2475d)