Linuxでハードディスクを使うときのメモ

20171110

新品のHDDを ext4 で使えるようにする

gnome-disks を起動。

gnome-disks

フォーマットするディスクを選択。

右上の「≡」を押して「ディスクを初期化」を押す。

GPTを選んで「初期化」を押す。

UEFIを使うときはGPTが推奨されている。

確認画面で「初期化」を押す。

「+」を押して未割り当て領域にパーティションを作成。

サイズとタイプを指定し、ディスクに名前をつける。

名前はマウントしたときディレクトリ名になるので、長いとフルパスが見づらくなる。使用を始めた年月日を入れると交換の目安になって便利。

再起動して指定したサイズ/タイプ/名前で認識されるか確認する。

「▶」を押してマウントする。

SMARTのデータを確認する

gnome-disks

右上の「≡」を押して「SMART のデータとセルフテスト」を押す。

Western Digital のアイドルタイマー(IntelliPark)を無効にする

WD40EZRZ-RT2, WD30EZRZ, WD30EZRX で動作確認済み(ただし無保証)。

sudo idle3ctl -d /dev/sdx

設定後は電源を切る。再起動だとアイドルタイマーが無効にならない。

起動してアイドルタイマーの状態を確認。

sudo idle3ctl -g /dev/sdx
=> Idle3 timer is disabled

アイドルタイマーが無効になっている。

/home パーティションの予約ブロックを 0 にする

ext4 では5%の領域が予約ブロックになっている。これを解放すると空き容量が増える。

/home パーティションの番号を確認する。

df
/dev/sda3  440G  137G  303G  32%  /home

/dev/sda3 の予約ブロックを 0 にする。

sudo tune2fs -m 0 /dev/sda3

ディスクの断片化状態をチェック

sudo e4defrag -c /dev/sdx1

Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sdx1) does not need defragmentation.

スコアが56以上でデフラグが必要になる。ただしext4は断片化しにくいので、そのスコアになったことはない。

HDDを別のHDDにまるごとコピー

cp -npr /media/2018/* /media/2019/
オプション 意味
-n 既存のファイルを上書きしない
-p タイムスタンプを維持する
-r ディレクトリを再帰的にコピーする

途中でやめるときはCtrl-C。再開するときは同じコマンドを実行。WD30EZRX (3TB) のコピーには9時間ほどかかる。

最後にrsyncで隠しファイルのコピーと全体のチェックを行う。

rsync -av /media/2018/ /media/2019/

HDDをまるごとコピーするときの手法の比較

コマンド コピーにかかる時間 CPUへの負荷 途中からの再開
cp -npr src dest 11.115s 小さい 既存のファイルをスキップ
tar cf - * | (cd dest; tar xf -) 10.881s cp の倍程度 不可
rsync -av src dest 10.484s 1スレッド占有 可能

cp はCPUへの負荷が小さいので数時間動かしても他の作業に影響しない。速度もさほど遅くないし、中断しても一応再開できる。中断するとコピー中のファイルが1つ失敗に終わるが、最後にrsyncで確認すれば問題ない。rsyncの差分チェックは非常に高速なので、チェックと数個のファイルのコピーならすぐに終わる。

HOME