OpenSolarisにDiskを増設して...
そこの奥さん、取れたての新鮮野菜が入ったよー。
と、うちの奥さんに報告したんであります。ええ、散歩の途中にある無人野菜売り場が 昨日は空っぽになっていたのに、今朝通りかかったら、どっさりといろいろな物が 置いてあったのです。
どんな野菜かと言うと、白菜、大根、株、それとねぎ。いずれも、今畑から引き抜いて きましたとばかりの湿った土付き。正に新鮮そのもの。
注文を聞いたら、白菜一玉とねぎをご要望。250円也を握り締めて、ちゃりを飛ばした のであります。今日の夕食は、白菜のクリーム煮かな。それtも、鰹節のかかったお浸し かな? ねぎは、昼食のうどんにでも入って、出てくるかな?
スーパーあたりで売っている野菜は、綺麗に洗ってあって、存在感が乏しいけど、土が 付いたやつは、今まで畑で生きてましたって言う生命感が感じられる。この時期の冬野菜 って、旨いんだよなぁ。
昔、田舎でじっちゃんと、畑に保管してた野菜を取りに行ったなあ。雪を退けて、土から 掘り起こして持ってくるんだけど、土の中は以外に暖かいようで、野菜が凍っている 事なんて無かったものなあ。昔の人の知恵なんですかね。
最近は新鮮野菜を求めて、道の駅に併設されてる野菜直売所が、大賑わいとか。 野菜直売所のいいけど、魚直売所もないかねぇ? 築地からの出もどりじゃ鮮度落ちちゃうよ。
昔、仙台に住んでいたんだけど、お隣に漁師さんの娘さん夫婦がいて、懇意にさせて もらったおかげで、新鮮な魚にも目がないんだよね。毎日曜日の朝、近くの漁港で開かれる 市によく通ったものだ。生きてる魚は、最初女房は怖がっていたけど、そのうち、旨さに つられて、捌くのも平気になっちゃったよ。
どこか、魚や野菜と酒が旨い所へ移住したいものである。
Solaris機にDiskを増設するぞ
ZFSやってみんべぇで、前回は終わった。あれから、 こんな所 を見てたりする訳であるが、どうもDiskを新調した方がよさそうだ。
Diskって何処から買ってきたらいいんしょ? サクラ屋のポイントカードが余っていたら 早めに使い切っちゃいましょう。それとJALの参るもね。 でも、私んとこでは、VMWAREに一働きしてもらえば、OK牧場よ。
まず、Player3で、新規マシンを創造する。マシンの名前は、mypcぐらいでいいだろう。 慎ましく、6G HDDのマシンとしたよ。一応、用途はFreeBSDとしといた。6Gの単一HDDは なくて、分割バージョンとしといたよ。そうしておけば、後で移動が簡単になる。 だって、アプリによっては、2G以上のファイルを扱えないものもあるから。
創造したばかりのmypcは、こんな具合だ。
c:\Users\sakae\Documents\Virtual Machines\mypc>ls -l -rw- 327680 2010-01-24 14:40 mypc-s001.vmdk -rw- 327680 2010-01-24 14:40 mypc-s002.vmdk -rw- 327680 2010-01-24 14:40 mypc-s003.vmdk -rw- 65536 2010-01-24 14:40 mypc-s004.vmdk -rw- 583 2010-01-24 14:40 mypc.vmdk -rw- 0 2010-01-24 14:40 mypc.vmsd -rw- 1315 2010-01-24 14:40 mypc.vmx -rw- 259 2010-01-24 14:40 mypc.vmxf c:\Users\sakae\Documents\Virtual Machines\mypc>
このうち、*.vmdkと名前が付いているファイル5個を、mypcからぶっこぬいて、Sokaris機へ 持って行く。mvしちゃうと、mypcから消えちゃうから、cpするのが吉。
2GのHDDなら、3本で6Gになるはずだが、mypc.vmdkを見ると、4本目は予備と書いてある。 どうやら、仮想PC自体が、Hardware RAID 0 をサポートしてるようだ。Diskを3本買うと 1本おまけしてくれるって、良心的だなあ。願わくば、製造ロットがばらばらだと良いんだ けど、それは確認出来なかった。(RAIDを組む時、同一ロットだと、同時に壊れてしまい、 非常に悲惨な事になるからです。必ず、別ロットで組みましょう。経験者が弾言しましたよ)
後は、Sokaris機側で、HDDを組み込んでやる。 私のSolaris機は、名前が "Solaris 10" となっているので、"Solaris 10.vmx" を Editorで開いて、下記2行を追加する。これは、IDEのフラットケーブルをDISK に接続する作業に相当します。
ide1:1.present = "TRUE" ide1:1.fileName = "mypc.vmdk"
インターフェース的には、セカンダリーのスレーブ側 IDEに、HDDを増設した事に なるかな。プライマリー側には、Solarisが入ったDISKが接続されてるはずなので、 少しでもインターフェースを別にして、スピードを稼ぎたいという、苦肉の策で あります。
こうしておいて、Solarisをrebootする。ああ、書き忘れていたけど、増設工事を する時は、OSは落として、マシンの電源は切った上で、マシンを、台所のキッチン シンクの上へ持って行ってください。そして、念には念を入れて、左手に銅線を 巻きつけ、もう一方の端は、水道管に巻きつけておきましょう。(勿論、水道管が アースされてないと、無意味なので注意しましょ。えっ、アースされてない。最近は そうなんですかね。そういう時は、風呂上りに、手短に風呂場で作業しましょう。)
もう一つ注意があって、寒いと言って、セーターとか化繊の服は厳禁です。冬は 静電気が発生し易いですからね。
そして通電前に、神田明神の方角に向いて、二礼二拝しておきましょう。 あそこは、ITの神様がおわしますから。 ご参考
以上の操作は、もっと簡単にVMWARE PlayerのメニューからDisk増設を選ぶ事により 出来ますが、rootはあえてハードに手を出し、神に祈る事も仕事のうちと思って、いばら の道を選んでみました。
昔のASCII出版は、"rootから/へのメッセージ" なんて言う良書を出していたんだよなぁ。ケーブル の事が書いてあったり、ペンチや工具類の事が書いてあったりで、とっても面白いよ。 1991年出版の本だから、国立図書館にでも行かないと無いかな?
認識したかな?
期待と不安に胸を膨らませて、Solarisを起動します。さあ、どうなった? 取りあえず、dmesgでも眺めてみますかね。
sakae@solaris:~$ dmesg | grep ide Jan 24 16:28:54 solaris npe: [ID 236367 kern.info] PCI Express-device: ide@0, ata0 Jan 24 16:28:54 solaris genunix: [ID 936769 kern.info] ata0 is /pci@0,0/pci-ide@7,1/ide@0 Jan 24 16:28:54 solaris genunix: [ID 936769 kern.info] cmdk0 is /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 Jan 24 16:29:15 solaris npe: [ID 236367 kern.info] PCI Express-device: ide@1, ata1 Jan 24 16:29:15 solaris genunix: [ID 936769 kern.info] ata1 is /pci@0,0/pci-ide@7,1/ide@1 Jan 24 16:29:15 solaris genunix: [ID 936769 kern.info] sd0 is /pci@0,0/pci-ide@7,1/ide@1/sd@0,0
これを見ると、ide0とかide1とか認められるので、何となく新HDDを認識してるなと 予想は出来るんだけど、OS上の呼称は分からん、はてどうすべ? こういう時は、 ちょっと危険な匂いがするコマンドの登場です。変な事したら、おしゃかになっからね。
sakae@solaris:~$ pfexec format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c7d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c8d1 <DEFAULT cyl 3069 alt 2 hd 128 sec 32> /pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0 Specify disk (enter its number): 0 selecting c7d0 NO Alt slice No defect list found [disk formatted, no defect list found] /dev/dsk/c7d0s0 is part of active ZFS pool rpool. Please see zpool(1M). /dev/dsk/c7d0s1 is currently used by swap. Please see swap(1M). FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program repair - repair a defective sector show - translate a disk address label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions volname - set 8-character volume name !<cmd> - execute <cmd>, then return quit format> q sakae@solaris:~$
これを見ると、元々有ったDiskは、c7d0ですね。s0,s1と2つのスライスに分かれて います。そして、増設したDiskは、c8d1ですか。
ここまで分かれば上等っぽい。c8d1を忘れるな、ですね。
いよいよ、ZFS
sakae@solaris:~$ pfexec zpool create mydisk c8d1 sakae@solaris:~$ pfexec zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT mydisk 5.97G 138K 5.97G 0% ONLINE - rpool 18.9G 6.84G 12.0G 36% ONLINE - sakae@solaris:~$
やったー。あっさり出来ちゃったよ。
sakae@solaris:~$ df Filesystem 1K-blocks Used Available Use% Mounted on rpool/ROOT/opensolaris 18979564 6667552 12312012 36% / swap 1196340 308 1196032 1% /etc/svc/volatile /usr/lib/libc/libc_hwcap1.so.1 18979564 6667552 12312012 36% /lib/libc.so.1 swap 1196036 4 1196032 1% /tmp swap 1196068 36 1196032 1% /var/run rpool/export 12312033 21 12312012 1% /export rpool/export/home 12312033 21 12312012 1% /export/home rpool/export/home/sakae 12360132 48120 12312012 1% /export/home/sakae rpool 12312091 79 12312012 1% /rpool mydisk 6160842 19 6160823 1% /mydisk
手回しよく、もうmountされてるよ。もう、c8d1なんて言う無味乾燥の名前は、忘れちゃって も、OKかな。まあ、見方よっちゃ、c8d1と言うデバイス名のaliaseが、mydiskっつう事 だな。
この対応関係を忘れちゃったらどうする。ちょっと気になったので、再び、formatコマンドを 叩いてみた。そしたら、
sakae@solaris:~$ pfexec format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c7d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c8d1 <VMware V-0000000000000000-0001-6.00GB> /pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0 Specify disk (enter its number): 1 selecting c8d1 NO Alt slice No defect list found [disk formatted, no defect list found] /dev/dsk/c8d1s0 is part of active ZFS pool mydisk. Please see zpool(1M). : partition> print Current partition table (original): Total disk sectors available: 12566446 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector 0 usr wm 256 5.99GB 12566446 1 unassigned wm 0 0 0 2 unassigned wm 0 0 0 3 unassigned wm 0 0 0 4 unassigned wm 0 0 0 5 unassigned wm 0 0 0 6 unassigned wm 0 0 0 8 reserved wm 12566447 8.00MB 12582830
危ないコマンドを叩かなくても、下記でもOKね。
sakae@solaris:~$ zpool status プール: mydisk 状態: ONLINE スクラブ: 何も要求されませんでした 構成: NAME STATE READ WRITE CKSUM mydisk ONLINE 0 0 0 c8d1 ONLINE 0 0 0 エラー: 既知のデータエラーはありません プール: rpool 状態: ONLINE スクラブ: 何も要求されませんでした 構成: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c7d0s0 ONLINE 0 0 0 エラー: 既知のデータエラーはありません
詳しい事は、man zpoolな。それと、man zfs に、腐る程説明があるぞ。 全くもって、うんざりだ。
つらつらと、zpoolなるコマンド読んで行くと、なんじゃいこれってSun謹製のRAIDコマンド じゃん。つう事は、今回のように一つのデバイスを用意して得意満面の顔をしたって、 お前顔洗って出直してこいと笑われるのが堕ちだわなあ。OS領域とタッグを組んでみるかな。 RAID1ぐらいでお茶を濁すか。
今作った、mydiskを壊せばいいんだな。
sakae@solaris:~$ pfexec zpool destroy mydisk sakae@solaris:~$ zpool status プール: rpool 状態: ONLINE スクラブ: 何も要求されませんでした 構成: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c7d0s0 ONLINE 0 0 0 エラー: 既知のデータエラーはありません
無くなったな。そんじゃ、ミラーしてみっか。
sakae@solaris:~$ pfexec zpool create mydisk mirror c7d0 c8d1 仮想デバイスの指定が無効です 次のエラーを無効にするには、'-f' を使用してください: /dev/dsk/c7d0s0 is part of active ZFS pool rpool. Please see zpool(1M). /dev/dsk/c7d0s1 is currently used by swap. Please see swap(1M). sakae@solaris:~$ pfexec zpool create mydisk mirror c7d0s0 c8d1 仮想デバイスの指定が無効です 次のエラーを無効にするには、'-f' を使用してください: /dev/dsk/c7d0s0 is part of active ZFS pool rpool. Please see zpool(1M). sakae@solaris:~$ pfexec zpool create mydisk mirror -f /dev/dsk/c7d0s0 c8d1 '-f' を開くことができません: /dev/dsk にそのようなデバイスはありません フルパスまたは短縮形のデバイス名を使用する必要があります
当たり前と言えば当たり前だけど、既に使われてるデバイスを共用するって出来ないのね。 こりゃ、もう一セットDISKを用意する鹿。(本当は、DISKの3つ組にしてRAID5にしたい んだが、それだと、CD Driveを取り外してしまわないといけないので、断念)
(後で思い出したんだけど、SCSIバスなら、DISKを何台も繋げるね。Wide-SCSIだと ターゲットは15台まででしたっけ? やる気のある人は、SCSIバスにDiskを何台も ぶら下げたら面白いぞ。問題は、仮想PCの電源が持つか、だけど。)
で、もう1セットを組み込んでみた。VMWAREのアイコンにDISKが3台並んだよ。 Solarisからも、こんな具合に見える。
sakae@solaris:~$ pfexec format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c7d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c7d1 <DEFAULT cyl 3069 alt 2 hd 128 sec 32> /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0 2. c8d1 <VMware V-0000000000000000-0001-6.00GB> /pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0 Specify disk (enter its number):
sakae@solaris:~$ pfexec zpool create -f mydisk mirror c7d1 c8d1 sakae@solaris:~$ zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT mydisk 5.97G 76K 5.97G 0% ONLINE - rpool 18.9G 6.84G 12.0G 36% ONLINE - sakae@solaris:~$ zpool status プール: mydisk 状態: ONLINE スクラブ: 何も要求されませんでした 構成: NAME STATE READ WRITE CKSUM mydisk ONLINE 0 0 0 mirror ONLINE 0 0 0 c7d1 ONLINE 0 0 0 c8d1 ONLINE 0 0 0 エラー: 既知のデータエラーはありません プール: rpool :
ちゃんと、ミラーしてるな。今日はここまで。 to be continue ...
ちょっとおまけ
DISK増設のため、PCの蓋を開いてみたんだけど、驚いた事にCPUソケットが、4個 も実装されたぞ。セルロンを2つに割って、2つCPUを割り当てようとしたら、 そんな事すると、マシンがクラッシュするでー、と脅されたよ。 インテルに金を貢いでいる人は、2個なり4個を割り当てて、こき使ってみてください。 どなたかの実験レポートを期待します。
私は、暇にまかせてNICをもう一枚増設してみようかな。これでルーターとかを 含めたネットワーク実験が出来るな。うしし。
そうそう、もう一つ、面白いオプションSWを見つけたんだ。HDD用のガベコレボタン。 これをプチィと押したら、HDDがしぼんでくれるかいな? 本当にしぼむなら、 PostgresSQLのバキュームみたいだな。