LVMでのXFSホームディレクトリのサイズ変更

LVMでのXFSホームディレクトリのサイズ変更

私のサーバーで利用可能なスワップスペースを4 GBから16 GBに増やそうとしていますが、現在XFS +これを不可能にしなさい。

ブートパーティションとLVM2パーティション(インストールのデフォルト)を持つオペレーティングシステム(CentOS 7)をホストするSSDがあります。 LVM2パーティション内には、LVM2パーティション全体を占めるroot3つの仮想パーティションがあります。繰り返しますが、デフォルトのインストールでは、これらのファイルシステムタイプはXFSです。homeswap

home私の単純な願いは、使用率の低いパーティションを縮小してswapパーティションのスペースを作ることです。これで、XFSパーティションを縮小することが不可能であることがわかったので、メインドライブをバックアップし、パーティションを削除し、バックアップから復元してより小さいサイズに復元するウサギの穴に落ちました。

これで問題は、ホームディレクトリまたはパーティションを解放できないことです。 GUIを終了してログアウトした後、ターミナルからrootに再ログインした後、最初はホームディレクトリをアンマウントできませんでした。上記の項目は開いていませんが、使用中の項目がlsofあります。fuser

送った

umount -f home

これは家族を取り除くのに効果があるようです。これで、コメントなしでホームを自由に設置して取り外すことができますが-f、疑わしいです。しかし今は頑張っています。

lvremove /dev/centos/home

返されるメッセージは次のとおりです。

Logical volume centos/home in use.

ここでは多くの質問と回答を見てきましたが、その中には次のものはありません。

  • NFSサービス
  • ファイルを開く
  • プライマリ名とセカンダリ名を使用してファイルを開く
  • アクティブフラグ(これを試しましたが、lvchange -an -v /dev/centos/homeボリュームが使用中であると主張しました)

何が使用されているかを暗示しているようなものが見つかりませんhome。コンピュータの再起動に頼らない解決策を得ることができれば理想的でしょう。

ベストアンサー1

umount -f残念ながら、VFSではいくつかの項目だけが削除されました。いいえ実際に削除しています。これ以上どこにも表示されなくなりますが、/proc/mountsまだインストールされています。このインストールで何がまだ使用されているかを確認するための明確な方法はありません(またはlsof存在しなくなったパス名を使用すると、他の操作が失敗するためにまだ残っている場合)。実際に削除すると問題が解決します。

losetupcat /proc/mdstat、、dmsetup table...で使用されているデバイスやファイルなどの一部を手動で確認し、/proc/*/{maps,cwd,exe,fd/*}問題のデバイスへの参照を確認できます(インストールパス自体はもう存在しません)。しかし、それがすべてを扱うことはできないかもしれません。

そのような参照(たとえば、実行中のプロセスの開かれたファイル記述子)が見つかると、ファイルにアクセスして必要な方法で変更できるため、ファイルシステムがまだマウントされていて完全に機能していることを証明できます。見えない。

この遅延除去があるかどうかを確認するためにいくつかのコードを使用しました。このコードは他のデバイス名用にハードコードされています。

isbusy() {
    grep -E '^/dev/mmcblk(0p3|1p1) ' /proc/mounts || \
    grep -E '^([^ ]+ ){3}b3:0[39] ' /proc/*/maps || \
    find /proc/[0-9]*/exe /proc/[0-9]*/cwd /proc/[0-9]*/fd -exec stat -tL {} + \
    | grep -E '^([^ ]+ ){6}b30[39]'
}

しかし、それは完全ではありません。

おすすめ記事