再起動せずにSSD/HDDを交換したい場面があったので、Ubuntuでのホットスワップの手順をまとめた。
マザーボードやBIOSがホットスワップに対応していること前提。
以下、交換したいストレージは/dev/sdbでアンマウント済、ルートユーザーでの作業とする。
まず、取り外したい物理ディスクのホスト番号を調べる。
マザーボードをよく見ると、SATA0, SATA1, … などが印字されているはず。
# ls -l /sys/block/sdb
lrwxrwxrwx 1 root root 0 8月 28 17:34 /sys/block/sdb -> ../devices/pci0000:00/0000:00:17.0/ata4/host3/target3:0:0/3:0:0:0/block/sdb
今回はhost3に接続されていた。
次に、ストレージデバイスへのパスを削除してI/Oが発生しないようにする。
# echo 1 > /sys/block/sdb/device/delete
これで取り外し可能になる。
慎重に電源ケーブルとSATAケーブルを抜く。
他のパーツに手が当たったり、別のケーブルを抜かないように注意する。
新しいディスクを取り付けた後、事前に調べたホスト番号をスキャンする。
# echo "- - -" > /sys/class/scsi_host/host3/scan
ルート権限が必要な作業はここまで。
ユーザー権限に戻り、新しいディスクが認識されたことを確認。
$ ls /dev/sd*
後はフォーマットしてマウントすれば通常通り使えるようになるはず。
OS起動時にマウントするディスクを交換した場合、忘れずに/etc/fstabも更新する。
参考
6.5.5 物理ディスク情報とスライス番号の確認
9.6.1 iSCSI デバイスの削除
25.10. ストレージデバイスへのパスの削除 | Red Hat Product Documentation
25.10. ストレージデバイスへのパスの削除 | Red Hat Documentation
25.12. ストレージの相互接続のスキャン | Red Hat Product Documentation
25.12. ストレージの相互接続のスキャン | Red Hat Documentation
コメント