たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

Diskのエラー RedHat 9

あまりに苦戦したので、忘れる前に記録しておこうと思う。

古き良き時代のRedHat

古いサーバが、調子が悪いということだったので、まずは先週確認に。
時々反応がなくなるので、強制的にリセットしているとのこと。

早速、調査。
RedHat 9 shrikeであることが判明。
旧の担当者は居ないので、マシンから読み取るしかなさそう。

Webシステムが起動しているということなので、調べてみるが、apacheは起動していない。
Tomcatは起動している。

ということは、Tomcatがwebサービスを提供しているっぽい。
まあ、java中心のシステムなら、それもありうる。

今回は事前の作業

サーバをリプレイスすることで検討しているのだけれど…。
新しいマシンに、現在動いているシステムのソフトを載せても、どうやら動きそうにない。
OSのバージョンも、Tomcatのバージョンも異なるし…。DBもバージョンが違いすぎる。
乗っているシステムは、オリジナルだし…。完全なソースが残っていないという。

そこで、p2vで仮想化する方向で…。
マシン全体を仮想化して、新ハードウェア上で動かしてしまおうという計画にした。
そのため一旦ディスクの中身をコピーして持ち帰ろうと、今週作業に入った。

logをチェックしてみると、Errorが頻発している。dmesgではエラーしか見られない。
先週よりも、増えているような気がする。
コンソールで触っていても、エラーを吐いてくる。

内容は、Diskがおかしいらしい。
inodeが異常…。

よく止まらずに動いていたもんだ。

起動時の様子が見たいので、rebootしてみる。
BIOSの後、AdaptecのRAIDカードを認識している。
PXEブートしようとして、できていない。
grubを使って起動している。

ふむふむ、懐かしい文字があちこちに…。
しかしsyslogを見ると、何だかおかしい。

ハードウェアのRAIDが使われていないっぽい。
Disk構成は、80GB×2のみ・・・。
あれ?BootDiskは?

再度起動を確認すると、No Logical Disk〜とか出てるし。
fstabやfdiskを見ると、どうやらRedhatのソフトウェアRAIDが組まれている。
紛らわしい…不要なカードなら外しておいてほしい...

1本目は /Bootとswap,でもって残りがRAID領域。
2本目は、/(root)のみ???

つまり、同じ容量なのに、構成が異なり、1本目のRAID領域と、2本目でミラーしている。

問題は、どこの領域でエラーが出ているかだけれど、どうやら1本目のRAID以外の領域で多発している。
これは危険な状態。

コピーをしようとすると、IOエラーをどかどか吐いてくる。

とりあえず、エラーのないところから転送。
まずは、Linuxが動いているノートPC(データ格納用)で待ち受ける。
$ nc -l 9000 | dd of=./backup/server-hdd.gz
今度はサーバ上で、Ubuntu12.04のCDブートし、コンソールに入る。
$ sudo dd if=/dev/hdd | gzip -cf | nc 192.168.0.90 9000
CDブート時は、パスワード設定がされていないので、sudoだけでOK。

80GBの2本目をすべて、ネットワーク越しにコピーをかける。
ただし、そのままでは時間がかかりすぎるので、圧縮してからネットワーク上に流すことにする。

確認してみると、1GB受信するのに、約10分だった。
トータル約1時間で完了。総容量約6GB。
本当にこれで80GBなのか不安になるが、その前に小さめのファイルで何度かテストしているので、確実にOKなはず。

修復してみるが…

残りの部分は、エラーでコピーできないので、可能な分だけコピーを行い、修復に入る。
# fsck /dev/hdc1
しばらく待つと、じゃかじゃか出てくる。
手作業では面倒すぎるので、再度オプションを付加して実行。
# fsck -y /dev/hdc1
どっちにしても、修復しか方法はないので、全部yesで答えるしかない。

ずいぶん待つと、エラーはでなくなった。
どうせ、lost+foundみても役に立たないしなぁ(このあたり何とかならないのかな〜)

思い切って、再起動してみる。

grub shellが起動して止まった。orz

手動で何とかする

HDDは2本とわかっているし、構成もある程度わかっているので、shellから手動で起動テストをする。
> find /(TAB)
これで、ディスクの中身が見えるはず。
確かに、/BOOTの中身が見えている。
でもgurb以下が全くない。
しかも、この領域はディスクエラーの領域なので、使用しないことにする。
2本目のディスクに、/boot以下を再構成し、ここから起動させることにする。
まずは、/bootのラベルを削除する。
これで、/以下(2本目)のbootを読みに行くはず。

試行錯誤の結果、なんとかbootする設定を見つけた。

> root (hd1,0)
> kernel /boot/vmlinuz root=/dev/hdd1 init=3
> initrd /boot/initrd-2.4.20-6.img
> boot

起動後、grub-installで設定を書き込んで、rebootする。

stage1.5でまたもやgrub shellが…。
しかし、すでにstage1をクリアしているので、問題は設定ファイルがないことだと、当たりをつける。
grub以下は、やっぱり何もない。
そりゃ、stage2に進めないはずだ…。
installでは書き込んでくれないんだな。
さっきの設定を元に、menu.lstを作成する。

  default=0
  timeout=5
  title Redhat shrike
      root (hd1,0)
      kernel /boot/vmlinuz ro root=/dev/hdd1 rhgb
      initrd /boot/initrd-2.4.20-6.img

これで、再起動後自動でloginまで無事にブートするようになった。

さて、後は仮想化できるようにするのみ・・・

コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?