Opendedupという重複排除機能搭載のLinux/Windows向けファイルシステム

2024/04/23追記

2024年4月現在、Opendedupのサイト自体は存続している。

githubでの開発状況を見ると2022年8月の修正が最後で、またまとめた形でのリリースは2016年8月のver 3.2.1が最後となっているようだが、メインサイトの”Changes“には「ver 3.5.7」、”Download“では「The most current version is 3.10.8.0」という記述があるので、開発は続いている模様。

とはいえ、サイト上の対応OS記述がUbuntu 14.04やWindows Server 2012だったりするあたりでちょっと怪しい・・・


Opendedupという重複排除機能搭載のファイルシステムを発見した。

ファイルシステム層はCで作られているが、そこより下層の重複排除処理やデータ書き込み処理部分についてはJavaで作られているとのこと。

重複排除以外にも、レプリケーション機能もあるようだ。
(SDFS Volume Replication)

Cloud Based Deduplication Quick Start Guideを見ると、Amazon S3や、Windows Azureのストレージを、Opendedupeで直接利用できるようだ。

Linux環境では、FUSEを使ってマウントする。

Windows環境では、Dokan(以前は http://dokan-dev.net/ だったが2021年時点では消滅)というWindows版FUSEみたいなのを使うが、Opendedup配布パッケージに組み込み済みなので別途インストールする必要はない。
なお、Dokanは「土管」が語源のようです。(Dokanライブラリの説明 http://dokan-dev.net/about/ )

OpenDedup Deduplication NAS ApplianceというOVFテンプレートの仮想マシンも用意されている。

こっちにはSDFS Manager というWeb GUIプログラムが同梱されているようなのだが、スクリーンショットを見る限りでは、かなりちゃんとしている雰囲気が・・・

munin向けのpcsensorプラグインを作った

上海問屋のDNSB-35137など、いくつかの販路で取り扱われているUSB接続の温度計 RDing TEMPerV1.2。

その温度をmuninで計測するためにpluginを作った。

今回考慮が必要だった点
・USB温度計を2つつなぐ
・つなぐUSB BUSが同じであるため、CentOS5上で見分けがつかない
 (TEMPerV1.2ではシリアルを含めデバイス内のパラメータが全部一緒で見分ける方法がない)
・2つの温度計の設置位置は違うので、温度差が5度ぐらいある
・pcsensorコマンド実行時、デバイスがオフラインになることが良くある
 (参考→USB温度計 TEMPerV1.2は計測ミスが多い)

あまり複雑なことをするのも嫌だったので、単純な実装としました。

・温度が2つ取得できるまで、再試行する
・温度が低い方から順にソートして「usbtemper0」「usbtemper1」としていく

また、内部で使うコマンドは、うちで作成した「pcsensor-1.0.2 for TEMPerV1.2 with multi device support」を使います。

USB温度計を1個しか繋がない人は「my $maxdevice=1;」に書き換えてください。

#!/usr/bin/perl -w

my $options="-d";
my $maxdevice=2;

my $arg=$ARGV[0];
if(!$arg){ $arg=""; }

if("$arg" eq "config"){
    print "graph_title USB Temperature Sensor\n";
    print "graph_vtitle Celsius\n";
    print "graph_category sensors\n";
    print "graph_args --base 1000 -l 0\n";
}

my @devlist;
my $count=0;
while($count<$maxdevice){
    open(FILE,"/usr/local/bin/pcsensor $options|");
    while(my $line=<FILE>){
        $line =~ s/\n//ig;

        if($line =~ /Temperature/){
            my @strs=split(/ /,$line);

            my $devnumber=$strs[3] ."-". $strs[5];
            my $value=$strs[8];
            $value=~ s/C//ig;
            #$value=int($value);

            $devlist[$count]=$value;
            $count++;
        }
    }
    close(FILE);
}

my $counttmp=0;
foreach $value (sort @devlist){
    if("$arg" eq "config"){
        print "usbtemper".$counttmp.".label USB temper".$counttmp."\n";
    }else{
        print "usbtemper".$counttmp.".value ".$value."\n";
    }
    $counttmp++;
}

これ、仕掛けて3時間ぐらいしたら、kernel panic起こしやがった・・・

Firefox OSがSpereadtrum SC8810対応に?

Firefox OSのソースコードにPEAK対応が追加されたよ。というので見てみたら、Spereadtrumチップに対応しているのを発見。

B2G/config.shによれば「tara」というコードネームのマシンが「sp8810ea」と定義されてた。

いつ追加されたのかなぁ?と調べてみると2013/04/04「Add tara device support」だった。

さて、この「sp8810ea」とは何かとゆーと、以前に「SpreadtrumのSC8810(SP8810)とSC9610というCPU」という記事でも紹介したが、
中国にあるSpereadtrum社の製造する、GSMと、中国専用の3G TD-SCDMAに対応した、Cortex-A5ベースのCPU SC8810のことだと思います。
中華Android業界では、なぜかよくわかりませんが、「SC8810」ではなく「SP8810」と表記されることが多いです。

わざわざこいつに対応するとは、中国とか、GSMしかない国とかで、廉価スマートフォンとして、かなり売り込む気まんまんですね。

・・・あれ?
検索したら、ずばりそのもののリリースを発見。

2012/07/16発表のSpreadrum社公式リリース「Spreadtrum Low-Cost Smartphone with HTML5 Operating System Demonstrated at Mobile Asia Congress 2012

ようやく、表に出てきた、という感じみたいですね。

さて、現状発売されていいるSC8810搭載機について、fastcardtechで見る限り

とか、そんな感じの価格です。
K-Touch、Lenovoも出しているのがちょっと意外です。

まぁ、個人的には、MediaTekチップセットに対応するべきなんじゃん?と思うわけですが、そこまではやらないのかなぁ・・・

WebminのapsupsdモジュールをRHEL/CentOS6対応にしてみた

RHEL/CentOS 6.4にて、Webminを使って管理をおこなおうとしている。

サーバはapcupsdを使って停電対策をとることにした。
apcupsdの中には、WebでUPSの状態を確認できるようにcgiが添付されている。
これをWebminに組み込めないか確認した。

公式サイトでは「http://download.webmin.com/download/modules/apcupsd-0.81-2.wbm.gz」にそれっぽいものがある。

とりあえず、これを使ってみたところ、以下の問題点があった。

・cgiのパスが、apcupsd-0.81-2.wbm.gzの標準設定では/etc/apcupsd/
・WebminでUPSステータスを見ると、ヘッダが見える形で表示されてしまう。

これをとりあえず解消したものを作成した。

http://blog.osakana.net/sw/apcupsd/apcupsd-mod4.wbm.gz

SoftNASという仮想マシンとして立てるCentOS+ZFSのNAS

2021/02/10追記

2020/04/21にSoftNAS社Buurst社となっていた(Learn the new rules of cloud storage)。
プロダクトとしては引き続きSoftNASという名称のままである。

2021年1月にCentOS8.2ベースにsamba 4.12を載せたSoftNAS 5がリリースされていた(Announcing SoftNAS 5 – a Modern Approach to Cloud NAS)。

これまでのリリースノート一覧ドキュメントなども見やすい形で公開されるようになっていた。

ただ、以前あったDeveloper Editionは消えて、Demo版がAWSAzure上で展開できる、という形がメインになっている模様で、ローカルのvSphere上で展開する用のファイル提供の入手は面倒になっているようだ。



2019/01/23追記

2019年1月現在、SoftNAS Essentialsは有償プランの1つとなり、無償で使えるものは「SoftNAS Developer Edition」となった。使用可能容量も250GBまでと大きく制限されている。Amazon AWS, Microsoft Azureのマーケットプレイスにイメージが並んでいるので、そこからデプロイできる他、スタンドアローンのvSphere上にデプロイするためにSoftNAS-4.0.1.ovaが提供されている。

以下は2013年3月記載の古い記述となります。


SoftNASというものがあるらしい。

・CentOS6ベース
・ファイルシステムはZFS
・vSphereやHyper-Vの上に仮想マシンとして動作させる
・Amazon EC2用も用意されている
・検証用にVMware Workstation 8.xもサポート
・割り当てるCPUリソースは2vCPU~8vCPU
・割り当てるメモリリソースは2GB~32GB
・Dedupe機能あり(1TBにつきメインメモリ1GB追加使用)
・Thinprovisionおよび圧縮
・NFS/CIFS/iSCSIを提供できる
・Volumeスナップショット
・レプリケーション機能あり
  → Amazon EC2上に立てたサーバにレプリケーションできる
・ZFS L2ARCを利用したSSD利用の高速化

SoftNAS Essentials」という機能限定版は無償利用可能。
限定の内容の抜粋
・1TBまで
・以下の機能が使えない
 ・SSD利用の高速化
 ・iSCSI機能
 ・レプリケーション
 ・スナップショットのスケジューリング

詳細の違い

まぁ、おもしろそうではあるので、ちょっと試しに使ってみるかな


インストールしてみた

・CentOS 6.3 x86_64
・kernelはCentOS標準を利用している
ZFS on Linux利用
zfs-0.6.0-rc14.x86_64, zfs-modules-dkms,zfs-dracut,zfs-test
・独自Web GUI+Webmin
・NFSやCIFS設定はWebmin画面という感じ
・独自Web GUIは、iconCubeを使って暗号化処理をおこなっている
・独自Web GUIは多言語対応を考慮に入れてないっぽい
・LinuxはGUIログイン
・Chromeインストール&yum repo登録済
・sysctlに特にコレといったパラメータが入れられてない
・/etc/sysconfig/nfsとか/etc/init.d/nfsにも特にパラメータが入ってない
・「Software Updates」は、あくまでSoftNASに関するモジュールのみで、CentOS自体のアップデートは対象外


微妙だなぁ、と感じた、もっとも大きな点は、管理UIの不徹底です。

新規で使う際、以下の順序で操作をおこなっていきます。

1. Webにログイン
main-001
独自のAJAXなUIです。

2. 「Disk Devices」にて空きディスクにパーテーション設定
disk-dev
この画面はWebminそのままです。

3. 「Storage Pools」にてディスクの登録
storagepool
独自のAJAXなUIです。

4. 「Volumes and LUNs」にてボリューム作成
volume
独自のAJAXなUIです。
ここでボリュームを作成すると、マウントされるようになります。

5. 「NFS Exports」にてNFSマウントの設定
nfs-export
この画面はWebminそのままです。
NFSv4対応のwebmin設定画面はPseudofilesystemの関連でちょっとわかりにくいのですが、放置です。

6. 「CIFS Shares」にてCIFS関連設定
cifs-share
この画面もWebminそのままです。
なお、説明書を見ると、CIFS設定は、別途コマンドおよびファイル編集が必要、と書いてあります。

というわけで、使いやすそうな雰囲気がするGUIのわりに、手を抜いてる場所が結構あるせいで、操作感の統一がされておらず、説明も足りてないので、非常に使いにくい感じになっています。

はたして、これは修正されていくのでしょうか・・・???