方針

sdaはシステム部分として/boot(sda1),swap(sda2),/(sda3)とパーティションがあるとしする。
そしてLVMは2つのHDD(sdb,sdc)と1つのHDD(sdd)の2組。各ボリュームグループで任意のサイズに切られた論理ボリュームが存在する。

2013y03m11d_173559028.png

HDD調理

yum install lvm2 parted

3つのHDDを調理 詳細はここを参照AFT

# parted /dev/sdb
(parted) mklabel gpt                                                         *gptでラベル(参照:help mklabel)
(parted) unit s                                                              *単位をセクターに変更
(parted) mkpart primary 2048s -1s                                            *区分作成(参照:help mkpart)
(parted) set 1 lvm on                                                        *区分1をlvmとして扱う
(parted) print
モデル: VMware Virtual disk (scsi)
ディスク /dev/sdb: 33554432s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
 
番号  開始   終了       サイズ     ファイルシステム  名前     フラグ
 1    2048s  33554398s  33552351s                    primary  lvm
 
(parted) quit

同様な操作を残り2つのHDDにも施す。確認はparted -lとかで。

物理ボリューム(PhysicalVolume)作成

各HDDの領域をpvcreateコマンドでPhysicalVolume物理ボリュームとしてLVM側に認知させます。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdc1" successfully created
  Physical volume "/dev/sdd1" successfully created
#
# pvscan                                               *確認
  PV /dev/sdb1                      lvm2 [16.00 GiB]
  PV /dev/sdc1                      lvm2 [16.00 GiB]
  PV /dev/sdd1                      lvm2 [16.00 GiB]
  Total: 3 [48.00 GiB] / in use: 0 [0   ] / in no VG: 3 [48.00 GiB]
#

ボリュームグループ(VolumeGroup)はまだ存在しないけど、PhysicalVolume物理ボリュームとして総量48GiBほどあるよと。

ボリュームグループ(VolumeGroup)作成

想定図のようにsdb1とsdc1とで1つのVolumeGroupをvgcreateで作り、sdd1は単一のVolumeGroupとします。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
# vgcreate -s 4M VG00 /dev/sdb1 /dev/sdc1                       *HDD2つでVG00を作成
  Volume group "VG00" successfully created
# vgcreate -s 16M VG01 /dev/sdd1                                *HDD1つでVG01を作成
  Volume group "VG01" successfully created
#
# pvscan                                                        *確認
  PV /dev/sdc1   VG VG00   lvm2 [16.00 GiB / 16.00 GiB free]
  PV /dev/sdb1   VG VG00   lvm2 [16.00 GiB / 16.00 GiB free]
  PV /dev/sdd1   VG VG01   lvm2 [15.98 GiB / 15.98 GiB free]
  Total: 3 [47.98 GiB] / in use: 3 [47.98 GiB] / in no VG: 0 [0   ]
#

*vgcreateでボリュームグループを作る際、以前のlvm1だと[サイズ(-s)]x[65534]個とエクステントに制限があった。
例えば4MBサイズ x 65534 = 262144 MB = 256GB とか。16MBサイズ x 65534 = 1048544 MB = 1TBとかLVMには上限があった。
だがLVM2ではその制限がなくなったみたい。

論理ボリューム作成(Logicl Volume)

論理ボリュームは、ボリュームグループ(VolumeGroup)から切り出して作ります。
ここではVG00には25GBと残り全て。VG01には10GBを切り出します

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
# lvcreate -n L0 -L 25G      VG00                        *VG00から25GBで切り出します
  Logical volume "L0" created
# lvcreate -n L1 -l 100%FREE VG00                        *残り全て
  Logical volume "L1" created
#
# lvscan                                                 *確認
  ACTIVE            '/dev/VG00/L0' [25.00 GiB] inherit
  ACTIVE            '/dev/VG00/L1'  [6.99 GiB] inherit
#
# lvcreate -n L0 -L 10G      VG01                        *VG01から10GBで切り出します
  Logical volume "L0" created
#
# lvscan                                                 *これまで切り出した論路ボリュームの全て
  ACTIVE            '/dev/VG00/L0' [25.00 GiB] inherit
  ACTIVE            '/dev/VG00/L1'  [6.99 GiB] inherit
  ACTIVE            '/dev/VG01/L0' [10.00 GiB] inherit
#
# pvscan
  PV /dev/sdb1   VG VG00   lvm2 [16.00 GiB / 0    free]
  PV /dev/sdc1   VG VG00   lvm2 [16.00 GiB / 0    free]
  PV /dev/sdd1   VG VG01   lvm2 [15.98 GiB / 5.98 GiB free]          *のこり6GBほどある
  Total: 3 [47.98 GiB] / in use: 3 [47.98 GiB] / in no VG: 0 [0   ]

既にある論理ボリュームのサイズ変更

フォーマット・マウント

ext4やxfsでフォーマットしてみます。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
# mkfs.ext4 -m 0 /dev/VG00/L0
# tune2fs -l /dev/VG00/L0 | grep UUID
Filesystem UUID:          576c48c4-ce48-4a82-9067-deb376e550cc
# mount -t ext4 UUID=576c48c4-ce48-4a82-9067-deb376e550cc /home1
#
# mkfs.xfs /dev/VG00/L1
# xfs_admin -u /dev/VG00/L1
UUID = 6d776966-1c8f-48e9-bfb1-f2dbfb1d2c78
# mount -t xfs  UUID=6d776966-1c8f-48e9-bfb1-f2dbfb1d2c78 /home2
# mkfs.xfs /dev/VG01/L0
# xfs_admin -u /dev/VG01/L0
UUID = cdc3f4f9-bad7-4c18-8cc9-25ce4d695f98
# mount -t xfs  UUID=cdc3f4f9-bad7-4c18-8cc9-25ce4d695f98 /home3
#
# mount
 :
/dev/mapper/VG00-L0 on /home1 type ext4 (rw)
/dev/mapper/VG00-L1 on /home2 type xfs (rw)
/dev/mapper/VG01-L0 on /home3 type xfs (rw)
#

LVM削除

一度作ったLVMを削除・崩壊させるには下記の手順が必要らしいです。

  • 1.まず、削除対象のLVMをアンマウントして、論理ボリューム(Logicl Volume)を削除します。
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
    
    # df | grep home3
    /dev/mapper/VG01-L0   10475520     32928  10442592   1% /home3
    #
    # lvscan
      ACTIVE            '/dev/VG00/L0' [25.00 GiB] inherit
      ACTIVE            '/dev/VG00/L1' [6.99 GiB] inherit
      ACTIVE            '/dev/VG01/L0' [10.00 GiB] inherit
    #
    # lvremove /dev/VG01/L0
    Do you really want to remove active logical volume L0? [y/n]: y
      Logical volume "L0" successfully removed
    #
    # lvscan                                                   *確認
      ACTIVE            '/dev/VG00/L0' [25.00 GiB] inherit
      ACTIVE            '/dev/VG00/L1' [6.99 GiB] inherit
    #
    これでボリュームグループ01(VolumeGroup)の論理ボリューム0(Logicl Volume)[/dev/VG01/L0]が解放された。
    しかしLVM向けのボリュームグループ(VolumeGroup)としては健在なので、
      1
      2
      3
      4
      5
    
    # vgscan
      Reading all physical volumes.  This may take a while...
      Found volume group "VG00" using metadata type lvm2
      Found volume group "VG01" using metadata type lvm2       <----これ
    #
  • 2.vgremoveにてボリュームグループ(VolumeGroup)を削除します
      1
      2
      3
      4
      5
      6
    
    # vgremove VG01
     Volume group "VG01" successfully removed
    # vgscan
      Reading all physical volumes.  This may take a while...
      Found volume group "VG00" using metadata type lvm2
    #
    消えたことを確認してから、次に物理ボリューム(PhysicalVolume)を削除します。
      1
      2
      3
      4
      5
      6
    
    # pvscan
      PV /dev/sdb1   VG VG00            lvm2 [16.00 GiB / 0    free]
      PV /dev/sdc1   VG VG00            lvm2 [16.00 GiB / 0    free]
      PV /dev/sdd1                      lvm2 [16.00 GiB]
      Total: 3 [47.99 GiB] / in use: 2 [31.99 GiB] / in no VG: 1 [16.00 GiB]
    #
  • 3.物理ボリューム(PhysicalVolume)の削除には pvremove コマンドを使います。
      1
      2
      3
      4
      5
      6
      7
    
    # pvremove /dev/sdd1
      Labels on physical volume "/dev/sdd1" successfully wiped
    #
    # pvscan
      PV /dev/sdb1   VG VG00   lvm2 [16.00 GiB / 0    free]
      PV /dev/sdc1   VG VG00   lvm2 [16.00 GiB / 0    free]
      Total: 2 [31.99 GiB] / in use: 2 [31.99 GiB] / in no VG: 0 [0   ]

これで削除されました。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2013-03-13 (水) 23:14:20 (1534d)