2012年4月27日金曜日

VMware ESXi4.1 Update2の適用

社内のESXi4.1 U1(CentOS5×4、Windows7)をようやくU2にしました。

ゲストOSをシャットダウン、ホストをメンテナンスモードに切り替え、いつも通りパッチをダウンロードしてPoderosaによるSSH接続で開始!


# esxcli software vib install -d /vmfs/volumes/datastore_softsv/vm/esxi4.1/update2/update-from-esxi4.1-4.1_update02.zip 
Errors: 
Unknown Namespace software

あれ?エラー?コマンドが違ったっけ?
じゃesxupdateコマンドで!


 # /sbin/esxupdate --bundle=/vmfs/volumes/datastore_softsv/vm/esxi4.1/update2/update-from-esxi4.1-4.1_update02.zip 
Usage: esxupdate [options] (check|info|query|remove|scan|stage|update)


Options:
  -h, --help             show this help message and exit
  -b BULLETIN            a bulletin ID on which to run the command.  May be
                         specified multiple times.
  -m META, --meta=META   a metadata file on which to run the command.  May be
                         specified multiple times.
  --bundle=BundleZipUrl  An offline bundle .zip file to work with.  May be
                         specified multiple times.
  --loglevel=LOGLEVEL    enable more verbose log file output.  May be a number
                         (1-50), or one of DEBUG|INFO|WARNING|ERROR|CRITICAL.
                         Defaults to INFO (20).
  --http_proxy=Url:Port  use the proxy server at Url and Port
  --timeout=TIMEOUT      The timeout value for HTTP, HTTPS and FTP
                         connections.
  --retry=RETRY          The number of times to retry HTTP, HTTPS and FTP
                         connections.
  -a, --all              Display all bulletins.  Default is to display only
                         the applicable updates.


esxupdate: error: Command must be specified

あら?もっと指定しろだと!オプションか!
updateを追加してGO!




 # /sbin/esxupdate update --bundle=/vmfs/volumes/datastore_softsv/vm/esxi4.1/update2/update-from-esxi4.1-4.1_update02.zip 
Unpacking deb_vmware-esx-tools-light_4.1.0-2.11.502767      ################################################################################## [100%]


Unpacking deb_vmware-esx-firmware_4.1.0-2.11.502767         ################################################################################## [100%]


Removing packages :vmware-esx-tools-light                   ################################################################################## [100%]


Installing packages :deb_vmware-esx-firmware_4.1.0-2.11.5.. ################################################################################## [100%]


Installing packages :deb_vmware-esx-tools-light_4.1.0-2.1.. ################################################################################## [100%]


The update completed successfully, but the system needs to be rebooted for the
changes to be effective.


成功!
ホストを再起動>メンテナンスモード解除>ゲストOS起動

vShpereClientでホストへ接続するとvShpereClientのアップグレードを促されるので実行、またVMware Toolsも各VMごとにアップして終了です。

4.1.0, 348481→4.1.0, 502767

※datastore_softsvは外部サーバのNFSとして構築してストレージ追加したものです。

ボソボソ
Win7を立ち上げたら「正規品ではない」なんて怒られた!酷い!
もう一度プロダクトキーを入力し認証する必要があるようです。

2012年4月26日木曜日

SQL Server オブジェクト作成日/更新日

ストアド、ユーザ定義関数、テーブル関数、トリガ等の作成日や最終更新日を調べる。

use [DBNAME]
go

SELECT name AS object_name
  ,SCHEMA_NAME(schema_id) AS schema_name
  ,type_desc
  ,create_date --作成日
  ,modify_date --最終更新日
FROM sys.objects
WHERE is_ms_shipped = 0 --1はシステム
and
(
type_desc = 'PRIMARY_KEY_CONSTRAINT' --プライマリキー
or
type_desc = 'DEFAULT_CONSTRAINT' --デフォルト制約
or
type_desc = 'VIEW' --ビュー
or
type_desc = 'SQL_STORED_PROCEDURE' --ストアドプロシージャ
or
type_desc = 'SQL_SCALAR_FUNCTION' --ユーザー定義関数
or
type_desc = 'SQL_TRIGGER' --トリガ
or
type_desc = 'SQL_TABLE_VALUED_FUNCTION' --テーブル関数
)
ORDER BY modify_date DESC;

go

2012年4月24日火曜日

VMware ESXi5.0再インストール

ESXi5.0 Update01を適用するとゲストOSの自動起動や自動シャットダウンが動作しなくなることは知られていますが、そのことを知る前にアップしてしまいどうしようかと・・・

対処方法がVMware vSphere Blogなどで公開されているが、ここではdatastore内のゲストOSをそのまま保持しつつESXi5.0を再インストールし再構築します。
ESXiの設定が初期化されるため再度設定する必要があります。

念のためゲストOSをバックアップしておくことをお勧めします。

1.ゲストOSすべてをシャットダウン
2.ESXi5.0インストール開始

基本は新規インストールと同じですが、途中で以下の画面が出てきます。

  • Upgrade ESXi, preserve VMFS datastore(datastoreを保持して設定を引き継ぐ )
  • Install ESXi, preserve VMFS datastore(datastoreを保持してESXiを新規にインストール)
  • Install ESXi, overwrite VMFS datastore(すべてを新規にインストール)

ここで2番目の「Install ESXi, preserve VMFS datastore」を選択します。




















インストールが完了したらライセンスキーの再入力、NTP、ネットワークなど初期設定を再度行います。ストレージを追加していたならこれも再度設定を行い、vSphere Clientを使いゲストOSを戻します。

データストアを参照しvmxファイル(ここではSQL2000DEV)右クリック>インベントリへ追加













自動起動設定を忘れずに!

必要に応じてパッチを適用しますが間違ってもUpdate01を適用しないように!
またパッチ適用前はメンテナンスモードにしましょう。
  1. VM Shutdown> ESXi500-201109001適用> Host Reboot →5.0.0, 474610
  2. VM Shutdown> ESXi500-201111001適用> Host Reboot →5.0.0, 504890
  3. VM Shutdown> ESXi500-201112001適用> Host Reboot →5.0.0, 515841
ここまでのパッチなら大丈夫です。

これで自動起動するようになりますが、自動シャットダウンはできないようです。ゲストOSにてVMware Toolsを一度アンインストールして再度インストールします。

ちなみにUpdate01を適用しなくてもUpdate01以降にリリースされたESXi500-201204001を適用すると、これも自動起動しなくなりますので、ご注意を!




2012年3月2日金曜日

VMware PlayerでWindows 8 Consumer Preview

Windows 8 Consumer Preview 日本語版をVMware Player(4.0.2)にインストールしてみました。


●VMware PlayerのインストールされているPC環境

CPU:Intel Core2 Quad Q6600
メモリ:PC2-6400
グラフィック:Radeon HD 2400 PRO
HDD:HDS723020
OS:Windows7 Ultimate SP1 64bit


●ISOファイルのダウンロード
http://windows.microsoft.com/ja-JP/windows-8/isoから日本語の32bitまたは64bitをダウンロードします。※システム要件およびプロダクトキーもここに記載されています。

●VMware Playerで仮想マシン作成
・新規仮想マシン作成ウィザードを実行してインストール元にダウンロードしたISOファイルを指定
・ゲストOSはWindows7を選択
・ディスクサイズは20GBで単一ファイルとして格納を指定

必要に応じてハードウェア構成を変更します。
・メモリを2GBに変更
・プロセッサコア数を2に変更
・ネットワーク接続をブリッジ:物理ネットワークに直接接続(物理ネットワーク接続の状態を複製ON)

●OSのインストール
仮想マシンを起動してインストールを開始します。インストール自体はとても簡単でWindows7をインストールしたことがあるならば特に迷うことはないでしょう。

デフォルトで日本語が選択されています
迷わず今すぐインストール
プロダクトキーはISOダウンロードページを参照
迷わず同意
新規なので「カスタム設定:Windowsのみをインストールする」(下)
ディスク指定

「次へ」へ押すことによりインストールが開始されます。
おおよそ10分程度で完了しました。

●セットアップ
インストール完了後、再起動されセットアップが起動します。
背景色、コンピュータ名を決めます
とりあえず簡単設定でもよいが自分で設定してみた
共有の有無
Windows Updateなど
情報の送信

アカウントはMicrosoftアカウントにしてみたが、必要ないと思われる方は画面下の方にある「Microsoft アカウントでサインインしない」を選択して従来方式の「ローカルカウント」を指定します。

アカウントパスワード
アカウントパスワードを忘れたとき再設定コード送信先メールアドレス(任意)



立ち上がりました。
デスクトップ

最後にVMwareToolsをインストールしてとりあえず完了です。
インストーラーの指定
後はウィザードに従ってインストール。

2012年2月10日金曜日

グループポリシーによるSkype設定その2


Skypeのサイトで配布されているSkype管理用のADMファイル (グループポリシーの設定ファイル)を使用してActiveDirectoryで管理されていない環境下(Workgroup)のPCに適用してスーパーノードにならないようにしたりファイル転送を禁止にしたり制御します。



ActiveDirectoryでPCに適用する場合はこちらをご参考にしてください。


Workgroupでは基本的にPC一台一台設定することになります。
MMC(Microsoft Management Console)でポリシーエディタを開きます。※XPでの場合です。

「スタート」から「ファイル名を指定して実行」を開きmmcと入力

コンソールが開く

「スナップインの追加と削除」を指定

「追加」を押す

グループポリシーオブジェクトを指定

「ローカルコンピュータ」で完了



追加されました

このようになります
コンピュータまたはユーザーに対して管理用テンプレートにSkype用のテンプレートを追加させていきます。(ここではコンピュータに設定します)
「管理用テンプレート」右クリ
「追加」からダウンロードしたADMファイルを指定

Skype-v1.7が足されました
各制限は機能単位で有効にさせていきます。ここではファイル転送の禁止およびスーパーノード割り当て禁止をしてみます。




ローカルコンピュータポリシー>コンピュータの構成>管理用テンプレート>Skype>Phone>Functionality>Disable file transferを未構成から有効にします。


同じようにスーパーノードにならないよう制限させます。
ローカルコンピュータポリシー>コンピュータの構成>管理用テンプレート>Skype>Phone>Network>Prevent Skype client to become a supernodeを未構成ら有効にします。


Skypeが実行中であればSkypeを再起動しましょう。


これでスーパーノードにならないよう回避される、、、ようです。


ファイル送信させようとすると以下のようなメッセージが表示されファイル転送制限が有効になっていることが確認できます。


本当にスーパーノードにならないかは、わかりません必ず自己責任でお願いします。
 





















2012年1月31日火曜日

グループポリシーによるSkype設定

これはActiveDirectoryに組み込んで設定します。
ワークグループのPCに適用する場 こちら ご参考にしてください。

Skypeはやはり気になるのがセキュリティ関連・・・とくにP2Pということもあり敬遠がちですが、とてもすばらしいアプリケーションであり、うまく利用すればビジネスでも十分活用できると思います。

特に気になるのは・・・
  • スーパーノードになり帯域への負担?
  • ファイル共有で情報漏えい?

Skypeのサイトでは企業向けに配布されているSkype管理用のADMファイル(グループポリシーの設定ファイル) を使用すればファイル共有の禁止やスーパーノードの回避など制御できるようです。スーパーノードに割り当てられたら、たまったもんではありませんね、ということでActiveDirectory(Windows Server 2003 R2)のグループポリシーへ組み込んでドメイン参加PCに一括設定できるようしたいと思います。

尚、これは最終的にレジストリ登録となるため自己責任でお願いします。

まずは、Skypeのサイトで公開されているADMファイル(Skype-v1.7.adm)をここからを取得しておきドメインコントローラが参照できる場所へ配置します。

ActiveDirectoryでグループポリシーの管理を開き組み込みたいGPOを編集します。
ここではDefault Domain Policyに組み込みます。

コンピュータの構成またはユーザーの構成
管理用テンプレートを選択して右クリ>テンプレートの追加と削除


現在組み込まれているテンプレート

先ほどダウンロードしたADMファイルを追加させます。
Skypeテンプレートが追加されました

コンピュータ、ユーザーの両構成に追加されます
















■ファイル転送を禁止
"Skype>Functionality>Disable file transfer"を有効に変更します。
※ログオンするユーザー単位で設定したい場合は、ユーザーの構成側で設定します。



■スーパーノードを禁止
"Skype>Network>Prevent Skype client to become a supernode"を有効に変更にします。
※ログオンするユーザー単位で設定したい場合は、ユーザーの構成側で設定します。


これでDefault Domain Policyが適用されるPCやユーザーはログイン後に設定されることになります。

尚、変更したポリシーはすぐには適用されません。変更後14時間後やクライアントが2回以上再起動したときなどです。早く適用させたいようであればコマンドプロンプトを使う手もあります。

●コンピュータの構成の場合
> gpupdate /Target:computer


●ユーザーの構成の場合
> gpupdate /Target:user


レジストリ:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phoneに設定されています。



2011年12月27日火曜日

CentOS6のインストール(テキストモード)

CentOS6の基本的なインストール

VMware ESXi5.0を使い仮想マシンで構築

環境はDell PowerEdgeR410(Xeon E5530×2、メモリ32GB)にESXi5.0で構成されたものを使います。構築はこちらを参考にして頂ければ幸いです。

ここではデスクトップ利用ではなくサーバ用途を目的としております。従ってX-Windowは利用しません。また、DVDイメージをダウンロードしてメディアに焼くなんて面倒なことはせずにネットワークインストールで行います。

尚、LAN使用を目的としているためセキュリティは最低限としております。


■準備■

事前にCentOSネットワークインストール用ISOファイルを取得しておきます。

CentOS6よりboot.isoはなくなりました。その代り各バージョンごとにISOファイルが用意されているようです。他にもダウンロード先はありますので以下のページでご確認ください。

http://www.centos.org/modules/tinycontent/index.php?id=32

ここではCentOS6.2-32bit版を選択しています。

ftp://ftp.riken.jp/Linux/centos/6.2/isos/i386/CentOS-6.2-i386-netinstall.iso
※理科学研究所さまありがとうございます。

取得したISOファイルをESXi上のデータストアにアップロードしておきます。
※私は別マシンにNFS共有を作成してそこに各ISOファイルをアップ、さらにこのNFS共有をESXi上でストレージ追加して仮想マシンから指定できるようしてあります。
詳しくはこちら

では新規仮想マシンを作成します(vSphere Client経由)。
詳しくはこちら

仮想マシンの「設定の編集」>ハードウェア>CD/DVDドライブで「データストアISOファイル」でCentOS-6.2-i386-netinstall.isoを指定します。
このときデバイスのステータス内の「パワーオン時に接続」にチェックを入れておきます。こうすることによりCD/DVDドライブから起動してISOファイルが読み込まれます。

※事前にBIOSを起動して日時を確認してください。


■インストール開始■

では仮想マシンの電源をオンにします。(vSphere Clientにてコンソールタブにしてね)
CD/DVDドライブからbootしてインストールメニューが表示されます。
キー操作ができませんので、コンソール画面内のクリックを忘れずに!
1分以内に何かキーを押さないと勝手に起動が始まってしまうよ

メニューの選択は一番上を選択すればOKです。
GUIなどで不具合が出たときなど2番目を選択することもあります。
詳しくはRed Hat Enterprise Linuxのページを参照してください。
Tabキーを押してオプション編集で~imgの後に半角スペース+textという文字を追加します。
ただしメモリが652MB以下だと強制的にテキストモードになるのでこの操作は不要です。
検証は不要ですので「Skip」
インストール中の言語です。基本はEnglish!
確かテキストモードでは日本語にならないと思います。
キーボードタイプを選択します。
一応確認した方がよいですが、ほとんどが日本語のjp106だと思います。
インストールイメージの参照先
インターネット経由なのでURLを選択します。
私はIPv6を使わずIPv4で固定IPを割り振ります。
DHCPでもよいがサーバ用途のため必然的に固定IPです。
割り当てるIP、デフォルトゲートウェイ、DNSを設定します。
ご自分のLAN環境に合わせてくださいね。
これが正しく設定されないとインストールできません。
インストールイメージの参照先(これ以外にもたくさん公開されています)
私は理化学研究所さんを使わさせて頂きます。
http://ftp.riken.jp/Linux/centos/6.2/os/i386
(画面ではhttp://ftp.riken.jp/Linux/centos/6/os/i386になっていますが
最新バージョンの6.2であればこれでもOK)

詳しくはCentOSのダウンロードサイト(アジア圏)で確認してください。
またproxyを使う方は指定してね。
URLが正しければInstall.imgを読み込みます
VNCは使いません。「Use text mode」です。
ようこそ!
ディスクの初期化が必要ということで初期化します
Re-initialize allでOK
UTCのチェックを外して「Asia/Tokyo」を選択
rootのパスワードを指定します
ドライブ全体を使用するので「Use entire drive」を指定します
以前はパーティションをカスタマイズできたがCentOS6のテキストモードでは
できないようになってるようです。従ってそのままディスクに書き込みます。

またパッケージを選択する項目もなくなってしまったようですね。
構成はMinimalつまり最小構成が自動選択されるようです。

■初期設定■

●システム時刻の調整
# date -s "12/27 16:45 2011";hwclock --systohc
※date -s "月/日 時:分 西暦"
hwclock;date

●ネットワーク設定の確認
IPアドレスやDNS、ゲートウェアなど基本的なネットワークを再度確認しておきましょう。
# cat /etc/hosts
# cat /etc/sysconfig/network
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth1(複数Nicがあれば)
# cat /etc/resolv.conf

●IPv6の無効
状態を確認
# ifconfig
[inet6 addr: ・・・・]という行があれば有効になっています。


# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0  ← disableになっていない
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
0  ← disableになっていない

disableを有効にする
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1    ←追記
net.ipv6.conf.default.disable_ipv6 = 1 ←追記

SSHの待ち受けを強制的にipv4のみにする
# vi /etc/ssh/sshd_config
ListenAddress 0.0.0.0 ←#を取り除き有効

hostsファイルの編集(やらなくてもよい)
# vi /etc/hosts
#::1 ←コメント

OSを再起動して確認してみます。
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
1
それぞれ1になっていればOKです。

-------------------------------------------------------------------
OSを再起動させないで適用する方法
sysctl.confおよびsshd_configを編集後以下の処理を行う
# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
# echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6
1
それぞれ1になっていればOKです。


# /etc/init.d/network restart
# /etc/init.d/sshd restart
これでOK
※echo 1 >の「>」をここで半角使用すると化けるので全角を使ってます。
-------------------------------------------------------------------

●GPGKEYのインストール
ネット経由からのパッケージが正しい配布先のものか等に使われます。
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6;

KEYの確認
# rpm -qai gpg-pubkey*

●パッケージ群のインストール
ソースからインストールすることが多いので開発パッケージ"Development Tools"を入れます。
あとはベースシステム"Base"ですかね(結構いらないものが多いが・・・)。
私は最低限この2つを入れます。
# yum groupinstall base "Development Tools"
# Is this ok [y/N]:y ←入力
※yum -y groupinstall baseのようにオプションに「-y」を付加すると確認せずインストールが始まります。

パッケージ全体のアップデートを行います。
# yum -y update

●タイムサーバ(ローカルのみ参照可能)
# rpm -qa | grep ntp
存在しなければ
# yum -y install ntp
※CentOS6ではBaseパッケージ群に含まれています。

外部NTPサーバから正確な時刻に合わせます。
# ntpdate ntp.nict.jp ← 独立行政法人情報通信研究機構を利用

ハードウェア時刻(マザーボード)も同期させます。
# hwclock --systohc

時刻を正確に保つようにします。
# vi /etc/ntp.conf

 #restrict default kod nomodify notrap nopeer noquery ←コメント
 #restrict -6 default kod nomodify notrap nopeer noquery ←コメント
 ※上記をコメントにするだけですべての通信をストップさせることが可能

 restrict 127.0.0.1 ←ローカルホストアクセス許可(IPv4)
 #restrict -6 ::1 ←コメント(IPv6は使いません)

 #server 0.centos.pool.ntp.org ←コメント
 #server 1.centos.pool.ntp.org ←コメント
 #server 2.centos.pool.ntp.org ←コメント
 server -4 ntp.nict.jp ←追記(-4はIPv4という意味)
 server -4 ntp1.jst.mfeed.ad.jp ←追記(インターネットマルチフィード様
 server -4 ntp2.jst.mfeed.ad.jp ←追記
 ※インターネットマルチフィード様もNICTを利用している

ntpdを起動、自動起動
# /etc/init.d/ntpd start
Starting ntpd:                                             [  OK  ]
# chkconfig ntpd on

●System services
不要サービスを起動させないようセットアップします。
基本的に最初は最低限にした方がよいと思います。あとで必要に応じてONにしていきます。

私はサーバ用途が前提でとりあえず有効にするのは以下のサービスです。
・crond(スケジュールによるコマンド実行)
・iptables(パケットフィルタリング)
・network(これがないと話になりません)
・ntpd(タイムサーバ)
・postfix(メール)
・rsyslog(ログ syslogからrsyslogに変わりましたね)
・sshd(他のPCから遠隔操作する)

必要に応じて・・・
・cpuspeed(負荷に応じたCPU自動コントロール)
・irqbalance(マルチCPU環境での分散処理 ※デュアルCPU以上

では設定します。

# setup
System services > Run Tool で実行

用途によって違いますが不要と思われるサービスを起動させないようします。
スペースキーでON/OFFを切り替えます。

●FireWall Configuration
デフォルトのEnableではsshのみ受信許可されている。

あとはそれぞれのサーバ機能を加えるときにポート解放をしていく。
これを使わず直接iptablesを設定してもよい。

構築中はFWを基本的にOFFにしておいた方がいいでしょう。
動くことが確認できてから全ポートを閉じ一つ一つポートを開けていくことをお勧めします。
そうしないと結構ハマルことがあります・・・経験上。


※# system-config-firewall-tui でもFireWall Configurationを開くことができる。

●SELinuxの無効化

# vi /etc/sysconfig/selinux

SELINUX=enforcing → disabledに書き換える

OSを再起動します。

●ユーザの追加
作成時に自動的にユーザディレクトリ直下にpublic_htmlディレクトリが作成されるようにします。
※Webのユーザディレクトリ公開やFTPのユーザカレントディレクトリなどに利用
# mkdir /etc/skel/public_html

ユーザ追加
# useradd hoge

ユーザパスワードの設定
# passwd hoge
※パスワードを2回入力します



●SSHのセキュリティ
セキュリティとしてはカギ認証やChroot化などありますが、最低限として以下の設定をします。
・ログイン認証時間は20秒
・rootログインの禁止
・パスワードの設定されていないユーザのログインを禁止
・指定ユーザのみ接続許可

設定ファイルを開きます。
# vi /etc/ssh/sshd_config

以下を先頭行付近でもいいし最終行付近でもいいしどこかに追記します。(私は先頭)
LoginGraceTime 20
PermitRootLogin no
PermitEmptyPasswords no
AllowUsers hoge

設定を適用します。
# /etc/init.d/sshd restart


SSHクライアント(TeraTermやPoderosaなど)からrootログインできないことを確認します。

一般ユーザでログインしてsuできるか?一般ユーザからrootへなれるか確認します。
[hoge@localhost] $ su -
rootパスワードの入力
[root@localhost] # ←$から#に変わればスーパーユーザ(root)になっている

rootから一般ユーザへ
[root@localhost] # exit (logoutでも可)
[hoge@localhost] $

●root宛てメールを任意のアドレスへ転送
# cd /etc/
# vi ./aliases
以下を最終行に追記する
root: hogehoge@example.com



設定の反映
newaliases

●Logwatchのインストール
この状態ではLogwatchがインストールされていなかったためインストールします。
# yum -y install logwatch

●VMwareToolsのインストール
無精で申し訳ありませんが、方法はこちらを参考にしてください。
とりあえずこんなもんでしょうか・・・

 
 
 

Google検索