#contents ~ * LVM 作成 [#kd93ef65] ** 新規作成 [#qee5d721] + # fdisk /dev/sda + ''n'' → ''p'' → ''2''(空いている番号) → ''Enter'' → ''10000M''(10Gの場合) で領域を確保して + ''t'' → ''2''(空いていた番号) → ''8e'' で領域を Linux LVM に設定 + ''w'' で保存して終了 + # reboot + # pvcreate /dev/sda2~ (上記の空いている番号「''2''」の場合)~ # pvdisplay で作成されているか確認~ + # vgcreate VolGroup00 /dev/sda2~ (VolGroup00 はなんでもいい)~ # vgdisplay で作成されているか確認~ + # lvcreate -L 10G -n LogVol01 VolGroup00~ (LogVol01 は、わかりやすい名前にした方が吉)~ ※ 空いている領域を全部割り当てるオプションは、「-L 10G」の変わりに「-l 100%FREE」にする~ # lvdisplay で確認~ ~ *** 使えるように ext3 でフォーマット [#tbae4130] + # mkfs.ext3 /dev/VolGroup00/LogVol01 ** 削除 [#ie5457f3] + # lvremove /dev/VolGroup00/LogVol01~ ''削除したいボリュームのフルパス'' + 削除してよいか聞いてくるので y ~ * 容量を増やす又は減らす [#s28d58e0] ** 1つのボリュームを普通に増やす [#je38e802] 10GByte の LVtest に 5GByte 追加する。~ + # lvresize -L +5G /dev/VolGroup00/LVtest~ これで、15GByte になる。 ** 仮想化など元もLVMで容量を増やした場合と、ディスク増設で容量を増やした場合 [#e10ea9b7] どちらも、5GByte 増えたとして設定 *** 仮想化など元もLVMで容量を増やした場合 [#t89e8775] + # umount ディレクトリ + # fdisk /dev/sda + ''d'' → ''2'' (変更する領域を削除。システム領域だったとしても無理やりやっちゃう!) + ''n'' → ''p'' → ''2''(空いている番号) → ''Enter'' → ''Enter''で領域を確保して + ''n'' → ''p'' → ''2''(空いている番号) → ''Enter'' → ''Enter''で領域を確保して~ Partition #2 contains a LVM2_member signature. Do you want to remove the signature? [Y]es/[N]o: ~↑ 上記が表示されたら「''n''」でシグネッチャを消さない + ''t'' → ''2''(空いていた番号) → ''8e'' で領域を Linux LVM に設定 + ''w'' で保存して終了 + # reboot~ &color(RED){''起動しなかったら泣くしかないね(涙''}; + # pvresize /dev/sda2~ # pvdisplay で増えているのを確認 + # lvextend -L +5G /dev/VolGroup00/LogVol01~ ※ または、「lvextend -l +100%FREE /dev/VolGroup00/LogVol01」 ~ パスは「lvdisplay」で調べられる ~# lvdisplay で確認~ *** ディスク増設で容量を増やした場合 [#k432f7d7] ** ext3 でフォーマットしていた場合は以下の方法 [#w84f9624] # resize2fs /dev/VolGroup00/LogVol02 15G ** xfs でフォーマットした場合(Redhat7とか) [#qd52c3cf] # xfs_growfs /dev/mapper/cl_skylark--t-root ** swap領域を減らして / 領域に割り当てる [#l7b705c6] swap … VolGroup00 に所属して、LogVol01 (4.84GByte)である。 / … VolGroup00 に所属して、LogVol00 (2GByte)である。 swap を 1.5G にして、削除した分の 3.34G を / に割り当てる +# swapoff /dev/VolGroup00/LogVol01 +# lvreduce -L 1.5G /dev/VolGroup00/LogVol01~ WARNING: Reducing active logical volume to 1.50 GB~ THIS MAY DESTROY YOUR DATA (filesystem etc.)~ Do you really want to reduce LogVol01? [y/n]: ''y''~ Reducing logical volume LogVol01 to 1.50 GB~ Logical volume LogVol01 successfully resized~ +# mkswap /dev/VolGroup00/LogVol01 +# swapon /dev/VolGroup00/LogVol01 ~/ 領域を拡張 +# vgs~ VG #PV #LV #SN Attr VSize VFree~ VolGroup00 1 2 0 wz--n- 9.88G 3.34G~ +# lvextend -L +3.34G /dev/VolGroup00/LogVol00 +# resize2fs /dev/VolGroup00/LogVol00~ ※ オンラインでも拡張できる。 * スナップショット [#tc629f6a] -リアルタイムにデータが更新されるものでは、ある時点のデータをバックアップしたいときがあり、そういうときに使う。 -ある時点LVMの領域をコピーしておく。(ちょっと違うが。) ** 使い方 [#t58beaa0] -lvcreate -s -L サイズ -n 名前 相手LVパス~ 「サイズ」は相手LVのサイズの10%〜20%~ 「名前」は、スナップショットの名前。分かりやすいもの~ 「相手LVパス」は、スナップショットする元のLVでデバイスをフルパス指定~ ~ VolGroup00 の LVtest のスナップショットを作る場合 # lvcreate -s -L 2G -n SStest /dev/VolGroup00/LVtest ** バックアップ方法 [#pb29dc27] +# lvcreate -s -L 2G -n SStest /dev/VolGroup00/LVtest +# dd bs=128M if=/dev/VolGroup00/SStest of=/tmp/LVtest.back~ ※ フルバックアップなので、スナップ元のサイズのファイル(LVtest.back)が作られる~ * 容量を減らす ※ 大体は失敗する(笑 [#l229e745] / 領域が 5GByteで、4GByteに減らす~ +# resize2fs /dev/VolGroup00/LogVol00 4G~ fsck するように言われるので、fsck する +# lvresize -L 4G /dev/VolGroup00/LogVol00