私は、小さな「/」パーティションと大きな「/ mnt」パーティションを与えたAmazon EC2インスタンスを持っています。そのため、mysql data-dirを/ mntパーティションに移動しました。ただし、大規模な結合クエリで/ tmpフォルダーの領域が不足する問題が発生し、/ tmpを/ mnt/tmpに移動しようとしています。シンボリックリンクを使用してこれを実行しようとしましたが、mysqlサービスが開始できなくなります。
/ tmpのストレージを/ mnt(/ dev/xvdb)に移動する方法についてアドバイスしてください
/tmp
マウントポイントを/mnt/tmp
にバインドできます。
Sudo mount -B /tmp /mnt/tmp
「/ 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
に実際にアクセス/使用しているものをリストしたら、「行動する方法」を本当に決定することができます。
私の意見では、最も安全な方法は通り過ぎる
しかし、システムの再起動を必要としない別の方法がありますが、以前の方法ほど安全ではありません。 ここで説明 で、/tmp
をlazy方法でアンマウントすることで構成されます。これにより、mount -M
を実行できます。
この2つのリンクは、お客様の要求に役立ちます。