Terastation (3200D) の NFS 化

Terastation は NFS 機能を持った NAS だが、初めはすべてのアクセスがユーザIDもグループIDも99に書き換えられてしまう設定になっている。

これは NAS 内の /etc/exports の設定によるが、Web UI からは変更ができない。
しかも、この /etc/exports は定期的に生成される仕組みになっているので、このファイルを書き換えても再起動等のタイミングで設定が戻ってしまう。

そこで、NAS にスクリプトを仕込んで /etc/exports を書き換えられるようにする。

まず、acp_commander を入手。
http://linkstationwiki.svn.sourceforge.net/viewvc/linkstationwiki/acp_commander/trunk/
http://downloads.buffalo.nas-central.org/TOOLS/ALL_LS_KB_ARM9/ACP_COMMANDER/

次に、crontab を使って root 権限でスクリプトを動かせるようにする。
TERA_IP は Terastation の IP アドレス。

/etc/cron/crontabs/root の権限を変更する

$ java -jar acp_commander.jar -t $TERA_IP -c "chmod 777 /etc/cron/crontabs/root" -ip $TERA_IP

Terastation の telnet を起動($ADMIN_PASS は Web UI の admin のパスワード)

$ java -jar acp_commander.jar -pw $ADMIN_PASS -t $TERA_IP -ip $TERA_IP -o

telnet でログイン (user=admin)

$ telnet $TERA_IP

ここからは Terastation 上での操作。
現在の設定をバックアップ

$ mkdir backup_files
$ cp /etc/init.d/nfs.sh backup_files

nfs.sh をコピーして変更する。

$ cp /etc/init.d/nfs.sh nfs_mod.sh
$ vi nfs_mod.sh
add_insecure_option のあとに以下の行を追加する。
perl -pi -w -e 's/all_squash,anonuid=99,anongid=99/no_root_squash/g;' /etc/exports

cron で実行させるスクリプトを作成する。(/home/prueba.sh)

#!/bin/sh
cp /home/nfs_mod.sh /etc/init.d/nfs.sh
chmod 755 /etc/init.d/nfs.sh

/etc/cron/crontabs/rootに以下の行を追加

* * * * * /home/prueba.sh

Terastation の web ツールにアクセスして NFS をカーネルモードに変更する。
これでユーザID及びグループIDが書き換えられるのを防ぐことができる。

Dell PowerEdge T110 II の BMC に外部からログインできるようにする

BMC で IPMI over LAN を使えるようにしたかったが、外部から ipmitool でアクセスしてもログインできなかった。

BIOS 設定を確認してみると間違っては・・・なさそうなので試行錯誤した結果、サーバ上で ipmitool を使って

ipmitool user set name root 2

とすれば良いことがわかった。
この設定をした後は LAN 経由で ipmitool -H $hostname -U root ・・・で BMC にアクセスできた。
Serial over LAN が使えるところまで持って行きたいがそれはトライ中。

ちなみに、2 は BMC のデフォルトのユーザの ID らしい。

 

vSphere Hypervisor 6 に VMware Fusion 7 Pro から接続する

VMware Fusion 7 Pro を入手することができたので、以前から気になっていた vSphere Hypervisor との連携を試してみた。

仮想化環境は VirtualBox, Xen, KVM, VMware, Hyper-v 等様々ある。今回は、安価に構築することが可能な仮想デスクトップ環境について考える。

仮想デスクトップ

リモートで動作し、 Windows や Mac、Linux のデスクトップ版等を実行する仮想マシン。手元のマシンから接続用クライアントを用いて画面に接続して利用する。

仮想デスクトップの利点

  1. 手元のマシン(ラップトップ)が低スペックであっても、サーバ上のリッチなリソースを利用したデスクトップ環境を利用可能
  2. 手元のマシンのストレージ・メモリを消費しない
  3. 万が一持ち出したPCを紛失しても、データはサーバ上にあるので流出しない
  4. 画面を飛ばすのに十分な帯域さえあれば、外出先でも大容量のデータを高速に通信可能

Mac から利用できる安価な仮想デスクトップ環境は・・・

安価に利用できる仮想デスクトップ環境はいくつか存在する。

  • Xen Server + Xen Client(無料)
  • VMware vSphere Hypervisor + VMware vSphere Client(無料)
  • KVM + Spice Client(無料)

ただし、これらは Client が Windows 版しかない。Mac のクライアントを利用しようとすると、VNC 等で接続するか、有料のソフトウェアを利用することになる(一応、Mac で動作する Spice クライアントは存在するが、まだ完成度が低い)。VM 内で VNC サーバを立てたり、Windows の Remote Desktop を利用する方法も考えられるが、これらは VM 内の OS に設定が必要だし、設定方法がゲスト OS に依存してしまう。何かうまい方法はないものか。。

そこで、VMware Fusion 7 Pro ですよ。新しく vSphere Hypervisor に接続する機能が追加された。今回はそれを試してみた、という話。

VMware Fusion 7 Pro から vSphere Hypervisor に対してできること

  • VM のアップロード
    • アップロード時には移動ではなく VM コピー相当の動作になる。VM の MAC アドレスが変わるので、ライセンス管理が必要な VM は要注意
  • VM の電源操作
  • VM の設定変更
    • これはまだよくわかってない
  • VM のコンソールへの接続
    • 十分使えるレスポンス。さすが。
    • VMware Tools を入れてもクライアント側のウィンドウサイズに合わせて仮想マシンの解像度が変わることはなかった。うまく設定できていなかいのかもしれないが。。
      VM 上の OS で解像度を設定することで解像度を変更することは可能。

vSphere Client(Windows)から行う必要があること

  • Hypervisor のユーザ管理・パーミッション設定
  • VM の新規作成
  • Datastore の管理
  • などなど。ほとんどの操作で vSphere Client が必要。

VMware Fusion だけで完結はできないが、普段使う分には VMware Fusion から十分に使えると感じた。十分お勧めできる機能。

Pro 版 の付加価値の一つとなる機能であることを考えると vSphere Client 相当の機能が今後追加される嬉しい。

(おまけ)SSHを使って外部からイントラネット内の Hypervisor に接続する方法

  • localhost の TCP 443, 902 を Hypervisor に対して SSH フォワーディングする
  • ホスト名 localhost には VMware Fusion から接続できないので、/etc/hosts を編集して127.0.0.1 に localhost 以外の名前をつける
  • VMware Fusion から上記でつけたホスト名に繋ぐ

Basecamp API の events.json で時刻が GMT で返ってくる

仕様・・・なんだとおもうけど。

問題

${PROJECT_ID}/api/v1/events.json で取得したイベントのアクションに時刻が含まれる場合、タイムゾーンが GMT で返ってくるみたい。

対策

  1. アクションのメッセージをパースして(GMTと仮定し)タイムゾーンを変更
  2. 返ってくる url から詳細情報を取得してタイムゾーンの情報も含んだ時刻情報を取得、利用

今回は 2. を選択。

WHR-300HP2 を dd-wrt 化したときの openvpn クライアントのスループット

  • WHR-300HP2 を dd-wrt 化 (v24-sp2 (01/10/14) std, build 23320)
  • openVPN の設定 Cipher=AES-128 CBC, Hash=SHA1
  • VPNサーバは SoftEther を使用

という環境で、12Mbps くらいで WHR-300HP2 の load が 1 に近くなる。
光回線を引いている場合には VPN 接続がボトルネックになる。

3000円くらいのルータなので性能的には仕方ないかな。
暗号化の設定を変えればもっとスループットは出そうだけど、セキュリティ強度とのトレードオフになる。