ZFSのスナップショットマネージャー Sanoidを使う

ZFSにはスナップショット管理機能があります。スナップショットは便利です。自前スクリプトでも管理できますが管理ツールがある方が便利です。

Sanoidの機能

  • スナップショットの作成と削除(sanoidコマンド)
  • ZFS send/recieveを利用したローカル/リモートバックアップ(syncoidコマンド)

実際にはもう一つ、findoidというコマンドもあります。使っていないのでここでは省略します。

参考:

“ZFSのスナップショットマネージャー Sanoidを使う” の続きを読む

リモートLinuxマシンのDockerイメージを作る方法

手っ取り早くリモートのLinuxマシン(私の場合はVMwareの仮想マシン)からDockerイメージを作りたくなったのでその手順です。

最低限の手順なのでサービス(nginxやhttpd)を動かしたい場合はカスタマイズが必要です。不必要なファイルもコンテナに入るので、サイズを小さくする場合は適当にファイルを削除してください。

きっちり作るにはベースOSに必要最低限のパッケージだけ入れたコンテナを作り、そのコンテナに必要なパッケージを入れて作ります。しかし、コンテナが大きくても構わない、アップデートをベースのコンテナとDockerfileのビルドで行わなくても構わない、といった際にサクっと作るには便利です。

“リモートLinuxマシンのDockerイメージを作る方法” の続きを読む

FedoraでZFSを使う

Fedora(Linux)でボリューム管理、スナップショット、圧縮、RAID5以上の性能と可能性を持つファイルシステムで”安定しているファイルシステム”となるとZFSしかありません。

機能的にはBtrfsも同等の機能を持っています。しかし、少なくともこのブログを書いている時点では、RAID56はカーネルがクラッシュした場合などにファイルシステムが壊れてしまう問題があります。2017年8月に修正パッチが提案されていますが、12月現在でも運用環境では使用しないように、と注意書きがあります。

ZFS, Btrfsは両方ともデータの整合性のチェックが可能です。一般にログファイルシステムと呼ばれているファイルシステム(NTFS, XFS2, Ext4など)はディレクトリ情報などのメタデータの整合性をログで維持しています。ZFS、Btrfsはメタデータの整合性に加え、データ自体の整合性もハッシュでチェックしています。冗長性を持たせていない場合でも、HDDのセクタ不良でどのファイルが壊れたのか確実に判ります。

HDDは普通一気に使えない状態になりません。RAID1で冗長性を持たせていても、どちらかのHDDのセクタ不良の場合はどちらのデータが正しいのか?判断できません。ZFSやBtrfsなら、どちらのデータが正しいのか判断できます。

データ整合性の保証はZFS、Btrfsの大きなメリットです。

“FedoraでZFSを使う” の続きを読む

実は守れていないローカルネットワーク

ファイアーウォールで守っている、プロキシも使っている、だからインターネットからローカルネットワークは守られている!

半分あたりですが、半分はずれです。よくあるネットワークシステムではローカルネットワークはインターネットから半分くらいしか守っていません。

まだ対策をしていない場合は実施することを強くお勧めします。

クロスサイト攻撃からローカルネットワークを守ることは簡単です。簡単なので会社、特にシステム開発/運用部門は必ずローカルネットワークへのクロスサイトアクセスを禁止&検出すべきです。クロスサイト攻撃とはクロスサイトスクリプティング(XSS)やクロスサイトリクエストフォージェリ(CSRF)の事です。基本的な対策ですが、意外に実施されていることが少ないようです。

クロスサイト攻撃はWebシステムに対するよくある攻撃手法です。少しの手間でインターネットからローカルネットワークに対するクロスサイト攻撃を完全に防止することが可能です。

“実は守れていないローカルネットワーク” の続きを読む

Fedoraのrescueイメージとカーネルを更新する方法

Fedoraもfedupを使って簡単に更新できるようになって便利になりました。しかし、システムにインストールされているrescueイメージとカーネルが古くなっても更新されません。さすがにFedora22でFedora18頃のrescueイメージとかカーネルでは怖いので更新方法を調べてみました。

“Fedoraのrescueイメージとカーネルを更新する方法” の続きを読む

Fedora 20(Kernel 3.14.x用)のパッチ済みVmware Workstation 9モジュール

モジュールにパッチを当てていたことを忘れてVmware Workstation 9をバージョンアップしてしまいました。当然ですがモジュールがビルドできないので使えない状態になってしまいました。現在、利用しているVmware Workstation 9用のパッチは検索しても簡単には見つからないようなので、手元に残っていたモジュールソースのアーカイブを利用して使えるようにしました。

かなり無責任なエントリですが、Linux 3.14カーネルとVmware Workstationを利用されている方なら参考にはなると思います。また忘れそうなので自分用のメモです。

“Fedora 20(Kernel 3.14.x用)のパッチ済みVmware Workstation 9モジュール” の続きを読む

PCをZ97チップセットのマザーボードに更新

数年ぶりにLinuxをインストールしているメインPCにしているPCのマザーボードを交換、同時にCPU、メモリ、ディスクも新しい物にしました。近々このマザーボードは別のマザーボードに交換すると思います。SSDも交換するかも知れません。Linuxユーザーの為に情報を共有したいと思います。

Linuxは大抵の環境で動作しますが、まだまだいろいろある、という話です。

詳細な調査を行ったのではありません。取り敢えず自分が使う環境を整備する為に試した時のメモ程度だと理解してください。コメント歓迎します。

“PCをZ97チップセットのマザーボードに更新” の続きを読む

Apple KeyboardをLinuxとWindowsで使用する 

Linux PC用にJIS配列Apple KeyboardのUSB版(フルサイズのApple Keyboard)を購入しました。

MacBookと同じ配列のワイヤレス版の場合、長時間の入力には向かない、とAppleサイトの製品レビューにはあったのでUSB版を購入しました。バッテリーも気にしなくて良いのはメリットです。

“Apple KeyboardをLinuxとWindowsで使用する ” の続きを読む

.Net用OCaml – F#の入門書 – Expert F#

OCamlはプログラミングコンテストで優勝するチームや開発者御用達の言語であることは以前から知っていましたが、個人的に利用しようと思ったありませんでした。しかし、最近関数型言語の人気が非常に高まってきています。関数型言語の簡潔なコードや副作用の少ないコードの生産性が認められてきたからだと思います。

OCamlを勉強しようかと思いましたが、AmazonでちょうどF#の本(英語版)が昨年末出版されている事を見つけて購入しました。
“.Net用OCaml – F#の入門書 – Expert F#” の続きを読む

MomongaLinux4でCanon iP7500を使う

Canon iP7500をMomongaLinuxから利用するには

http://www.canon-sales.co.jp/drv-upd/bj/bjlinux260.html

に掲載されているフィルタをインストールしてCUPSのプリンタ設定ページからドライバを選択すれば利用できるようになります。

バイナリrpmを入れても良いのですが、以前にうまく動作しなかった事があるのでSRPMからインストールすることにします。

このcnijfilter-commonはlibxml(obsoleteなパッケージです)が必要なので、どこかから適当なSRPMを拾ってきます。rpmbuildコマンドでビルドするとlibtoolでエラーが発生するので/usr/sbin/libtoolで上書きします。書き換えていれば問題無くビルドできました。

次にcnijfilterのビルドですが、まずcups-devel, gtk+1-develをインストールしておきます。他にも必要な開発用パッケージがあるかもしれません。必要な物はインストールします。

%installセクションの

install -c -s -m 755 ${PR_ID}/database/* ${RPM_BUILD_ROOT}%{_libdir}/bjlib

の-sオプションを削除します。ライブラリでもないファイルに-s(stripオプション)が付いているのでエラーになります。後はrpmbuildでビルドして出来上がったrpmを全部インストールします。

CUPSは再起動しないと新しいドライバを読み込まないので再起動します。その後、プリンタメーカでCanonを選択するとcnijfilterがサポートするプリンタ(Canon PIXUS iP4200 / PIXUS iP6600D / PIXUS iP7500 / PIXUS MP500)が一覧に表示されるようになります。

サポートディストリビューションはSUSE Linux 10.0、Turbolinux FUJIとなっていますが同じ手順でFedoraなどにもインストールできると思います。ここにRedHat系のOSが載っていないのはサポート負荷軽減の為?と勘ぐりたくなります。Libxml2を使うように書き換えればもっと簡単に多くのディストリビューションで使えるようになると思います。

Canonのページを見るとUSBからの接続しかできないような記述になっていますがネットワークプリンタとして接続できればLPDでもIPPでも印刷できます。

MomongaLinux3以来のインストールでしたが以前よりインストールが簡単になっていました。以前はインストール済みのライブラリ(確かlibpngとか)を強制的に別バージョンに見せてインストールしたと思うのですが今回はそのような荒技を使わなくても普通にインストール出来ました。

Mac OSXにはiP7500用のドライバがあるのですがこのドライバはMacのUSBポートに直接iP7500が刺さっていないと動作しない代物です。OSXもCUPSを使っています。CUPSのフィルタならOSXでも使えるはずなので余裕があるときにインストールしてみたいと思います。

追記:
とりあえずビルドした物を公開しました。よろしければどうぞ。
http://wiki.ohgaki.net/index.php?Momonga%20Linux%2FCanon%20Printer

Linuxの電源管理

Linuxパワーユーザには当たり前の情報が多いですが、IDFでlesswatts.orgがお披露目となったようです。

と同じ情報が掲載されているものが多いようです。

LinuxをノートPCで利用する場合に少しでも長くバッテリを利用する為のTipsが掲載されています。サーバの消費電力軽減にも役立つTipsもあります。Intelチップ専用のTipsもありますが、Intel以外でも使えるTipsもあります。Kernelやコマンドがサポートしていないと利用できない機能もあります。

サイトの掲載されているTIPS:

  • SMPスケジューラの電源管理有効化

    echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

  • SATA電源管理有効化

    hdparm -B 1 -S 12 /dev/sda

    -B set Advanced Power Management setting (1-255)
    -S set standby (spindown) timeout
    -y put IDE drive in standby mode
    -Y put IDE drive to sleep
    -Z disable Seagate auto-powersaving mode

  • ラップトップモードの有効化

    echo 5 > /proc/sys/vm/laptop_mode

  • CD/DVDをポールしない

    hal-disable-polling –device /dev/scd0

    デスクトップでもCD/DVDを挿入した場合に操作を選択するダイアログを表示されない為に利用すると便利。

  • WOL(Wake on LAN)の無効化

    ethtool -s eth0 wol d

  • Gigabit LANを100Mbpsに変更

    ethtool -s eth0 autoneg off speed 100

    1000Mbpsに戻すには最後のパラーメータを1000にしてethtoolを実行。

  • Intel Wirelessアダプタの省電源機能の有効化

    iwpriv eth1 set_power 5

    省電源機能を無効にするには最後のパラメータを6にして実行。

  • 自動アソシエートモードの無効化

    rmmod ipw2200
    modprobe ipw2200 associate=0

    WiFiアクセスポイントを一生懸命探さなくなる。

  • WiFiの無効化(電波OFF)

    for i in find /sys -name "rf_kill" ; do echo 1 > $i ; done

    有効にするには

    for i in find /sys -name “rf_kill” ; do echo 0 > $i ; done

  • Bluetoothの無効化

    hciconfig hci0 down
    rmmod hci_usb

  • バックライトの調整

    xbacklight -set 50

  • DMPS(ディスプレイの電源管理)有効化

    xset +dpms

    120秒のアイドルで電源OFF

    xset dpms 0 0 120

  • TV/VGA/DVI出力の無効化

    xrandr –output TMDS –off

  • Realtimeの有効化

    mount -o remount,relatime /

    atimeの様にアクセス時間の記録をsyncしない(直ぐにatimeをアップデートしない)のでディスクの利用が効率化する。デスクトップでもお勧め。

  • サウンドカードの省電源機能の有効化(AC97)

    echo 1 > /sys/module/snd_ac97_codec/parameters/power_save
    echo 1 > /dev/dsp

  • HDAサウンドの省電源機能の確認(HDAのみ)

    cat /sys/module/snd_hda_intel/parameters/power_save

    0より大きな数値で有効化されている。

  • BIOS設定の変更

    * Processor C1E support: This enables maximum power saving of the processor when idle.
    * Enhanced Speedstep (EIST): This allows Linux to optimally reduce the frequency and voltage of the processor when not using the maximum capacity.
    * Fan control: Set to “auto speed”; this allows the fans to slow down (and use less power) when the temperatures in the machine allow this.
    * Enable the HPET (often called “Multimedia timer”) option. This allows Linux with tickless idle to maximally save power by being idle longer.

    BIOS設定はハードウェア管理機能が不明なデバイスとして認識しないよう、一部の省電源機能を無効化しています。上記の機能を有効化すると消費電力が少なくなります。

MomongaLinux 4 完全インストールガイドが第一位

ITProの「昨日のLinuxランキング」で他の完全インストールガイドを抑え、MomongaLinux 4が第一位でした。

「先週のLinuxランキングでもMomongaLinuxの記事が一位!

プロジェクトメンバとして最近全然なにもしてないですが、うれしかったのでスクリーンショットを撮っておきました 🙂

Momonga is No1

Momonga is No1