Linuxでホットスワップ、安全な取り外し(esata)

家のサーバマシンには左のハードディスクを入れ替えられるキットが付いている。
そしてSATAはホットプラグができる。
ホットプラグはPCのが稼働した状態でも、HDDを入れ替えられるということだ。
PCの電源を入れら状態で、これにHDDをとりるけるとなんの問題もなく認識して使えたのだが、困ったことに正しい取り出し方法がわからなかった。


ここに安全にホットリリースするためのスクリプトが書いてあったので、自分の環境にも同じようなスクリプトを作った。
作ったスクリプトは最後に乗っけておく。
ようは

echo 1 > /sys/block/DEVICE/device/delete

ここに、1を書き込んでやればいい。
DEVICEはsdaやsdbなどが入る。

#!/bin/sh
# shutdown SATA device.

#引数がなければデフォルトでsdbをシャットダウン
if [ -n "$2" ]; then
        DEVICE=$2
else
        DEVICE="sdb"
fi

if [ -z $DEVICE ]; then
        echo "device is not set."
        exit 1
fi

DEVICE_PATH="/sys/block/$DEVICE/device/delete"

if [ ! -e $DEVICE_PATH ]; then
        echo "Ivalid device"
        exit 1
fi

if [ $(mount | grep $DEVICE | wc -l) -gt 0 ]; then
        echo "Device still mounted"
        exit 1
fi

echo "Shuttig down $DEVICE..."
echo 1 > $DEVICE_PATH
echo "Done."

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください