The Way to Nowhere

あるITエンジニアの雑文。

2010年09月

Linuxでディスク交換

Linuxはほとんど仮想マシンでしか扱わなくなっていますが、仮想ディスクのサイズ設定や構成を後悔したりとか、パーティションの切り方を変えたくなったりした時って、仮想かどうかは関係なく結局「ディスク交換」みたいなことをしなければいけない、というか、すればいいのかなと考えていろいろと試行錯誤してみた。

これはOS等を含んだブートディスクの場合です。ブートディスクでない場合は別に悩むことなくコピーして付け替えればよいと思います。
OSその他を再インストールしてデータ移行すればいいってのはわかるが、それはそれで結構手間がかかるし、ということで。

仮想ディスク絡みだったら、ツールとかもそれなりにいろいろあるのかもしれないけどその辺はあまり調べていない。
あっても結局、仮想ディスクファイルを物理ディスク的に扱うようなものだろうから、結局やりたいことにはならない可能性大と思ったので。

それから試してたLinuxはRed Hat系です。まあ別にこの辺は大して違いはないのだろうと思いますが。

新ディスクのパーティション設定


まずは新しいディスクを用意し追加で接続する。
そしてその新ディスクのパーティション設定を行う。
新ディスクが"/dev/sdb"として接続されている例です。
# fdisk /dev/sdb

対話的に操作できるので、順に設定していく。
使うコマンドはこんな感じでしょうか。
  • p 領域テーブルを表示する
  • n 新たに領域を作成する
  • a ブート可能フラグをつける
  • t 領域のシステム ID を変更する
  •  LVMを使う場合に、IDを"8e"に変更する
  • q 変更を保存せずに終了する
  • w テーブルをディスクに書き込み、終了する

私が試した時は元のディスクが以下のような感じだったので、同じようにパーティションを二つ作成し、一つ目は「ブート可能」に、二つ目はシステムIDをLVMに変更した。
  1. /boot
  2. /dev/VolGroup00
  3.  ※LVMの物理ボリューム、論理ボリュームには / と swap

LVMを使うパーティションについては、さらに物理ボリューム、ボリュームグループ、論理ボリュームの設定を行う。
# pvcreate /dev/sdb2
# vgcreate VolGroup00new /dev/sdb2
# lvcreate -L ????m -n LogVol00 VolGroup00new

「????m」は作成する論理ボリュームのサイズを指定。
lvcreate は新ディスクでやりたいマウントポイントの構成に応じて必要な分だけ実施する。
例えば、旧ディスクは / 以下に全部入れていたのを新ディスクでは /var とか /home を分けたいとかいう場合、それぞれに必要な論理ボリュームを作成する。。

さらにファイルシステムの作成。
# mkfs -t ext3 /dev/VolGroup00new/LogVol00

SWAPパーティションの場合は mkswap しておく。
# mkswap /dev/VolGroup00new/LogVol01


データコピー


旧ディスクから新ディスクにデータをコピーします。
コピー中に元データ変更されるとトラブルになる可能性があるので、シングルユーザモードかSystemRescueCdなどを使って起動してやった方がいいでしょう。
私が試した限りではどっちでも大丈夫そうでしたが、感覚的にはやっぱりSystemRescueCdを使うのが良いと思います。
シングルユーザモードとはいってもコピー元のディスクからOS起動しているわけなので、何かある可能性は高くなるような気がする。
その辺は別に詳しくないので、あくまで「気がする」だけです。

コピーのやり方はいろいろあると思いますが、私はとりあえず今何をしているかをわかりやすくするためにコピー元とコピー先用にマウントポイントを設けてやりました。
コピー先で一部を別パーティションにする場合はdest側に追加で mkdir & mount を必要な分だけ実施。
mountとコピーはコピー元のパーティション分、繰り返します。
# mkdir /mnt/source
# mkdir /mnt/dest

# mount -t ext3 /dev/VolGroup00/LogVol00 /mnt/source
# mount -t ext3 /dev/VolGroup00new/LogVol00 /mnt/dest

# cd /mnt/source
# tar cpf - ./ | tar xpf - -C /mnt/dest

実際のコピーですが、なぜか tar を使ってコピーする例があったのでやってみた。
一応問題なく動いているっぽいです。
普通に "cp" とかでもうまくいくんではなかろうかという気はしてます。
# cd /mnt/source
# cp -a ./ /mnt/dest/

ポイントはたぶん "p"オプションで所有者、アクセス権などを引き継がせる事だろう。
cp の "-a" は "-dpR" とmanページに記載があるのでほぼ同様の効果があると思われます。

ブートセクタ設定


ここが色々と苦戦して悩んだところではありますが、普通に grub-install しました。
# mkdir /mnt/boot
# mount -t ext3 /dev/sdb1 /mnt/boot
# grub-install --root-directory=/mnt /dev/sdb

適当に"boot"というディレクトリを作成して、そこに新ディスクの/bootパーティションをマウントする。
grub-install の "--root-directory"オプションではそのマウントポイントの一つ上を指定してやる。上記の例だと "/mnt"。
マウントポイントをそのまま指定するとその下に"boot"ディレクトリが作成されて、さらにその下に"grub"となってしまうので。

あとこんな感じでエラーが出る時がある。
/dev/sdd does not have any corresponding BIOS drive.

これはインストール先にある device.map が関係しているらしいです。
(hd0) /dev/sda

こんな記述になっていたりするので、コピー先のディスクに関する記述を追加してやれば良いようです。
(hd1) /dev/sdb

ただ、ディスク交換後はこの記述は必要ないと思うし、device.map ファイルがなければ接続しているディスク等を probe してインストールしてくれるようなので、/boot パーティションに関しては先に grub-install してからデータコピーをする方が、コピーしたものへの変更作業が少ないので、なんとなく気持ちがいい気がします。
それか少し面倒だけど新ディスクが"/dev/sda"になるように付け替えて、RescueCdから起動して grub-install でもいけますが。

/etc/fstab の確認


新ディスクの"/etc/fstab"を確認して、旧ディスクを外して新ディスクから起動する時に適切にマウントされる設定となるように必要に応じて調整します。
ディスク入れ替え後は新ディスクが"/dev/sda"になると思うので変えなくてよい場合もあると思います。
ここではLVMまわりで多少試行錯誤したところがあって、「"/etc/fstab"もなるべく変更しないで済むようにしよう」とか思って、vgrename でボリュームグループ名を変更とかしてみた。
それでももちろんできましたが、後で考えたらなんか変な感じがした。

"/etc/fstab"でデバイスがLABELで記述されている場合は"e2label"でラベルを付ける。
# e2label /dev/sdb1 /boot

あと、"/boot/grub/grub.conf"の kernel のパラメータも確認しておく必要があると思います。

ディスクを入れ替えて起動


ここまでくればもう大丈夫なはず。
ということで旧ディスクをはずし、新ディスクを先頭に接続して起動します。

OS起動は無事にできても、ログインしようとするとこんなエラーが出る場合がありました。
/etc/X11/xinit/Xsession default を実行できませんでした

これはどうもselinux絡みらしく、"enforcing mode" にしているとこうなる。
"permissive mode"にしておけばログインできますが、当然の如くselinuxの警告出まくりで。

ディスクの追加・交換をした時などは「ファイルのラベル付け」をあらためてやる必要があるようです。
# restorecon -rv /

ああ、なんかこの辺よくわかっていない、、、けど、とりあえずこれで動くようにはなった。

"/.autorelabel"ってファイルを作ってリブートしても同じ効果があるはず。
でも本当にこの影響かどうかもよくわかりませんが、ブート時のメッセージの出方が変わったりとかしている。今のところ実質的な影響はなしですが。

アプリの動作確認とかはそれほどしっかりとはしていないけど、理屈の上では大丈夫なはず、というところですね。

以下、参考にしたサイトなど。


最後のSELinux Policy Editorは試していない。

そういえば、なんか Oracle の11gなんかも、この辺ちゃんと設定しないと動かせないんだけど、面倒なんでとりあえず "permissive mode" にしておく、みたいな笑っちゃう話があった気がするね。
まあ "permissive mode" にして何が引っかかるかを探す、というのは常套手段のようではありますが。
いずれ見なければいけない日が来る、と思います。

Oracleの環境変数設定でハマッた件

中途半端な知識がもとで、えらい遠回りをしてしまったので、備忘として書いておきます。
初歩的なことだと思うので「そんな恥をさらさなくても」って気もしますが、エラーメッセージやエラー番号でググってもなかなかピンポイントな解決方法が見つけられなかったので。

Oracleでいわゆる所有者ユーザのOS認証でORACLEのDBにローカル接続する為に最低限必要な環境変数の設定は以下の通り。

  • ORACLE_SID
  • ORACLE_HOME

実際には LD_LIBRARY_PATH とか PATH に $ORACLE_HOME/bin を含めるとか必要と言われるものはもう少しあるんだけど、まあ接続できるまでの最低限というところで。

で、ORACLE_HOME を忘れることはまずないと思うが、この ORACLE_SID を忘れていたために色々と遠回りしてしまいました、という話です。

まず ORACLE_HOME だけ設定して、ORACLE_SID が設定されていないとこんな感じ。
$ sqlplus / as sysdba
ERROR:
ORA-12162: TNS:net service name is incorrectly specified

ここで「@SID」を指定してみたり、どういうわけか TWO_TASK の環境変数を思い出してそれを設定してしまいました。
そうするとこうなった。
$ sqlplus / as sysdba
ERROR:
ORA-12541: TNS:no listener

Listenerが起動していないから?Listenerなんて必要ないはずなんだけど、と不思議に思いながらもListnerを起動してみる。

$ sqlplus / as sysdba
ERROR:
ORA-01031: insufficient privileges

そうすると権限がない、とか言われる。oracle所有の"dba"ユーザなんだけどなぁ...と混乱。
よくよく調べれば、Listener経由のOS認証の為には、また別の設定をしなければいけないので、その為に出ていたエラー内容だったと理解できるわけですが、調べているとこの辺に絡んだバグで対処方法の一環で「コンパイルし直せ」みたいな記事もあったりして、その対処方法を試しても何も変わらずで、悶々とした時間が過ぎ去る。

最終的にどうやって気づいたかはもう忘れましたが、結局地道にインストールマニュアルとかを読み直していたんだと思います。

ちなみに ORACLE_SID 環境変数を設定しても、TWO_TASK が設定されたままだと相変わらずListener経由接続が優先されて、"insufficient privileges"とか"no listener"とか言われます。

よくよく考えたら、"$ . dbenv" 使って環境変数設定すればいいって話ではありました。

ちなみに直接関係ないですが、"oracle"ユーザーとか"dba"グループとかって、Oracleのインストール関連のマニュアルに書いてあるけど、ほんとにそのままの名前で環境構築されたりしているときがあって、実際の名前はなんだっていいっていうのをわかっててやっているんだろうか?と疑問に思うことも多々ある。

『British Steel - 30th Anniversary Edition』のDVDがすごい

Judas Priestが昨年「British Steel完全再現」のツアーとかしていて、Loud Park '09でもやっていたのは周知の通り。

で、個人的には『British Steel』のCD自体はとっくの昔に買ったつもりでいたのですが、みあたらない。
どうやら何かと勘違いしていたらしい。

ということであらためて『British Steel』のCDを買ってみようと思ったのですが、『30th Anniversary Edition』なるものが出ていたので、せっかくなのでこれを買ってみた。

British Steel: 30th Anniversary


何が違うかというと、単に「リマスター&ボーナストラック」というだけではなくて、その「British Steel完全再現ツアー」のライブDVDがついている。

このDVDはすごいです。
もう発売から4ヶ月くらいたっているので、いまさら感いっぱいですが、、、

ほとんどノーカットといっていい感じでライブの最初から最後まで見れます。
昨年のLoud Park '09で見たのと全く同じといっていいライブが再現されてます。
Freewheel Burningが「超スロー」だったのも同じで、気のせいではなかったことが確認できました。

オリジナルのCDはともかく、値段は普通のCD並みなので、このDVDの為だけに買って損はないと思う。

ちなみに「ジャパン・エディション」なるポスター、ツアーパンフなどの特典のついたやつもあるみたいです。
輸入版とくらべると相当値段の差があるので、これはほんとにマニア向けということで。

Windows XP Mode をインストールしてみた

Windows 7 のProfessionalエディション以上で使えるという、Windows XP Modeをインストールしてみた。
で、結局使うのはやめました、ということなんですが、その辺の雑感を少々。

Windows 7 で Windows XP モードをインストールし、使用する

要は互換性に問題のある古いソフトなどを使い続ける為に、Virtual PC で WindowsXP を動かせるようにしましょう、というものですね。
インストール自体は別に難しいことは全然なくて、Microsoftのサイトの説明どおりにダウンロードしてインストールすればよいです。
途中何回か再起動が必要で再起動中にも何やらいろいろやっていたようではありますが。

Windows Virtual PC: ホーム ページ

で、普通に素のWindows XPがVirtual PCで立ち上がってきました。

ちゃんと使えるようにするには一から各種ソフトをインストールしなければいけないわけですね。

そりゃあそうだよね、というのは理解しつつも、ちょっと面倒くさくないか、と思った次第。

できることならDisk2VhdとかPhysical to Virtualの変換ツールで古いPCのデータを吸い上げて、そのコピーをVirtual PCで動かすためのライセンスの根拠としてWindows XP Modeが使えるとかしてくれないと、わざわざ使ってみようとか思わないんではないでしょうか、とか思った。

まあ、やっぱり多少古くても業務用に標準化されたPCのキッティング手順などをそれなりに確立しているであろう、企業ユーザ向けということなんだろうね。

ちなみにWindows Virtual PC ですが、相変わらずディスクイメージの上限に127GBの壁があるようで、ライセンスの問題はクリアしたとしても、私の古いXPのPCですら既にそれ超えているので単純な移行はできないみたいです。

まあ、調べればいろいろやり方はあるのでしょうけど、そこまでして古いPC環境を延命しなきゃいけないような使い方はしていませんので、これ以上の追究などは個人的には不要かなと思いました。

Microsoft Money再インストールでオンラインサービスが再度有効になった件

以前、Microsoft Money のオンラインサービスの有効期間が切れたので、
株価や投資信託の基準価額の自動更新ができなくなったということを書きました。

Microsoft Money 有効期間終了の影響

今年になって新しいPCを買いつつも、全面的には移行せずに2台使う状態が続いていました。
で、最後まで移行できずにいたのが、Microsoft Moneyだったんです。

新しいPCにインストールしたらライセンスキーとか聞かれたので、「そんなの今さらわからん」ということで一旦断念。
これを機に新しいソフトに移行すべきかとか、いろいろ考えましたが、長年蓄積したデータの移行とか考えると憂鬱で、しばらく置いておいたのでした。

まあ実際よくよく考えたら、ダウンロードで買ったので、メールの中に埋もれてただけだったので、それをなんとか探し出してインストールしてみました。

最初に買ってインストールした時にどんなだったかは全く覚えていないのですが、ライセンスキーを入れるだけで終了、すぐに問題なく使えるようになりました。
それどころかできなくなっていたはずの株価などの自動更新もまたできるようになりました。
これが一番のサプライズ。

ただそれも2011年1月31日まで、ということのようですが。
それに相変わらず金曜日の投信の基準価額は、一般的には土曜日の朝には見れるようになるのに、この自動更新だと週明けまで更新されないっぽいですね。
運用に何か人手が絡んでいるのでしょうか、土日祝はすっかり止まるのも相変わらずですね。

ちなみにオンラインサービスなし、サポートなしでフリーで使える「Microsoft Money Plus sunset version」なるものがでているらしいですが、日本語版としても使えるようになるのかどうかは不明。
Microsoft Money Plus 'Sunset' Versions

"sunset"。これでほんとに終わりということでしょうかね。

VMware Player が「個人利用、非商用利用に限る」という件

無償で使える仮想マシン環境というVMware Playerですが、ちょっと気になった点。

VMware Player に関する FAQ: 簡単に仮想マシンを実行できる無償ソフトウェア
VMware Player は、個人利用、および非商用利用の場合は無償で提供されます。

えっ!商用利用だめなの!?そんなこと今さら言われてもって人多い気がするけど...
というかそもそもその「商用利用」の定義って何?

EULAを見るとこんな感じに書かれていて、たぶんこれを元に上記の記述があるんだと思う。

VMware Player End User License Agreement
VMware Player is intended for your own personal non-commercial use only.

うーん、"intended"ってちょっと微妙な感じがしました。
前後の文脈からすると、「再配布を勝手にするな」って話であって、許諾条件として利用用途を制限しようとか、無償で提供する為の根拠とする記述ではないように思える。
どちらかと言えば「無保証、免責」のための記述かなって気もした。

ちなみに上記の文の後には以下の文が続きます。
Player is only distributable with written agreement from VMware. Requests for a distribution agreement should be submitted online at http://www.vmware.com/products/player/player-reseller-registration.html. Redistribution includes posting, packaging, bundling, or otherwise making available for use either within your organization or externally to 3rd party users.


業務目的での使用が全面的にダメなら同じFAQの中の以下の記述とも矛盾するしね。
VMware Player は、どのように使用できますか

VMware Player を使用すると、仮想マシン上でソフトウェアを作成、実行、評価、および共有することができます。
(省略)
  • 共有: VMware Player を使用すれば、誰でも仮想マシンを実行できるため、仕事仲間や友人と仮想マシンを共有することが可能です。たとえば、カスタマー サポート チームと開発チームとで、仮想マシン内にカプセル化されたお客様環境を共有できます。

それってどう考えても、普通は営利目的組織内でやることだと思うのですが。


で、それはそうとEULAの上記の記述は同様のものが実は VMware Server 2 のEULAにも記載されていました。

VMware Server 2 End User License Agreement
VMware Server is intended for your personal non-commercial use only.

こっちには "own" がない。その違いの意図はいったいなんだろう。
ともかく VMware Server でも同じような記述があるにもかかわらず、こちらについては「個人利用、非商用利用」に限るなんて話は全くでていない様子。
そもそもサーバ製品なんで「個人利用に限る」とか言われてもねぇ、って話ではあるが。

一応、コピーを他人に使わせることは同一組織内であってもダメと明示的に禁止しているようではありますので、そこが「個人利用」に限るという話かな。
別の人も使いたかったら、ユーザ登録すればいいわけですが。

「非商用利用」については、いわゆる「本番環境」として使うのではなく、あくまで上で動かすソフトウェアを含めた検証用で使ってね、って話であり、営利目的組織内での使用を全面的にダメという話ではないのかな、という気がしました。
それか販売目的等で他者に配布するのはダメとか。"distribution"の文脈にあるから、むしろこっちの意味が強いのかな。

ていうか、そのくらいにしておかないと回らない、というか、Microsoftとか他の競合に対抗する為にも、わざわざ無償提供するメリットとかがないんではないでしょうか。

これは私個人の私的な見解でしかないので、実際のところどうなのかは知りません。

VMware社自身の見解はどうなんでしょうねぇ?

Burrn!が電子雑誌化された

Burrn!の定期購読期間が終了するとの事なので、また手続きしなければいけないかー、と思って、シンコーミュージックのサイトに行ってみると、なんとBurrn!は電子版が出ていた。

電子雑誌遂に登場。 | シンコーミュージック・エンタテイメント

2010年9月号からなんで、ちょうど先月からみたいですね。
電子版で済むならスペースもとらないし絶対良いし、バックナンバーも順次電子化していってくれていつでも買える状況になったらなお良いですね。
でも、販売するmagastoreの仕組みがどれだけ持つものか若干不安はあります。

Burrn!の場合、ただのフロー情報としての雑誌というだけでなく、後々の資料的価値も大きかったりするので、その辺がまだ気になるところではあります。

まあ、そういう資料的価値を求めるなら相変わらずまだ紙で買っとけ、ということなんでしょうかね。

そんなこと言いながら過去分を見直すことなんてめったにないので、別にいいのかもとも思いました。

またライブやりました

既に1週間ほど前になりますが、約1年ぶりにライブをやりました。

前回も同じような事を言っていたみたいですけど、いつになく練習不足ではありました。
不思議なことに、ほとんど緊張することなくリラックスしてできてたんだけど、前回書いたような「緊張感のない」という感覚とはちょっと違った気がする。
いい意味でリラックスできてた、という感じがします。

「ライブ慣れ」というのはあるかもしれないけど、会場自体が何回もやっている場所だからというのもあると思う、きっと。

それで、演奏自体がうまくいってたかというのとは別の話ですが。。。

2010年08月の記事別アクセス状況まとめ

Google Analyticsによる本blogの2010年08月の記事別アクセス状況をまとめました。

  1. mixiがつまらない理由 (2008/02/14)

  2. WshShellの Execで実行したコマンドが終了しない (2010/03/29)

  3. Blogger でトラックバックをできるようにする (2008/04/20)

  4. Virgin Killerのジャケット画像 (2008/12/14)

  5. UNION と UNION ALL の違い - SQL (2008/02/18)

  6. iPhone4 が来た (2010/07/26)

  7. フォトリーディング練習中 (2008/05/24)

  8. Oracle 11g をインストールしてみた (2008/01/28)

  9. IKEAのテーブルとチェアの組み立てに思う (2008/05/05)

  10. はかるだけダイエット!のブログパーツ (2008/03/19)

  11. IFRS Certificate試験再び (2010/03/22)


7月の終わり頃に書いた「iPhone4」が入ってきましたね。
なんか「タッチパネル 反応しない」みたいなキーワードで検索して来るみたいです。
やっぱり私だけじゃなくて、初期不良はそれなりにあるってことなんでしょうね。

本当はもっと書きたいのですが、そう思うのならtwitterやっている場合じゃないかもしれません。

またIFRS Certificate試験を受けた

本日、IFRS Certifacate試験を受けてきました。これで通算3回目となります。

前回6月に実施されてましたが、日商簿記試験と日程がかぶっていたので受験できず、半年ぶりとなりました。

いい加減、ちゃんと勉強して臨んで終わりにしろよ、と思いつつ、そんな時間は確保できないまま当日を迎えてしまったわけであります。
感触的には前回3月の受験と同じ感じで、時間は余らせて途中退室しましたが、事前に勉強していた結果としてはっきりとこれだと自信を持てる回答は少なく、基本的な思想の理解を応用したらこうなるだろう、という感じの回答が多数という感じでした。

実際に各論に入ると例外というか想像できなかったパターン/ルールもあるというのは感じている。
まあ、不合格で当然、合格したらラッキーというところではないでしょうか。

それにしても、自分でも驚くほどに試験中はリラックスできていたんですが、一体何なんだろう?と思います。
記事検索
プロフィール

ntakano75

フリーランスでシステムエンジニアをやっておりました。

Twitter
AdSense
Amazon
  • ライブドアブログ