2010年9月アーカイブ

Windows 7では「ディスクの管理」画面から明示的に拡張パーティションを作成することができなくなってしまった。

個人的にはデータ保存用途のディスクの場合、全体を1つの拡張パーティションとして確保してきたので、勝手にプライマリパーティションになってしまうのはちょっと困る(実害はないが)。

しかし、標準でインストールされているコマンドラインツールのdiskpartを使えば、明示的に拡張パーティションを作成することができる。

コマンド プロンプトで「diskpart」と入力すると、新しいウィンドウが立ち上がるので、そこで以下のように実行する。

※以下は、新品のディスク4(1.5TB)全体を拡張パーティションとして、中に1つの論理パーティションを作成するサンプル。

Microsoft DiskPart バージョン 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: RAP55P1

DISKPART> list disk

ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 59 GB 4096 KB
ディスク 1 オンライン 465 GB 1024 KB
ディスク 2 オンライン 1397 GB 7168 KB
ディスク 3 オンライン 1397 GB 7168 KB
ディスク 4 オンライン 1397 GB 1397 GB

DISKPART> select disk=4

ディスク 4 が選択されました。

DISKPART> list partition

このディスクには表示するパーティションがありません。

DISKPART> create partition extended

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> create partition logical

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> exit

なお、ディスクのフォーマットやドライブレターの付与はこれまで通りディスクの管理画面にて実行する。

ちなみに上記手順でディスク全体を拡張パーティションにした場合と、Windows XPのディスクの管理画面でやった場合では、サイズが微妙に違っていたのが気持ち悪い。Windows 7の手順の方がちょっとだけ大きくなる。

理由はよくわからないけど、Windows 7とWindows XPでファイル共有などを行うときには、Windows 7側で「ネットワークの場所の設定」を「社内ネットワーク」にしておく必要があるらしい。

確かに「ホームネットワーク」の状態では共有できなかった。

Intel Core 2 Duo~Core i7/i5/i3で使われているCPUソケットの規格LGA775とLGA1366、LGA1156の3つってCPUファンは共通でいけるのかと思っていたら、微妙に違った。

何が違うってマザーボードと固定する足4本の間隔が数mm~十数mm違ってて、無理して付けようと思ってもダメなレベル。

さらにLGA1156ではCPUソケットの裏に厚さ1~2mm程度の鉄板が付いているので、CPUファンを取り付けるときにマザーボードの裏側に当てがう台座も流用不可。

ただし最近発売されたものは同じ固定金具で穴が3つ分空いているので共有できるみたい。
裏側に当てがう台座も同様。

diskdumpの設定

| コメント(0) | トラックバック(0)

<diskdump の設定>

diskdumpは、システムクラッシュ時にカーネルのメモリダンプをローカルディスクまたは、新規に追加されたディスクに取得することが可能。

1. diskdumputilsパッケージがインストールされていることを確認します。

# rpm -q diskdumputils

diskdumputilsパッケージがインストールされていない場合には、インストールを行う。

2.fdiskを用いて /dev/sdXXを作成(RAMの105%程度のサイズ)し、パーティションテーブルにおける変更を反映させるため、システムを再起動する。

※/dev/sdXXは、/dev/sda1として作成したと仮定して以下の設定例を記述する。

3. /etc/sysconfig/diskdumpファイルを以下の様に編集する。
 
DEVICE=/dev/sda1

4. diskdumpモジュールを以下の様にロードする。

# modprobe diskdump

5. 以下のコマンドにてdiskdumpモジュールがロードされているのを確認する。

# lsmod |grep diskdump

6. 以下のコマンドにて/dev/sda1領域をフォーマットする。

# service diskdump initialformat

※フォーマット実行時には、必ず/dev/sda1をアンマウントの状態にしておく。マウントしてる場合は必ずアンマウントすること。

7. 以下のコマンドにてdiskdumpサービスを開始する。

# service diskdump start

また再起動後も、自動的にdiskdumpサービスを起動させる為に以下の設定を行う。

# chkconfig diskdump on

以上で、diskdumpの設定は完了。


<動作テスト>

netdumpと同様。
※diskdumpの場合、start dumping → <0>halt が表示された時点でdump終了となる。その後システムを再起動する。


<問題発生時>

netdump時と同様。

netdumpの設定

| コメント(0) | トラックバック(0)

<netdump の設定>

netdumpはサーバ/クライアント型のクラッシュダンプツール。
netdumpクライアント上のカーネルダンプ情報を netdumpサーバに送信することが可能。


[netdumpサーバの構築(dumpを受け取るマシン)]

1. netdump-serverパッケージがインストールされていることを確認する。

# rpm -q netdump-server

netdump-serverがインストールされていない場合にはインストールを行う。

2. netdumpユーザのパスワードの設定

netdumpサーバ上にnetdumpユーザが必要になる。
パッケージインストール時にnetdump ユーザは作成されるが、パスワードがロックされた状態になっているので、以下のようにパスワードをセットする。

# passwd netdump

3. netdumpサーバの起動

# service netdump-server start

netdump-serverサービスをシステム起動時に自動起動する場合には以下の設定が必要。

# chkconfig netdump-server on


[netdumpクライアントの構築(運用しているマシン)]

1. netdump クライアントパッケージがインストールされていることを確認する。

# rpm -q netdump

netdumpがインストールされていない場合にはインストールを行う。

2.設定ファイル/etc/sysconfig/netdumpの編集

# The NETDUMPKEYEXCHANGE parameter can be set to none to turn off ssh
# propagation of a secure cookie. By default, NETDUMPKEYEXCHANGE is ssh.
#
LOCALPORT=6666 ←コメントアウトを外す。
DEV=eth0 <--クライアント側の NIC デバイスファイル名
NETDUMPADDR=192.168.1.100 <--サーバ側の IP アドレスを指定
NETDUMPPORT=6666 <--コメントアウトを外す。
NETDUMPMACADDR=00:0D:61:30:AE:45 <--サーバ側の eth0 の MACアドレスを指定
# IDLETIMEOUT=
# NETDUMPKEYEXCHANGE=none
#
# If you want the console log (not crash dumps) sent via the
# syslog service, set SYSLOGADDR to the IP of the syslog server.
# The other two values normally remain unchanged.
SYSLOGADDR=192.168.1.100 <--サーバ側 IP を指定
SYSLOGPORT=514 <--コメントアウトを外す。
SYSLOGMACADDR=00:0D:61:30:AE:45 <--サーバ側の MACアドレスを指定

3. netdumpの起動
netdumpユーザのパスワードを求められるので、先にサーバ上でセットしたパスワードを入力する。

# service netdump start

netdumpサービスをシステム起動時に自動起動する場合には以下の設定が必要。

# chkconfig netdump on

4. SysRq の設定
下記のようにコマンドを実行して、SysRqを有効にする。

# echo 1 > /proc/sys/kernel/sysrq


<動作テスト>

実際に模擬的にクラッシュをし、動作を確認する。
※実際にシステムがクラッシュするので、運用マシン上では絶対に行わない。

1. /etc/sysctl.confファイルを開き、以下の設定変更を行いsysrqを有効にする。

<変更前>
# kernel.sysrq = 0

<変更後>
# kernel.sysrq = 1

2. 以下のコマンドをタイプし、設定変更を反映させる。

# sysctl -p

3. 以下のコマンドを実行する。このコマンド実行直後にシステムがクラッシュする。

# echo c > /proc/sysrq-trigger

※netdumpサーバとクライアントは可能な限り、ネットワーク的に近い場所に設置する。ブリッジ等が間にある場合、ログ採取はできないので、同じネットワーク上への設置をお勧めする。


<問題発生時>

実際の問題発生時(カーネルパニック・ハング等)の場合には、コンソールへの入力が不可の場合がほとんどかと思いますので、以下のキーボード操作を行う。

Alt + SysRq + p(もしくはw) = 3回
Alt + SysRq + m = 3回
Alt + SysRq + t = 1回
Alt + SysRq + c = 1回

(注1)SMPカーネルを使用している場合は p を w に変える。
(注2)Alt→SysRq→アルファベット(w等)の順でタイプする。

上記の作業後、システムを再起動すると、動作テストと同様に、/var/crash 配下に-<日付>のディレクトリが作成され、そのディレクトリ内にvmcoreが作成される。
カーネルのダンプ情報のサイズは実メモリと同じサイズになるので/var/crashには十分な空き領域(実メモリの105%程度)が必要となる。

このアーカイブについて

このページには、2010年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年8月です。

次のアーカイブは2010年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。