Help us understand the problem. What is going on with this article?

RHEL6.7 LVMからディスクを切り離した時のメモ

More than 3 years have passed since last update.

はじめに

RHELのインストールで何か指定を間違ってしまい、気付いたら仮想マシンに付けたすべてのディスクがLVMに組み込まれていた。
LVMからディスクを外し、別パーティションとしてマウントした時のメモ

状況の確認の仕方

sdbとsdc使われてる・・・

# pvs
  PV         VG           Fmt  Attr PSize   PFree
  /dev/sda2  vg_name lvm2 a--   99.51g    0
  /dev/sdb1  vg_name lvm2 a--  100.00g    0
  /dev/sdc1  vg_name lvm2 a--  200.00g    0

しっかりボリュームグループの一員です。

# vgs
  VG           #PV #LV #SN Attr   VSize   VFree
  vg_hostname   3   3   0 wz--n- 399.50g    0

こんな感じのLVMがいる

lvs
  LV      VG           Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home vg_hostname -wi-ao---- 341.67g                                       
  lv_root vg_hostname -wi-ao----  50.00g                                       
  lv_swap vg_hostname -wi-ao----   7.83g

上記から/,swap,/homeに使われているかと・・・余計な事しやがって
一番/homeが大きいので、それから血祭です

# df -Ph
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg_hostname-lv_root   50G  2.0G   45G   5% /
tmpfs                             3.9G     0  3.9G   0% /dev/shm
/dev/sda1                         477M   42M  411M  10% /boot
/dev/mapper/vg_hostname-lv_home  337G   67M  320G   1% /home

/homeをどうにかする

/homeをアンマウント
# umount /home

事前にfsckする必要があるみたいなので、実施

# fsck.ext4 -f /dev/mapper/vg_hostname-lv_home
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_hostname-lv_home: 11/22396928 files (0.0% non-contiguous), 1455475/89567232 blocks

Cドライブにすべてを寄せたいので、40GBまで縮小

# resize2fs /dev/mapper/vg_hostname-lv_home 40G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_hostname-lv_home to 10485760 (4k) blocks.
The filesystem on /dev/mapper/vg_hostname-lv_home is now 10485760 blocks long.

論理ディスクも40GBに縮小

# lvreduce -L 40G /dev/mapper/vg_hostname-lv_home
  WARNING: Reducing active logical volume to 40.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)

  Do you really want to reduce lv_home? [y/n]: y

  Size of logical volume vg_hostname/lv_home changed from 341.67 GiB (87468 extents) to 40.00 GiB (10240 extents).
  Logical volume lv_home successfully resized

再マウント
mount /home

再確認。減った!!

# pvs
  PV         VG           Fmt  Attr PSize   PFree
  /dev/sda2  vg_hostname lvm2 a--   99.51g  41.68g
  /dev/sdb1  vg_hostname lvm2 a--  100.00g 100.00g
  /dev/sdc1  vg_hostname lvm2 a--  200.00g 160.00g

# vgs
  VG           #PV #LV #SN Attr   VSize   VFree
  vg_hostname   3   3   0 wz--n- 399.50g 301.67g

# lvs
  LV      VG           Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home vg_hostname -wi-ao---- 40.00g                                        
  lv_root vg_hostname -wi-ao---- 50.00g                                        
  lv_swap vg_hostname -wi-ao----  7.83g

# df -Ph
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vg_hostname-lv_root   50G  2.0G   45G   5% /
tmpfs                             3.9G     0  3.9G   0% /dev/shm
/dev/sda1                         477M   42M  411M  10% /boot
/dev/mapper/vg_hostname-lv_home   40G   48M   38G   1% /home

いよいよディスクを外していく

sdb1

sdbの空き領域が100%=使ってないディスク なので、こいつから外します。

# pvs
  PV         VG           Fmt  Attr PSize   PFree
  /dev/sda2  vg_hostname lvm2 a--   99.51g  41.68g
  /dev/sdb1  vg_hostname lvm2 a--  100.00g 100.00g
  /dev/sdc1  vg_hostname lvm2 a--  200.00g 160.00g

こっちだと使用量わかります

# pvs -o+pv_used
  PV         VG           Fmt  Attr PSize   PFree   Used
  /dev/sda2  vg_oraclelin lvm2 a--   99.51g  41.68g 57.83g
  /dev/sdb1  vg_oraclelin lvm2 a--  100.00g 100.00g     0
  /dev/sdc1  vg_oraclelin lvm2 a--  200.00g 160.00g 40.00g

ディスク削除できた!

# vgreduce vg_hostname /dev/sdb1
  Removed "/dev/sdb1" from volume group "vg_hostname"

sdc1

なかに入っているデータを移動してくれるコマンドを打ちます
pvmove /dev/sdc1

完了したらディスクを削除します。

# vgreduce vg_hostname /dev/sdc1
  Removed "/dev/sdc1" from volume group "vg_hostname"

確認

無事ディスクが外れました!

pvs -o+pv_used
  PV         VG           Fmt  Attr PSize   PFree   Used
  /dev/sda2  vg_hostname  lvm2 a--   99.51g   1.68g 97.83g
  /dev/sdb1               lvm2 ---  100.00g 100.00g     0
  /dev/sdc1               lvm2 ---  200.00g 200.00g     0

パーティションの再構成

一回パーティションを削除します!

fdisk /dev/sdb

コマンド (m でヘルプ): p

ディスク /dev/sdb: 107.4 GB, 107374182400 バイト
ヘッド 255, セクタ 63, シリンダ 13054
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0003d5af

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1       13055   104856576   8e  Linux LVM

コマンド (m でヘルプ): d
選択した領域 1

コマンド (m でヘルプ): p

ディスク /dev/sdb: 107.4 GB, 107374182400 バイト
ヘッド 255, セクタ 63, シリンダ 13054
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0003d5af

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

LVMの呪縛から解き放たれた・・・・

# pvs
  PV         VG           Fmt  Attr PSize   PFree
  /dev/sda2  vg_hostname  lvm2 a--   99.51g   1.68g
  /dev/sdc1               lvm2 ---  200.00g 200.00g

同様にsdcも実施します!

gitya107
某メーカに入社して開発系⇒インフラSEとなりました。 2014年から技術者派遣の会社に居ます。そろそろフリーランス or 自社サービス/自社請負かなぁと思う今日この頃
http://www.tech-joy.work/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away