lvをdisable/enableにする
iSCSIとして見せてるlvのtargetをerrorにしたらiSCSIとして見てる人にSCSIエラー出せるよ、と聞いたのでlvをdisable(targetをerrorにする)方法と元に戻す方法を調べた。
まず、対象のlvの現在のtableを確認する。
# dmsetup table testvg-lv1 0 409600 linear 8:5 411648
start/endがわかったので、次に対象lvのtableをerror targetのものに変える。
# dmsetup reload testvg-lv1 --table "0 409600 error"
suspend/resumeしたらtableをロードし直してくれる。
# dmsetup suspend testvg-lv1; dmsetup resume testvg-lv1
なったか確認。
# dmsetup table testvg-lv1 0 409600 error
できました。
元に戻す場合は、元のtableの内容に書き換えてあげればいいので
# dmsetup reload testvg-lv1 --table "0 409600 linear 8:5 411648" # dmsetup suspend testvg-lv1; dmsetup resume testvg-lv1 # dmsetup table testvg-lv1 0 409600 linear 8:5 411648
のようにする。
バックアップのtableを保持しつつ自動でやるにはこんな感じか。
元のlvはlinearのtargetがひとつある状態しか考慮してないのでちうい。