(ubuntu)既存ディレクトリを別HDDに移す方法

今回は、ubuntu上で既存のディレクトリを別HDDに移動する方法についてです。

私はubuntu上にdocker環境を構築していて、docker環境の永続化したいデータは、ホスト(ubuntu)の特定ディレクトリに集約しています。(そして、このディレクトリのみ定期バックアップを取るようにしています。)

いくつかの観点から、永続化データのディレクトリを別HDDに切り出すことにしました。既存ディレクトリを別HDDに移動しましたので、ノウハウの備忘とご紹介です。
※特別なことは何もありません。

bohed / Pixabay

■なぜ、別のHDDへ移動しようとしたか。
・[ホストシステムからの独立]…ホスト(ubuntu)側を再構築しなければならない状況になったとき、dockerのデータ群が影響を受けないようにしておきたい。

・[容量の確保]…予想以上に容量が大きくなる傾向にあると感じた為、逼迫する前に予防策として。

■前提
・docker-compose.yml等に記載している為、ディレクトリのパスは変えない。

■手順

1.起動しているすべてのコンテナを停止する。(えっ、ダウンタイムなんて気にしませんよ?)

 

2.一旦、ディレクトリパスを空ける。(”/hoge/dockerData”が今回HDD移動したいディレクトリ)

 

3.(適宜)移動先となるHDDをつなぎ、フォーマットする。
ubuntuなので、GNOMEで動作するパーティションツールGpartedが簡単に使えると思います。

ubuntuのデスクトップで、Gpartedを開き、今回追加したHDDを選択。 まっさらなHDDの場合はパーティションテーブル作成して、新規パーティションを作成します。手順は割愛。
また、追加HDDのディスク名・パーティション番号(/dev/sdb1など)を覚えておきます。

 

 4.HDD(パーティション)のUUIDを確認し、マウントポイントを指定する。
マウントポイントとは、/hoge/dockerData のことです。“このパーティションをこのディレクトリとして、毎度マウントします”という指定になります。
まずは、UUIDを調べましょう。

つながっているパーティションのリストが出力されます。移動先として使いたいパーティション(/dev/sdb1)のUUIDをメモします。(“1qazxsw23edc”)
続いて、マウントポイントの指定です。

ファイル末尾に下記を追記します。tab区切り。記載内容の意味は割愛。保存してubuntu再起動。

 

5.退避したデータを戻す。

 

6.全dockerを起動する。

動作に問題がないようならば、退避した/hoge/dockerData_bkを削除して完了。

これで、ホストが調子悪くなっても、今回作成した永続化データHDDとdocker-compose.ymlがあれば、かんたんに原状復帰できるはず!

参考になったらシェアお願いします!
ブログランキング・にほんブログ村へにほんブログ村