Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

序文

この記事では、XFS パーティションの​ / ​ディレクトリを縮小する方法について説明します。論理ボリューム上の XFS ファイル システムを縮小する必要がある場合は、論理ボリュームをバックアップ、復元、および再作成する必要があります。

システム環境

セントOS8

現在のシステムパーティションレイアウト

これは現在のファイル システム レイアウトです。現在のマウントポイント/容量は17Gです。私たちの目標は、 /を削減することです。

XFS パーティションのルート ディレクトリを縮小するにはどうすればよいですか?

データのバックアップ

パーティションを縮小する前に、必ず重要なデータをバックアップしてください。何か問題が発生した場合、データを復元できます。

注: システム パーティションをバックアップするには、サーバーに追加のハード ディスクを追加する必要があります。

レスキューモードに入る

VMware Workstation で CD をロードし、マシンを起動します。起動時に F2 キーを押して BIOS に入り、Boot タブに切り替えます。 CD-ROM ドライブをハード ドライブに移動します。 F10 キーを押して保存し、再起動します。

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_02

「トラブルシューティング」を選択し、「レスキューモードに入る」を選択します。

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_03

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_04

次のインターフェースに入るときは、3 を選択して直接シェル インターフェースに入ります。

XFS パーティションのルート ディレクトリを縮小する方法 format_html_05

レスキュー モードに入ると、 /mnt/sysimageディレクトリにマウントされたシステム パーティションがないことがわかります。

# ls -al /mnt/sysimage/ 

XFS パーティションのルート ディレクトリを縮小する方法 format_html_06

論理ボリュームグループをアクティブ化する

パーティションをマウントする前に、論理ボリュームをアクティブ化する必要があります。ボリューム グループをアクティブ化するには、次の手順を実行します。

# vgchange -ay ボリューム グループ "cl" 内の 2 つの論理ボリュームが現在アクティブです # vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <19.00g 0 

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_07

システムパーティションとデータのバックアップに使用するパーティションをマウントします

まずバックアップから始めて、論理ボリュームをどこかにマウントする必要があります。一時的にマウントすることで​/​パーティションを他の場所にバックアップし、復元を実行するときにアクセスできるようになります。

ここで、/mnt/sysimage/ の下に 2 つのディレクトリを作成します。 1 つはこのサーバーの実際の​/​パーティションをマウントするために使用され、もう 1 つは​/​パーティションのバックアップを保存するために使用されます。

# mkdir /mnt/sysimage/root # mkdir /mnt/sysimage/backup # mount /dev/cl/root /mnt/sysimage/root # mount /dev/sda /mnt/sysimage/backup/ 

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_08

xfsdump を使用して / パーティションをバックアップする

​xfsdump​を実行してバックアップを実行します。

# xfsdump -l 0 -L "ルート lv バックアップ" -M "バックアップ" -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root 

XFSパーティションフォーマットのルートディレクトリを縮小する方法

dump がレベル0 (すべてのファイルをバックアップ) を使用する場合、バックアップ セッション ラベルとメディア ラベルの入力を求められます。次の-f-L-Mを追加することで、このプロンプトを回避できます。

​-l 0​​​ バックアップ レベルを 0 に設定します。レベル 0 はすべてのファイルがバックアップされることを意味します。

​-L​バックアップセッションのラベルを指定します

​-M​は最初のメディアのラベルを指定します

​-f​バックアップ先ファイルを指定します。

ファイルシステムのアンマウント

バックアップが完了したら、ファイルシステムをアンマウントできます。

# /mnt/sysimage/root/ をアンマウントする

削減/分割

​lvremove​コマンドを使用して論理ボリュームを削除し、 ​lvcreate​を使用して新しいボリュームを作成します。

# lvremove /dev/cl/root アクティブな論理ボリューム cl/root を本当に削除しますか? [y/n]: y 論理ボリューム「root」が正常に削除されました

XFS パーティション形式のルート ディレクトリを縮小する方法_論理ボリューム_10

その後、必要な論理ボリューム サイズを作成します。以下では、サイズ 15G の論理ボリュームを作成します。

# lvcreate -Zy -L 15G -n ルートcl 

XFSパーティションフォーマットのルートディレクトリを縮小する方法

-Zyを使用して、新しい論理ボリュームの最初の 4KiB のデータをゼロにします。

新しいXFSパーティションを作成する

# mkfs.xfs /dev/cl/root 

XFS パーティション形式のルート ディレクトリを縮小する方法_ファイル システム_12

データのマウントと復元

ファイルシステムの準備ができたら、/mnt/sysimage/root ディレクトリにマウントします。

# /dev/cl/root /mnt/sysimage/root/ をマウントします

以前にバックアップしたデータを復元するには、 ​xfsrestore​コマンドを使用します。

# xfsrestore -f /mnt/sysimage/backup/root_backup.img /mnt/sysimage/root 

XFS パーティションのルート ディレクトリを縮小する方法 format_logical volume_13

システムを再起動して正常かどうかを確認します。仮想マシンの CD-ROM ドライブを取り外し、F2 キーを押してコンピューターを起動し、BIOS に入り、起動順序を設定し、ハードディスクを最初の起動に置き、F10 キーを押して保存して再起動します。

XFSパーティションのルートディレクトリを縮小する方法

システムに入った後、パーティション サイズが縮小されたかどうかを確認します。

[root@localhost ~]# df -hT / ファイルシステム タイプ サイズ 使用済み 空き 使用率 マウント先 /dev/mapper/cl-root xfs 15G 1.7G 14G 11% / 

XFSパーティションのルートディレクトリを縮小する方法

要約する

これで、 ​xfsdump​および​xfsrestore​ユーティリティの助けを借りて、XFS ファイル システムと論理ボリュームの縮小作業が完了しました。

Linux の XFS パーティション形式のルート ディレクトリを縮小する方法に関するこの記事はこれで終わりです。Linux の XFS パーティション形式のルート ディレクトリを縮小する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux で lvm 論理ボリューム パーティションのサイズを調整するチュートリアル (xfs や ext4 などのさまざまなファイル システム用)
  • Linux環境でXFSファイルシステムを使用する

<<:  CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

>>:  角度コンテンツ投影の詳細な説明

推薦する

MySQL カウントを向上させる方法のまとめ

多くのプログラマーは MySQL に精通していると思います。多くの人が count の使い方と、最適...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

dl、dt、dd リスト ラベルの例

dd タグと dt タグはリストに使用されます。通常は <ul><li> タ...

シェルスクリプトを使用したMySQLデータベースの自動バックアップ

シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...

Vueカスケードドロップダウンボックスの設計と実装

目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...

MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要

目次MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要1. 遅...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

Vue3 テーブルコンポーネントの使用

目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...

Dockerを使用してAngularプロジェクトをデプロイする方法

Docker を使用して Angular プロジェクトをデプロイする方法は 2 つあります。1 つは...

HTML 特殊文字エンコーディング CSS3 コンテンツに関する簡単な説明:「私は特別なシンボルです」

プロジェクトで使用されている特殊文字とアイコンHTMLコードXML/HTML コードコンテンツをクリ...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...

Nginx try_files ディレクティブの使用例

Nginx の設定構文は柔軟で、高度に制御可能です。バージョン 0.7 以降では、try_files...

フロートをクリアするための CSS メソッドの概要

フロートはWebページのレイアウトでよく使用されますが、フローティングブロックレベル要素は標準のドキ...

Ubuntuはカーネルモジュールをコンパイルし、その内容はシステムログに反映されます。

目次1.Linuxログインインターフェース2. コードを書く3. Makefileを書く4. コンパ...