彷徨えるフジワラ

年がら年中さまよってます

zfs

Python library for ZFS (pyzfs) のバグを修正する

本エントリは Solaris Advent Calendar 2016 の 22 日目です。 Python library for ZFS libzfs の zfs_iter_*() 系 API 利用について、ソースツリーを網羅的に調べた際に、Python から ZFS を利用するためのライブラリが提供されているのに気付きました (ソ…

厳密な順序での ZFS スナップショットの列挙

本エントリは Solaris Advent Calendar 2016 の 20 日目です。 動機 既存の ZFS なファイルシステムから、別プールに複製を作成する場合、zfs send + zfs receive を使うのが一般的です。しかし、そもそも zfs send で指定するスナップショットは、どうやっ…

beadm コマンドの舞台裏

本エントリは、Solaris Advent Calendar 2016 の 16 日目です。 「ENOSPC だと beadm destroy できない」問題 先日、久々に仮想環境ゲストの OpenSolaris 上で pkg update を実行したところ、新規ブート環境 (Boot Environment: BE) が作成された上で、大量…

OpenSolaris 勉強会 2014.01

1月25日(土曜)は、日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2014.01 に参加してきました。"Solaris Internals" 枠は、例によって要約した発表資料を元に、第10章の「Physical Memory」の 10.3 The Page Scanner から最後までの掘り…

OpenSolaris 勉強会 2013.12

日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2013.12 に参加してきました。季節外れの台風が関東に接近していたこともあって、前回は直前に開催中止でしたので、随分久しぶりな感じがします。今年最後の開催で、忘年会的な意味合いもあ…

4KBセクタHDDとZFSミラー 〜 実装調査編

自宅の Solaris (OpenIndiana) マシンのルートプール (rpool) は、HDD x3 ミラーリングで運用しているのですが、その内の一台が先日お亡くなりになってしまいました。最近は 4KB セクタな HDD がすっかり定着したようで、現在 rpool の運用に使用している 51…

仮想マシン上の ZFS 領域の復旧

要約すると『仮想化ゲスト側が ZFS 運用だと、ホスト側由来の問題があっても、復旧が楽チンだよ?』という話。先日、音楽再生中の iTunes が、突然うんともすんとも言わなくなった。まぁ、Windows 上の iTunes は時々アレだからなぁ、と思っていたら、どうや…

OpenSolaris 勉強会 2012.08

東京 OpenSolaris 勉強会主催の 2012.08 勉強会に参加してきた。"Solaris Internals" 枠は、例によって要約した発表資料を元に、勝手な掘り下げやら何やら。前日に発表資料への加筆をしようとしたところ、Kindle for PC が立ち上がらないなどというトラブル…

程々の構成に落ち着く

ZFS rpool のミラーを構成していた HDD が駄目になったので、HDD を買い足しつつ、構成の見直しを。ストレージサーバを ZFS で運用するなら RAID-Z にしてみたいし、HDD を SATA 接続するならホットスワップも出来る様にしておきたい、などと色々やってみた…

ZFS rpool の HDD が壊れる

自宅 Solaris サーバへの ssh アクセスが死ぬほど遅い。さっき再起動したばかりなので、諸々の読み込みに時間が掛かっているのかな?とか、DNS 逆引きとかでアレしているのかも?などとも思ったが、もうそんな次元を通り越して応答が返って来ない。で、conso…

VirtualBox ゲスト Solaris 上で CIFS サーバを立ち上げる

デスクトップ環境において、以前は「ホスト側 OpenSolaris で CIFS サーバ稼動」+「VirtualBox ゲスト側 Windows でファイル共有」という運用を企んでいたのだが、ホスト/ゲストを逆転させて運用することに。OpenSolaris CIFS にこだわるのは、ZFS による…

HOME 用途を別の ZFS pool に移行する

新し目の OpenSolaris をインストールすると、HOME 領域のファイルシステムも起動領域を含む rpool に内包される形式で作成されるのだが、root と HOME は媒体を分けておきたいよね?というのが旧世紀遺物エンジニアの感覚なので、/export/home 配下を別途作…

ZFS プールの HDD を再利用

自宅 Solaris サーバの ZFS rpool の HDD 構成を変更。以前は別の ZFS プールに使用していた HDD の rpool 組み入れを目論む。rpool で使用する場合はブート用スライスを確保する必要がある(本当に必須なのかは個人的には「?」。後で調べようと思ってすっか…

Solaris での SATA デバイス

当初は PhenomII X4 を予定していた次期自宅サーバも、結局 MINI-ITX Atom マザーで組むことに。自分にとっての自宅サーバの主要用途が、データの集積場所=ストレージサーバであって、計算力を常時提供する必要性が薄い事を考えると、冷却(+ それに伴う騒音…

ユーザ追加と、ホーム領域の "zfs create"

OpenSolaris をインストールする際に作成される、管理用ユーザのホーム領域は、ZFS の rpool プール内の /export/home 配下に、新たに "zfs create" される形で作成される。で、ユーザ追加コマンド(useradd)のデフォルト挙動が、これと同じだと仮定するなら…

"zpool status" の core dump 問題

折角新規ゾーンを作成したので、非 global ゾーン側での "zpool status" 実行で core dump してしまう件に関して確認してみる。…………うーむ、何の問題も無く動くなぁ > "zpool status"@非 global ゾーンassert 行番号から見て zpool_main.c は 2009.06 == on…

ZFS プールのデグレード解消

何気なしに "zpool status" してみたら、ブート用プール(rpool)のミラーリングが片肺状態に。2本の RAID-1 構成で、1本が "can't open" なる状態になっているらしく、DEGRADE しているとの警告が。初期不良にしては(ほぼ連続稼動で)一月以上経過していて遅過…

VMODSORT on ZFS

現行 Solaris のファイルシステムフレームワークでは、ファイル内容をキャッシュするためのメモリページ一覧を、vnode_t 毎に管理している。但し、キャッシュページのデフォルトサイズが 8K(2^13) バイトであるため、例えば 1G(2^30) バイトのファイルの場合…

VirtualBox ゲスト on ZFS RAID-0

RAID-0 は本当に早いのか?ということで、まずは理論値ベースでボトルネックの有無を検証してみる。実のところ検証したのは3年前の話なので、正確には「検証してみた」だけど。SATA は初期規格(1.0)でも 1.5Gbp なので、有効データ転送量は 150MB/s 程度(ク…

実環境向けに ZFS 構成を試行錯誤

今回組み上げた Solaris マシンでは、1TB HDD x 4 で RAID-Z な感じで行こう、と思っているのだけれど、「ZFS root はミラーリング限定」という縛りがある(OpenSolaris 200906 段階でも制限解除されてないよね?)。流石に1TB HDD x 4 なミラーリングなどとい…

HDD 障害復旧予行演習 〜 実践編(ZFS)

「実践」とは言いつつも、デバイスの抜き差しが絡む試行錯誤を実マシンでやるのは流石に面倒なので、実際には VMWare 上の仮想マシンで。更に、バックアップ用の ZFS プールも遠隔マシン上ではなくローカルに作成、という手抜きっ振り。ま、予行演習ですから…

HDD 障害復旧予行演習 〜 計画編(ZFS)

ファイルシステムを刷新するなら、「HDD がお釈迦になった際のバックアップからの復旧手段」を確認しておくのが大人の嗜み。というわけで、ZFS における障害復旧のフローを確認。基本は: 外部メディアでブート バックアップから、新規 HDD にルートプールを…

容量拡張を伴うディスク入れ替え(ZFS)

同容量でのディスク入れ替え実験が済んだので、いよいよ容量拡張を伴うディスクの入れ替えをば。fmthard を使って非対話的にパーティションを作成する方法はわかっていたので: 現在使用中の HDD の prtvtoc 出力を生成(以下「vtoc1」) 容量拡張用 HDD の prt…

ディスク入れ替えで遊んでみる(ZFS)

引き続き ZFS におけるディスク入れ替えの予行演習などを。まずは、mirror 化を経由して移行した先の起動ディスクの SCSI ID を変更してみる。これは何事も無く再起動成功。

ディスク入れ替え予行演習(ZFS)

自宅サーバの OpenSolaris 化に向けて、ディスク入れ替えの予行演習を VMWare の上で実施してみたら一発では上手いこと行かなかったので、備忘録がわりにメモなどを。

ZFSソース読み重点項目メモ

先日の OpenSolaris 勉強会参加で俄然 ZFS のソース読み意欲が高まったわけだが、高まったからと言って即着手できるほど世の中甘くはない。本当は「思い立ったが吉日」で、即行動こそが勝利の方程式なんだろうけどね。とりあえず、忘れないように疑問点など…

OpenSolaris 勉強会

第3回TokyoOpenSolaris勉強会に参加してきた。