2012年5月12日土曜日


自分は仕事でも自宅でもWindows使いなので、ごくたまにLinuxを使うと、不慣れで困ってしまう。CUI(コマンドライン)の方は仕事でも時々使うので、コマンド・リファレンスを見ながら、少しずつ覚えて行けばなんとかなる。訳がわからないのはGUIの方で、Windowsのエクスプローラの感覚で、同じ事をしようとしても、どこに何があるのかが把握していないので、非常にストレスになる。
自宅の別パソコンにはXPとのデュアルブートで「Fedora Core 13」を入れているが、殆ど起動しないから、いつまでたっても慣れない。

家には、使っていない古いノートPCがほこりをかぶっている。これにLinuxを入れて使ってみよう。Linuxは軽いOSだという事なので、古いPCで使い物になるかならないか是非試してみたい。
やりたい事は、GPartedである。ハードディスクの低レベル操作や、色々なファイルシステムを扱いたいとなればLinuxにはかなわない。理由があって、今扱いたいファイルシステムはXFSである。
という事はディストリビューションはUbuntuが良さそうである。

Ubuntuの最低のスペック(システム要件)を調べると、こう書いてある。
「Ubuntuはx86 PC、64ビットPCで利用することができます。少なくとも256メガバイトのRAM(Desktop CDを使ってインストールする場合は少なくとも384メガバイトのRAM)と4ギガバイトのディスクスペースが必要です。」

今からUbuntuを入れてみようというノートPCは、「FMV-BIBLO NE7/800」(型名:FMVNE7803)である。
オリジナルのOSはWindows ME なのでかなり古い。2001年のモデルらしい。
HDDは30GB。CPUは Pentium3 800MHz。
メモリは標準128MB搭載だが、増設した記憶があるので、たぶん要件は満たしている。

これにXPを入れて、暫くは妻と子が使っていたが、かろうじて動くレベルであった。今は別のPCを使っているので、このノートPCは使われずに放置していた。これをUbuntuマシンにしようという意図である。うまくいけば、自分の寒い部屋に戻らなくても、リビングでこたつでTVを見ながら、あるいは子供の宿題を見ながら、Linuxをいじってみる事ができる。

手元に、「Ubuntu 10.04 LTS Desktop 日本語Remix」をダウンロードしてCDに焼いたものがあるので、これを入れてみる。10.04は現在のバージョンではないが、これでうまく動けば、後で現在のバージョンにアップすれば良いという考えである。

「Ubuntu 日本語 remix」でぐぐってみると、下記のサイトがヒットした。ここからISOをダウンロードした記憶があるので、たぶんここである。

2012年5月10日木曜日


説明

      アトメルAVR用USBエミュレータデバッガ、プログラマのJTAG ICE        

 

             

 

                       

 

         

 

        紹介:          

 

     

 

  アトメルAVR JTAGは、同社のAVR Studioのオンチップ·デバッグ·ツール、それは、JTAGインタフェースを持っており、標準のJTAGインタフェースを持つすべてのAVR 8ビットRISC命令をサポートしています。 4線式JTAGインタフェースは、標準に準拠したIEEE 1149.1テストアクセスポート(TAP)コントローラです。 IEEE規格ボードは、接続(バウンダリスキャン)の標準的な方法の効果的なテストを提供しています。アトメルのAVRデバイスは、完全なプログラミングとオンチップデバッグ機能をサポートするように拡張されました。    

 

  チップの動作の詳細を理解することができ、ハードウェアのシミュレーションプログラムを介して、そのようなシングルステッププログラム実行、ブレークポイントの設定などのハードウェア·エミュレーションに使用AVRのJTAGエミュレータ·チップ。 AVR JTAGエミュレータは、主にチップの動作をシミュレートするために使用されています。    

2012年5月8日火曜日


KVMでHAクラスタの機能検証環境を構築


  • 2011/08/04 17:50 クラスタの基本構成まで書いた。
  • 2011/08/05 18:50 サービスリソースの構成も書いた。

「RHCS設計・運用入門」という資料を作るにあたって「そういえば、あの設定ってどういう動きになるんだっけ???」みたいなことをサクッと確認できる環境をKVMで用意しました。せっかくなので構築手順を残しておきます。

ハードウェア依存の機能や微妙なパラメータチューニングの確認は、きちんと物理サーバでやるべきですが、こういう手軽な環境を手元のPCに用意しておくともろもろの作業効率が格段に上がります。(インフラ技術はいぢり倒して学ぶのが王道ですしね。)

参考資料)High Availability Add-On 非公式技術情報


前提ソフトウェア

RHEL6.1のHigh Availability Add-Onを使用します。以前はRed Hat Cluster Suite(RHCS)として有名だったやつですが、なにげに名称が変更されています。

レポジトリからまとめて導入する時はこれでOKです。

  # yum groupinstall "High Availability"  

High Availabilityグループで入るのは下記のパッケージ(とその前提パッケージ)なので、Fedoraでがんばる方はこれらと同等パッケージをご使用ください。

  # rpm -q cman ccs omping rgmanager  cman-3.0.12-41.el6_1.1.x86_64  ccs-0.16.2-35.el6.x86_64  omping-0.0.1-4.el6.x86_64  rgmanager-3.0.12-11.el6_1.1.x86_64  

VM環境の準備

こんな感じの仮想ネットワークとVM2個を用意します。KVMの仮想ネットワークの構成方法はプロのためのLinuxシステム・ネットワーク管理技術の第5章に詳しく書いてあります。


メモメモ

ハートビートが切断してあるノードの状態が不明になった場合、相手のノードは、管理ネットワークを通じてこのノードを強制再起動します。物理サーバ環境であれば、各ノードのリモート管理NIC(IPMIの接続ポート)を管理ネットワークに接続しておいて、ここから強制再起動を実施します。

これは、ハートビートが通じない、すなわちハートビート・ネットワークが切れているかも知れない状態で実施する必要がありますので、ハートビート・ネットワークと管理ネットワークを兼用することはできません。必ずハートビート・ネットワークとは独立した経路で強制再起動できる方法を用意してください。

どうしてもネットワークが3経路用意できない場合は、サービスネットワークとハートビート・ネットワークを兼用するか、サービスネットワークと管理ネットーワークを兼用することになります。前者の場合は、サービスネットワークの通信負荷が上がってもハートビートが切れないかどうか入念な事前確認が必要です。(サービスネットワークと管理ネットワークを兼用できるかどうかは、クラスタとは直接関係なく、ネットワークの管理ポリシーに依存することですね。)

node01とnode02それぞれにRHEL6.1を入れて、前述のHigh Availabilityグループを導入します。その他には、このぐらいの準備をします。

・iptablesはoffっておく。

・ntpdで時刻同期しておく。

・/etc/hostsは下記のとおり。

  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6  192.168.7.121	node01  192.168.7.122	node02  192.168.7.123	node03    192.168.8.121	node01m  192.168.8.122	node02m  192.168.8.123	node03m    192.168.9.121	node01h  192.168.9.122	node02h  192.168.9.123	node03h  

・両ノードのrootユーザ同士でSSHの公開鍵認証を設定して、パスワード無しのSSHが打てるようにしておく。


共有ストレージの準備

ホストLinuxのiSCSIターゲットを使用します。外付ストレージ装置を用意しないでここまでできるってLinuxはすばらしぃですね。

まず、ホストLinuxで下記を実行します。

  # yum install scsi-target-utils  # mkdir -p /var/lib/tgtd/cluster01  # cd /var/lib/tgtd/cluster01  # dd if=/dev/zero of=volume01.img bs=1M count=100  # dd if=/dev/zero of=volume02.img bs=1M count=1000  

targetedモードでSELinuxを動かしている場合は、Volumeファイルは/var/lib/tgtd/以下に置く必要があるので注意してください。続いて、/etc/tgt/targets.confの末尾に下記を追加します。

        backing-store /var/lib/tgtd/cluster01/volume01.img      backing-store /var/lib/tgtd/cluster01/volume02.img    

最後にtgtdサービスを起動します。

  # chkconfig tgtd on  # service tgtd start  # tgt-admin -s  Target 1: iqn.2011-08.com.example.yourhost:tgt01      System information:          Driver: iscsi          State: ready      I_T nexus information:      LUN information:          LUN: 0              Type: controller              SCSI ID: IET     00010000              SCSI SN: beaf10              Size: 0 MB, Block size: 1              Online: Yes              Removable media: No              Readonly: No              Backing store type: null              Backing store path: None              Backing store flags:           LUN: 1              Type: disk              SCSI ID: IET     00010001              SCSI SN: beaf11              Size: 105 MB, Block size: 512              Online: Yes              Removable media: No              Readonly: No              Backing store type: rdwr              Backing store path: /var/lib/tgtd/cluster01/volume01.img              Backing store flags:           LUN: 2              Type: disk              SCSI ID: IET     00010002              SCSI SN: beaf12              Size: 1049 MB, Block size: 512              Online: Yes              Removable media: No              Readonly: No              Backing store type: rdwr              Backing store path: /var/lib/tgtd/cluster01/volume02.img              Backing store flags:       Account information:      ACL information:          ALL  

上記のようにvolume01.imgとvolume02.imgがLUNとして構成されていればOKです。それぞれこの後で、Quorum Diskと共有データ領域として使用します。

node01とnode02では、それぞれ次の手順でiSCSI LUNを認識させます。

  # chkconfig iscsi  # service iscsi start  # iscsiadm -m discovery --type sendtargets --portal 192.168.8.1  # service iscsi restart  

fdiskで見て、100MBの/dev/sdaと1GBの/dev/sdbが認識されていればOKです。(仮想マシンに接続した仮想ディスクは、virtioドライバを使っているので/dev/vdXXの前提です。)なお、iSCSIについては、プロのためのLinuxシステム構築・運用技術の第3章に詳しく書いてあります。


クラスタ構成の準備

いよいよクラスタの構成ですが、初めに下準備をしておきます。これは、node01、node02で共通に実施します。

ricciサービスを起動します。これはリモート管理用のデーモンで、cluster.confを動的に変更する際に必要になります。

  # chkconfig ricci on  # service ricci start  

また、リモート管理の際にricciユーザのパスワードで認証するため、事前にパスワードの設定が必要です。

  # passwd ricci  

クラスタのトポロジーを管理するcmanとリソースの監視を行うrgmanagerは自動起動しないようにします。障害などでノードが再起動した際に、障害が残ったノードが勝手にクラスタに参加するのを防ぐためです。

2012年5月7日月曜日


概説

今迄「コマンド」と一口で言っていましたが, コマンドには大きく分けて 「外部コマンド」と「内部コマンド」の2種類があります.

外部コマンドとはシステム上に実際にファイルとして存在しているコマンドです.

  • ls (/bin/ls)
  • grep (/usr/bin/grep)
  • zsh (/usr/local/bin/zsh)

内部コマンドとは実際にファイルを呼ぶのではなく, シェル自身が動作を返すコマンドです.

「どのコマンドがどっち」とかは全然知っておく必要はありません. (というか, 慣れてくると大体分かるようになります.) でもまあ, 言葉の意味を知っておいたら便利かもしれません.

2012年5月5日土曜日


VB、VBAからShellを使用してDOSコマンド等を実行した場合、
実行完了を待たないで次のステートメントが実行されてしまう。
実行完了を待ちたい時がある。


Windows Script Host→Run メソッド
新しいプロセス内でプログラムを実行します。

Runメソッドは新しいWindowsプロセス内でプログラムの実行を開始します。スクリプト内の次の処理に進まずにプログラムの実行が終了するまでスクリプトを待機させることができます。これにより、スクリプトとプログラムを同期させて実行できます。


【サンプル】
コマンド ウィンドウを開き、パスを C:\ に変更し、DIR コマンドを実行する例です。

Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C:\ & Dir"
Set oShell = Nothing

2012年5月4日金曜日


BGLというファイルを開くのに必要なものを教えてください

Babylonというフリーのオンライン辞書をダウンロードしたのですが、開くことができません。

2012年5月2日水曜日


抹消力ならターミネータ
フォーマットしても削除しても完全には消せないデータを丸ごと完全抹消
抹消力が違います

多くの抹消ソフトは、ハードディスクにインストールして、ブートプログラムを書き変えて抹消を行いますが、この方式ですとブートプログラムに不具合が発生した場合に起動も抹消もできなくなるケースがあります。
ターミネータは、より安全で確実な抹消を行うために、独自の抹消技術により、ブートプログラムを書き変えることなく、信頼性の高い抹消を行うことができます。

ターミネータ9.0プラス データ完全抹消の新機能

RITEA(中古情報機器協会)認定の抹消レポートを出力。情報漏洩対策のガイドラインに従って、型番、製造番号、ハードウェア情報などを抹消レポートに記録します。

ノートPCやネットブックなどCD-ROMドライブがないPCでも、USBメモリから起動して、抹消できるUSBメモリ作成機能付き。

マルチスレッド技術により、複数台のハードディスクを同時に抹消可能。抹消作業にかかる時間を大幅に短縮して、高速でデータ抹消を行います。

2012年5月1日火曜日


asp.net MVCで動作するようにjQueryのplugginのSimpleModelを得ることに成功した人はいますか?もしそうなら、それを実装する方法、私はまだ表示するダイアログを取得するように見えることはできません。


ユーザーMatrichは答えた:

私は見つけることは、jQueryのプラグインSimpleModel話していると仮定しています MVCアプリケーションの基本インストールを持っている。

私はあなたが土台モーダルダイアログの例を得ることができる方法によって実行することになるでしょう

ASP.NET MVCアプリケーションのプラグインファイルを取得する