2010年5月30日日曜日

iPhone による情報収集 2010/05版


このエントリーをはてなブックマークに追加


最近ようやくiPhoneを使った情報収集方法が固まってきたのでまとめ。


アプリは上から順に、
 ・IM+
 ・Twitter for iPhone
 ・Byline
 ・Evernote



2010年5月27日木曜日

Common Lisp 入門


このエントリーをはてなブックマークに追加


事の発端。

私の仕事はいわゆるメーカー系のITインフラSEで、サーバやストレージ、それに付随するOSやミドルウェア導入の、提案~設計~構築~運用設計 を担当している。
業務上プログラミングをすることはほとんどなく、ちょっとしたバッチやシェルスクリプトを組むくらい。
学生時代はCを使ったシミュレーションプログラムを少し書いたくらいで、プログラマーとも言えないくらいのスキル。

YouTubeで見た番組の中で「LISP」というキーワードが出てきたので、これも何かの縁ということでLispを勉強してみることにする。

以下情報収集結果

Wikipedia Common Lisp
http://ja.wikipedia.org/wiki/Common_Lisp

2chのCommon Lisp 入門スレが非常に参考になります。
http://pc12.2ch.net/test/read.cgi/tech/1270370267/

上記より抜粋。
>((お勧めの Common Lisp 処理系)
>(SBCL: http://sbcl.sourceforge.net/
>:プラットフォーム UNIX, Linux, Mac, Windows(移植中)
>:開発 活発
>:日本語 使える(UCS4, UTF8, EUC)
>:特徴 一番お勧めのコンパイラ。)

>ANSI Commn Lisp 仕様関係
>http://www.lisp.org/HyperSpec/FrontMatter/index.html
>http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/cltl2.html
>http://lispdoc.com/
>http://clqr.berlios.de/index.html

>日本語のチュートリアル
>http://www.fireproject.jp/feature/common-lisp/index.html
>http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
>http://home.soka.ac.jp/~unemi/LispProlog/
>http://www.haun.org/kent/lisp1/
>http://wisdom.sakura.ne.jp/programming/lisp/index.html

教科書はこちら。





2010年5月23日日曜日

100年間デジタルデータを保持するためのガイドライン


このエントリーをはてなブックマークに追加


ストレージネットワーキング・インダストリ・アソシエーション(Storage Networking Industry Association 略称=SNIA ) が公開しているデータ長期保存のためのガイドライン。
http://www.snia-j.org/tech/save/hb.html

情報を記録する媒体は遥か古代から進化し、記録密度は飛躍的な発展を遂げてきた。

石版 →羊皮紙→紙→アナログ磁気メディア→デジタル磁気メディア

しかし記録密度が上がるにつれ、記憶可能な時間は短くなっている。特に現代のデジタル磁気メディアは複数の要因により長期保存にはあまり向いていない。
「データを保存する」とは、SNIAの定義から引用すると、

1.物理的にアクセス可能
2.論理的に利用可能
3.利用したデータに破損がない

この3つの条件を満たした状態を「データを保存する」と定義している。

数年単位で考えるならば、それほど難しいハードルではないが、50年、100年という単位で考えると実に難しい。

紹介したドキュメントにはデータの長期保存について、考慮すべき要因が網羅的に記載されているので、興味があればご一読を。


裁断した書籍をスキャンする時のポイント


このエントリーをはてなブックマークに追加


書籍を裁断してスキャンする場合、pdf化した文章のが斜めになってしまう事がよくある。

その対策に関する考察



2010年5月16日日曜日

データストレージEXPO 2010


このエントリーをはてなブックマークに追加


今年も行ってきました。

感想としてはIsilonやXIVのようなグリッド型のストレージが増えている印象でした。
以前紹介したNexsanも出展していて、より高密度なストレージをリリースしたようです。

全体的な流れとしては、オールインワンのグリッドタイプのトレージ、Nexsanのようなシンプル低価格なストレージ、
シンプルなストレージをコントロールするNASヘッド製品という製品が多く紹介されており、
日立やNetAppは従来製品の拡張が主な印象。

ただ目玉製品や先進的なもには無く、集客は同日に開催されていたクラウドEXPOやWEBマーケティングEXPOに比べるとかなり劣っていました。
実際ストレージの展示会は地味になりがちなのは昔からなのでしょうが無い感じもしますが。

クラウドやWEBマーケティングの混雑っぷりはすごかったです。
ここ5年位は毎年EXPOには行っていましたがここまで混んでいるにはみた事がない。

Yahoo!の検索連動型の広告のブースなどは道まで人がはみ出しており通り抜けるのも困難なほどでした。


iPhone と 太陽電池


このエントリーをはてなブックマークに追加


最近では会社のセキュリティが厳しく移動中にノートPCや資料を開く事がなってしまった。
PCや資料の持ち出しにも厳しいし事前申請が必要なためだ。

PCには何重ものセキュリティがかけられており、紛失したとしてもデータの持ち出しはほぼ不可能に近い。にもかかわらず紛失したら厳しい処罰を受けてしまう。
そのため最近はPCの持ち出しは一切行わず、資料も事前にメールもで顧客に送ってしまっている。

移動中はもっぱらiphoneをいじっていることになってしまった。いろんなところで言われているが、iPhoneはバッテリーが弱い。移動時間が短ければあまり気にならないのだが、飛行機に乗ったり、遠距離でも泊りになった場合などiphoneのバッテリー残量が心もとない。

そこで使っているのがこれ、


米軍でも採用されているようで耐久性や使い勝手に定評があるそうです。
これに単三のエネループを二本取り付け、太陽光に晒しておくと天気のいい日なら4〜5時間ほどで満タンにできる。
使い方やアクセサリを販売・紹介

この前実験した時は東京〜東広島間の新幹線、片道約3時間の行き(名古屋くらいまで晴天、それ以降曇り)に空のエネループ二本を充電し、帰りに残量50%のiphoneを繋いで充電ししたところ、東京につく頃には90%位まで充電できていた(帰りは半分位は寝ていて、それ以外はiphoneでニュースみたりしていました)

本体にUSBポートがあり直接充電できるのが便利です。他にもPSPやDS、各社のケータイにも使えるそうです。

付属に金属の洗濯バサミ+フックみたいなものと、引っかけ金具のついた吸盤が付属しているので、電車内ではこの吸盤を窓にくっつけて充電していました。
本体はソフトタイプのソーラーパネルなので洗濯バサミを使えばカバンに巻いたりできるのでアウトドアに使えそうです(米軍ではバックパックに取りつけているようです)

災害などの非常時にも使えそうです。

USBインターフェースがないバージョンで、充電能力と設置できる電池の本数が増えたもの



RedHat Enterprise Linux iSCSIコマンドまとめ(iscsiadm)


このエントリーをはてなブックマークに追加


iSCSIクライアントとして操作する場合の操作方法。

iscsiadm コマンドの使い方



2010年5月15日土曜日

RedHat における iSCSI 設定とマルチパス


このエントリーをはてなブックマークに追加


こちらも参考にしてみてください。
---------------------------------------------
参考>> 仮想環境を使って簡単にRHEL6のiscsiマルチパスを検証する
---------------------------------------------

Linux で iSCSI を使う方法と、マルチパス化する方法について記載する。

クライアント:RedHat Enterprise Linux 5.3
ストレージ:Solaris10 ZFS iSCSI


Solaris10側でのiSCSIの準備

(1) ネットワーク環境

テストするSolaris10環境がNIC1枚しかないので少々工夫する。

>ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843 mtu 1500 index 2
        inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255
        ether 0:14:4f:4a:bb:6a
vboxnet0: flags=1000843 mtu 1500 index 3
        inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
        ether 8:0:27:79:a1:e4

論理インターフェースを作成し、IPを割り当てる。iSCSIはこの論理IPに対してアクセスする。

>ifconfig e1000g0:1 plumb
>ifconfig e1000g0:2 plumb
>ifconfig e1000g0:3 plumb
>ifconfig e1000g0:4 plumb
>ifconfig e1000g0:1 192.168.1.201 netmask 255.255.255.0 up
>ifconfig e1000g0:2 192.168.1.202 netmask 255.255.255.0 up
>ifconfig e1000g0:3 192.168.1.203 netmask 255.255.255.0 up
>ifconfig e1000g0:4 192.168.1.204 netmask 255.255.255.0 up

>ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843 mtu 1500 index 2
        inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255
        ether 0:14:4f:4a:bb:6a
e1000g0:1: flags=1000843 mtu 1500 index 2
        inet 192.168.1.201 netmask ffffff00 broadcast 192.168.1.255
e1000g0:2: flags=1000843 mtu 1500 index 2
        inet 192.168.1.202 netmask ffffff00 broadcast 192.168.1.255
e1000g0:3: flags=1000843 mtu 1500 index 2
        inet 192.168.1.203 netmask ffffff00 broadcast 192.168.1.255
e1000g0:4: flags=1000843 mtu 1500 index 2
        inet 192.168.1.204 netmask ffffff00 broadcast 192.168.1.255
vboxnet0: flags=1000843 mtu 1500 index 3
        inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
        ether 8:0:27:79:a1:e4


(2)iSCSIターゲットの起動

>svcs -a |grep iscsi
disabled       18:17:06 svc:/system/iscsitgt:default

>svcadm enable svc:/system/iscsitgt:default

>svcs -a |grep iscsi
online         18:17:13 svc:/network/iscsi/initiator:default


(3)iSCSIボリュームの作成

>zfs create spool/iscsi
>zfs create -V 10gb spool/iscsi/iscsi01
>zfs list |grep iscsi
spool/iscsi                                 10.0G  4.22T  31.4K  /spool/iscsi
spool/iscsi/iscsi01                           10G  4.22T  23.9K  -


(4)iSCSIの基本設定

>iscsitadm modify admin -d /spool/iscsi
>iscsitadm show admin
iscsitadm:
    Base Directory: /spool/iscsi
    CHAP Name: Not set
    RADIUS Access: Not set
    RADIUS Server: Not set
    iSNS Access: Not set
    iSNS Server: Not set
    iSNS Server Status: Not applicable
    Fast Write ACK: Not set

(5)iSCSIボリュームの有効化
>iscsitadm show stats
                        operations    bandwidth
device                 read  write   read  write
--------------------  -----  -----  -----  -----

>iscsitadm list target
表示なし

>zfs set shareiscsi=on spool/iscsi/iscsi01
>iscsitadm show stats
                        operations    bandwidth
device                 read  write   read  write
--------------------  -----  -----  -----  -----
spool/iscsi/iscsi01       0      0     0K     0K

>iscsitadm list target -v
Target: spool/iscsi/iscsi01
    iSCSI Name: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
    Alias: spool/iscsi/iscsi01
    Connections: 0
    ACL list:
    TPGT list:
    LUN information:
        LUN: 0
            GUID: 0
            VID: SUN
            PID: SOLARIS
            Type: disk
            Size:   10G
            Backing store: /dev/zvol/rdsk/spool/iscsi/iscsi01
            Status: online



Linux側の作業

# uname -a
Linux rhel5-xvm 2.6.18-128.el5 #1 SMP Wed Dec 17 11:42:39 EST 2008 i686 i686 i386 GNU/Linux

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)


(1)事前パッケージの準備

iscsiイニシエータ
# rpm -qa |grep iscsi
iscsi-initiator-utils-6.2.0.868-0.18.el5

マルチパス
# rpm -qa |grep multi
device-mapper-multipath-0.4.7-23.el5


インストールメディアに含まれているので、インストールされていない場合はインストールしておく。


(2) LinuxからiSCSIターゲットを認識させる

初期は何も登録されていない。
# iscsiadm -m node
iscsiadm: no records found!

一つのIPを認識させると、付属する他のIPポータルも検索してくれる(余分なもののついてくる
# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.201
192.168.1.10:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.201:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.202:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.203:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.204:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.56.1:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562

余分なターゲットポータルを削除する。
# iscsiadm -m node -o delete -T iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562 -p 192.168.56.1:3260,1
# iscsiadm -m node -o delete -T iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562 -p 192.168.1.10:3260,1
# iscsiadm -m node
192.168.1.203:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.201:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.204:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
192.168.1.202:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562


(3)ターゲットへログインする

最初は何もログインしていない
# iscsiadm -m session
iscsiadm: No active sessions.

ログインする
# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.203,3260]
Logging in to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.201,3260]
Logging in to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.204,3260]
Logging in to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.202,3260]
Login to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.203,3260]: successful
Login to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.201,3260]: successful
Login to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.204,3260]: successful
Login to [iface: default, target: iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562, portal: 192.168.1.202,3260]: successful

ログインしたセッションを確認
# iscsiadm -m session
tcp: [6] 192.168.1.203:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
tcp: [7] 192.168.1.201:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
tcp: [8] 192.168.1.204:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562
tcp: [9] 192.168.1.202:3260,1 iqn.1986-03.com.sun:02:46de72a8-5705-ec14-c178-9fe760cbf562

ここで余分なセッションへログインしている場合は以下でログオフしておく
# iscsiadm -m node -p 192.168.XX.XX:3260,1 --logout

* iSCSI のセッションタイムアウトについて
パスにエラーが発生した場合、ターゲットポータルから何秒応答がなかったらエラーとみなすかを設定する必要がある。
ここでエラーをハンドルし、マルチパスデーモンに渡され、上位でパスの切り替えが行われる。
標準で120秒でエラーとなるように設定されている。
これを変更するには、
/etc/iscsi/iscsid.conf を編集

node.session.timeo.replacement_timeout = 120

デフォルトで120秒。ここを短くすることでフェイルオーバー速度を上げることができる。
ただし、短くしすぎると高負荷時に頻繁にパスの切り替えが発生してしまうので注意が必要。


(4)ディスクの確認

認識したディスクを確認
# fdisk -l
----------------------------------
Disk /dev/hda: 2199.0 GB, 2199022206976 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          65      522081   83  Linux
/dev/hda2              66         326     2096482+  82  Linux swap / Solaris
/dev/hda3             327      267349  2144862247+  83  Linux

Disk /dev/sda: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes


ディスク /dev/sda は正常な領域テーブルを含んでいません


Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes


ディスク /dev/sdb は正常な領域テーブルを含んでいません


Disk /dev/sdc: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes


ディスク /dev/sdc は正常な領域テーブルを含んでいません


Disk /dev/sdd: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes


ディスク /dev/sdd は正常な領域テーブルを含んでいません
----------------------------------
一つのディスクが複数の経路で見えていることが分かる。


(5)マルチパスの設定

ここからの設定は基本的にFC-SANでのマルチパス設定と変わらない。
device-mapper multipathを使用する。詳細は以前のエントリーを参照してください。

マルチパス対象となるデバイスのwwidを識別する。

二つの方法がある
[1.by-idを確認する]
# ls -l /dev/disk/by-id/
合計 0
lrwxrwxrwx 1 root root  9  5月 16  2010 ata-VBOX_CD-ROM_VB2-01700376 -> ../../hdc
lrwxrwxrwx 1 root root  9  5月 16  2010 ata-VBOX_HARDDISK_VB2b054e7c-64e79e01 -> ../../hda
lrwxrwxrwx 1 root root 10  5月 16  2010 ata-VBOX_HARDDISK_VB2b054e7c-64e79e01-part1 -> ../../hda1
lrwxrwxrwx 1 root root 10  5月 16  2010 ata-VBOX_HARDDISK_VB2b054e7c-64e79e01-part2 -> ../../hda2
lrwxrwxrwx 1 root root 10  5月 16  2010 ata-VBOX_HARDDISK_VB2b054e7c-64e79e01-part3 -> ../../hda3
lrwxrwxrwx 1 root root  9  5月 15 19:46 scsi-3600144f04bee77860000144f4abb6a00 -> ../../sdc

ここの表示は、fdisk -l で表示される全てのパスは表示されないので注意。
ただし、fdiskで表示されたデバイス名(sda, sdb, sdc, sdd)のどれかが、by-idに表示されるので、
ここでは 3600144f04bee77860000144f4abb6a00 がwwid だとわかる(scsi- の部分はいらない)

[2.scsiコマンドで確認する]
# /sbin/scsi_id -g -u -s /block/sda
3600144f04bee77860000144f4abb6a00

# /sbin/scsi_id -g -u -s /block/sdb
3600144f04bee77860000144f4abb6a00

# /sbin/scsi_id -g -u -s /block/sdc
3600144f04bee77860000144f4abb6a00

# /sbin/scsi_id -g -u -s /block/sdd
3600144f04bee77860000144f4abb6a00


/etc/multipath.conf を編集する。
------------------------------------
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
}

blacklist_exceptions {
        wwid    "3600144f04bee77860000144f4abb6a00"
}

defaults {
        user_friendly_names yes
}
multipaths {
        multipath {
                wwid                    "3600144f04bee77860000144f4abb6a00"
                alias                   zfs-iscsi01
                path_grouping_policy    multibus
                path_checker            readsector0
                path_selector           "round-robin 0"
                failback                manual
                rr_weight               priorities
                no_path_retry           5
        }
}
----------------------------------------

# multipath -ll
zfs-iscsi01 (3600144f04bee77860000144f4abb6a00) dm-0 SUN,SOLARIS
[size=10G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=4][enabled]
 \_ 0:0:0:0 sda 8:0   [active][ready]
 \_ 1:0:0:0 sdb 8:16  [active][ready]
 \_ 2:0:0:0 sdc 8:32  [active][ready]
 \_ 3:0:0:0 sdd 8:48  [active][ready]

これでマルチパスが設定されていることが確認できる。

# multipath -v 3
dm-0: blacklisted
fd0: blacklisted
hda: blacklisted
hdc: blacklisted
md0: blacklisted
ram0: blacklisted
ram10: blacklisted
ram11: blacklisted
ram12: blacklisted
ram13: blacklisted
ram14: blacklisted
ram15: blacklisted
ram1: blacklisted
ram2: blacklisted
ram3: blacklisted
ram4: blacklisted
ram5: blacklisted
ram6: blacklisted
ram7: blacklisted
ram8: blacklisted
ram9: blacklisted
sda: not found in pathvec
sda: mask = 0x1f
sda: bus = 1
sda: dev_t = 8:0
sda: size = 20971520
sda: vendor = SUN
sda: product = SOLARIS
sda: rev = 1
sda: h:b:t:l = 0:0:0:0
sda: serial =
sda: path checker = readsector0 (config file default)
sda: state = 2
sda: getprio = NULL (internal default)
sda: prio = 1
sda: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sda: uid = 3600144f04bee77860000144f4abb6a00 (callout)
sdb: not found in pathvec
sdb: mask = 0x1f
sdb: bus = 1
sdb: dev_t = 8:16
sdb: size = 20971520
sdb: vendor = SUN
sdb: product = SOLARIS
sdb: rev = 1
sdb: h:b:t:l = 1:0:0:0
sdb: serial =
sdb: path checker = readsector0 (config file default)
sdb: state = 2
sdb: getprio = NULL (internal default)
sdb: prio = 1
sdb: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdb: uid = 3600144f04bee77860000144f4abb6a00 (callout)
sdc: not found in pathvec
sdc: mask = 0x1f
sdc: bus = 1
sdc: dev_t = 8:32
sdc: size = 20971520
sdc: vendor = SUN
sdc: product = SOLARIS
sdc: rev = 1
sdc: h:b:t:l = 2:0:0:0
sdc: serial =
sdc: path checker = readsector0 (config file default)
sdc: state = 2
sdc: getprio = NULL (internal default)
sdc: prio = 1
sdc: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdc: uid = 3600144f04bee77860000144f4abb6a00 (callout)
sdd: not found in pathvec
sdd: mask = 0x1f
sdd: bus = 1
sdd: dev_t = 8:48
sdd: size = 20971520
sdd: vendor = SUN
sdd: product = SOLARIS
sdd: rev = 1
sdd: h:b:t:l = 3:0:0:0
sdd: serial =
sdd: path checker = readsector0 (config file default)
sdd: state = 2
sdd: getprio = NULL (internal default)
sdd: prio = 1
sdd: getuid = /sbin/scsi_id -g -u -s /block/%n (config file default)
sdd: uid = 3600144f04bee77860000144f4abb6a00 (callout)
===== paths list =====
uuid                              hcil    dev dev_t pri dm_st  chk_st  vend/pr
3600144f04bee77860000144f4abb6a00 0:0:0:0 sda 8:0   1   [undef][ready] SUN,SOL
3600144f04bee77860000144f4abb6a00 1:0:0:0 sdb 8:16  1   [undef][ready] SUN,SOL
3600144f04bee77860000144f4abb6a00 2:0:0:0 sdc 8:32  1   [undef][ready] SUN,SOL
3600144f04bee77860000144f4abb6a00 3:0:0:0 sdd 8:48  1   [undef][ready] SUN,SOL
params = 1 queue_if_no_path 0 1 1 round-robin 0 4 1 8:0 1000 8:16 1000 8:32 1000 8:48 1000
status = 2 0 0 0 1 1 E 0 4 0 8:0 A 0 8:16 A 0 8:32 A 0 8:48 A 0
3600144f04bee77860000144f4abb6a00: exception-listed
sda: ownership set to zfs-iscsi01
sda: not found in pathvec
sda: mask = 0xc
sda: state = 2
sda: prio = 1
sdb: ownership set to zfs-iscsi01
sdb: not found in pathvec
sdb: mask = 0xc
sdb: state = 2
sdb: prio = 1
sdc: ownership set to zfs-iscsi01
sdc: not found in pathvec
sdc: mask = 0xc
sdc: state = 2
sdc: prio = 1
sdd: ownership set to zfs-iscsi01
sdd: not found in pathvec
sdd: mask = 0xc
sdd: state = 2
sdd: prio = 1
zfs-iscsi01: pgfailback = -1 (LUN setting)
zfs-iscsi01: pgpolicy = multibus (LUN setting)
zfs-iscsi01: selector = round-robin 0 (LUN setting)
zfs-iscsi01: features = 0 (internal default)
zfs-iscsi01: hwhandler = 0 (internal default)
zfs-iscsi01: rr_weight = 2 (LUN setting)
zfs-iscsi01: minio = 1000 (config file default)
zfs-iscsi01: no_path_retry = 5 (multipath setting)
pg_timeout = NONE (internal default)
zfs-iscsi01: set ACT_NOTHING (map unchanged)
3600144f04bee77860000144f4abb6a00: exception-listed
3600144f04bee77860000144f4abb6a00: exception-listed
3600144f04bee77860000144f4abb6a00: exception-listed


(6)フォーマットしてマウントする

# ll /dev/mpath/
合計 0
lrwxrwxrwx 1 root root 7  5月 15 20:23 mpath0 -> ../dm-0

# parted /dev/mpath/mpath0
GNU Parted 1.8.1
/dev/dm-0 を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。

(parted) print
エラー: /dev/dm-0 を開けません。ディスクラベルが認識できません。

(parted) mklabel gpt
(parted) print

モデル: Linux device-mapper (dm)
ディスク /dev/dm-0: 10.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

(parted) mkpart primary 0 10G
(parted) print

モデル: Linux device-mapper (dm)
ディスク /dev/dm-0: 10.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    17.4kB  10.7GB  10.7GB                    primary

(parted) quit


# kpartx -a /dev/mpath/mpath0
# ll /dev/mpath/
合計 0
lrwxrwxrwx 1 root root 7  5月 15 20:23 mpath0 -> ../dm-0
lrwxrwxrwx 1 root root 7  5月 15 21:11 mpath0p1 -> ../dm-2


# mkfs -t ext3 /dev/mpath/mpath0p1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1310720 inodes, 2621431 blocks
131071 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


# mkdir /mnt/mpath0
# mount -t ext3 /dev/mpath/mpath0p1 /mnt/mpath0

# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/hda3             2.0T  2.6G  1.9T   1% /
/dev/hda1             494M   16M  453M   4% /boot
tmpfs                 506M     0  506M   0% /dev/shm
/dev/dm-2             9.9G  151M  9.2G   2% /mnt/mpath0

以上で手順は終了。
後は、パス切断を行ってテストを行ってください。

CentOS徹底入門第2版

CentOS徹底入門第2版

価格:4,494円(税込、送料別)



ディスクの振動とパフォーマンス


このエントリーをはてなブックマークに追加


ディスクの振動は昔から故障に大きく影響していると言われてきたが、最近ではパフォーマンスに与える影響も大きいというデータが出始めている。

その影響力は絶大で、実験結果を見ると、意図的に微細な振動を稼働中のHDDに与える事でパフォーマンスは20〜90%も低下すると言う。

当然の事ながら振動を受けるHDDの故障率があがり機器のパフォーマンスだけでなく、システムや業務のパフォーマンスが低下してしまう。

(1)Unusual disk latency
http://blogs.sun.com/brendan/entry/unusual_disk_latency
Sun の ブログ。ストレージに対して振動(大きな音)を与えることで、
ストレージのパフォーマンスが低下する様子を動画で公開している。


(2)クラスタノードの高密度実装における振動等の問題について
http://datafarm.apgrid.org/pdf/SWoPP2003-shimizu.pdf
産業技術総合研究所における、大規模グリッド環境において発生した、
振動によるパフォーマンス低下についての論文。
実験の背景や、特定周波数におけるパフォーマンス低下について実験に基づく
数値を根拠に考察している。分かりやすい。

(3)ディスクの振動を抑える事でパフォーマンスは向上する
http://slashdot.jp/hardware/article.pl?sid=10/05/12/0455237


機器の振動発生源は主にファンやハードディスク等の物理的に駆動するものだ。
最近ではデータセンタに機器が集約され高密度にラッキングされることで、一つ一つは無視できる範囲の振動でも、共鳴して大きな振動を生み出してしまう可能性もある。

もし管理している機器が性能を発揮出来ない場合や故障率が高い場合は 振動 という観点も考慮に入れる必要がありそうだ。
(もちろん、温度やアプリの作り、物理設計といったその他の要因も忘れてはいけない)

- Posted using BlogPress from my iPhone