ほぼ10年振りのメインPC(Ubuntu 18.04)更新を前に、システム用とは別にバックアップや仮想マシンを収容するデータ用 HDD を SSD へ移行しようと、 Clonezilla Liveを使ってのディスク クローン を ssh でネットワーク越しに操作してみました。
mSATA 1TB SSD
移行先にするのはいつもの中華mSATA SSD、今回は1TB版を淘寶で購入しました(RMB305にて)。
これをmSATA→SATA変換基板に載せて使います。
今回SSDへ入れ替えるのは、プロファイルバックアップや仮想マシンのストレージとして、デスクトップPC内で2台目のHDDとして使ってきた、こちらのWD Green WD10EACS 1TBです。

図03.WD WD10EACSとmSATA SSD
このHDDはSATA-IIインターフェイスなので、KDiskMark(関連記事はこちら)によるパフォーマンス計測結果もこの渋さ。

図04.WD10EACS KDiskMark結果
ちなみにOS用に使っている方のHDD Seagate ST1000は、SATA-III対応なので計測結果も次の通りです。

図05.ST1000 KDiskMark結果
クローン元パーティションの縮小
クローン元のHDDもクローン先のSSDも同じ1TBですが、こうした場合でも正確な容量は微妙に異なるのがほとんど。
その正確な容量がクローン先の方が小さい場合、クローン時のトラブルの元になることがあるので、クローン元のHDDはアンマウントの後、予めGPartedで小さくすることにしました。
容量の7割弱使用済みのパーティションの縮小は、再配置に意外と時間を費やされてしまい、1時間半ほどで完了。
CloneZilla Liveをssh越しで使う
USBからブートするClonezilla Liveはスタンドアロンシステムなのですが、どうにか画面キャプチャを作業記録として録りたくてその方法を調べていたところ、コマンドラインでネットワーク設定とsshサーバサービスを有効に出来ることを知りました。
早速試してみるべく、Clonezilla Live USBから起動してみます。
言語とキーボードレイアウトに関する初期設定の後、Clonezillaを開始するこの遷移で、下にある Enter_shell を選択してシェルに入ります。
次のコマンドでネットワーク設定メニューを呼び出します(このときのユーザ名 user のパスワードは live )。
1 |
$ sudo ocs-live-netcfg |
ネットワーク上のDHCPサーバから取得する場合は dhcp を選択するだけで、ネットワークが利用可能になります。
Clonezillaのシステムはdebianベースなので、普段使い慣れたUbuntu同様に次のコマンドで、sshサーバサービスを開始することができました。
1 |
$ sudo systemctl start ssh |
HDDからSSDへクローニング
ネットワーク上の別のPCからsshでClonezilla Liveのシェルへ入り、管理者権限でClonezillaをシェルから開始します。
1 |
$ sudo clonezilla |
動作モードは device-device を選択。
今回はローカルデバイス間の単純なクローニングにつき、設定項目の少ないビギナーモードで進めます。
ディスク間のクローニングを選択。
クローン元のHDDを間違えないように選択。
続いて、クローン先のSSDを選択します(選択肢からクローン元は消えています)。
クローン実行前にクローン元のファイルシステムをチェックするかどうかの選択では、先ほどのパーティション縮小時にチェックしたばかりなのでスキップすることに。
終了時の振る舞いでは、離席中の夜間作業を予定しているので電源オフを選択。
テキストメッセージで2度確認を求められるので、どちらも y を送出すると、クローニングが始まります。
ほぼクローン中に表示される予測所要時間通り、2時間半後にディスククローンは正常終了していました。
パーティションをフルサイズ拡張
クローン元HDDを抜いてSSDへ入れ替えて起動し、今まで通り問題無く同じUUIDで自動マウントされるのを確かめたら、一度アンマウントしてパーティションを後方一杯まで拡張します。
拡張は再配置を伴わないので、作業はほどなく完走。
/etc/fstab に記述してある内容で再度マウントするには、このコマンドを発行します。
1 |
$ sudo mount -a |
最後にKDiskMarkでこのSSDのパフォーマンス計測してみると、だいぶ速くなりました。