2017年9月11日月曜日

High Sierra(macOS 10.13) Betaのインストール先制限

色々と話題になっている新ファイルシステムについて検証の必要があったため、Public beta 5をインストールする際に気付いたことを記載しておきます。



なんと、ターゲットディスクモードのHDDにはインストールできないのです!

これは困りました。
だって検証したいのはOSイメージの作成と展開で、このOSインストール試行前に「これまで通りの単純にdmgを復元」をしてもOS起動しないことを確認しています。

これからどうするか、何か報告があれば記事にします。

2017年5月10日水曜日

MacBook Proでシリアルコンソール

少し前にYAMAHA RT58iの設定変更する際にどうしてもシリアル接続する必要がありました。このためだけにWindowsを用意するのが嫌だったので手元にあるUSB-シリアル変換ケーブルを2機種接続してみました。

クライアントはMacBook Pro (Retina, 13-inch, Early 2015)です。
サンワサプライ USB-CVRS9はUSB接続しても電源ランプすら点灯しませんでした。
バッファロー BSUSRC06はドライバ不要で問題なく使えました。

Windowsと違い接続のためにアプリケーションは必要ありません。
当然のようにターミナル(Terminal.app)で行います。
### デバイス名確認
ls /dev/tty.*

### RT58iのコンソールポートはボーレートが9600bpsなので
screen /dev/tty.usbserial-******** 9600

### screenの終了は [C-a C-\]
終了はcontrol+aを押してからaだけ離して/を押すという意味です。

2017年5月2日火曜日

plistの型指定

defaultsコマンドでplistファイル内の値を書き換えたらアプリが動作しないというかクラッシュするのに出くわしました。
結論としてはdefaults writeした際に型指定をしていなかったために元のDate型からString型に変わっていることが原因でした。

これってplistをdefaults readで読んでいると気付かないので注意が必要ですね。
面倒くさくてもXcodeで読むようにしなければ、、、

defaults readの例


Xcodeの例


上の例は、気付く原因となったplistではないですがDate型が入っているものです。
defaults writeで書き換える場合はちゃんと型指定してあげましょう。
ダブルクウォートで囲っているので型指定がないとStringになります。
### NG
defaults write FILENAME DOMAIN "VALUE"
### OK
defaults write FILENAME DOMAIN -date "VALUE"

2017年4月25日火曜日

LSI SMI-SプロバイダでvCenterから見えなくなる

前回投稿したNECサーバですが、現地で監視システムを設定する際に見事にハマりました。

作業概要としては
1) ESMPRO/ServerManagerのインストール
2) 被管理対象装置におけるアラート設定
3) エクスプレス通報サービス(MG)のインストール
4) エクスプレス通報サービス(MG)の初期設定
5) 被管理対象装置の搭載RAIDシステム用ドライバに切替

ESMPRO/ServerManagerはWindowsサーバ
被管理対象装置はESXi6.0が3台
ESXiホストにハードウェア障害が発生するとWindowsサーバを中継してNECに通報されるというものです。

今回は5)がポイントで、使っているRAIDコントローラによってESXiが使用するRAIDコントローラドライバの切替が必要なんです。ただNECのマニュアルがすごく分かりにくくて作業時はLSI SMI-Sプロバイダを入れたらいいと思っていました。

LSI SMI-S プロバイダ (VMware ESXi 5/6版)
http://support.express.nec.co.jp/dload/321071-A01/

ここからダウンロードし、解凍andインストールしESXiホストのOSを再起動
esxcli software vib install -v vmware-esx-provider-lsiprovider.vib
少し待ってESXiが起動してきてもvCenterで確認できない状態となりました。
そこで確認したのは
・pingは返答あり
・sshでログイン可能
・再度OS再起動しても同じ状態

ユーザ様の業務都合で、停止時間を短くしないといけない状況だったので状況確認に時間がとれず、取り急ぎ
esxcli software vib remove -n lsiprovider
reboot
で復旧させました。
RAID状態はESMPRO/ServerManagerでは参照せずに本体LEDとvSphere Clientで確認してもらう運用となりました。

現状発生時に以下も見たかったが、復旧優先せざるを得なかったのが残念です。
・vCenterではなくホスト単体にvSphere Clientでの接続
・ESMPRO/ServerManagerでRAID状態が取得できているか
・ディスクドライバが何を使っているのか、切替てどうか
lsi_mr3からmegaraid_sasへの変更例
vmkload_mod -l | grep lsi_mr3
vmkload_mod -l | grep megaraid_sas
esxcli system module set --enabled=false --module=lsi_mr3
esxcli system module set --enabled=true --module=megaraid_sas
reboot

esxcfg-advcfgコマンドの違和感

NECサーバのESMPRO/ServerManagerでESXi5以降のRAIDシステムを管理する際にはhhrcwrapperを無効化することが強く推奨されています。
コマンド実行例として以下コマンドがマニュアルに記載されています。
esxcfg-advcfg -s 0 /UserVars/CIMvmw_hhrcwrapperProviderEnabled
/etc/init.d/sfcbd-watchdog restart
enableを0にしてwatchdog再起動って分かりやすいですよね。

でも、ここで大きな違和感!

ESXiには/UserVarsなんてパスは存在しません。
マニュアルに記載しているからといって存在していないものに対してエンターを押したくないです。
ls /UserVars
ls: /UserVars: No such file or directory
vSphere Web Clientで探すと [管理] > [設定] > [詳細なシステム設定] に
UserVars.CIMvmw_hhrcwrapperProviderEnabledがありました。

変更結果を確認する手段を見つけたのでコマンドで変更してみると無事0になりました。
やはり複数台同じ作業をするのはCUIの方が優れているので、コマンドを用意してもらえるのは
有り難いのですが、このパス記述は如何なものかと思いました、

2017年4月20日木曜日

コマンドでハードウェア情報を参照する

シェルスクリプト等で参照できたら便利なものを記載しておきます。

ホスト名(書くまでもないが)
hostname -s
シリアルナンバー
system_profiler SPHardwareDataType | awk '/Serial/ { print $4; }'
ハードウェアUUID
system_profiler SPHardwareDataType | awk '/UUID/ { print $3; }'
MACアドレス
ifconfig en0 | awk '/ether/{print $2}'

2週間後にADログインできなくなる

Active Directoryにバインドする際に、ドメイン管理者権限で参加するとドメインコントローラのグループポリシーを無視してコンピュータアカウントのパスワードが変更されます。
macOSではデフォルトが14日になっています。
文教市場ではHDD保護やネットブートが多数あることからActive Directoryのコンピュータアカウントのパスワードは変更しないようにしている場合が多いです。

ですので、設定後の動作確認ではログインできていたのに、2週間後にドメインユーザでログインできなくなるという時限爆弾の現象が発生してしまいます。
(バインドする度に14に戻るといういたずらっ子ですので注意しましょう)

設定確認
dsconfigad -show
コンピュータアカウントのパスワード有効期限を無期限にする
dsconfigad -passinterval 0