読者です 読者をやめる 読者になる 読者になる

(CentOS) インストール時にディスク容量が /home に割り当てられるので注意しないといけない話

LVM HDD

何も考えずにポチポチCentOSをインストールしてしまうと、
/homeにパーティションが切られて、
ディスク容量が割り当てられるので注意しましょうというメモです。

OS

CentOS6.7

/homeに割り当てられる条件

手元の仮想マシンで確認したところ、
55GB以上だとデフォルトで/homeにもディスク容量が割り当てられ、
50GB以下だとデフォルトで/にディスク容量を全部割り当ててくれるようです。

インストール時の設定箇所

ここの画面で設定変更を行ないます。
ディスク容量は55GBです。

f:id:iwamocchan11:20160207090910p:plain:w500

インストール時に編集して/にディスク容量を全て割り当てる

画面下にある「パーティションのレイアウトをレビューまたは修正する(V)」
にチェックを入れて、「次へ」

f:id:iwamocchan11:20160207091209p:plain:w500

ボリュームグループ[lv_home]を選択し、「削除」

f:id:iwamocchan11:20160207091900p:plain:w500

ボリュームグループ[lv_root]を選択し、「編集」 f:id:iwamocchan11:20160207092147p:plain:w500

サイズを最大サイズに変更して「OK」

f:id:iwamocchan11:20160207092411p:plain:w500

/に割り当てられました。

f:id:iwamocchan11:20160207092658p:plain:w500

念のため、dfコマンドで確認します。

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       52G  661M   49G   2% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   30M  422M   7% /boot

インストール後に変更したい場合

既にデフォルトのままインストールしてしまい、
/homeに/で使いたいディスク容量がふられてしまっている場合。

lv_homeを削除して、lv_rootの拡張しなければなりません。

(LVMの「拡張」はオンライン(mountしたまま)でできますが、
LVMの「縮小」はオフライン(umount)で作業する必要があります。)

先ほどインストール時に/に全て割り当てましたが、
デフォルトでインストールすると以下のようになります。

-Tオプションを付けたのは、ファイルシステムを確認するためです。
ext4を使用しています。

[root@localhost ~]# df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     ext4    48G  660M   44G   2% /
tmpfs                tmpfs  491M     0  491M   0% /dev/shm
/dev/sda1            ext4   477M   30M  422M   7% /boot
/dev/mapper/VolGroup-lv_home
                     ext4   4.5G  9.4M  4.3G   1% /home

/dev/mapper/VolGroup-lv_homeを削除して、
/にマウントしている/dev/mapper/VolGroup-lv_rootに全て割り当てます。
/homeにはデータがないので、バックアップは取っていません。

アンマウントします。

[root@localhost ~]# umount /dev/mapper/VolGroup-lv_home

削除前に確認します。

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_root
  LV Name                lv_root
  VG Name                VolGroup
  LV UUID                nNR5JZ-taob-O41R-S4ZR-ORMz-g7oc-Mi9yxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:18 +0900
  LV Status              available
  # open                 1
  LV Size                47.89 GiB
  Current LE             12261
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_home ←これを削除する
  LV Name                lv_home
  VG Name                VolGroup
  LV UUID                Z1nQMt-PZsV-Jq85-22dD-peQi-Q2od-scpjif
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:29 +0900
  LV Status              available
  # open                 0
  LV Size                4.68 GiB
  Current LE             1197
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_swap
  LV Name                lv_swap
  VG Name                VolGroup
  LV UUID                rkZ43n-lFZu-m3o8-z7Yv-ND3b-NbUn-sdS1sB
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:31 +0900
  LV Status              available
  # open                 1
  LV Size                1.94 GiB
  Current LE             496
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

vgの空き容量は0になっています。

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               54.51 GiB
  PE Size               4.00 MiB
  Total PE              13954
  Alloc PE / Size       13954 / 54.51 GiB
  Free  PE / Size       0 / 0
  VG UUID               Jel2jk-6htt-67nn-i1ne-VHtz-9MBM-bHRrsV

/dev/VolGroup/lv_homeを削除します。

[root@localhost ~]# lvremove /dev/VolGroup/lv_home
Do you really want to remove active logical volume lv_home? [y/n]: y
  Logical volume "lv_home" successfully removed

/dev/VolGroup/lv_homeが消えています。

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_root
  LV Name                lv_root
  VG Name                VolGroup
  LV UUID                nNR5JZ-taob-O41R-S4ZR-ORMz-g7oc-Mi9yxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:18 +0900
  LV Status              available
  # open                 1
  LV Size                47.89 GiB
  Current LE             12261
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_swap
  LV Name                lv_swap
  VG Name                VolGroup
  LV UUID                rkZ43n-lFZu-m3o8-z7Yv-ND3b-NbUn-sdS1sB
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:31 +0900
  LV Status              available
  # open                 1
  LV Size                1.94 GiB
  Current LE             496
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

Free PE / Size」が増えています。
これを/dev/VolGroup/lv_rootに割り当てます。

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               54.51 GiB
  PE Size               4.00 MiB
  Total PE              13954
  Alloc PE / Size       12757 / 49.83 GiB
  Free  PE / Size       1197 / 4.68 GiB
  VG UUID               Jel2jk-6htt-67nn-i1ne-VHtz-9MBM-bHRrsV

/dev/VolGroup/lv_rootを拡張します。
-l オプションの後に「Free PE / Size」の値を指定します。

[root@localhost ~]# lvextend -l +1197 /dev/VolGroup/lv_root
  Size of logical volume VolGroup/lv_root changed from 47.89 GiB (12261 extents) to 52.57 GiB (13458 extents).
  Logical volume lv_root successfully resized

全部割り当てたので「Free PE / Size」が0になっています。

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               54.51 GiB
  PE Size               4.00 MiB
  Total PE              13954
  Alloc PE / Size       13954 / 54.51 GiB
  Free  PE / Size       0 / 0
  VG UUID               Jel2jk-6htt-67nn-i1ne-VHtz-9MBM-bHRrsV

/dev/VolGroup/lv_rootの「LV Size」が増えています。

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_root
  LV Name                lv_root
  VG Name                VolGroup
  LV UUID                nNR5JZ-taob-O41R-S4ZR-ORMz-g7oc-Mi9yxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:18 +0900
  LV Status              available
  # open                 1
  LV Size                52.57 GiB
  Current LE             13458
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_swap
  LV Name                lv_swap
  VG Name                VolGroup
  LV UUID                rkZ43n-lFZu-m3o8-z7Yv-ND3b-NbUn-sdS1sB
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-02-08 08:07:31 +0900
  LV Status              available
  # open                 1
  LV Size                1.94 GiB
  Current LE             496
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

最後にファイルシステムを拡張します。
ファイルシステムext4を使用しているので、
resize2fsコマンドで拡張します。

[root@localhost ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 4
Performing an on-line resize of /dev/VolGroup/lv_root to 13780992 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 13780992 blocks long.

dfコマンドで確認します。 48GB→52GBに拡張できました。

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       52G  660M   49G   2% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   30M  422M   7% /boot

以下を参考にさせていただきました。
ありがとうございました!

d.hatena.ne.jp linux.die.net