Contents

自宅鯖のシステムドライブを入れ替えたときのメモ

ほぼメモみたいなもんです。

自宅鯖のシステムドライブを Samsung 980 (500GB) から KIOXIA EXCERIA G2 (1TB) に換装したので作業手順を残しておきます。

Gists 以上 ブログ未満の文章を書いておく場所としてかつては Shaarli を運用していたんですが、自分で同じようなサービスを書こうと思って書けていないのでこうしてブログに書いています。

用意したもの

手順

1. 書き込み先のブロックデバイス名を確認する

エンクロージャに入れた SSD は /dev/sdX として出現する。

$ fdisk -l

2. dd でデータをコピー

if と of を逆にすると終わるので細心の注意を払って実行するべし。 ちなみにだいたい 400~500MB/s ぐらいの速度だった。

$ dd status=progress if=/dev/nvme0n1 of=/dev/sdc bs=64K

3. GPT テーブルを操作する

バックアップテーブルをディスクの末尾に移動する必要があるので編集する。

$ fdisk /dev/sdc
> x
> e
> w

4. パーティションを拡張する

パーティションテーブルを編集する。今回は / のパーティションがディスクで最後にあるので単に拡張するだけ。

$ parted /dev/sdc
(parted) print
...
...
(parted) resizepart 3 1TB

5. ファイルシステムを拡張する

btrfs コマンドは(resize2fs と異なり)マウントしないと拡張できないらしい。

$ mount /dev/sdc3 /mnt
$ btrfs filesystem resize max /mnt
$ umount /mnt

6. おしまい

物理的に入れ替えて従来通り起動し、 df でファイルシステムのサイズが拡張されていれば成功。

$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev             16349644        0  16349644   0% /dev
run             16361484     1872  16359612   1% /run
/dev/nvme0n1p3 968172868 66774980 900622780   7% /
tmpfs           16361484        0  16361484   0% /dev/shm
tmpfs           16361484     1940  16359544   1% /tmp
/dev/sda1      244197540 44740552 198495608  19% /media
/dev/nvme0n1p1    522224    93684    428540  18% /boot
tmpfs            3272296        4   3272292   1% /run/user/1000