2016-10-19

ArecaのストレージでRAIDが壊れた場合

ArecaのRAIDカードやコントローラが搭載されたRAIDエンクロージャー(NA-762TB等)を使用していてRAIDがfailになった場合、ちゃんとホットスペアを割り当てていたり、詳しい情報システムの管理者が居たりすればリビルドも無難に始まり、しばらく放置しておけば何事も無く再び安全にデータの読み書きが出来るようになります。

ただし管理者が居なかったり(つまりは詳しい人が誰もいない)、真夜中にアレイがfailになってどこにも聞く所がなかったりした場合、冷静な人であれば良いのですが中にはパニクってしまう方も居ます。

そしてこうした場合には往々にしてホットスペアが割り当てられていなかったり、予備のHDDを用意していなかったりします・・・。マーフィーの法則ですね。。

※HDDの予備が無い場合は夜が明けてPCショップにHDDを買いに走るまではどうにもなりません。RAID6で運用していればまだマシですがRAID5の場合はRAID0状態までデグレードするのでなるべく触らないようにしておいた方が良いでしょう。

で、例えばHDDを新品に交換してもリビルドが始まらない!とかそもそもどのHDDが故障しているのか分からない!とかまぁ色々なケースに遭遇する訳ですが、そういう場合はとにかくArecaの管理画面にログインしないと話が始まりません。

ちゃんとログインIDとPasswordをどこかにメモっておいていれば良いのですが、そういうケースはごく稀です。マニュアルをよく見ると書かれているのですが、パニクってる人は一体マニュアルの何処に書いてあるのか分からないでしょうし(そういうマニュアルもどうよ?って話もありますが)、そもそもマニュアル自体が不明になってる場合もあります。(これもWebからダウンロード出来るのですが)

肝心のArecaの管理画面はウェブブラウザから「http://localhost:81」とすると出てきます。

初期のログインIDとパスワードはArecaの場合、IDは「admin」、パスワードは「0000」です(数字のゼロ4つ)。

無事ログイン出来た場合、まず左側のツリー状のメニューから「Information」->「RAID Set Hierarchy」を押してRAIDの状態を確認してみましょう。どのデバイスが壊れているか(Failedとなっているはずです)分かると思います。

故障しているHDDのスロットが分かれば新品のHDDと交換します。少々待つとリビルドが開始されるはずなのですが、何らかの原因でリビルドが始まらない場合、次の作業をおこなってみてください。

「RAID Set Functions」->「Create Hot Spare」から新しいHDDを挿入したスロットを選択してホットスペアに割り当て。

先程のRAID Set HierarchyからRAIDのステータスが確認出来、ちゃんとリビルドが働き始めれば何%完了したかが表示されます。

リビルド中はなるべくアレイにアクセスするのはやめましょう。これは経験則からですが1台ハードディスクが壊れたRAIDアレイは続けてもう1台ハードディスクが壊れるケースがたまにあります。(ま、あくまで確率の問題なので偶然だとは思いますが)
アクセスしたりするとリビルドの完了が遅れる=クリティカルな状況が続くという事なので、RAIDには早くリビルドを完了してもらうようにしましょう。そして予備のハードディスクを割り当ててしまったら、再度新しい予備のハードディスクを購入するのを忘れないように・・・

2016-10-07

(macOS 10.12 Sierra edition) How to recognize GPU via Thunderbolt external PCIe Box at MacOSX

Dear geeks,

This is an article about how to recognize GPU via Thunderbolt external PCIe box at macOS 10.12 Sierra.

INGREDIENTS

  1. Mac (I used MacBookPro Early 2013)
  2. NA-211TB
  3. Text Wrangler (Text Editor)
  4. CUDA driver mac edition (from NVIDIA)
  5. NVIDIA GeForceGTX TITAN  (Kepler)
Step.1
Restart your Mac while holding down the Command-R.

Starting up "Terminal" from the "Utilities" menu. And run the following command:
csrutil disable
If correct, "Successfully disabled System Integrity Protection. ~~ " message should appear like that.
And restart your mac.

Step.2
Enable development mode.
sudo nvram boot-args=”kext-dev-mode=1″
Step3.
Rewrite the Kext file.
And it is necessary to rewrite a little bit kernel extension files to work the GPU board via Thunderbolt. (Do not worry, It is not so much.) 
Editor software is required when rewriting the kernel extension file. It is an application of that handy Text Wrangler. Rather than the version that comes out by searching from the AppStore, this app, please use the version which is provided by the developer of Text Wrangler absolutely. (not good Otherwise)


/// note: The following procedure at your own risk. Please be sure to take a backup in case of emergency. ///


Open the following file,

/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/IONDRVSupport.kext

For example,
"Show Package Contents" by secondary-clicking on the NVDAStartup.kext. 
There is a file called "info.plist" When you open the Contents folder. 
Select and "Open with" and "TextWrangler" secondary-click on it. 
And Key / string written by xml When you open the file will be displayed.

In this file, look for sections beginning with <key>CFBundleIdentifier</key> and add just before </dict>, the two following lines :

<key>IOPCITunnelCompatible</key>
<true/>

There are several sections that CFBundleIdentifier. Not miss it, please add the code.


Note: If you update your OS, seems there is a need to do this again.

Step4.
Install CUDA driver.
CUDA is required. Please be sure to update already if CUDA is installed. 
You can update the "CUDA" System Preferences --> "Install CUDA Update".
Please install the latest version be sure if it is not installed.
Download from the following.
http://www.nvidia.com/object/mac-driver-archive.html
The current version is 8.0.46(2016/10/3)

Step5.
Finally, clear the cache of the kernel extension.
Start a terminal.app and type the following command.
sudo kextcache -system-caches
Final.
Turn off the power once, 
Connect with Thunderbolt cable NA211TB and mac, and turn on the power.

Caution!!
If the NVIDIA driver has been installed, please select the "OS X Default Graphics Driver" from NVIDIA icon in the menu bar.
At the moment. If you selected the NVIDIA Web Driver, Mac does not start properly.

You should use OS X Default Driver

Thanks.
May the GeForce be with you.



新ショップ暫定オープン致しました

8月に直販ショップを一旦閉店しましたが、この度再度ショップをリニューアルオープンいたしました。

http://maxserve.thebase.in/

商品の方は随時追加していきますので、今後共宜しくお願い申し上げます。

2016-07-06

【MacOSX 10.11.5編】MacでThunderbolt外付けBOXにGPGPUを認識させるには【El Capitan】

El Capitan 10.11.1では既にこの前のブログで動作確認をおこなっておりましたが、10.11.5ではまだおこなっておりませんでしたので、動作確認をしてみました。

※10.11.5でうまく動作しない、という報告が上がってきたのでこれは検証する必要があるとも思った次第です。

----必ずバックアップを取り作業については自己責任でおこなってください!----

ひとつ前のMacOS X 10.10.5で動作していたMacBookPro Early 2013が動作確認マシンです。
基本的には去年のブログ【MacOSX 10.11.1編】MacでThunderbolt外付けBOXにGPGPUを認識させるには【El Capitan】でおこなった操作をそのままやりました。
再起動を終えて何事も無く立ち上がりThunderboltの筐体(NA-211TB)にインストールしたGTX TITANに繋がっているモニターも確認し、これでOK!と思いました。
が、フトNVIDIAのドライバプリファレンスを確認してみようと思い、メニューバーをクリックしてみると・・・・


おや・・・?「OS X Default Graphics Driver」になってる。
さくっとNVIDIA Web Driverに切り替えて再起動すると・・・

Mac本体がリンゴマークが出てプログレスバーが途中で止まってしまい、そのまま起動する気配がありません。少々ヒヤッとしましたが、何故か外部に繋げているモニターの方は起動後の画面になり普通に使えます。
仕方ないのでそっちの画面からOS X Default Graphics Driverに戻して再起動。
・・・・・
無事起動出来ました。

一応「OS X Default Graphics Driver」と「NVIDIA Web Driver」でMacBookPro上で性能をチェックし、差異が殆ど無い事を確認しました。

とりあえずは「OS X Default Graphics Driver」の方を使うようにすればThunderbolt外部PCIボックス「NA-211TB」に装着したGPUボードを使えそうです。

※注)執筆時(2016/7/6)現在、NVIDIAの最新アーキテクチャ「Pascal」を使用したGTX1080/1070シリーズにMacは未だ対応しておりません。



2015-11-16

【MacOSX 10.11.1編】MacでThunderbolt外付けBOXにGPGPUを認識させるには【El Capitan】

MacOSX 10.11.1 El CapitanにてGPUをThunderbolt経由で認識させる方法を記します。
El Capitanではkextファイルのようなシステムファイルを容易に書き換える事が厳しくなりました。
ここではその回避方法を記します。

----必ずバックアップを取り作業については自己責任でおこなってください!----


Step.1)
Command-Rを押しながらMac を再起動。
「ユーティリティ」メニューから「ターミナル」を起動し以下のコマンドを実行

  csrutil disable

間違っていなければ『Successfully disabled System Integrity Protection. 〜〜(略)」というようなメッセージが出るはずです。
その後再起動します。

Step.2)
開発モードを有効にします。

  sudo nvram boot-args=”kext-dev-mode=1″

Step.3)
Kextファイルを書き換えます。
これは当初やっていた方法と同一です。
面倒ですが頑張りましょう・・・
詳しくは3/27の記事を参照くださいませ。そちらの『5) kextファイルの書き換え』部分をおこなう必要があります。

Step.4)
カーネルエクステンションのキャッシュをクリアするおまじないをします。

  sudo kextcache -system-caches

Step.5)
電源を落としてNA-211TBを接続します。
その後起動してGPUの動作確認をしてください。

~~~~~~~~~~

EL Capitanからシステムファイルに関するセキュリティが厳しくなりました。
したがって今までのようにkextファイルを編集することが出来なくなりました。その為前回紹介しましたスクリプトを使っての自動書き換えも失敗するようです。
(当方の環境ではcsrutilコマンドを打ったあともスクリプトによる方法もダメでした)
そこでcsrutilコマンドを使ってdisableにし、kextファイルの書き換えを出来るようにします。
※csrutilコマンドに関する内容はこちらの記事を参考のこと。

MacBookAir 2012 + NA-211TB/Geforce GTX TITAN

2015-08-04

スクリプトファイルを1つ実行するだけでMac OSXにて外部GPUをThunderbolt経由で動作させる方法

これまでThuderbolt経由でMacに外部GPUを認識させるには幾つかのステップが必要でした。
kextファイルを正確に書き換えモディファイドドライバを用意し、それはそれは手間がかかり、かつ間違いにハマりやすい方法でした。

今回は1つのスクリプトファイルを実行するだけでファイルの書き換えからドライバのダウンロードまでを自動でおこなってくれる方法をご紹介致します。

----必ずバックアップを取り作業については自己責任でおこなってください!----

用意するもの

  • Mac 
  • Thunderbolt外部拡張ボックス NA-211TB
  • スクリプトファイル

手順

  1. まだこの時点でMacとNA-211TBを接続しないようにしてください。
     
  2. スクリプトファイル「automate-eGPU.sh」をダウンロードしてデスクトップに保存します。
    ファイル共有サービスのBOX.comにアップロードして保存してあります。
    https://app.box.com/s/oy6mhzllpn4sxdzg82w3esn1gwbq1eq2
    (*8/19 プレビューになってしまうという指摘がございましたので、zipファイルに変更しました。適宜ダウンロードして解凍してください)
     
  3. ターミナル.appを起動します。そこへ以下のコマンドを記述します。
     
    chmod +x ~/Desktop/automate-eGPU.sh
    その後
    cd ~/Desktop
    とコマンドを打ちます。
     
  4. 上記コマンドが正しく通ったら次に以下のコマンドを記述します。
     
    sudo ./automate-eGPU.sh
     
    これでドライバが自動的にダウンロードされ、kextファイルも自動的にモディファイされインストールが完了します。
    途中ドライバのダウンロードやインストールをおこなうかどうかYesかNoで聞かれますので、" y "と押して処理を進めてください。
     
  5. CUDAドライバをインストールします。
    これはNVIDIAのサイトに最新版のドライバがありますので、ダウンロードしてインストールしてください。
    http://www.nvidia.com/object/mac-driver-archive.html
      
但し一部のMacBookProでオンボードのグラフィックスボードにGT650M/750Mが載っているモデルで外部GPUにGTX970/980(いわゆるMaxwell世代のGPUボード)を使う場合は以下のコマンドをターミナルから打つ必要があります。
これはドライバが競合して画面がブラックアウトしてしまう現象が起こる可能性があるのを避けるためです。
   sudo nvram tbt-options=\<00\> ※ゼロ2つです。

以上で終了です!
Macの電源を一旦落とした後、NA-211TBとMacをThunderboltケーブルで接続して起動してみましょう。GPUが認識されている筈です。

当方もやってみました。
MacBookPro Early2013、MacOSX 10.10.4、NA-211TBにNVIDIA GTX970を搭載した物をテストしてみました。このように表示が出れば成功です。

※GPUを載せる作業は自己責任でお願いします。
※Intel or Appleの意向で上記作業が認められなくなる事もあり得ます。

2015-04-17

MacOSX10.10.3 追加アップデート後にThunderbolt経由でGPUを認識しない場合

4月中旬から配信されている「OSX Yosemite 10.10.3 追加アップデート」をインストールした後に、Thunderbolt経由のGPUが動作しない場合があります。
これはOSのバージョンが微妙に異なる為にkextファイル内のOSバージョンと違うと判断されて動作しなくなるものと思われます。
具体的な症状としてはNVIDIA Driver ManagerからNVIDIA Web Driverが選択不可になってしまう(OSX Driverが選択されて変更出来ない)というものがあります。

※注)今現在は既に追加アップデートが入った形の10.10.3が配布されているので、これから10.9ー>10.10 Yosemiteへアップグレードした場合、同様の問題に遭遇します。

ここではその対処方法を記します。

上記アップデートを当てた際に症状が出るケースがあります

----必ずバックアップを取り作業については自己責任でおこなってください!----

まず動作しなくなった場合、以下の情報を集めます。
アップルメニューの「このMacについて」-「システムレポート」から「ソフトウェア」をクリックします。システムソフトウェアの概要が見れますのでシステムのバージョンを確認します。
システムアップデート後、システムのバージョンが「OSX 10.10.3 (14D136)」になっているとします。そのウィンドウを開いておきます。


次にシステム/ライブラリ/Extensions/NVDAStartup.kextをTextWranglerで開きます。
Contents下のInfo.plistをクリックして中を確認します。その中に以下の文があると思います。(TextWranglerは必ず開発元からダウンロード出来る物を使用すること)

<key>NVDARequiredOS</key>
<string>14D131</string>

この『14D131』の部分を上記システムのバージョンに書かれている数字(この場合は『14D136』)に書き換えます。
書き換え後保存し、ターミナルから以下のコマンド(キャッシュのクリア)を実行します。

sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches

これで再起動後にNVIDIA Driver Managerから「NVIDIA Web Driver」が選択出来るか確認してください。万一まだ出来ない場合はキャッシュのクリアがちゃんと出来ているか、kextファイルの書き換えを正確におこなっているかを再度確認してください。