LVMのこと

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

ディスク割り当て

まずはパーティション作成します。詳細は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システム 構築/運用入門

Computer/Linux?


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS