「Software」カテゴリーアーカイブ

ESXi6.0でRDMを使う

ESXi6.0がリリースされてた

ESXi5.5でRDMがうまく使えない(ESXi上のFreeNAS9.3でHDDの容量がゼロで認識される)のであれこれいじくっている時に、ESXi6.0がリリースされているのに気付いたので、それを試してうまくいったというお話。

で、自分用のRDM設定メモ

1.HDDのシリアルを調べる

RDM(Raw Device Mapping)を設定するにあたってESXiが認識してるHDDのシリアル情報を調べる。

方法その1

vSphere Clientで「構成」タブ→「ハードウェア・ストレージアダプタ」クリック→HDDがぶら下がっている「ストレージアダプタ」を選択して「詳細」に出てくる物理デバイスの「識別子」がそれ。
右ボタンで「識別子をクリップボードにコピー」でOK。
vs

方法その2

sshでログインして

ls -l /vmfs/devices/disks/
:
-rw-------    1 root     root     1000204886016 Apr  5 06:23 t10.ATA_____ST1000DM0032D9YN162__________________________________S1Dxxxxx
-rw-------    1 root     root     1000203091968 Apr  5 06:23 t10.ATA_____ST1000DM0032D9YN162__________________________________S1Dxxxxx:1
-rw-------    1 root     root     2000398934016 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx
-rw-------    1 root     root     2147483648 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx:1
-rw-------    1 root     root     1998251364352 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx:2
-rw-------    1 root     root     2000398934016 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx
-rw-------    1 root     root     2147483648 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx:1
-rw-------    1 root     root     1998251364352 Apr  5 06:23 t10.ATA_____ST2000DM0012D1CH164__________________________________W1xxxxxx:2
-rw-------    1 root     root     2000398934016 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx
-rw-------    1 root     root     2147483648 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx:1
-rw-------    1 root     root     1998251364352 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx:2
-rw-------    1 root     root     2000398934016 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx
-rw-------    1 root     root     2147483648 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx:1
-rw-------    1 root     root     1998251364352 Apr  5 06:23 t10.ATA_____WDC_WD20EARS2D00MVWB0_________________________WD2DWMAZA1xxxxxx:2
:

でHDDの品番をたよりに目的のt10.ATAで始まる文字列を見つけてコピペ。

2.マッピングファイルを作る

次に、vmkfstoolsコマンドで物理デバイスを仮想デバイスにマッピングするファイル(vmdkファイル)を作る。

必要な情報は「/vmfsで始まるHDDの物理デバイス識別子」と「任意のvmdkファイルを置くESXiのデータストア上の適当な場所」。
具体的にはこんな感じ。ディレクトリ名とかはこうでなければいけないという事は無く、分かりやすい任意の場所に作れば良い。

vmkfstools -z /vmfs/devices/disks/(HDD物理デバイスの識別子)   /vmfs/volumes/(datastore)/(仮想マシンディレクトリ名)/(任意の名前).vmdk

-zオプションは物理互換モード指定。

ESXi5.5の時は最後に “-a lsilogic”とか指定したけど、ESXi6.0では不要みたい。指定したらエラー(Option –adaptertype is deprecated and hence will be ignored)が出てきて無視された。

3.マッピングされたデバイスを仮想マシンで使う。

vSphere Client上で、「仮想マシンのプロパティ」から「追加」→「ハードディスク」→「既存の仮想ディスクを使用」→「ディスクファイルのパス」で上で作ったvmdkファイルを指定→モードは「独立型」を指定。

とりあえず、ESXi5.5ではうまくいかなかったRDMがESXi6.0ではできたので良しとする。ちなみにHDDは2TBの容量の物。vSphere Clientで2TBを超えてもRDMの構成ができるかどうかはまだ試していない、というかそんな容量のHDDは手元に余ってはいない。

参考) VMware vSphere 6.0 Release Notes

ESXiに公開鍵方式のSSHでアクセスする

自分用のメモ。ESXiをvSphere Clientを使わずに使うための布石。

1.公開鍵の作成

アクセス元のマシン上で公開鍵(と秘密鍵)を作成する。ESXiはrootで使うので何も考えずにアクセス元もrootで作業する。

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ←デフォルトの場所で良ければそのままエンター
Enter passphrase (empty for no passphrase): ←パスワード無しでアクセスしたければそのままエンター
Enter same passphrase again: ←同上
Your identification has been saved in /root/.ssh/id_rsa. ←秘密鍵の名前
Your public key has been saved in /root/.ssh/id_rsa.pub. ←公開鍵の名前
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@Host
The key's randomart image is:
+--[ RSA 2048]----+
| . +  o          |
|. E    * .       |
| .      B .      |
|  .    * o       |
| . o. * S        |
|  +  . .         |
| o .  +          |
|. S. .           |
| .oo.            |
+-----------------+
#

作成した鍵の確認

# ls -l ~/.ssh
total 1
-rw-------  1 root  wheel  1679 Nov 17 19:16 id_rsa   ←秘密鍵
-rw-r--r--  1 root  wheel   395 Nov 17 19:16 id_rsa.pub ←公開鍵
-rw-r--r--  1 root  wheel   788 Nov 17 18:29 known_hosts
# cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Mxxxxxxxx
(省略)
xxxxxxxxxKmkkw==
-----END RSA PRIVATE KEY-----
# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChvggKQDApEhl5NSmFb5U++2tCPHfXAyzbwSB+/TT5aUD60/uzVhjoaOAfFncWRbok69Ngx5Akk+gdwvB+/ykArWNeTUgwcEqaszLLVdN5YJ08+11K14W5i7MZBjvfLfBsi5/ZEAUTEIbsdJgoaWdmcoMZ9q2j4VNZIQwoWY9bV+/4ktXVFbY+quVzzy+SJ3qgoXIFeWtXoytMLhEm71fGxF9PJLu8BCKguA1d/dswr7PS505eHoNfXFhmW0d4Vlar/0C2wPVpeTJuVAs+Ob8xe5Qzl4IC/G68HffGysnCDdEySl8u15LOFu4Ho2d9xmTU0q0knoTs5YtYNO+W1vFn root@Host
#

秘密鍵は誰にも公開しないこと。

2.公開鍵をESXiに登録

作成しておいた公開鍵をESXiマシンにコンソール経由でコピペする。
ESXiのコンソール上で以下を実行。

# cd /etc/ssh/keys-root
/etc/ssh/keys-root # echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChvggKQDApEhl5NSmFb5U++2tCPHfXAyzbwSB+/TT5aUD60/uzVhjoaOAfFncWRbok69Ngx5Akk+gdwvB+/ykArWNe
TUgwcEqaszLLVdN5YJ08+11K14W5i7MZBjvfLfBsi5/ZEAUTEIbsdJgoaWdmcoMZ9q2j4VNZIQwoWY9bV+/4ktXVFbY+quVzzy+SJ3qgoXIFeWtXoytMLhEm71fGxF9PJLu8BCKguA1d/dswr7PS505eHo
NfXFhmW0d4Vlar/0C2wPVpeTJuVAs+Ob8xe5Qzl4IC/G68HffGysnCDdEySl8u15LOFu4Ho2d9xmTU0q0knoTs5YtYNO+W1vFn root@Host >authorized_keys

登録した公開鍵を確認する。

/etc/ssh/keys-root # cat /etc/ssh/keys-root/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChvggKQDApEhl5NSmFb5U++2tCPHfXAyzbwSB+/TT5aUD60/uzVhjoaOAfFncWRbok69Ngx5Akk+gdwvB+/ykArWNeTUgwcEqaszLLVdN5YJ08+11K14W5i7MZBjvfLfBsi5/ZEAUTEIbsdJgoaWdmcoMZ9q2j4VNZIQwoWY9bV+/4ktXVFbY+quVzzy+SJ3qgoXIFeWtXoytMLhEm71fGxF9PJLu8BCKguA1d/dswr7PS505eHoNfXFhmW0d4Vlar/0C2wPVpeTJuVAs+Ob8xe5Qzl4IC/G68HffGysnCDdEySl8u15LOFu4Ho2d9xmTU0q0knoTs5YtYNO+W1vFn root@Host
/etc/ssh/keys-root #

3.SSHでアクセスしてみる

秘密鍵のあるマシンからESXiにSSHでアクセスしてみる。

# ssh 192.168.1.xx ←ESXiのIPアドレス
The time and date of this login have been sent to the system logs.

VMware offers supported, powerful system administration tools.  Please
see www.vmware.com/go/sysadmintools for details.

The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
~ #

無事成功。

いかに人は不注意になれるのか? (2)

そういう風に作られている

前のエントリーで、「検索結果上位にあるソフトの作者のサイトからダウンロードするのがいいのでは?」という趣旨のコメントを頂きました。

私の見たところではそれは一理あるように見えるかもしれないけどむしろより厳しいのではないかと思います。ソフトの作者のサイトと言ってもそれこそソフトの作者の数だけトラップが仕掛けられているといっても過言ではない状況があるからです。

続きを読む いかに人は不注意になれるのか? (2)

いかに人は不注意になれるのか?

「何もしていないのに~」

最近、お客さんから「何もしていないのに~」「知らないうちに~」というお言葉を聞く事が激増しています。ええ、パソコンに知らないうちに変なソフトが入ってまともに使えなくなるマルウェアとかウィルスソフト感染の話です。

大抵の場合は「何もしていないはずはない」のですが、「そうですねぇ~最近は巧妙になってきているのでソフトとかダウンロードしてインストールするときはよく注意してくださいね~」と注意喚起してお茶を濁しています。実際問題としては普通の人にはほとんどミッションインポッシブルなほど巧妙な罠が仕組まれているのでまず間違いなくひっかかってしまうと思います。

一体どういう部分で人はひっかかるのか?というか、どういう罠がしかけられているのかというのを ImgBurn というDVDを焼いたりパソコンに保存したりできるフリーソフトを 探してきてダウンロード・インストールするというシナリオを例にしてご紹介してみましょう。実はお客さんへの説明のための自分用のメモだったりしますが。。。

続きを読む いかに人は不注意になれるのか?

ESXiでvim-cmdが使えない

ESXiでSSH接続してvim-cmdが使えないという問題が出たので自分用のメモ

vim-cmdでエラーが出た


~ # vim-cmd vmsvc
terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc
Aborted
~ # vim-cmd vmsvc/getallvms
terminate called after throwing an instance of 'Vmacore::SystemException'
what():  No space left on device
Aborted
~ #

こんな感じでエラーが出ました。他のESXi環境では出たことが無かったのですが、色々ぐぐってみてもそのものズバリの情報が見つからず、エラーメッセージ自体からはどうやらメモリー不足らしい。16GBもメモリ実装してあるし、そのうちESXiが3GBも確保しているのにまだ足りんのか!と思って設定を見直すと、

mem3

リソースプールの設定中、Reservationのところでメモリ全部割り当てているのに気がつきました。全体のリソースアロケーションだとこんな状態でした。

mem0

Available Capacityが0MBの状態です。ひょっとしてこれ?

 

まさかのメモリー不足

試しにリソースプールのReservationを細かく変えてみるとここが数MBくらいAvailableになるとvim-cmdが動くようになります。Shellにログインしっぱなしでここの設定を変えてコマンド打つと動くようになったりエラーになったりとリアルタイムで変わります。つまり、ESXiのShellはたとえrootとは言えどもユーザー側のリソースを食うってことなんですね。

mem2

ということで、Reservationは本当に必要最小限の設定にしておくのが良さそうです。上図のような感じでWindows系には2GBとFreeBSD系には1GBと設定し直してみました。

mem1

全体のリソースアロケーションはこういう状態になりました。16GBの実メモリの内ESXiの取り分が3GBでユーザーの取り分が13GB。リザーブが3GBで残りの10GBは必要な人が取り合うという状態になりました。どうせユーザーはほぼ一人なのでReservedはゼロ設定にしてても実害は無いんでしょうけど。それにしても、お馬鹿な設定をしたことでいい勉強になりました。

 

 

 

 

ESXiでSSHを使う

ESXiでSSHを使う設定方法の自分用メモ

ESXiでの設定

ESXi-ssh1

まずESXiのコンソールからF2キーで「Customize System/View Logs」に入る。
 

ESXi-ssh2

次に「Troubleshooting Options」を選んでenterキー。

 

ESXi-ssh3

「Enable ESXi Shell」を選んでenterキーでESXi Shellを有効に設定。

 

ESXi-ssh4

「Ebable SSH」を選んでenterキーでSSHを有効に設定。escキーで抜けて完了。
 

SSH接続してみる

ESXiのコンソールにIPアドレスが表示されているのでそこにSSHターミナルで22番アクセス。

ESXi-ssh5

ESXi-ssh6

ESXi-ssh7

ESXi-ssh8

これでSSH接続できました。

DynDNSついに無料アカウント廃止

今朝、こんなメールがDynから届きました。

Important info about the future of your Dyn account

DYN-FREE-ENDING

昨年にDynDNSの変遷で書いてから1年たたずについに無料アカウントが廃止されることになったようです。4月7日時点でアクティブなアカウントで5月7日時点で有料アカウントにアップグレードしていなければ無料アカウントはすべて無効にされるそうです。(但し、昔に寄付したことのあるユーザーだけは継続。)

今回の無料アカウントの廃止の理由ですが悪さをする無料アカウントユーザーが増えてきている(We have seen an increase in abuse issues with free hostnames in recent years)のでそれを一掃したいというのが主なところなのかなというのがざっと読んでの感想です。

私は昨年来のDynDNSの動きを見て他へ乗り換えた方がいいと思って結局自前でDDNS立てたので今回の変更で特に影響を受けずに済みますが、それにしても1ヶ月の猶予というのはちょっと短い気はしますね。まあ有料アカウントに移行するなら数分でできてしまうのですが。。。

Free User Discontinuation FAQs
Why We Decided To Stop Offering Free Accounts

Command time limit exceeded (procmail)

先日から、自サーバーにメールを送ったらMAILER-DAEMONさんからこんなエラーが返ってくるようになりました。

Subject: Undelivered Mail Returned to Sender
Command time limit exceeded: “/usr/local/bin/procmail”

自サーバーではprocmailを使ってスパムメールの処理をさせていますが、これと言ってエラーの原因になるようなログが残っていません。時々エラーが返ってくることがある程度だったのがだんだん増えてきました。procmailを通らない経路のメールはちゃんと配信されているのでprocmailのどこかが変です。 続きを読む Command time limit exceeded (procmail)

Squirrelmailとphp5.4

FreeBSDのportsにSquirrelmailが入るようになってからずっとports版のSquirrelmailを使っていました。でも、php5.4の環境でインストールしようとするとportsが

/usr/ports/mail/squirrelmail# make configure
===>  squirrelmail-1.4.22_3 cannot be installed: doesn’t work with lang/php5 port (doesn’t support PHP 5.4).
*** [configure] Error code 1

Stop in /usr/ports/mail/squirrelmail.

と怒ってインストールさせてくれません。仕方が無いのphp 5.3 (php53-*)のportsを入れてやり過ごしてきました。 続きを読む Squirrelmailとphp5.4

Checking negative group permissions

最近、security run outputのメールが”Checking negative group permissions”という警告を出してくるようになりました。この機能はFreeBSD 9.1の頃に追加されたようで、警告の内容自体は “705”とか”604″とか、グループはアクセス拒否でその他のユーザーはアクセスを許すというポリシーに対しての警告なので意図してそう設定しているのなら問題の無い類のものです。

本家のMLでも、あくまでも警告なんだからデフォでOK、不要な人は外せばいいでしょ、などといった会話が見つかります。

What is “negative group permissions”? (Re: narawntapu security run output)

私自身ではこういった”705″や”604″のような設定はあまりしません。ただ、最近になって他所のサーバーのデータをそのまま預かり、そのデータのパーミッションフラグは元のまま残しておきたい場合もでてきました。そしてそのデータの中にはこういった”negative group permission”が大量に含まれていることが多く、自分ではコントロールできないのでこの警告は出ないように設定することにしました。

私はこういったデフォルトお任せ的な部分の設定は良く知らないので、どこを変更したらいいのか調べるためにまず先のMLで出てた”110.neggrpperm”を探してみます。

#cd /etc
# find . -name 110.neggrpperm -print
./periodic/security/110.neggrpperm

すぐに”/etc/periodic/security/110.neggrpperm”が本体なのが分かりました。中身を見ると、

case "$daily_status_security_neggrpperm_enable" in
[Yy][Ee][Ss])

という記述がみつかります。今度は”daily_status_security_neggrpperm_enable”を含むファイルを探します。

# grep -r daily_status_security_neggrpperm_enable *
defaults/periodic.conf:daily_status_security_neggrpperm_enable="YES"
periodic/security/110.neggrpperm:case "$daily_status_security_neggrpperm_enable" in

そして”/etc/defaults/periodic.conf”の中の記述を以下のように”YES”から”NO”に変更。

# 110.neggrpperm
daily_status_security_neggrpperm_enable="NO"

periodic.conf自体はシェルスクリプトで時間が来たら実行されるので変更を反映させるために何かを再起動とかは必要なさそう。
きっとこれで静かなdailyレポートになるでしょう。

後で先のMLの記事を読み直してみたら設定ファイルの場所とか書かれていました。orz