デフォルトでは、Linux システムをインストールすると、ルート パーティション (「/」) の下に /var ディレクトリが自動的に作成されます。場合によっては、/var ディレクトリを別のマウント ポイントまたはパーティションに完全に分離したい場合があります。特に、独立して管理し、大量のデータを /var の下に保存する必要がある場合。
ユーザーが /var ディレクトリの下に大量のデータをダンプして、ルート ファイルシステムがいっぱいになり、システムの多くの重要な機能が妨げられるケースを見てきました。 /var が別のマウント ポイントにある場合、この問題はまったく発生しない可能性があります。この投稿では、/var をルート ファイルシステムから別のマウント ポイントに移動する手順を順を追って説明します。
注意 :以下の手順はオンラインで行われますのでご注意ください。ただし、ルートファイルシステムの有効なバックアップを取っていることを確認してください。障害が発生した場合に備えてください。1. 既存の VG およびディスクで使用可能なスペースを表示します。既存のボリューム グループにスペースがない場合は、新しいディスクまたは新しいパーティションを追加します。以下のコマンドを使用して、システムに存在する使用可能なスペースとディスクを表示できます。
# vgdisplay # fdisk -l
2. LVM が使用する新しいディスクまたはディスク上のパーティションを初期化して、新しいマウント ポイントを作成します。この例では、sdc ディスク上のパーティションを使用しています。
# pvcreate /dev/sdc1
3. このパーティションを使用して新しいボリューム グループを作成します:
# vgcreate var_vg /dev/sdc1
4. 新しく作成されたボリューム グループ var_vg で使用可能な空き容量を確認します。
# vgdisplay var_vg
5. このボリューム グループに新しい論理ボリューム (var_lv) を作成します。私の場合、VG に 20GB の空き容量があります。 VG の空き容量に応じてサイズを調整できます。
# lvcreate -L 20G -n var_lv var_vg
6. /var のファイルシステムを作成します。
# mkfs.ext4 /dev/vg_var/lv_var
7. /var/ ディレクトリの内容をバックアップ ディレクトリにバックアップします。
# mkdir /var_bkp # rsync -avz /var/ /var_bkp
8. 新しく作成した /var ファイルシステムをマウントします:
# mount /dev/var_vg/var_lv /var/
この時点で、/var マウント ポイントまたはディレクトリに存在するデータは見つかりません。
9. バックアップ ディレクトリから新しくマウントされた /var にすべての内容をコピーします。
# rsync -avz /var_bkp/ /var/
変更を永続化する
上記の変更を行って、再起動後も保持されるようにします。このためには、/etc/fstab にファイル システム エントリが必要です。 ファイル。
1. まず、以下のコマンドで var_lv 論理ボリュームの UUID を見つけます:
# blkid
2. 上記のコマンドの UUID を使用して、以下のように作成して入力します。
# cat /etc/fstab UUID=[UUID-for-var_lv] /var ext4 defaults 0 0
[UUID-for-var_lv] を、先ほど起動した blkid コマンドの実際の UUID に置き換えます。
3. ここで /var をアンマウントし、「mount -a」コマンドでマウントしてみて、/etc/fstab に作成したエントリが正しいかどうかを確認してください。
# umount /var # mount -a ### (or mount /var)
4. 新しい /var/tmp のパーミッションがまだ設定されていない場合は、必ず 1777 に設定してください。これは、/var マウント ポイントにスティッキー ビットを設定するために必要です。
# chmod 1777 /var/tmp