2017年8月18日金曜日

ThinkPad W520 + CentOS 7 夏対策(省電力設定)

このところ、firefox でブラウズしているだけでも、冷却ファンが回り続けてしまい耳障りなので、夏対策を少々。
定番的なものだけですが、備忘録です。

まず、NVIDIA のドライバを nouveau から kmod-nvidia に変更しました(elrepo 利用)。最近は安定していて、それほど不満ないので、nouveau を使ってましたが、おそらくは NVIDIA 謹製ドライバでないと、省電力制御が働かないのではと思ったので。
[root@hoge ~]# yum list kmod-nvidia --enablerepo=elrepo --showduplicates
読み込んだプラグイン:fastestmirror, langpacks, nvidia
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * elrepo: elrepo.org
 * extras: download.nus.edu.sg
 * updates: download.nus.edu.sg
利用可能なパッケージ
kmod-nvidia.x86_64                 367.57-1.el7.elrepo                   elrepo 
kmod-nvidia.x86_64                 367.57-2.el7.elrepo                   elrepo 
kmod-nvidia.x86_64                 367.57-3.el7.elrepo                   elrepo 
kmod-nvidia.x86_64                 375.66-1.el7.elrepo                   elrepo 
kmod-nvidia.x86_64                 384.59-1.el7.elrepo                   elrepo ※こっちを利用
kmod-nvidia.x86_64                 384.59-2.el7_4.elrepo                 elrepo 
※↑あいにく RHEL7.4 カーネル向けが出ていて、まだ CentOS 7.4 が出てないので、こっちは NG (シンボルエラーになる)
[root@hoge ~]# yum install kmod-nvidia-384.59-1.el7.elrepo.x86_64 --enablerepo=elrepo
...
あとは、CPU と SSD の省電力設定を行いました。
[root@hoge ~]# cpupower frequency-set -g powersave
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
[root@hoge ~]# find /sys/ | grep link_power
/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy
/sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/scsi_host/host1/link_power_management_policy
/sys/devices/pci0000:00/0000:00:1f.2/ata3/host2/scsi_host/host2/link_power_management_policy
/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/scsi_host/host3/link_power_management_policy
/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/scsi_host/host4/link_power_management_policy
/sys/devices/pci0000:00/0000:00:1f.2/ata6/host5/scsi_host/host5/link_power_management_policy
[root@hoge ~]# lsdisk
DEVICE   Driver        PCI           Description
================================================================================
scsi0    ahci          00:1f.2       +
  sda    sd                 .        scsi0 ch=0 id=0 lun=0  size=240.0GB
scsi1    ahci          00:1f.2       +
  sdb    sd                 .        scsi1 ch=0 id=0 lun=0  size=240.0GB
scsi2    ahci          00:1f.2       +
scsi3    ahci          00:1f.2       +
scsi4    ahci          00:1f.2       +
scsi5    ahci          00:1f.2       +

[root@hoge ~]# echo min_power > /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/link_power_management_policy
[root@hoge ~]# echo min_power > /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/scsi_host/host1/link_power_management_policy
... 約10分後 ...
[root@hoge ~]# hddtemp 
/dev/sda: INTEL SSDSC2BW240A4: 40°C  ※だいたい、マイナス2度ほど下がりました
/dev/sdb: INTEL SSDSC2BW240A4: 35°C  ※だいたい、マイナス2度ほど下がりました
[root@hoge ~]# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +57.0°C  (crit = +99.0°C)

thinkpad-isa-0000
Adapter: ISA adapter
fan1:        2532 RPM  ※この回転数だと、それほど耳障りではなかったです

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +57.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:         +57.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:         +54.0°C  (high = +86.0°C, crit = +100.0°C)
Core 2:         +53.0°C  (high = +86.0°C, crit = +100.0°C)
Core 3:         +54.0°C  (high = +86.0°C, crit = +100.0°C)
これらの対策により、冷却ファンは鎮まりました。こうやって、マニュアル操作でいじくれるのが Linux のよいところですね。

2017年8月6日日曜日

RHEL7.4 リリースノートに Btrfs has been deprecated を発見

先週、RHEL7.4 がリリースされたのを思い出し、リリースノートをパラ読みしていたら、、、発見しました。

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.4_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.4_Release_Notes-Deprecated_Functionality.html
〜抜粋〜
The Btrfs file system has been in Technology Preview state since the initial release of
Red Hat Enterprise Linux 6. Red Hat will not be moving Btrfs to a fully supported feature
and it will be removed in a future major release of Red Hat Enterprise Linux. 

The Btrfs file system did receive numerous updates from the upstream in
Red Hat Enterprise Linux 7.4 and will remain available in the Red Hat Enterprise Linux 7 series.
However, this is the last planned update to this feature. 
〜
raid1 と 透過圧縮(LZO) は、有益な機能と思っていたのですが、打ち切りとは残念です。ますます ZFS に傾倒しそうです。

実は、本日、手持ちの CentOS 7.3 が動いているマシンの Btrfs raid1 領域で、2番目の HDD を見失う (熱のせい?) という障害があり、Btrfs の記事を漁っているところでした。

以下、障害対応の備忘録です。
2番目の HDD は完全に壊れたわけではなく、SATA コントローラが見失っただけのようでした。ルートファイルシステムに使っていたため、syslog 等のログ出力の I/O で、さらにエラーが出るという悪循環になっているようでした。しかたなく、SysRq s, SysRq u, SysRq b の3連打で再起動しました。
てっきり、デグレードして1番目の HDD だけで立ち上がるのかと思ったら、起動して来ませんでした(systemd が2番ディスクを永久待ち合わせしてしまうらしく)。md RAID1 や ZFS mirror と同様だろうと思ったのですが、ややこしい操作(下記)を経ないと復旧できませんでした。なお、中身のデータは完全に無事でした。これぞ Btrfs の利点なんですけどねえ。
1. GRUB2 をマニュアル操作して、ブートパラメータに rd.break=pre-mount を追加して起動
2. degraded オプションでマウント
  # mkdir /mnt_temp
  # mount -o degraded /dev/sdXX /mnt_temp
3. 代替 HDD を追加
  # btrfs device add /dev/sdYY /mnt_temp
4. 見失った HDD を削除
  # btrfs device delete missing /mnt_temp
  ※これで、代替 HDD にリバランスされるようです。この場合、特殊キーワード missing を使えます
というわけで、まだまだ、故障時の運用性に難があるなあと思った矢先の発見でした。おわり。
今後は、CentOS 7 のルートファイルシステムも ZFS を使おうかと思いまーす。

■関連記事
CentOS 6 の root ファイルシステムに ZFS を使う
人気ブログランキングへ にほんブログ村 IT技術ブログへ