2013年2月17日 (日)

Adobe After Effects CS6 のキャッシュをリムーバブルディスク上に配置する

Adobe After Effects (MacOS X版) のキャッシュをリム...

» 続きを読む

2013年1月23日 (水)

リンク先のファイルを”消せない”便利なコマンド

(追記) 元記事によると、消したかったのは symlink でなくディレクトリ構造だったとのこと。。。それだとこの手も意味ないなぁ。。。

シンボリックリンクをrm -rf symlink/すると不幸になるというエントリで syuu1228 先生が何かを消し去ったらしいのですが、私はこの問題にはハマらないようにしています。参考までに何がおきたかというと、たぶんこういうこと。

hasegaw-Air:~ hasegaw$ cd work
hasegaw-Air:work hasegaw$ ln 
hasegaw-Air:work hasegaw$ mkdir a
hasegaw-Air:work hasegaw$ touch a/[abc]
hasegaw-Air:work hasegaw$ ln -s a b
hasegaw-Air:work hasegaw$ ls -l
total 8
drwxr-xr-x  3 hasegaw  staff  102 Jan 23 22:08 a
lrwxr-xr-x  1 hasegaw  staff    1 Jan 23 22:08 b -> a

hasegaw-Air:work hasegaw$ rm -rf b/ (シンボリックリンクでなく実体の a が消える)
hasegaw-Air:work hasegaw$ ls -l
total 8
lrwxr-xr-x  1 hasegaw  staff  1 Jan 23 22:08 b -> a

rm コマンドに -rf オプションを付けるから痛い目にあうのだという考え方もありますが、このオペミス対策は、単純にファイルを一つ消すことしかできない unlink コマンドを使っておくという手があります。まあファイルがひとつ消える可能性はあるのですが、意図せぬディレクトリやその中のファイルが消えることはありません。

hasegaw-Air:work hasegaw$ mkdir a
hasegaw-Air:work hasegaw$ touch a/[abc]
hasegaw-Air:work hasegaw$ ls -l
total 8
drwxr-xr-x  3 hasegaw  staff  102 Jan 23 22:09 a
lrwxr-xr-x  1 hasegaw  staff    1 Jan 23 22:08 b -> a
hasegaw-Air:work hasegaw$ unlink b/  (実体を消したいがディレクトリは知恵が足りず消せない。アヒャ)
unlink: b/: is a directory

hasegaw-Air:work hasegaw$ unlink b  (ファイルやリンクは消せる)
hasegaw-Air:work hasegaw$ ls -l
total 0
drwxr-xr-x  3 hasegaw  staff  102 Jan 23 22:09 a
hasegaw-Air:work hasegaw$

» 続きを読む

2012年12月19日 (水)

vSphere環境でリンクドクローンVMを大量生成

仮想マシンが大量にほしかったので ESXi 上でリンクドクローンを量産しようとお...

» 続きを読む

2012年12月14日 (金)

割り込みはいかにしてゲストの割り込みハンドラに届くのか

こんばんわ。出遅れましたが12月13日は カーネル/VM Advent Calendar 2012 にて私の当番、といっても一昨年、去年ほど頑張ってネタを仕込めていないので、昨晩調べてたことを軽くまとめておきたいと思います。

ご存じのとおり、Linux KVMやFreeBSDのBHyVeなどはメインループをユーザモードプロセスに持たせる形で仮想マシンが実装されています。また、CPUにはIntel VTもしくはAMD-Vと呼ばれる仮想化支援機能が搭載されており、これらが仮想マシンの実行を行う命令群を提供します。
ただ、実際にはI/O操作など非同期で処理が行われるものがあります。例えば、わかりやすいのは下記の三点でしょう。

  • タイマ割り込み
  • ディスクI/Oの完了通知
  • ネットワークパケットの到着通知

割り込みは遅延させずに通知させる必要があります。たとえば、タイマ割り込みは遅延するとゲスト内で正確な時間をカウントできなくなります(もっとも従来の割り込みを使った時刻の管理が仮想マシンで適しているとは思わないのですが)。
時刻同期のほかにも、例えばディスクI/Oの割り込みも大事ですね。例えばデータベースの更新トランザクションを考えてみます。一般的にデータベースのトランザクション保護はログ領域やダブルライト領域にデータの書き込みが完了してから、次のトランザクションや実際のデータ領域の更新に着手します。このためディスクI/Oが完了したことがリアルタイムに通知されることは非常に大事です。
割り込みは、VMENTERするときにフィールドを指定することによりゲストに挿入できます。が、もしVMが実行されている状況で割り込みが発生したとしたらどういう風に通知されるんだろう、と思って、今回は、割り込みが通知されてからVMENTERするあたりのロジックをちょっとだけ追いかけてみました。

» 続きを読む

2012年7月30日 (月)

BHyVeハッカソンに参加してきました(3)

BHyVeハッカソンでの個人的な取り組みについて紹介してきます。
スライドを一応準備しました(二日目 4:00pm時点。その後いろいろと改良済み)

BHyVeはまだ誕生したばかりの仮想マシンモニタであり管理ツールなどもぜんぜん充実していません。正直なところ実用レベルに達するのは当分先の話でしょう(だからこそいじりがいがある、というものですが)。

実は BHyVe にはまだ仮想マシンをリスト表示するコマンドすら存在していないので、 vmmls というコマンドを実装してみました。

» 続きを読む

BHyVeハッカソンに参加してきました(2)

BHyVeハッカソンは二日間にわたって開催されましたが、最初の半日は仮想化技術にまつわるプレゼンテーションがなされました。

  • Linux KVMとBHyVeの実装を考慮しつつの「仮想マシンの仕組み」 (私がやりました)
  • ハードウエアやら仮想化やらの深いお話
  • BHyVeってなんぞや

プレゼンテーションの後、必要な人には作業用マシンが割り当てられたりして、各々のトピックで作業を開始。気づけば皆、時がたつのを忘れてカーネルモードのコードをいじったりBHyVeをビルドしまくったりとかしていたようです。

Screen_shot_20120728_at_52402_pm

» 続きを読む

BHyVeハッカソンに参加してきました(1)

7月28日〜29日に埼玉県内某所にてBHyVeハッカソンが開催されました。BHyVeとはFreeBSD向けの全く新しい仮想マシンモニタです。

Screen_shot_20120730_at_100505_pm

» 続きを読む

2012年7月11日 (水)

ソルトレイクシティ探検(1)

たまには技術以外のネタで blog 更新でもしようかと。

2011年6月に転職して以来、度々ソルトレイクシティをふらつく機会ができたので楽しんでます。アメリカというか海外初心者です。

ソルトレイクシティはモルモン教 発祥の地であり、ダウンタウンは Sale Lake Temple を中心に広がっています。ダウンタウンは非常に綺麗で、一人で出歩いていて怖いと思ったことはありませんし、なんというかスローな気分になれます。

ちなみにソルトレイクシティとそのまわりの街をあわせた広さは、だいたい東京都と同じぐらいのよう。しかし人口差はすごいですね。

Screen_shot_20120711_at_52155_am_co

» 続きを読む

2012年4月 1日 (日)

ふしおにお、インフラエンジニアの早期帰宅支援アイテム「i○ドライブⅡ」を発表

早期帰宅ソリューションを提供する ふしおにお は、インフラエンジニア双六をより有...

» 続きを読む

2012年3月12日 (月)

OpenIndiana でイーサネットデバイスのリストを表示する

zpool を旧ディスクから新ディスクにコピーしたついでに OpenIndian...

» 続きを読む

«大量のUSBフラッシュメモリを再フォーマットする

最近のトラックバック

2013年2月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28