スキップしてメイン コンテンツに移動

投稿

2011の投稿を表示しています

ZFS on Linux and Lustre その1

先日、分散ファイルシステムでLustreに興味があるとブログに書きましたがZFS on Linux( http://zfsonlinux.org/ )も、気づいたらrc4までリリースが進んでいます。 rc3でlustreとの連携が図られた模様でlustreのバックエンドとしてzfsが使用可能になっています。さらにサポートされるカーネルも2.6.32ベースと比較的、ビルドしやすい?感じになっています。(絶賛、開発中なのは変わりませんが...) 今回は、rc4をベースにlustre連携をやってみようと思います。 まずは、lustreを動かすには、いくつかカーネルにパッチをあてる必要があるので、そちらから。使用した環境は Oracle Linux 6 なのですが、カーネルソースが入手できるものがRedhat互換のkernel-2.6.32-71.el6だったので、そちらをベースにパッチをあてることにしました。 1. 事前準備 # public yum の準備 $ cd /etc/yum.repos.d $ wget http://public-yum.oracle.com/public-yum-ol6.repo ## enabled=1をお忘れなく # 不必要なので停止 $ service iptables stop $ chkconfig iptables off $ vi /etc/sysconfig/selinux $ setenforce 0 2. パッチ(を含むlustreソース)をダウンロード カーネルのビルドはこちらを参考に( http://fedoraproject.org/wiki/Docs/CustomKernel ) $ mkdir ~/work; cd ~/work $ wget --no-check-certificate http://github.com/downloads/behlendorf/lustre-kdmu/lustre-2.0.58.2-1chaos.tar.gz $ tar xzvf lustre-2.0.58.2-1chaos.tar.gz $ yum install rpmdevtools yum-utils 3. カーネルビルド環境の準備 $ rpmdev-setuptree

IOUG (Collaborate11) in Florida 4th

 IOUGも3日目となり、ちょっと疲労も溜まってきましたが、何とか乗りきろうと思っています。 今日の目的は昨日に続いて、OraPubのShallahamerのセッションです。(結構、楽しく聞けるのと、非常に学術的なアンバランスが良い) あとは、最初のIOUGで買ったOracle本がMike Ault著だったこともあり、IOUGに来ると何故か彼のセッションに出てしまいます。 ということで本日のセッションは以下。 Title      : Security Bootcamp: 60 Oracle Database Security Tips in 60 Minutes Speaker    : Ursula Koski Description: This session will be delivered in blazing speed. 60 Oracle Database Security Tips in 60 minutes. Title      : Virtualization Bootcamp: Optimizing Oracle databases on VMware Speaker    : Guy Harrison Description: An increasing proportion of Oracle databases are running in virtual environments and many on VMWare ESX servers. Performance of databases in these virtual environments is subject to some unique considerations relating to the way VMware manages the shared CPU Memory and Disk resources.In this presentation well consider how to monitor and configure VMware to optimize Oracle database performance. Specifically well consider using memory reservations and lim

IOUG (Collaborate11) in Florida 3rd

今日は、有名?な Pythian のAlex Gorbachev(*1)と OraPub のCraig Shallahamerの セッションを楽しみにしていたのですが、残念ながらGorbachevのセッションはキャンセルになっていました。ただ、Shallahamer のセミナーは結構楽しいものでした。 (*1) 昔 BAAG (Battle Against Any Guess)というチューニング用語(というか方針)を聞いてなるほど。と思っていたのですが、これを主宰したのがAlex Gorbachevだと今知りました。 また、関係ないですが、BAAGのネーミングは BAARF (Battle Against Any Raid Five)に似ていると思っていたら、BAARFを参考に考えたと記載がありました。 本日参加したセッションは以下。 Title      : MySQL Bootcamp: MySQL From a Point of View of an Oracle DBA Speaker    : William Brock Description: Both Oracle and MYSQL databases have literally thousands of features and functions. How they are implemented and what features are available can vary widely. Having a simple checklist is virtually useless unless you have an excellent working knowledge of the "guts" of the database (something that can only be obtained by experience actually using the products). The presentation will be from the point of view of an experienced Oracle DBA and a novice MYSQL DBA. The focus will be on administration perf

IOUG (Collaborate11) in Florida 2nd

今日から本格的なIOUGのセッションが始まりました。昨日も書きましたがIOUGはOracleに限らず、データベース全体のセッションも増えてきています。中でもMySQLのセッションが相対的に増えています。 しかし、(これは私の主観ですが)IOUGの参加者はOracleに関するDBAが多いので、MySQLのセッションの人気は今ひとつのように感じます。 本日参加したセッションは以下です。 9:00 - 10:15 Title      : SQL Techniques Speaker    : Tom Kyte Description: The presenter will describe common SQL techniques he has encountered and utilizes day to day to tune query performance. Features such as scalar subqueries using rownum (yes to 'tune') analytics, some hints, and more will be demonstrated. Emphasis will be on when they work (where the 'trick' applies) as well as when they don't work where they do not apply. Care will be taken to show these not as a "top 10 things to do" but rather techniques to keep in mind when looking at problems in general. 10:30 - 11:30 Title      : Understanding Solid State Disk and the 11GR2 Database Flash Cache Speaker    : Guy Harrison Description: Solid State Disk (SSD) is rapidly becoming a viable supplem

IOUG (Collaborate11) in Florida 1st

微妙に時差ボケしてますが、現在 IOUG 主催のカンファレンス Colloborate11 に参加しています。 場所はOrange County Convention Centerです。(地図上のAのところ) 大きな地図で見る   本日は、初日ということで多くの人がレジストレーションにやってきています。 ただ、レジストレーションでは、PCに扱いに慣れないマダムに対応して頂いたのですが、なかなかPCの操作が上手くいかないようで1時間くらいかかってしまいましたが。。。 以前はIOUG単独の開催でしたが、現在はOracle社の様々な買収により様々なユーザーグループが共同で開催されています。 今回(というか前回('09)も)は OAUG(Oracle Applications User Group) とPeoplesoftやJDEdwardsなどのユーザーグループの Quest が共同で開催しています。 また、今回は、Sunとの合併により、MySQLのセッションの多さも目につきます。 とりあえず、明日から、データベース周りのセッションを中心に見ていこうと思います。MySQLも面白そうなセッションがあるので、Guru & Geekのセッションを聞いてみたいと思います。 それはそうと、以前、IOUGでもらったバッグと比べて、今回のバッグは若干チープになっている気が。。。 Collaborate09のバッグ     Collaborate11のバッグ あと、全く関係ないですが、時間があったので、Chicago Bulls vs. Orlando Magic戦を観戦。地元のMagicは惜しくも負けましたが白熱した試合でした。(ちなみに最後列の最上段の席なので、ものすごく小さくしか見えないのですが、臨場感はバッチリでした)

Native ZFS on Linux

先日、 ZFSonLinux にLinux用NativeなZFSがリリース(現時点ではRC2)されていると書きましたが、せっかくなのでOracle Linux 6 (Unbreakable Enterprise Kernel)でビルドしてみることにします。 本当は、ZFSのshareiscsiでZVolumeをiSCSIとしたかったのですが、shareiscsiは現時点では未実装でした。 上記のRC2のアーカイブを使ってもよいのですが、絶賛開発中のものであるのでgit リポジトリから最新ソースを持ってきてビルドしてみます。 ビルドの流れとしては 1. SPLのソースを持ってきてビルド 2. ZFSのソースを持ってきてビルド の2段階です。 1. SPLのソースをgitリポジトリから取得 # git clone https://github.com/behlendorf/spl.git Initialized empty Git repository in /root/work/spl/.git/ remote: Counting objects: 4372, done. remote: Compressing objects: 100% (1195/1195), done. remote: Total 4372 (delta 3264), reused 4206 (delta 3137) Receiving objects: 100% (4372/4372), 1.53 MiB | 637 KiB/s, done. Resolving deltas: 100% (3264/3264), done. 2. SPLのビルド # cd spl # ./configure # vi spl-modules.spec ここで、UEKカーネル用にちょっとspecファイルを修正しておきます。 spl-modules.specの抜粋 # RHEL 5.x/6.x: %if %{defined el5} || %{defined el6}  %if %{undefined kver}   %define klnk           %{_usrsrc}/kernels/*/include/config   %define

分散ファイルシステム

データベースを動作させる上で、安くて、速くて、信頼できる足回りはないものか? 安い : 基本的にはタダで、できないか? 当然ですが、基本的なハードウェア費用はタダじゃない前提です。 速い : シーケンシャルリードで5GB/sくらい。欲しいです。 信頼性 : 特別なハードウェアなしで、RAID6相当の信頼性が欲しいです。 拡張性 : ディスク追加だと、スケールアップしかないので、ノード追加といったスケールアウト可能なもの。 相当、無理な要求のようですが、最近の分散ファイルシステムを使えば、かなり良い線が行くのではないか?と検討中です。きっと、分散ファイルシステムでなくてもやり方や考え方を変えれば、近いものも可能かと思いますが。。。 ただ、ファイルシステムレベルで、上記が要件が満たせるようであれば、データベースはもちろん、様々な用途に使える(いや、使いやすい)んじゃないかと思うわけです。 最近、個人的によく目にする分散ファイルシステムとして Gluster File System があります。 カーネルをいじらず、お手軽に分散ファイルシステムを構築可能なのですが、カーネルをいじらないので FUSE ベースなので、パフォーマンスに難がありそうです。 ただし、他の分散ファイルシステムと、Glusterを比較したパフォーマンス結果も見当たりませんので、今後の検証ネタとしたいと思っています。 FUSEベースではなく、カーネルにパッチを当てたり、一部カーネルに取り込まれたりするものも存在します。 カーネルに取り込まれた(2.6.34にて) Ceph がありますが、まだまだ不安定との情報もあります(これはあくまでも現時点で。という意味です) また、カーネルパッチとして提供されているものとして、 Lustre File System があります。 Lustreとして面白いものとして、 ZFSonLinux に紹介されています。 Lustre自体Cephに比べ、かなり実績があるように思われます。が、あまり安いと呼べるアーキテクチャではないようです。 それは、上記の要件の信頼性がLustre自体では実装されていないからです。(要はストライプのみ実装されている)ですので、Lustreは信頼性担保のためにH/W or S/WでのRAIDを推奨しています。なので、エンタープライズで