USBメモリでraid0

先日の静岡インフラ部でZFSのホットスワップを見た。

面白かったのでやってみた。ちなみにZFSではないので単にraid0の構築です。

貰ったUSBハブとUSBメモリをかき集めたので、128M, 256M, 2G, 8Gという中途半端なサイズ。

fdisk /dev/sda # typeはfd
fdisk /dev/sdb # typeはfd
fdisk /dev/sdc # typeはfd
fdisk /dev/sdd # typeはfd
mdadm -C -v /dev/md0 -l0 -n4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mkfs -j /dev/md0
mkdir /tmp/raid
mount /dev/md0 /tmp/raid

これで10G位のサイズのファイルが見える

1307768420

データを書きこんでみる。yesコマンドで無限y攻撃

yes > /tmp/raid/y.txt

1307768423

それぞれのメモリが点滅しているのできちんと書きこまれていることが分かる。そして、それぞれのメモリのロゴを見ることで貰い物のガジェットであることがわかる。

参考

KVM徹底入門が面白い

さくらのVPSで採用されているというKVMに興味を持ったので書籍を探してみたら、これがヒットしたので早速購入して読んでみた。

ProductName KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド
平 初
翔泳社 / 3444円 ( 2010-07-08 )


ちなみにKVMとは

第1回 Linux標準の仮想化技術「KVM」の仕組み

KVMは、Linux Kernel自体をハイパーバイザとする仕組みで、正式名称を「Kernel-based Virtual Machine」といいます。KVMは現時点では、Intel VT-xやAMD-VといったCPUの仮想化支援機能を必要とし、完全仮想化によりOSの仮想化環境を提供します。

本書の内容は、仮想化全般の基礎知識から、インストール、導入まで。あとはコマンドのちょっとしたリファレンスが付いてくる感じ。Amazonのレビューにある通りひと通り試したことある人には物足りない内容かも知れないが、予備知識無しでKVMが知りたいのならば手軽に読めてよいと思う。

僕の場合にはこういう内容が知りたかったのだけど、ライブマイグレーションの話題しか触れてなかったのでそこはちょっと残念だったかな。

自分の職場はサーバー管理のスキルのない人間が管理者をヤラざるを得ず、ハードウェアを移行するたびに、(昔作ったサービスが移行できずに)サーバー環境が劣化していくという結構悲惨な状況だったりするわけだ。そもそもサーバー管理自体が本来の仕事と関係なくて片手間なのでしょうがなかったりするので、仮想化しとけばさくっと移行できて、ハードウェア移行の際のコスト減らせるかなぁという期待感からKVMに興味を持ったのだ。

特に7章でPythonとlibvirtを使ったプログラミングの例が出ているようにPythonを利用して色々できそうなので、サーバー管理の省力化に貢献しそうな気はするんだよなぁ。

  • 仮想マシンの導入には複数の方法がある
  • ホストから見た場合、VCPUはQEMUが立ち上げるスレッドに対応する。
  • 実CPUの数を超えてVCPUを割り当てることも可能だが、あまり意味はない
  • HugePageの利用シーンは?
  • virtio-balloonでメモリの確保と開放
  • live migration
  • ネットワークの設定の仕方は主に2つある
  • libvirtdでのプログラミング

実用SSH

今週からさくらのVPSを使い始めた。

sshをきちんと使えなきゃなということで数年前に買って積んでいたこの本をじっくり読んだら、大変勉強になったというかちゃんと読んでよかった。

7章のクライアント使用法 応用編が役に立った。

特にscpは非常に便利で使い方覚えたらこればっか使うようになってしまい、Cyberduck立ち上げなくなった。

ProductName 実用SSH 第2版―セキュアシェル徹底活用ガイド
Daniel J. Barrett
オライリー・ジャパン / 5040円 ( 2006-11-22 )


  • OpenSSHでパスフレーズの変更は-pオプション
  • SFTPとFTPはプロトコル上の互換性はない
  • OpenSSHでは-Tオプションでptyを割り当てない
  • <ESC> .でSSHセッションの終了
  • scpでディレクトリの再帰的コピーは-rオプション
  • sshでトラブったら-vで冗長モードにする
  • scpのポート指定オプションは-P
  • scpの-Cでデータ圧縮して転送

linuxのatコマンド

うちは輪番停電の第5グループなので、明日は正午に停電が起こるわけだ。

そのタイミングで自宅サーバーも落としておきたいがcronだと毎日同じ時間に設定されるし、毎度毎度変更するのも面倒くさい。

そういう時にはatを使えばいいらしい。

echo "shutdown -h now" | at 11:50 3/15/2011

なにげにatを使うのは初めてだな。

ProductName プロのための Linuxシステム構築・運用技術 (Software Design plus)
中井 悦司
技術評論社 / 3024円 ( 2010-12-22 )


というわけで、このブログは第5グループの停電に応じてアクセスできなくなることが判明した。

pythonでcursesプログラミング

突然pythonでcursesプログラミングがしたくなったというか端末アプリを作る時にcurses使えたほうがいいよねと。

で、cursesプログラミングするならCのドキュメント漁ったほうがいいよなということで、Linuxプログラミングを読みなおした

ProductName Linuxプログラミング―例題で学ぶUNIXプログラミング環境のすべて
ニール マシュー
ソフトバンククリエイティブ / ?円 ( 1999-03 )


一章まるまるcursesに割かれているので役に立った。買ったときには「cursesなんて使わんだろ」と読み飛ばしたのに。

結局、端末操作はキーボードがある限りなくならんし、効率的なインターフェースで在り続けるのだろうな。

Linuxカーネル2.6解読室 Part III

メモリ管理

ProductName Linuxカーネル2.6解読室
高橋浩和,小田逸郎,山幡為佐久
ソフトバンククリエイティブ / ¥ 5,670 ()
在庫あり。

Linuxカーネル徹底理解も参考にしながら読んだ。

Linuxカーネル2.6解読室 Part II

プロセス管理

ProductName Linuxカーネル2.6解読室
高橋浩和,小田逸郎,山幡為佐久
ソフトバンククリエイティブ / ¥ 5,670 ()
在庫あり。

execveシステムコールはそれまで使用していた空間を破棄し、新たな空間に別のプログラムをロードして実行を開始する。

Linux-DB システム構築/運用入門

データベース運用とかはやっていないし、最近SQLiteばっかりだけど読んで正解だった。 面白いというか勉強になった。読んでおいて損はしないと思う。

ProductName Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
松信 嘉範
翔泳社 / ¥ 2,814 ()
在庫あり。

  • 監視ツールmon
  • covering index
  • 上位N件取得クエリの難しさ
  • KVSからRDBMSへの回帰
  • sysbench

Linuxカーネル2.6解読室 Part I

カーネルプリミティブ

ProductName Linuxカーネル2.6解読室
高橋浩和,小田逸郎,山幡為佐久
ソフトバンククリエイティブ / ¥ 5,670 ()
在庫あり。

Fedora7にmatplotlib-0.90.1をインストール

Fedora7用のrpmがないのでsrc.rpmをとってきて

rpmbuild --rebuild --define 'pyver 2.5' wxPython2.8-2.8.4.0-1.src.rpm

でいいと思うんだけど、rpm -Uvhで入れようとすると

エラー: 依存性の欠如:
    libiconv.so.2 は wxPython2.8-gtk2-unicode-2.8.4.0-1.i386 に必要とされています

と怒られる。so.2も在るし、ldconfigもきちんとしてるのに、、、、謎だ。

と思ったらこれrpmで入れてなかったわ。

結局tarballから入れた。