hardware, コラム, 失敗談, 歴史, 雑談

注意: 読んでも時間の無駄、思い出話です。35歳未満の方はそっと閉じていただければ幸いです。

15年前 「まぁまぁ」定番のNIC

 10年、いや15年以上前の Linux。コンピュータ屋さん以外にもやっと Linux というものが認知されはじめ、流行のディストリビューションは Slackware から Red Hat Linux へ。「どうやら最近の Linux は結構ちゃんと動くらしいね」という巷での噂 …そんな頃を思い出すモノが会社の廃棄物置き場で発見され、思わず救出しました。

dec21140
DEC 21140

 もしかしてこれは DMM が東京進出した際にはじめて導入されたサーバに入っていたNICかも…?

 これは DEC の 21140 というチップが載った 100BASE-TX の NIC です。tulip というコード名のほうが通りがよいでしょうか。当時 Linux での NIC といえば、カニ(Realtek RTL8139シリーズ), 3com 3c905シリーズ、Intel PRO/100(8255x), そしてこの DEC の 2114x 系列 (tulip/de4x5) がポピュラーでした。他にもあることにはありましたが、Linux においての選択肢は多くありませんでした。

  1. Intel eepro100, 3com 3c905: 高級、ちゃんと動く
  2. DEC 21140: そんなに高価じゃない(6,000円程度と記憶) まあまあちゃんと動く
  3. RTL8139C or lator: 安価(2,000円?), やたらCPUを食う、運が悪いとNICが止まってOS再起動、カーネル刺さる
  4. それ以外: 安価、動くかわからない、カーネル刺さる

 この中で “まぁまぁ” の NIC は DEC 21140, これが定番でした。

安いNICはよくカーネルがpanicした

 安いNICはろくなことがありませんでした。CPUを食う、kernel panic で死ぬのは高負荷時とも限らず再現性が謎、速度が超遅くなる、NICの存在ごと沈黙、たまたま動いていてもカーネルをアップデートするとおかしくなるなどなど。珍しいパターンでは ネットワークに何かしら流れていないとCPUが食われてしまう(トラフィックのグラフと CPU使用率のグラフが対称っぽい形を描く)、などなど、さまざまな珍現象に見舞われました。

 FreeBSDの rl, RTL8139 ドライバのソースに「史上最低のひどいチップだ」のようなコメントが書かれていたことも話題になりました。

dec21140_2
DEC 21140 裏 (ぷらっとホーム)

 なんと、ぷらっとホームのシールが貼られています。DMM が東京進出した際のサーバがぷらっとホームの3Uのものだと聞き及んでおりますので、それに入っていた NIC でしょうか。

 tulip 互換をうたうチップはいくつか存在し(NETGEAR, ADMtek, なんかがあったような), ドライバのソースは互換チップのバグ ワークアラウンドで肥大化していた記憶があります。でも互換チップもちゃんと動かなかったような…

 この頃の PC-UNIX はメジャーな製品(≒ブランド品)しか動かず、貧乏学生のお財布には厳しかったものです。今日 2016 年 では Linux でもだいたいドライバはあるし、カーネルを巻き込んで死ぬようなものはとても少なくなりました。仮想化もあるし。何かハードウェアを買おうとする前に、Linux で動くのかどうか調べまくる人も減ったでしょう。


 ――なんて話を同年代の方々にしたら「チューリップ? そんなのあったなー」「俺は BSD だったし 21140 に特に思いdeはない」など しょっぱい反応……。そんな方々にも以下のカードはお気に召していただけたようです。

adaptec AHA-2940U2W
adaptec AHA-2940U2W

写真を撮ったあとそっと廃棄物置き場へ戻しました…。Interop 2016 でインターネットの未来を見たあと、ちょっと昔の思い出に耽っていました。
「歴史って、人類や生命全体の “おもいで” に違いないのよ」

linux, 失敗談

おはようございます。ライトノベル好きのツチノコです。トクシュー!は読みましたか?

さて、先日SONiCをbuildした記事を書きました。
当然、次のステップとしてS6000-ONにインストールしたところ、見事に失敗しました!!!
その顛末記を書こうと思います。
文鎮2

USBメモリ上に acs-generic.bin を置いて、 onie-installer に remane して、Dell S6000-ON に挿してbootしました。するとPartition #4の作成に失敗してました。

ONIE:/ # down.
ONIE: eth0: link down.  Skipping configuration.
ONIE: Failed to configure eth0 interface
ONIE: Starting ONIE Service Discovery
ONIE: Executing installer: file://dev/sdb1/onie-installer
Verifying image checksum ... OK.
Preparing image archive ... OK.
ONIE Installer: platform: x86_64-generic-r0
Partition #1 is in use.
Partition #2 is in use.
Partition #3 is in use.
Partition #4 is available
Creating new ACS-OS partition /dev/sda4 ...
Could not create partition 4 from 882688 to 67991551
Unable to set partition 4's name to 'ACS-OS-e39d3b8'!
Error encountered; not saving changes.

再起動後、DEL or F2押してと言われたところで止まります。

Version 2.15.1236. Copyright (C) 2012 American Megatrends, Inc.                 BIOS Date: 06/16/2015 21:34:20 Ver: 0ACAH015                                    Press <del> or  to enter setup. </del>

(全文はgist)

ONIEも上がってこないし、DELキー or F2キーにも反応なし。文鎮ができたように思われました。
以下は当時の状況になります。twitterでホワイトボックススイッチの相談に載ってもらえました!鈴木様ありがとうございました!!!

その後いろいろ相談に載ってもらった結果、Dellサポートに電話しました。

サポートの方「Tera Term使ってるとのことなので、”設定”→”キーボード”で”DELを送信するキー”のDeleteキーのチェックを外してください」
わたなべ  「BIOSの青い画面出たー」
サポートの方「ONIEのリカバリーしましょう」

コンソールとかキーボードとかについて勉強が足りないようです(*/∇\*)。別途調べます。。。

話を戻して、文鎮だと思ったものが実はブンチンカッコカリだったことがわかったので、ONIEを入れて初期状態に戻れるー!と思ったらまだ山がありました。ONIEはバイナリが配布されていないのでビルドが必要でした。(ビルド手順は別の機会に)

ビルドすると、リカバリ用のイメージ(isoもしくはpxe boot用のファイル)ができます。
今回はisoをUSBメモリに焼いてbootすることにしました。

sudo dd if=onie-recovery-x86_64-dell_s6000_s1220-r0.iso of=/dev/sdb bs=10M

USBメモリを挿してbootして、一端BIOSに入ります。
“Advanced” → “USB configuration” → “Mass Storage Devices” のところを”Hard Disk”に。
“Boot” から Boot Order を変更。
Save & ExitするとGRUBが起動します。”ONIE: Embed ONIE”を選ぶとあっさりインストールが終わって(USBメモリ抜く間もなく)Rebootします。途中でBIOSに入ってUSBメモリ抜きましょう。

ONIE:/ #

わーい。

(この後もう1回SONiCのbuildをしたらやっぱりブンチンカッコカリした)
次回につづく!!

p.s. V系バンドの王子様をはじめ講談社ラノベ文庫の新刊が気になってます。

firefox, コラム, 失敗談, 小ネタ, 雑談

Firefoxの動作が重くなってきた。
ググってみると良くある症状のようで、改善方法としては

– SQLiteを最適化
– メモリを開放

というのが定番らしいのでやってみたけど残念ながら私の環境ではあまり効果は見られず。

さらにググってみると、このサイトを見付けた。

Firefoxをリフレッシュする – アドオン
https://support.mozilla.org/ja/kb/refresh-firefox-reset-add-ons-and-settings

このページを Firefox で閲覧している場合、この「Firefox をリフレッシュ」ボタンを直接クリックしてください

素直なのでとりあえず押してみたよ。
Firefoxがクローズしていろいろな処理が走って綺麗にリフレッシュ!!。
めでたしめでたし。

ではなくて、使用上の注意を良くお読みになってからお試しください、ってやつでした。
ボタンの上にこう書いてあるんですな。

注記: 拡張機能とそのデータは削除されます。

書いてあるとおり、拡張機能は全部なくなっちゃいましたよ。
ありゃあ。。。

とはいえ以下は保持されたままなので、実際に困ることは拡張機能がなくなるぐらい.

  • ブックマーク
  • 閲覧履歴
  • パスワード
  • 開かれているウィンドウ 、タブとタブグループ
  • Cookie
  • Web ページ上のフォームの入力補完情報
  • ユーザ辞書

Firefoxの設定ファイル自体は大幅に小さくなって、動作も軽くなった印象。

設定はデスクトップ上にバックアップされるので戻せることは戻せるんだけど、心機一転、拡張機能をあれこれインストールし直して、わりと今は快適にブラウジングできていますよ。

記念にとりあえずインストールした拡張機能を書いておきます。

 

ツリー型タブ (Tree Style Tab)

https://addons.mozilla.org/ja/firefox/addon/tree-style-tab/

タブを横に表示できるようになる拡張機能。大量にタブを表示するときにはとても便利。手放せない。
Firefoxが重いのは実はタブを開きすぎなだけ、という気もする。
Chromeでもこういう拡張機能のがあれば良いのになあ。

Firemacs

https://addons.mozilla.org/ja/firefox/addon/firemacs/

EmacsキーバインドでFirefoxを操作できるようになる。Emacsの人には必須。
Chromeでも、ちゃんとEmacsキーバインドになる拡張があれば良いのに。

Tab Mix Plus

https://addons.mozilla.org/ja/firefox/addon/tab-mix-plus/

タブの機能を拡張してくれて挙動のカスタマイズができる。
検索結果を新しいタブで開くとか、そういうカスタマイズをしている。
セッション保存機能もなにげに便利。

Googlebar Lite

https://addons.mozilla.org/ja/firefox/addon/googlebar-lite/

これを使って検索をすると、検索キーワードがツールバーに表示されてページ内検索ができるので便利。

S3.Google Translator

https://addons.mozilla.org/ja/firefox/addon/s3google-translator/

Google翻訳の機能、レビューを見ると良さげなので使ってみることにした。

All-in-One Gestures

https://addons.mozilla.org/ja/firefox/addon/all-in-one-gestures/

ネットサーフィンするときにジェスチャー機能はとても便利。

ClickCutter AutoSearch

https://addons.mozilla.org/ja/firefox/addon/clickcutter-autosearch/

ページ中で範囲指定した文言を任意の検索エンジンでサクっと検索できるのはとても便利。

BarTab Lite

https://addons.mozilla.org/ja/firefox/addon/bartab-lite/

Firefoxの再起動時に全部のタブの再読みこみをしないようにする。タブを大量に開いて使っていると再起動時にとても重くなるんだよね。

ASnumber

https://addons.mozilla.org/ja/firefox/addon/asnumber/

インターネットに関する仕事をしている人にはとても便利な拡張機能。
ページ下部のステータスバーに、ウェブサイトがどこのASに置かれてるのかがわかったり、そのASのwhoisがすぐわかったりする。
ただ、Firefoxのステータスバーは最近は標準では表示されなくなってしまったので、、、、

Status-4-Evar

https://addons.mozilla.org/ja/firefox/addon/status-4-evar/

この拡張を入れるとステータスバーが復活してASnumberが使えるようになる。

SSL, 失敗談

世の中ではSSL証明書のSHA-2への移行が騒がれていますね。
Chromeが突然警告出すようになったので、あまり詳しくない友人がビックリして「何これ?開くと危険なの!?」と私に聞いてきたりしました。(これは私が以前「この緑色は安全の証なんだよ」と教えたせいでもありますが)

そんな中、とあるサイトのSSL証明書が有効期限を迎えたので、SHA-1・SHA-2どちらで更新するか事業部に相談、PC専用サイトということでSHA-2で更新したのですが、ある問題が発生してしまいました。

その問題とは「MacOS Mavericks+Chromeの組み合わせだけ、SHA-1と同じ警告が出る」というイレギュラーなもの。WindowsでもYosemiteでも緑色になるのに、何故かMavericksだけ・・・

あ、ここでSHA-1の警告についておさらい。
参考資料:https://www.jp.websecurity.symantec.com/sid-partner/products/pdf/chrome_sha1deprecation_201409_1.pdf

■Chrome v40(2015/2/20現在最新)

有効期限終了日(GMT) SHA-1/SHA-2 アドレスバーの表示
2016/5/31以前 SHA-1 緑色
2016/5/31以前 SHA-2 緑色
2016/12/31以前 SHA-1 黄色
2016/12/31以前 SHA-2 緑色
2017/1/31以降 SHA-1 白色(http:// と一緒)
2017/1/31以降 SHA-2 緑色

■ Chrome v41(2015/4 一般リリース予定)

有効期限終了日(GMT) SHA-1/SHA-2 アドレスバーの表示
2015/12/31以前 SHA-1 緑色
2015/12/31以前 SHA-2 緑色
2016/12/31以前 SHA-1 黄色
2016/12/31以前 SHA-2 緑色
2017/1/31以降 SHA-1 赤色(取消し線)
2017/1/31以降 SHA-2 緑色

要はSHA-1で出す場合「有効期限日を2015/12/31まで」にしないと警告が出てしまい、SHA-2なら有効期限にかかわらず警告は出ない。という趣旨ですね。

では何でMavericks+Chromeだけ警告が出たのか。Symantecさんに問い合わせた結果、以下の事実が判明しました。

Mavericksは1024bitと2048bitの2つのルート証明書を持っているが、証明書の検証をする際に証明書の鍵長や署名アルゴリズムに関わらず1024bitのルート証明書を辿る挙動になる。
1024bitのルート証明書に辿りつくためにはSHA-1で署名されたクロスルート証明書が必要となるが、ChromeのSHA-2判定基準はサーバ証明書・中間証明書群全てSHA-2であることが求められるため、判定がSHA-1となりアドレスバー警告が表示される。

よく解らないですよね。はい。。ということで図解してみました。

Marvericks+ChromeのSHA-1証明書警告について

困った問題ですねぇ。教えてGoogle先生っ!

google.com_cert

何この証明書。。さっさとSHA-2移行しろと言わんばかりに警告出しておいてコレかーぃ!!

取りあえずSHA-1にしろSHA-2にしろ、有効期限を2015/12/31で出すしかないのかな。。

 

失敗談, 小ネタ

こんにちは、ツチノコの親分です。

今日は、10人中7人から8人は経験しているだろう間違ったターミナルでのrebootやshutdownについて共有したいと思います。
ラボのツチノコスタッフもそのくらいの割合で過去に経験しているようです。

タブ形式のターミナルソフトを利用していくつかのターミナルを立ち上げて作業することが多いのですが、
間違えて別のサーバを再起動してしまうといったミスが時々発生します。

タブ形式のターミナルは非常に便利な反面、こういったオペレーションミスで大きな障害を引き起こす可能性があります。
ということで、現在、みんなそれぞれ、どうやって防いでいるのかアンケートを取ってみました。
1位:構築用とメンテナンス用のシェルのバックグラウンドの色を変える

2位:構築用とメンテナンス用のウィンドウを分ける。もしくはアプリを変える(poderosaとteratermなどなど)。

3位:管理者権限のシェルを一つだけにする

4位:何もしてない。そもそも失敗しない。キリ

5位:再起動時は構築用であっても必ずIRCなどのツールで全体で共有する
という結果でした。

これを実践すれば一応今のところミスは発生していないとのことです。

ほとんどのスタッフが何かしら個人的に対策を行っているので問題ないのかなとは思っているのですが、
1位から3位のいずれかを利用してミスを防ぐようにルール化しようと考えています。作業慣れした方法を維持しつつ新人教育につなげていければと思っています。

みなさんの会社の会社ルールや自身のマイルールはいかがですか?教えていただけると嬉しいです。
twieetかコメントで是非 m(_ _)m

ちなみに親分は失敗しますが4位のやつです。すみません。^^;
ターミナルは mputty MTPuTTYとteratermを利用させていただいています。ありがとうございます。

PAGE TOP