2020年3月18日水曜日

【LVM入門】LinuxのLVMで作成したディスクを削除する

Windowsなどでは、ディスクを追加・削除をするとOSが何も言わず自動で処理してくれる(実際はストレージのデバイスが残ったりする)が、Red Hat Enterprise LinuxやCentOSなどのLinuxの場合は、単純にディスクを削除するだけではゴミ設定が残るため、少し複雑な手順が必要となる。

Red Hat Enterprise Linux 7に付けたLVMで構成済みとなる物理ディスクをLVMの設定と合わせてOS上から削除する手順を記載する。

※今までのLVM関連記事はこちら。↓

手順 記事
LVM領域作成 【LVM入門】LinuxのLVM領域を最短で作成する
LVM領域削除 【LVM入門】LinuxのLVMで作成したディスクを削除する←★本記事
LVM領域拡張 【LVM入門】LinuxのLVMでディスク容量を拡張する
LVM領域縮小 【LVM入門】LinuxのLVMでディスク容量を縮小する
VG・LV名前変更 【LVM入門】LinuxのLVMで作成済みのVGやLVの名前を変更する

環境

環境情報は以下の通り。下から順に削除していくイメージとなる。
  • OS : Red Hat Enterprise Linux 7.6
  • PV : /dev/sdb1
  • VG : vg_sdb
  • LV : lv_sdb
  • マウントポイント : /mnt
作業前のdfコマンドの状態を以下に記載しておく。/dev/mapper/vg_sdb-lv_sdbとなっている5GBの領域を削除する。
[root@localhost ~]# df -h
ファイルシス              サイズ  使用  残り 使用% マウント位置
/dev/mapper/rhel-root        14G  1.4G   13G   11% /
devtmpfs                    908M     0  908M    0% /dev
tmpfs                       920M     0  920M    0% /dev/shm
tmpfs                       920M  8.9M  911M    1% /run
tmpfs                       920M     0  920M    0% /sys/fs/cgroup
/dev/sda1                  1014M  146M  869M   15% /boot
tmpfs                       184M     0  184M    0% /run/user/0
/dev/mapper/vg_sdb-lv_sdb   5.0G   33M  5.0G    1% /mnt

LVMの削除手順

1. ファイルシステムをアンマウント

[root@localhost ~]# umount /mnt/

2. VGおよびLVを削除する。

削除前にデバイスファイルやVGの状態を確認しておく。
[root@localhost ~]# ls -ld /dev/vg_sdb/
drwxr-xr-x. 2 root root 60  2月  4 07:12 /dev/vg_sdb/
[root@localhost ~]# ls -l /dev/mapper/
合計 0
crw-------. 1 root root 10, 236  2月  3 12:59 control
lrwxrwxrwx. 1 root root       7  2月  3 13:02 rhel-root -> ../dm-0
lrwxrwxrwx. 1 root root       7  2月  3 13:02 rhel-swap -> ../dm-1
lrwxrwxrwx. 1 root root       7  2月  4 07:12 vg_sdb-lv_sdb -> ../dm-2
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  rhel     1   2   0 wz--n- <15.00g    0
  vg_sdb   1   1   0 wz--n-  <5.00g    0
vgremoveコマンドでVGを削除を実行するとLVも一緒に削除することができるので、特に理由がなければVGをいきなり削除してしまえばよい。
[root@localhost ~]# vgremove vg_sdb
Do you really want to remove volume group "vg_sdb" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume vg_sdb/lv_sdb? [y/n]: y
  Logical volume "lv_sdb" successfully removed
  Volume group "vg_sdb" successfully removed
削除後にデバイスファイルとVGの状態を確認し、問題なく削除されていることを見ておこう。
[root@localhost ~]# ls -ld /dev/vg_sdb/
ls: /dev/vg_sdb/ にアクセスできません: そのようなファイルやディレクトリはありま せん
[root@localhost ~]# ls -l /dev/mapper/
合計 0
crw-------. 1 root root 10, 236  2月  3 12:59 control
lrwxrwxrwx. 1 root root       7  2月  3 13:02 rhel-root -> ../dm-0
lrwxrwxrwx. 1 root root       7  2月  3 13:02 rhel-swap -> ../dm-1
[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  rhel   1   2   0 wz--n- <15.00g    0

3. PVを削除する。

PVを削除する前に確認しておく。
[root@localhost ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <15.00g     0
  /dev/sdb1       lvm2 ---   <5.00g <5.00g
PV削除はpvremoveコマンドとなる。
[root@localhost ~]# pvremove /dev/sdb1
  Labels on physical volume "/dev/sdb1" successfully wiped.
以下のようにPVが削除されていればOK。
[root@localhost ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <15.00g    0

4. ストレージデバイスの削除

fdiskコマンドで削除対象を確認しておく。
[root@localhost ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Red Hat社のマニュアル通りecho 1 > /sys/block/_device-name_/device/deleteのコマンドで、ストレージデバイスを削除する。_device-name_は今回の場合/dev/sdbを指定する。
[root@localhost ~]# echo 1 > /sys/block/sdb/device/delete
削除後、以下の通り/dev/sdbがなくなっていれば削除完了となる。
[root@localhost ~]# fdisk -l /dev/sdb
fdisk: /dev/sdb を open できません: そのようなファイルやディレクトリはありません
以上で作業は完了となる。

参考

0 件のコメント:

コメントを投稿

人気の投稿