SATAのリンク速度を制限


症状

ドライブの交換が簡単かと思って、ホットスワップ対応のマウンタを使ってハードディスクをパソコンに取り付けました。

ハードディスクはSATA3.0対応なので、SATAのリンク速度は最高6.0Gbpsです。しかし激しくディスクにアクセスするとたまにエラーが出たり、次のようなログが記録される。

Apr 21 20:00:38 pool kernel: [  891.836436] ata2: limiting SATA link speed to 3.0 Gbps

このログが記録された後は、エラーが出ることはありません。

目的

そこでSATAのリンク速度を自動的に決定しないで、リンク速度を制限(指定)してディスクを接続したい。

対応

SATAのリンク速度は、Linuxのカーネルパラメータlibataで指定することができます。具体的には、/etc/default/grubを編集してカーネルの起動オプションとしてlibataを加えます。

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="libata.force=3.0Gbps"

ファイルを編集したらupdate-grubコマンドを実行して編集した内容をgrubに反映させます。

再起動すると、次のように指定した3.0Gbpsでディスクに接続していることがわかります。

$ demesg|grep 'SATA link'
[    1.118975] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[    1.119005] ata6: SATA link down (SStatus 0 SControl 320)
[    1.119038] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[    1.119065] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[    1.119090] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[    1.119116] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 320)

参照


コメントを残す

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