<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bluegold &#187; メモ</title>
	<atom:link href="http://blog.bluegold.me/tag/%e3%83%a1%e3%83%a2/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bluegold.me</link>
	<description>OpenSolaris と MacBook で自宅ネットワークを構築するメモ</description>
	<lastBuildDate>Thu, 26 Aug 2010 14:38:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>証明書と RSA 鍵がペアかどうかを調べる方法</title>
		<link>http://blog.bluegold.me/2010/08/how-to-check-certificate-and-private-key-pair/</link>
		<comments>http://blog.bluegold.me/2010/08/how-to-check-certificate-and-private-key-pair/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:36:34 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[技術]]></category>
		<category><![CDATA[pki]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=574</guid>
		<description><![CDATA[証明書ファイルと RSAの秘密鍵ファイルがペアになっているかどうかの確認方法をよく忘れるのでメモ]]></description>
			<content:encoded><![CDATA[<h2>証明書ファイルと RSAの秘密鍵ファイルがペアになっているかどうかの確認方法をよく忘れるのでメモ。</h2>
<p>RSA 鍵で作成した証明書の場合、証明書内の公開鍵と秘密鍵は同一のモジュロ(Modulus)を持っているので、これを比較します。</p>
<h3>証明書（公開鍵）</h3>
<pre class="bq">
openssl x509 -noout -modulus -in certificate_file.pem
</pre>
<h3>秘密鍵</h3>
<pre class="bq">
openssl rsa -noout -modulus -in private_key.pem
</pre>
<h3>ついでにCSR</h3>
<pre class="bq">
openssl req -noout -modulus -in cert_request.pem
</pre>
<p style="margin-top: 16px;">これらの実行結果として表示されるモジュロはかなり長くなるので、更に MD5 ダイジェストを計算した法が比較は簡単になります。</p>
<pre class="bq">
openssl x509 -noout -modulus -in certificate_file.pem | openssl md5
openssl rsa -noout -modulus -in private_key.pem | openssl md5
openssl req -noout -modulus -in cert_request.pem | openssl md5
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/08/how-to-check-certificate-and-private-key-pair/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snow Leopard で IP alias を設定する</title>
		<link>http://blog.bluegold.me/2010/06/configure-ip-alias-on-snow-leopard/</link>
		<comments>http://blog.bluegold.me/2010/06/configure-ip-alias-on-snow-leopard/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 01:57:32 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=450</guid>
		<description><![CDATA[Snow Leopard, Linux, OpenSolaris で NIC に IP alias を設定する方法。]]></description>
			<content:encoded><![CDATA[<div>
<h2 style="font-weight: normal;">Snow Leopard でNICにIP aliasを設定する方法のメモ。</h2>
<h3>IP alias の追加</h3>
<pre class="bq">
sudo ifconfig en0 alias 192.168.0.1 255.255.255.0
</pre>
<h3>IP alias の削除</h3>
<pre class="bq">
sudo ifconfig en0 -alias 192.168.0.1
</pre>
<p style="margin-top: 16px;">ついでに Linux と OpenSolari での設定方法もメモ。</p>
<p><span id="more-450"></span></p>
<h2 style="font-weight: normal;">Linux の場合</h2>
<h3>IP alias の追加</h3>
<pre class="bq">
# /sbin/ifconfig eth0:1 192.168.0.1/24
</pre>
<h3>IP alias の削除</h3>
<pre class="bq">
# /sbin/ifconfig eth0:1 down
</pre>
<h2 style="font-weight: normal;">OpenSolaris の場合</h2>
<h3>IP alias の追加</h3>
<pre class="bq">
pfexec ifconfig gbe0:1 plumb
pfexec ifconfig gbe0:1 192.168.0.5 netmask 255.255.255.0 up
</pre>
<h3>IP alias の削除</h3>
<pre class="bq">
pfexec ifconfig gbe0:1 down
pfexec ifconfig gbe0:1 unplumb
</pre>
<p>Snow Leopard のやり方のほうが、何個目のエイリアスなのかを考えなくてもいいので楽なのかなぁ。<br />
エイリアス単位でインターフェースの UP/DOWN はできなそうだけど。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/06/configure-ip-alias-on-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xenのディスクイメージをマウントする</title>
		<link>http://blog.bluegold.me/2010/03/how-to-mount-xen-disk-image-on-linux/</link>
		<comments>http://blog.bluegold.me/2010/03/how-to-mount-xen-disk-image-on-linux/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 13:21:47 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[技術]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[xen]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=410</guid>
		<description><![CDATA[XenのイメージファイルをLinuxから直接マウントする方法について説明します。]]></description>
			<content:encoded><![CDATA[<h2>XenのイメージファイルをLinuxからマウントする方法のメモ</h2>
<p>Xenのディスクイメージファイルは以下のように固定ディスクをそのままファイルに移したような構造になっています。</p>
<pre class="bq">
# file test.img
test.img: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x82, starthead 0, startsector 208845, 2104515 sectors; partition 3: ID=0x83, starthead 0, startsector 2313360, 18651465 sectors, code offset 0x48
</pre>
<p>なので、基本的にはループバック・デバイスとしてマウントする事が可能です。<br />
ただし、ディスクイメージはパーティションに区切ってあると思いますので、その分にひと手間ひつようです。
</p>
<p>
基本的な作業の流れは以下のとおり。</p>
<ol>
<li>losetup コマンドでディスクイメージファイルをループバック・デバイスに割り当てる。</li>
<li>kpartx コマンドでディスクイメージ内の各パーティションにデバイスファイルを割り当てる。</li>
<li>必要なパーティションのデバイスファイルを mount コマンドでマウントする。</li>
</ol>
<p><span id="more-410"></span></p>
<h3>losetup コマンドでディスクイメージファイルをループバック・デバイスに割り当てる。</h3>
<p>
<strong>losetup -f</strong>コマンドで空いているループバック・デバイスを探して、そのデバイスにイメージファイルを割り当てます。</p>
<pre class="brush: bash;">
# losetup -f
/dev/loop0
# losetup /dev/loop0 /var/lib/xen/images/test.img
# losetup -a
/dev/loop0: [0900]:153944114 (/var/lib/xen/images/test.img)
</pre>
</p>
<h3>kpartx コマンドでディスクイメージ内の各パーティションにデバイスファイルを割り当てる。</h3>
<p>ループバック・デバイスに割り当てた仮想ディスクにパーティションの状況を<strong>fdiskコマンド</strong>で調べます。</p>
<pre class="brush: bash;">
# fdisk /dev/loop0

このディスクのシリンダ数は 1305 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p

Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *           1          13      104391   83  Linux
/dev/loop0p2              14         144     1052257+  82  Linux swap / Solaris
/dev/loop0p3             145        1305     9325732+  83  Linux

コマンド (m でヘルプ): q
</pre>
<p>3つのパーティションが存在することが確認できます。<br />
<strong>kpartx -a</strong>でそれぞれのパーティションをデバイスファイルに割り当てます。<br />
<strong>/dev/mapper</strong>ディレクトリの下に新たなデバイスファイルが作成されます。</p>
<pre class="brush: bash;">
# kpartx -a /dev/loop0
# ls -l /dev/mapper/
合計 0
crw------- 1 root root  10, 62  2月 24 00:07 control
brw-r----- 1 root disk 253,  0  3月  5 22:07 loop0p1
brw-r----- 1 root disk 253,  1  3月  5 22:07 loop0p2
brw-r----- 1 root disk 253,  2  3月  5 22:07 loop0p3
</pre>
<p>仮想ディスクでLVMを使っているとここから先がめんどくさいので、私はXenの仮想ディスクではLVMは使いません。
</p>
<h3>必要なパーティションのデバイスファイルを mount コマンドでマウントする。</h3>
<p>あとは通常のディスクと同じようにマウントするだけです。</p>
<pre class="brush: bash;">
# mount -t ext3 /dev/mapper/loop0p1 /mnt/tmp
# ls -l /mnt/tmp
-rw-r--r-- 1 root root  952782 11月  4 08:46 System.map-2.6.18-164.6.1.el5xen
drwxr-xr-x 2 root root    1024 11月  9 15:51 grub
-rw------- 1 root root 2383144 11月  9 15:51 initrd-2.6.18-164.6.1.el5xen.img
drwx------ 2 root root   12288  6月 17  2009 lost+found
-rw-r--r-- 1 root root   80032  3月 13  2009 message
-rw-r--r-- 1 root root  107413 11月  4 08:47 symvers-2.6.18-164.6.1.el5xen.gz
-rwxr-xr-x 1 root root  817164 11月  4 09:53 xen-syms-2.6.18-164.6.1.el5
-rw-r--r-- 1 root root  375762 11月  4 06:11 xen.gz-2.6.18-164.6.1.el5
</pre>
</p>
<h3>使い終わった後の手順</h3>
<p>必要なくなった仮想ディスクを開放するには、逆の手順で行います。</p>
<pre class="brush: bash;">
# umount /mnt/tmp
# kpartx -d /dev/loop0
# ls -l /dev/mapper/
合計 0
crw------- 1 root root 10, 62  2月 24 00:07 control
# losetup -d /dev/loop0
# losetup -a
# losetup -f
/dev/loop0
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/03/how-to-mount-xen-disk-image-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSolarisで64bitのnginxをビルドする</title>
		<link>http://blog.bluegold.me/2010/02/howto-build-64bit-nginx-with-ssl-support-on-opensolaris/</link>
		<comments>http://blog.bluegold.me/2010/02/howto-build-64bit-nginx-with-ssl-support-on-opensolaris/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 09:05:29 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=362</guid>
		<description><![CDATA[OpenSolaris 2009.06 で 64bit 版の nginx をビルドする手順]]></description>
			<content:encoded><![CDATA[<div class="content">
<p><a href="http://nginx.net/">nginx</a>の新しいバージョン(0.7.65)がリリースされていたので，バージョンアップしてみました。</p>
<p>しばらく前に見つかっていた<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555">SSLの脆弱製</a>の実験をやろうと、久しぶりに SSL を有効にしたバイナリを作ろうとしたのですが，オプションの設定の仕方を忘れていて苦労しました。また、忘れても大丈夫なようにメモ。</p>
<p>OpenSolaris 2009.06 に含まれるOpenSSLは 0.9.8a と古いので、現時点での最新バージョンである<a href="http://www.openssl.org/source/openssl-0.9.8l.tar.gz">openssl-0.9.8l</a>をダウンロードしてきて使いました。今回は<a href="http://en.wikipedia.org/wiki/Server_Name_Indication">SNI(Server Name Indication)</a>を有効にしたいので<strong>enable-tlsext</strong>オプションを渡しています。
</p>
<pre class="brush: bash;">
./config --prefix=/usr/local no-shared enable-tlsext
make
pfexec make install
</pre>
<p>これだけでもビルドは出来るのですが，OpenSolaris 2009.06 のデフォルトの GCC 3.2.3 ではなく新しい /usr/bin/gcc-4.3.2 を使いたいので，少し手を入れています。</p>
<pre class="brush: bash;">
export CC=/usr/bin/gcc-4.3.2
export CFLAGS='-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -march=native -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM'
./Configure --prefix=/usr/local no-shared enable-tlsext solaris64-x86_64-gcc
make
pfexec make install
</pre>
<p><span id="more-362"></span></p>
<p><strong>export CC=/usr/bin/gcc-4.3.2</strong>した後に<em>config</em>スクリプトを実行すると，solaris64-x86_64-gcc-4.3.2 みたいな os:compiler になってエラーになってしまうんですよね。回避方法を探すのに手間取ってしまいました。
</p>
<p>次に nginx のビルドですが，普通に configure を実行すると 32bit のバイナリが出来てしまいますので、gcc に渡すオプションも configure に渡します。</p>
<pre class="brush: bash;">
./configure --prefix=/usr/local --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-cc=/usr/bin/gcc-4.3.2 --with-cc-opt='-m64 -march=native -O3 -I/usr/local/include ' --with-cpu-opt=amd64 --with-ld-opt='-m64 -L/usr/local/lib -L/usr/lib/amd64'
make
pfexec make install
</pre>
<p>ビルドした内容を確認</p>
<pre class="brush: bash;">
$ file /usr/local/sbin/nginx
/usr/local/sbin/nginx:  ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, stripped

$ /usr/local/sbin/nginx -V
nginx version: nginx/0.7.65
built by gcc 4.3.2 (GCC)
TLS SNI support enabled
configure arguments: --prefix=/opt/local --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-cc=/usr/bin/gcc-4.3.2 --with-cc-opt='-m64 -march=native -O3 -I/usr/local/include' --with-cpu-opt=amd64 --with-ld-opt='-m64 -L/usr/local/lib -L/usr/lib/amd64'
</pre>
<p>SNIも有効になっています</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/02/howto-build-64bit-nginx-with-ssl-support-on-opensolaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mercurial で削除してしまったファイルを元に戻す</title>
		<link>http://blog.bluegold.me/2010/02/revert-missing-file-with-mercurial/</link>
		<comments>http://blog.bluegold.me/2010/02/revert-missing-file-with-mercurial/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 17:43:10 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[技術]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=348</guid>
		<description><![CDATA[Mercurial で誤って削除してしまったファイルを元に戻す方法を説明します。]]></description>
			<content:encoded><![CDATA[<div>
<p>3ヶ月ほど前に、10年以上使い続けたCVSからMercurialにソース管理を移行しました。（Subversion は手になじまなかった。）</p>
<p>移行して不便に感じるのは<a href="http://www.viewvc.org/">ViewVC</a>が使えなくなった事くらいで、普段はあまり違いは感じていませんが、１つだけ直感的にやり方が分からなくて困る事があります。</p>
<p>ワーキングディレクトリで作業中に誤って必要なファイルを削除してしまった場合、例えば</p>
<pre class="bq">
$ ls -l
total 8
-rw-r--r--  1 user  staff  1345 Jan 16 22:33 Makefile
drwxr-xr-x  5 user  staff   170 Jan 16 22:45 help/
drwxr-xr-x  5 user  staff   170 Jan 16 22:33 tutorial/
$ rm Makefile
</pre>
<p>としてしまった場合、必要なファイルが存在しない事は hg status コマンドで調べる事ができます。</p>
<pre class="bq">
$ hg status
! Makefile
</pre>
</p>
<p>CVS(やSubversion)では、誤って削除したファイルは<strong>cvs update(svn up)</strong>で元に戻すことができますが、Mercurial ではそうはいきません。</p>
<p><span id="more-348"></span></p>
<p><pre class="bq">
$ hg update
ファイル状態: 更新数 0、マージ数 0、削除数 0、衝突未解決数 0
$ ls -l
total 0
drwxr-xr-x  5 user  staff  170 Jan 16 22:45 help/
drwxr-xr-x  5 user  staff  170 Jan 16 22:33 tutorial/
</pre>
<p>このように削除されたファイルはそのままです。
</p>
<p>Mercurial では update コマンドはワーキングディレクトリのリビジョンを変更するコマンドなので、この動きで正しいらしいのですが、CVS等から乗り換えてくるとちょっとビックリします。</p>
<p>このような場合は<strong>hg revert</strong>を使うのが正しいらしいです。</p>
<pre class="bq">
$ hg revert Makefile
$ ls -l
total 8
-rw-r--r--  1 user  staff  1345 Feb  2 02:41 Makefile
drwxr-xr-x  5 user  staff   170 Jan 16 22:45 help/
drwxr-xr-x  5 user  staff   170 Jan 16 22:33 tutorial/
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/02/revert-missing-file-with-mercurial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tcpdump でキャプチャしたファイルを WireShark で解析</title>
		<link>http://blog.bluegold.me/2010/01/tcpdump-options-working-wih-wireshark/</link>
		<comments>http://blog.bluegold.me/2010/01/tcpdump-options-working-wih-wireshark/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 16:31:09 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[技術]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=337</guid>
		<description><![CDATA[WireSharkを使ってダンプを解析するためのキャプチャファイルをtcpdumpで保存するためのオプションを毎回忘れてしまうのでメモ。]]></description>
			<content:encoded><![CDATA[<div>
<p>WireSharkを使ってダンプを解析するためのキャプチャファイルをtcpdumpで保存するためのオプションを毎回忘れてしまうのでメモ。</p>
<pre class="bq">
tcpdump -n -i en0 -s 0 -w dumpfile.cap [filter]
</pre>
<p><strong>tcpdump -w filename</strong>だけでも、キャプチャファイルは作れるが、デフォルトではキャプチャ用のバッファ(snaplen)が 68バイトと小さく（TCP のヘッダー分のサイズらしい）、あふれたデータを取りこぼしてしまいます。tcpdump で見ている分には必要の無いデータですが、WireShark で「Follow TCP Stream」を見ようとした時に壊れていたりします。</p>
<p>そこでオプション &#8216;-s&#8217; を指定して snaplen のサイズを大きく設定しています。（0は無制限、と言っても65535バイトくらいしか見た事ない）</p>
<p>(Open)Solarisの場合は悩む事無く、以下のように普通にファイルに保存するだけで大丈夫です。</p>
<pre class="bq">
snoop -r -d bge0 -o dumpfile.cap [filter]
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2010/01/tcpdump-options-working-wih-wireshark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Software RAID のディスク交換</title>
		<link>http://blog.bluegold.me/2009/09/linux-software-raid-replace-hdd/</link>
		<comments>http://blog.bluegold.me/2009/09/linux-software-raid-replace-hdd/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 06:59:34 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[技術]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=287</guid>
		<description><![CDATA[Linux の Software RAID (md デバイス) を使う際に、障害の起きたディスクの交換手順のメモ。]]></description>
			<content:encoded><![CDATA[<div>
<p>今月の頭にお客さんに収めたサーバ機のハードディスクが1週間で壊れたので、急遽ディスクのリプレースに行ってきました。今回のシステムは Linux の Software RAID で 2 本のディスクを使用して RAID1 を組んでいたのでデータ自体は無事だったのですが、手を離れたと思った瞬間のトラブルは心臓に悪いですね。</p>
<p>めったに行わない作業なので、自分用にメモ。</p>
<p><span id="more-287"></span></p>
<ul>
<li>RHEL5 のレスキューCD でブート<br />
プロンプトで linux rescue と入力<br />
レスキューモードで起動する</li>
<li>途中で、既にインストールされている Linux を検出するかを聞かれるので適当に答える<br />
（今回はオフラインで作業するのでマウントはさせませんでした）</li>
<li>存在するディスクから RAIDデバイスを探す
<pre class="bq">
mdadm -Es > /etc/mdadm.conf
</pre>
</li>
<li>見つけた物理デバイスから md デバイスを作成
<pre class="bq">
mdadm --assemble --scan
</pre>
</li>
<li>ディスクを不良ディスクに指定して取り除く
<pre class="bq">
mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md0 --remove /dev/sdb1

mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md1 --remove /dev/sdb2
</pre>
</li>
<li>ここでシャットダウンしてディスク交換</li>
<li>交換したら、先程と同様にレスキューモードで起動させる</li>
<li>新しいディスクのパーティションを元からあるものと完全にあわせる</li>
<li>新しいディスクをアレイに追加
<pre class="bq">
mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
</pre>
</li>
<li>ディスクをアレイに追加すると自動的にリビルドが始まるので、終わるまで待つ<br />
進行状況は下のようにして確認</p>
<pre class="bq">
cat /proc/mdstat
</pre>
</ul>
<p>リビルドが終わるまでの6時間を客先で待ち続けるのは辛かった。。。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2009/09/linux-software-raid-replace-hdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
