CentOS7で/ homeを縮小してスペースを追加する方法


28

CentOS 7ファイルシステムはXFSであり、resize2fs動作しません。/home400G に縮小し、100Gのスペースをに追加する必要があり/ます。私は何をすべきか?

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   50G  341M 100% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G   84K  7.8G   1% /dev/shm
tmpfs                    7.8G  778M  7.0G  10% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                497M  241M  257M  49% /boot
tmpfs                    1.6G   16K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/mapper/centos-home  500G   20G  480G   4% /home

lvs、vgs、pvsの出力は次のとおりです。

[root@localhost]~# lvs -v
    Using logical volume(s) on command line.
  LV   VG     #Seg Attr       LSize   Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile
  home centos    1 -wi-ao---- 499.38g  -1  -1  253    2                                                     4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN         
  root centos    1 -wi-ao----  50.00g  -1  -1  253    0                                                     LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm         
  swap centos    1 -wi-ao----   7.81g  -1  -1  253    1                                                     UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI         
[root@localhost]~# vgs -v
    Using volume group(s) on command line.
  VG     Attr   Ext   #PV #LV #SN VSize   VFree  VG UUID                                VProfile
  centos wz--n- 4.00m   1   3   0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois         
[root@localhost]~# pvs -v
    Using physical volume(s) on command line.
    Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
  PV         VG     Fmt  Attr PSize   PFree  DevSize PV UUID                               
  /dev/sda2  centos lvm2 a--  557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~# 

私はこれを見つけました:blog.endpoint.com/2015/01 / ...それは不可能だと言いますが、何らかの答えが続きます。
デイビー

回答:


47

他の人が指摘したように、XFSファイルシステムは縮小できません。

したがって、あなたの最善の策は、Koen van der Rijtが投稿で説明したように、/ homeをバックアップし、そのボリュームをより小さなサイズで削除して再作成し、残りを/ rootボリュームに与えることです。

•/ homeの内容をバックアップします

> tar -czvf /root/home.tgz -C /home .

•バックアップをテストする

> tar -tvf /root/home.tgz

•ホームのマウント解除

> umount /dev/mapper/centos-home

•ホーム論理ボリュームを削除する

> lvremove /dev/mapper/centos-home

•/ home用の新しい400GB論理ボリュームを再作成し、フォーマットしてマウントする

> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home

•残りのスペースをすべて使用して/ rootボリュームを拡張し、ファイルシステムのサイズを変更(-r)します

> lvextend -r -l +100%FREE /dev/mapper/centos-root

•バックアップを復元する

> tar -xzvf /root/home.tgz -C /home

•/ homeボリュームのマッピングについては/ etc / fstabを確認してください。UUIDを使用している場合は、UUID部分を更新する必要があります。(新しいボリュームを作成したため、UUIDが変更されました)

それでおしまい。

お役に立てれば。


1
アンマウントするとき、ターゲットがビジーエラーである可能性があり、umount -l / dev / mapper / centos-homeが役立つ場合があります。「論理ボリュームcentos / homeに使用中のファイルシステムが含まれています」という別のエラーが表示される場合があります。fuse-kuc / dev / vg_data / backupが役立つ場合があります。
buxizhizhoum

@buxizhizhoumのアドバイスに従って、コマンドyum install psmiscfuser使用可能にするにはコマンドが必要でした。
-mythofechelon

本当にうまくいきました。ありがとうございました!sshでログインしましたが、「lvremove」を削除するにはssh接続を終了する必要がありました。bartユーザが推奨私は実行しrestorecon -R -v /home、すべての上記の手順を終えた後。
Ikrom

ありがとうございました。私のシナリオでは、言及されたコマンドは多くの場合に役立ちます。たった10分の仕事です。最悪の場合、VMのバックアップを作成してから上記のコマンドを実行してから、ルートボリュームを拡張できました。
ハルシャヴァルダーナ

5

アリの答えに加えて、彼の指示に従った後、公開鍵認証を使用してsshできなかった。

/ homeが再作成されたため、selinuxを有効にすると、/ var / log / messagesにこのメッセージが表示される場合があります(sshd_configでデバッグを有効にした場合)。

SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys

修正する:

restorecon -R -v /home

3

XFSファイルシステムを縮小することはできません。
でしか育てられませんxfs_growfs

参照:https : //access.redhat.com/solutions/540013
および
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

現在、xfsファイルシステムを使用してパーティションまたは論理ボリュームのサイズを縮小することはできません。一部の環境で考えられる回避策として、シンプロビジョニングされたLVMボリュームをXFSファイルシステムの下の追加レイヤーと見なすことができます。


何があまりにも多くのスペースを取っているのかを/調べ、それを独自のファイルシステムとして分割します。


代わりに、あなたは、バックアップ/ homeはLVとすると、適切な大きさでそれを再作成することをその唯一の20グラムとキルを見ることができ
Rijtデル公園バン

ありがとうございました。/home必要に応じてスペースを破棄して再割り当てする必要があります。
GoingMyWay

0

稼働中のシステムがLVM-論理ボリューム管理でパーティション化されている場合のみ、これを実行できます。出力は何ですか:

lvs -v
vgs -v
pvs -v

サー、私は質問を更新し、出力を追加しました。
GoingMyWay

上記を参照して、あなたは隅に自分自身を描いています!
Sum1sAdmin

0

最初に行う必要があるのは、すべての空きディスク領域を使い果たしたものを確認することです。さもないと、この問題は将来再び発生します。

本当にサイズを変更する必要がある場合、私のアプローチは次のようになります。

  • / homeの内容をバックアップします。(わずか20g)
  • umount /home
  • ホーム論理ボリュームを破壊します(lvremove
  • 必要に応じてスペースを割り当て、ボリュームのサイズを変更します。(lvextendresize2fs
  • / homeの新しい論理ボリュームを再作成し、フォーマットしてマウントします(lvcreatemkfs.xfs
  • バックアップを復元
  • / homeの正しいボリュームをマウントする/ etc / fstabの内容を再確認してください
  • 走るmount -areboot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.