/dev/md1
20GB FSがインストールされており、/
〜200GB FSがインストールされているコンピュータがあります。すぐに多くのデータが保存されます。システムを削除せずにこれら2つのパーティションを1つのより大きなパーティションにマージする方法は?これが簡単に達成できない場合は、ユーザーデータとすでに存在しているすべてを損なうことなくこれを行う最も簡単な方法は何ですか?/dev/md2
/home
/var
/var
/
/var
このマシンはDebian 7.10を実行しています。違いは大きくありませんが、実際には2台のほぼ同じコンピュータでこの問題が発生しました。私は実際にそれらのどれにも手を組むことができませんでした。まだ「リアルタイム」であるか、本番状態ではありませんが、必要に応じて再起動できます。
答え1
md2
パーティションが空ではないため、最も簡単な方法はrsync
データを/var
新しいパーティションにコピーしてからソフトリンクを作成することです。
rsync -xav /var /home/VAR
mv /var /var.org
ln -s /home/VAR /var
md1
ライブ展開(パスのインストールと調整)からの起動中にこれを行うのが最善です。md2
これが不可能な場合は、rsync
rsync中に変更をキャプチャするために別の時間が必要になる場合があります(ライブシステムから起動する方が良い)。ライブ展開でこれを行う場合は、ジョブシステムrsync
で初期タスクを実行してライブシステムを再起動した後に変更されたファイルのみを同期させることで、ダウンタイムを短縮できます(@cas提案)。
ソフトリンクを作成する代わりに、bind
mount /home/VAR
/ onの使用を検討できます/var
。これがメリットなのかよく分からない。
確認したすべてが適切な場所にあり、正しく機能している場合は削除できます。/var/org
答え2
次の簡単なソリューションDeRobertがコメントで提案しました。、(ほとんど)既存のファイルをそのままにして、大容量ファイルを受け取るディレクトリを1つだけ移動し、ファイルが実際に保存されている場所を予想パスに向けるシンボリックリンクを作成します。たとえば、このサーバーを大量のメールをアーカイブするように変換したい場合は、次のようにします。
service postfix stop # or whatever you need to do to stop writing to /var/mail
mv /var/mail /home
ln -s ../home/mail /var/mail
service postfix start
ファイルが新しいディレクトリに移動する場合は、何も移動する必要はありません。大きなパーティションにディレクトリを作成します/var
。
ファイルが実際にそこにある場合は、小さなパーティションに移動してから大きなパーティションに/var
移動できます。ただし、安全に実行するには、移動中のファイルを使用していないことを確認する必要があります。物理的にアクセスできない場合は問題になる可能性があります。/home
/var
答え3
私が見つけた修正は、@Anthonが投稿した修正と似ていました。
結局VAR
。に/home
内容をコピーしてからインストールするように変更しました。その後、システムを再起動しました。戻ったら、新しいディレクトリ(現在はで終わり)を作成し、各ユーザーアカウント(で)をに移動し、内容(現在)をに移動しました。その後、関連して混乱している問題を解決するためにコンピュータを再起動しました。/var
/etc/fstab
/dev/md2
/var
/home
/dev/md1
/var
/home
/var/VAR
/var
/var/lock
/var/run
これは非常に乱雑ですが、シンボリックリンクと/home
。