web-dev-qa-db-ja.com

tmpフォルダーを「/」パーティションからマウントされたパーティション(/ mnt)に移動します

私は、小さな「/」パーティションと大きな「/ mnt」パーティションを与えたAmazon EC2インスタンスを持っています。そのため、mysql data-dirを/ mntパーティションに移動しました。ただし、大規模な結合クエリで/ tmpフォルダーの領域が不足する問題が発生し、/ tmpを/ mnt/tmpに移動しようとしています。シンボリックリンクを使用してこれを実行しようとしましたが、mysqlサービスが開始できなくなります。

/ tmpのストレージを/ mnt(/ dev/xvdb)に移動する方法についてアドバイスしてください

15
Programster

/tmpマウントポイントを/mnt/tmpにバインドできます。

Sudo mount -B /tmp /mnt/tmp
12
Braiam

「/ tmp」パーティションを移動するには、この間違った答えで提案されていない余分なものが必要です https://askubuntu.com/a/371628/298086

データの移動とは、宛先マウントにクローン化された後、元のパーティションからデータを消去することを意味します。これは、バインドマウントでは絶対に実行されません。

推奨:バインドマウントとは何かを理解したい場合は、この素晴らしい投稿を読んでください https://unix.stackexchange.com/a/198591

rightmountオプション(「MOVE」、バインドではない)を試してみると:

mount -M /tmp /mnt/tmp

tmpは共有マウントポイントです」(実際には「がプロセスを実行している場合はマウントポイントを移動できません」それを使用する ")

探している「答え」には、コンテンツを移動する前に、/ tmpを使用して/ tmpにアクセスしてサービスを停止および再起動する必要があります。

以下を実行することにより、これらのサービス/プロセスをリストできます。

lsof +D /tmp/

したがって、/tmpに実際にアクセス/使用しているものをリストしたら、「行動する方法」を本当に決定することができます。

私の意見では、最も安全な方法は通り過ぎる

  1. / tmpにアクセスするすべてのサービスを停止します(可能な場合)。
  2. / tmpの内容全体を新しい場所にコピーする
  3. / etc/fstabを編集し、/ tmpマウントポイントの物理的な場所を変更します(バインドまたはデバイスマウントに関係なく)
  4. システムを再起動して再マウントを実行する

しかし、システムの再起動を必要としない別の方法がありますが、以前の方法ほど安全ではありません。 ここで説明 で、/tmplazy方法でアンマウントすることで構成されます。これにより、mount -Mを実行できます。

この2つのリンクは、お客様の要求に役立ちます。

2
xsubira