/var
シングルユーザーモードに変更せずに移動する
私は私の雇用者のホスティング会社によって私のために準備されていた新しい仮想サーバーを引き継いだとき、私はのために余分な論理ボリュームを作成var
し、home
どのルートパーティションに定期的にディレクトリをしていました。仮想サーバープロバイダーは、シングルユーザーモードでサーバーにアクセスできるKVMのようなインターフェイスを提供していなかったため、上記の回答は私のセットアップには適用されませんでした。この答えが同様の状況の他の人に役立つことを願っています(LVMの詳細を保持しましたが、新しいファイルシステムが論理ボリュームまたはディスクパーティションに作成されているかどうかは特に関係ないため、これらはスキップできます)。
/var
LVMで新しいファイルシステムを作成して使用する
新しいvar
ボリュームのファイルシステムを作成し、(一時ディレクトリを使用して)マウントし、現在の/var
ファイルシステムから新しいファイルシステムにファイルをコピーします。でファイルをコピーする場合rsync
、-a, --archive
タイムスタンプ、所有権、モードなど-X, --xattrs
を保持するオプションと、AppArmorおよびSELinuxで使用されるセキュリティラベルなどの拡張属性を保持するオプションを使用します。
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
ファイルシステムテーブルを更新する
/var
次の行をに追加して、新しいファイルシステムを新しいマウントポイントとして使用するように設定します/etc/fstab
。これ0
はパス番号(最後のフィールド)として使用されるためfsck
、特定の回数の再起動後にファイルシステムが自動的にチェックされないようにします()(シングルユーザーモードでサーバーにログインするアクセス権がありません)。
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
私はシングルユーザーモードに変更できないため、コンピューターを再起動して、この新しいボリュームをとして使用し/var
ます。
ルートファイルシステムからディスクスペースを回復する
マシンが再起動したら、次の手順を実行して一時ディレクトリをクリーンアップ/var
し、ルートファイルシステムから古いファイルを削除します。
一時的なマウントポイントを削除します。
sudo rmdir /var.new
/var
ルートファイルシステム上の古いディレクトリ上のファイルへの代替パスを作成するために、新しいマウントポイントを作成します(現在/var
、ディレクトリにマウントされている新しいファイルシステムによって「マスク」されています)。
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/