FUJITSU LIFEBOOK A574/MWの分解メモ💻

NotePCを人に譲るので初期化してほしいと頼まれました。機種はFUJITSU LIFEBOOK A574/MWでした。

購入時のリカバリディスクなどもあるとのことでながら別作業しながらみてればいいかと思ったのですが、光学ドライブにメディアを入れるとスピンアップするけど認識しません。既存のOSでも富士通製の診断ツールでも認識しません。

聞くところによると以前鹿屋のお店でHDDの交換をしてもらったことがあるとのこと。念の為開けてみると光学ドライブのケーブルが抜けたままでした。(おまけにPC CARDの方も半刺し)このケーブルを指し直したところ動くようになりました。

分解組み立てはちょっと面倒で1時間ほど掛かってしまったので簡単にメモしておきます。HDD交換やWi-Fiモジュール交換などもできます。

先ずは裏面。バッテリー、メモリ、カバー類を取り外しネジは全部外します。

LIFEBOOK A574/MW ura

ネジは外したのと同じあたりに配置しておくと戻すときに楽。
LIFEBOOK A574/MW bis

PCの液晶を180°開いてキーボード上部のボタン部分のカバーを外します。爪で止まっているのでおらないように注意。
キーボードを留めている2本のネジを取り外してキーボードのフラットケーブルがあるので注意しながらゆっくり手前に持ち上げる。持ち上がったらケーブルごと取り外す。
LIFEBOOK A574/MW kbd

電源ボタン基盤のケーブルとネジ2本を外して基盤ごと取り外す。ここではボタン基板側を外したけどメインボード側を外したほうが良かったかも。左右のスピーカーを取り外して基盤コネクタも抜く。ディスプレイとWi-Fiアンテナを取り外す。LCDのヒンジ部のネジを左右3本ずつ外してLCDを取り外す。タッチパッドのフラットケーブルを外すた後手前のタッチパッド部分を取り外す。
LIFEBOOK A574/MW lcd

光学ドライブのケーブルを取り外す。HDD手前の黒い部品を外し、HDDを手前にスライドして取り外す。
LIFEBOOK A574/MW mainboard

Btrfsのbtrfs-transactionでioが100%になって困る

デスクトップ検索のRecollを試してみようと recollindex コマンドでindexを作ってみました.すると様々なアプリケーションがフリーズ.indexが出来るまでの辛抱だろうと1日ほど放置してみましたが解消しません.
1つのコマンドを発行して実行されるまで何分も掛かってしまいます.

cpuやmemoryはガラガラです.
iotop を叩いてみると btrfs-transaction がほぼ100%で張り付いています.

マウントオプションはこんな感じ.

$ mount | grep \ /\
/dev/mapper/t430s--vg-root on / type btrfs (rw,noatime,nodiratime,ssd,discard,space_cache,subvolid=5,subvol=/)

discard を `btrfs(5) ` で確認するとちょっと怪しいような?

       discard, nodiscard
           (default: off)

           Enable discarding of freed file blocks. This is useful for SSD devices, thinly provisioned LUNs, or virtual machine images; however, every storage layer must
           support discard for it to work. if the backing device does not support asynchronous queued TRIM, then this operation can severely degrade performance, because a
           synchronous TRIM operation will be attempted instead. Queued TRIM requires newer than SATA revision 3.1 chipsets and devices.

       If it is not necessary to immediately discard freed blocks, then the fstrim tool can be used to discard all free blocks in a batch. Scheduling a TRIM during a period
       of low system activity will prevent latent interference with the performance of other operations. Also, a device may ignore the TRIM command if the range is too
       small, so running a batch discard has a greater probability of actually discarding the blocks.

       If discarding is not necessary to be done at the block freeing time, there’s fstrim(8) tool that lets the filesystem discard all free blocks in a batch, possibly not
       much interfering with other operations. Also, the device may ignore the TRIM command if the range is too small, so running the batch discard can actually discard the
       blocks.

SATAのバージョンを確認すると 3.2 なので問題無さそう?

$ sudo smartctl --info /dev/sda | grep ^SATA
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)

でも一旦無効にしてみます.
#ついでに付けた compress=lzo は別でやるべきだった…….

$ time sudo mount -o remount,rw,noatime,nodiratime,ssd,nodiscard,compress=lzo,space_cache /
real    42m32.840s
user    0m0.014s
sys     0m15.209s
$ mount | grep \ /\
/dev/mapper/t430s--vg-root on / type btrfs (rw,noatime,nodiratime,compress=lzo,ssd,space_cache,subvolid=5,subvol=/)

これが当たりだったようでioは一気に空きました!
SATA 3.2 だけど何か別の条件が良くないのでしょうか?

忘れないうちに fstab も修正しておきます.(nodiscard は既定値なので書いていない)

 sudo git -C /etc diff HEAD^ -- /etc/fstab
diff --git a/fstab b/fstab
index b029749..386278f 100644
--- a/fstab
+++ b/fstab
@@ -5,7 +5,7 @@
 # that works even if disks are added and removed. See fstab(5).
 #
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
-/dev/mapper/t430s--vg-root /               btrfs   noatime,nodiratime,ssd,discard,space_cache 0       0
+/dev/mapper/t430s--vg-root /               btrfs   noatime,nodiratime,ssd,compress=lzo,space_cache 0       0
 # /boot was on /dev/sda2 during installation
 UUID=cba2591a-12da-481e-b239-c002faca22e1 /boot           ext2    defaults        0       2
 # /boot/efi was on /dev/sda1 during installation

これで暫く様子を見てみます.
問題なければ別途TRIMを設定したほうがいいかな?

環境

$ dpkg-query -W btrfs-progs iotop smartmontools
btrfs-progs     5.2.1-1
iotop   0.6-24-g733f3f8-1
smartmontools   7.0-2
$ sudo smartctl -i /dev/sda | grep -E '^Device Model:|Firmware Version:|SATA Version is:'
Device Model:     Seagate BarraCuda SSD ZA1000CM10002
Firmware Version: STAS1024
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
$ lsb_release -dr
Description:    Debian GNU/Linux bullseye/sid
Release:        unstable
$ uname -m
x86_64

「鹿児島Linux勉強会 2019.09」に向かう

2019-09-21(sat) に「鹿児島Linux勉強会 2019.09」に参加するために鹿児島市に行ってきました.

例によって集まりが悪くオンライン開催かなと思っていたのですが,参加者が三人に :)
前日までに
「クラウド系自由ソフトウェアがお手軽に利用できるFreedomBoxの最近とFreedomBone」,「VPSサーバのOSアップグレードといくつかのサーバからの引っ越し」
というネタを用意しました.

興味のある方は以下からどうぞ.

台風が少し心配でしたが16:00時解散なら市内の人には影響は殆ど無いだろうと思い開催としました.

当日は07:00頃家を出て鴨池・垂水フェリーを使い鹿児島市へ.