情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

Linuxでsyslog:syslogを読んでみる

2018-10-31 01:00:01 | Linux

匠技術研究所


Linuxでsyslog:syslogを読んでみる


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
"syslog"とは、システムの稼働状況を記録する仕組みで、UNIX系OSやLinuxでは標準機能として備わっており、OS、ミドルウエアそしてアプリケーションの動作状況をログとして記録します。


syslogはどこにあるか


Linuxの場合、syslogは以下のディレクトリにあります。


$ ls /var/log alternatives.log apport.log.5.gz dpkg.log.12.gz lsyncd alternatives.log.1 apport.log.6.gz dpkg.log.2.gz lxc alternatives.log.10.gz apport.log.7.gz dpkg.log.3.gz lxd alternatives.log.11.gz apt dpkg.log.4.gz ntpstats alternatives.log.12.gz auth.log dpkg.log.5.gz syslog alternatives.log.2.gz auth.log.1 dpkg.log.6.gz syslog.1 alternatives.log.3.gz auth.log.2.gz dpkg.log.7.gz syslog.2.gz alternatives.log.4.gz auth.log.3.gz dpkg.log.8.gz syslog.3.gz alternatives.log.5.gz auth.log.4.gz dpkg.log.9.gz syslog.4.gz alternatives.log.6.gz bootstrap.log faillog syslog.5.gz alternatives.log.7.gz btmp fsck syslog.6.gz alternatives.log.8.gz btmp.1 installer syslog.7.gz alternatives.log.9.gz dist-upgrade kern.log unattended-upgrades apport.log dmesg kern.log.1 wtmp apport.log.1 dpkg.log kern.log.2.gz wtmp.1 apport.log.2.gz dpkg.log.1 kern.log.3.gz yum.log apport.log.3.gz dpkg.log.10.gz kern.log.4.gz apport.log.4.gz dpkg.log.11.gz lastlog $

syslogを読んでみる


各ログはテキストファイルです。なので、テキストを読むプログラムで出力します。ここではtailを使って最新のログを含む直近の10行を出力しています。


$ tail -n 10 /var/log/syslog Oct 31 00:11:04 cbkkawa01 systemd[1]: Starting User Manager for UID 1000... Oct 31 00:11:04 cbkkawa01 systemd[1]: Started Session 1124 of user takumi. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Reached target Paths. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Reached target Sockets. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Reached target Timers. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Reached target Basic System. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Reached target Default. Oct 31 00:11:04 cbkkawa01 systemd[29697]: Startup finished in 46ms. Oct 31 00:11:04 cbkkawa01 systemd[1]: Started User Manager for UID 1000. Oct 31 00:17:01 cbkkawa01 CRON[30533]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) $

ログは、大量に記録されていることもあるので、全部を読みだすとたいへんです。今、何行あるかを知るにはwcを使って確認することができます。以下の例は心配するほどの量はありませんでした。


$ wc -l /var/log/syslog 91 /var/log/syslog $ wc -l /var/log/syslog.1 131 /var/log/syslog.1 $

Ubuntu 18.04 LTS環境では、syslogは定期的に圧縮保存されています。圧縮保存されているログを読むには、zcatを使うと、圧縮したままで内容を読むことができます。


$ zcat /var/log/syslog.2.gz | wc -l 134 $ zcat /var/log/syslog.2.gz | tail -n 10 Oct 29 05:35:51 cbkkawa01 smartd[1170]: Device: /dev/sde [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 37 to 38 Oct 29 05:35:52 cbkkawa01 smartd[1170]: Device: /dev/sdf [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 56 to 57 Oct 29 05:35:52 cbkkawa01 smartd[1170]: Device: /dev/sdf [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 44 to 43 Oct 29 06:05:51 cbkkawa01 smartd[1170]: Device: /dev/sdd [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 107 to 108 Oct 29 06:05:51 cbkkawa01 systemd[1]: Starting Daily apt upgrade and clean activities... Oct 29 06:05:51 cbkkawa01 smartd[1170]: Device: /dev/sde [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 62 to 63 Oct 29 06:05:51 cbkkawa01 smartd[1170]: Device: /dev/sde [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 38 to 37 Oct 29 06:05:57 cbkkawa01 systemd[1]: Started Daily apt upgrade and clean activities. Oct 29 06:17:01 cbkkawa01 CRON[30227]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Oct 29 06:25:01 cbkkawa01 CRON[31247]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )) $

次回は、必要なログの抽出についてです。日時やログ文中のキーワードでログを抽出します。




この記事は、Microsoft VisualStudio Codeを使いmarkdown形式で記述しました。Codeのアドオン機能でHTML出力し、ブログの仕様に合わせて整形して掲載しています。


コメント

IBMがLinuxの雄Red Hatを買収

2018-10-30 18:57:56 | Linux
IBMがLinuxの雄Red Hatを買収


いつもアクセスありがとうございます。匠技術研究所の谷山です。
昨日、IBMが米国のLinuxの雄Red Hat社を買収する旨のニュースが流れました。

IBMはLinuxの基盤技術とそのマーケットを手に入れました。IBMはLinuxを使ったクラウドシステムの業界標準基盤技術を、一方でredhatは、これからはIBMの一員として、企業クラウドソリューションに注力することができます。

redhatはLinux誕生後1993年から、商用利用(日本では保守付きLinux)に着手し、企業向けLinuxをリードし続けています。
その成果物のRedHat Enterprise Linux(RHEL)はLinux系システムインテグレーターの方にはよく知られています。

redhat社のLinuxは企業向けの安定稼働を重視しており、メジャーアップデート期間も長く、企業システム利用者・構築者両方から、選択肢となりやすいものです。redhatはRHELに加えて、Linuxプラットフォームを管理するOpenStack、Linuxプラットフォーム上で動作する様々なミドルウエアの開発をリードしています。クラウド環境を支える基盤技術の多くをリードしており、製品としてブランディングしリリースしています。

企業システム専業のIBMは、クローズドな高信頼性システム上で、Linuxを使ってオープンな実行環境を提供しています。初期のLinuxの企業向け品質の開発にも大規模な投資を行い、品質向上に大きな貢献を続けています。プログラム言語Javaはじめ様々なプログラム言語の開発環境のeclipse、プログラム言語python、メールサーバーpostfixなど、IBMの技術者が開発をリードするオープンなプロジェクトも多く、オープンソース業界を積極的にリードしてきました。

クラウドでは高密度なサーバー技術が必要となるので、IBMが長年蓄積しているホスト系サーバーハードウエア上での仮想サーバー技術、無停止技術がクラウド基盤として活用されるようになるでしょう。IBMのクラウド分野=IT技術基盤での位置づけは一気に高まることになります。
コメント

Linuxでシリアルポートにrootで書き込みできないとき

2018-10-15 19:30:09 | Linux

匠技術研究所

Linuxでシリアルポートにrootで書き込みできないとき


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。

■シリアルポートのアクセス権の確認と変更
シリアルポートのアクセス権はグループ"dialaout"に所属するユーザーです。

$ sudo ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 10月 15 19:06 /dev/ttyUSB0

root.dialoutにアクセス権があります。
rootも例外ではなく、このままではシリアルポートにrootユーザーで書き込みができません。

デフォルトインストール時のユーザー"root"はグループ"root"に属しています。

$ sudo id -a
uid=0(root) gid=0(root) groups=0(root)

rootユーザーにグループ"dialout"を追加します。
$ sudo gpasswd -a root dialout

rootの所属グループを確認します。
$ sudo id -a
uid=0(root) gid=0(root) groups=0(root),20(dialout)

これで、rootでシリアルポートに書き込むことができます。
$ sudo echo -e "\$PSRF103,5,0,1,1*20\r\n" > /dev/ttyUSB0

同じ要領で、一般ユーザーにグループ"dialout"を追加してシリアルポートを使うことができるようになります。


コメント

VyOSのテストネットワークを仮想環境で試作

2017-10-06 23:00:34 | Linux
匠技術研究所

VyOSのテストネットワークを仮想環境で試作


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
VyOSはLinuxが動く環境であれば、どのハードでも動きます。最近は仮想サーバー環境を使うことができるので、ネットワークの試作がとても簡単です。
私のテスト環境は以下のスペックでインストールしています。

Ubuntu 16.04 LTS + KVM
CPU Core i5
RAM 16G
SSD 60G

VyOS Router(on KVM)
CPU 1C
RAM 512M
HDD 1G

仮想環境が便利なことは、失敗したらすぐに作り直せることです。最初につくったVyOSイメージを保管しておけば仮想サーバーの「クローン」機能で、全く同じものを何台でもつくることができます。クローンをつくる時間はほんの少しです。試験にはとても便利です。
コメント

短時間で切り替わるVyOS冗長ネットワークを仮想環境で試作

2017-10-05 23:34:06 | Linux
匠技術研究所

短時間で切り替わるVyOS冗長ネットワークを仮想環境で試作


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
VyOSソフトルーターで冗長ネットワークの試作をしています。冗長構成上のルーターが停止しても、短時間で通信が復旧するようにします。仮想環境で概ねのネットワークの性能を試してから、実機での実装を行います。

GUIはなく、コマンドで設定を行います。コマンドでのルーターの設定に慣れている方であれば、ネットで「何をしたいか」で調べ、コマンドラインのヘルプ機能で辿ることで設定ができます。

VyOSはオープンソースのルーターOSで、Vyattaプロジェクトからフォークしたものです。
DebianLinuxを基に、ルーター用途に特化しています。Vyattaプロジェクトは最初に買収された Brocadeから2017年にはAT&Tに買収されています。

実はLinuxはルーターエンジンそのものです。ルータとして必要な機能をまとめ直したものが、VyOSで、Debianのリポジトリや、指定のリポジトリから一部のソフトウエアを追加してインストールすることもできます。なので、お好みの機能を追加したルーターにすることができます。自分でLinux環境で開発するイベント監視機能で、ルーターを制御したり、イベント通知や、統計情報のメールを出すこともできます。とてもオープンなルーターです。

通信機器で一般的な、コマンド操作で設定を行い、設定はコマンドとは異なる表現系のテキストで保管されます。このテキスト形式をコピーを利用して、相似のルーターを容易に作ったり、障害対策を行います。

今回の試作は、UbuntuのKVM(仮想サーバー基盤)を使い、その上に複数のVyOSルーターを立ち上げて、冗長ネットワークを構築しました。仮想とはいえ実際のVyOSで組むので、ほぼ現実に即した評価ができます。だんだん、テスト環境を広げて、近日中に仮想環境を物理環境と結び、ヤマハの実機との連動も試し始めます。

コメント

Linux/Ubuntuのタイムゾーン"time zone"を簡単に変更する

2016-12-15 05:46:10 | Linux
匠技術研究所
Linux/Ubuntuのタイムゾーン"time zone"を簡単に変更する


こんにちは。匠技術研究所の谷山 亮治です。
Linux/Ubuntuのtime zoneを簡単に変更する手順です。
ハードウエアクロックがUTCでUbuntuがそれに準じて起動している環境です。
このUbuntuはJSTで利用するので、time zoneを調整します。

■time zoneの確認
$ date
2016年 12月 15日 木曜日 05:33:49 JST

■time zoneの変更
$ sudo dpkg-reconfigure tzdata

キャラクタ表示の選択画面が現れます。以下を選択。
Asia->Tokyo

Current default time zone: 'Asia/Tokyo'
Local time is now: Thu Dec 15 05:23:19 JST 2016.
Universal Time is now: Wed Dec 14 20:23:19 UTC 2016.
$

■上記実行環境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
$

以上です。
コメント

Linux/UbuntuにC/C++基本開発環境をインストール

2016-12-12 07:38:30 | Linux
匠技術研究所
Linux/UbuntuにC/C++基本開発環境をインストール


おはようございます。匠技術研究所の谷山 亮治です。
Linux/Ubuntuの基本的なソフトウエア開発環境のインストールは、以下の通りです。
C/C++、make等になりますね。make installする際に先ずインストールしています。

$ sudo apt-get install build-essential

コメント

LinuxでSSD/HDDのアクセス速度を確認する"hdparm -tT"

2016-12-08 07:38:06 | Linux
匠技術研究所
LinuxでSSD/HDDのアクセス速度を確認する"hdparm -tT"


おはようございます。匠技術研究所の谷山 亮治です。
運用中のサーバーが、時々I/Oエラーで動作不具合を起こすのでSSD/HDDのアクセス速度を確認しました。

サーバーをLiveUSBドライブにインストールしたLinuxで起動し、SSD/HDDのヘルスチェックを行います。

1)LiveUSBの作成
今回は、仕事用のUbuntu上で、Boot可能なUSBメモリ作成機能を使い、16.04.1 LTSのisoイメージを書き込みました。Windows上でも作成できます。

2)LiveUSBでUbuntuを起動
LiveUSBをサーバーに取り付け、UEFI機能で起動ディスクに指定して起動します。当方のサーバーはBIOS起動していたので、予めUEFI起動に切り替えた上でLiveUSBでの起動指定を行いました。

Ubuntu起動画面で「Ubuntuを試用する」を選ぶと、UbuntuがRAM上に展開されて起動します。英語モードで起動するので、キーボードも英語モードで認識されます。

3)LiveUSBでSSD/HDDのヘルスチェックをする
ディスクアクセス速度を測ることでディスクの状態を確認します。

ディスクの一覧を取得します。起動したUbuntuが自動検出したディスクの情報が表示されます。
$ sudo fdisk -l
...省略
Disk /dev/sda: 55.9 GiB, 60022480896 bytes, 117231408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 16065 46893734 46877670 22.4G bf Solaris
/dev/sda2 46893735 82060019 35166285 16.8G bf Solaris
/dev/sda3 82060020 90253169 8193150 3.9G bf Solaris
/dev/sda4 90253170 117210239 26957070 12.9G 62 unknown
...省略

上記ディスク情報でテスト対象のディスクデバイスを確認し、アクセス速度を測ります。
上記のようにOSがLinuxでない場合でも問題ありません。

$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 11206 MB in 2.00 seconds = 5611.12 MB/sec
Timing buffered disk reads: 392 MB in 3.01 seconds = 130.12 MB/sec
$

4)善し悪しの判断
ディスクのアクセス速度は、測定の度に異なり、何度か測ることで概ねの速度を知ることができます。アクセス速度は、接続規格、ディスクの性能で大きく異なります。
様々なディスクを測定して、傾向を知っていれば、ディスクのアクセス速度が極端に遅い場合は、ディスクの故障を知ることができます。
コメント

Ubuntu Server 16.04 LTSのインストール直後の状態

2016-05-27 06:31:24 | Linux
匠技術研究所
Ubuntu Server 16.04 LTSのインストール直後の状態


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
Linuxを使って様々なデバイスを作っています。今回は2016年4月にリリースされた、Ubuntu Server 16.04 LTSの起動直後の様子です。ハードウエアにはIntel NUCを使っています。

■Intel NUCへのインストール
最近の機種と最新のOSの組み合わせだからでしょうか、すんなりインストールできました。
Ubuntu上でインストール用USB作成アプリで、Boot可能なUSBメモリを作り、それからのインストールです。

■OSの情報
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial

$ uname -a
Linux itun01 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

■メモリーの消費量
僅か73Mです!これはアプリケーションがほとんど動いていない状態です。
比較に、OSをアップデートした直後の状態を見ると、約30M増えています。
デスクトップ系Ubuntuの起動直後では、300M程度使います。それに比べると充分に少ないことが判ります。
RAMを8G実装し、SWAP無し稼働を期待しています。

■■起動直後
$ free
total used free shared buff/cache available
Mem: 8093888 73376 7848080 9300 172432 7954200
Swap: 1872892 0 1872892

■■アップデート完了直後
$ sudo apt-get update
$ sudo apt-get dist-upgrade -y
$ sudo apt-get install nano screen
$ free
total used free shared buff/cache available
Mem: 8093892 110324 6940836 9352 1042732 7903808
Swap: 1872892 0 1872892

■システムに必要なディスク領域
このシステムはコンパクトなLinuxサーバーなので8GのSSDです。
その上に手動でパーティションを切り、ファイルシステムをXFSにして起動しています。
システム領域は5G弱です。スワップ領域は別に2G弱あります。
データー領域は外付けのUSB3-SSDを使います。

■■OS領域
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4027952 0 4027952 0% /dev
tmpfs 809392 9196 800196 2% /run
/dev/sda1 5848064 1824356 4023708 32% /
tmpfs 4046944 0 4046944 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4046944 0 4046944 0% /sys/fs/cgroup
tmpfs 809392 0 809392 0% /run/user/1000

■■swap領域
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 1872892 0 -1

コメント

Shuttle X36VのCMOS battery errorはBattery配線コネクタ抜けでした

2015-10-17 12:43:04 | Linux
匠技術研究所
Shuttle X36VのCMOS battery errorはBattery配線コネクタ抜けでした


いつもアクセスありがとうござます。匠技術研究所の谷山 亮治です。
Shuttle X36Vで作った小型サーバーを起動する際にCMOS battery errorのメッセージが表示されていたことを解決した件です。

Shuttle X36Vを使った小型サーバーシステムを作っています。いつの頃からか、電源を投入し、BIOS画面で”CMOS battery error”が表示されていることに気がつきました。CMOSはBIOSの設定や、クロックを保存している重要なメモリーで、内部のバッテリーから電源を取得し、データーを保持しています。このバッテリーが使えない場合は、BIOS設定が工場出荷状態に戻ります。

X36Vを開けてみると、バッテリーはオレンジの絶縁フィルムでパッキングされ、サブ基板上の直ぐ判る位置にあります。間違いなく付いています。

Googleで検索しましたが、私の障害に当たる事例はありません。「何だろう?」とおもいつつ、Shuttleのサイトで交換用パーツがないか探してみたのですが、交換用パーツも見当たりません。

自力で交換しようと、バッテリーから伸びる赤黒のより線をたどっていると「ぽろっ」とより線の基盤側のコネクタが外れました。「あっ!抜けてた!」
挿し直して、電源を入れるとエラーが消えて正常に起動。
こんなこともあるんですね。やっぱり障害対応は物理層の確認からだと再確認しました。
コメント

ZFSonLinuxの重複排除(dedup)で1.8Tの物理容量に100Tの論理容量を記録

2015-05-31 15:03:39 | Linux
匠技術研究所
ZFSonLinuxの重複排除(dedup)で1.8Tの物理容量に100Tの論理容量を記録


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今日は「ZFSonLinuxの重複排除機能で1.8Tの物理容量に100Tの論理容量を記録」です。
先般より、ファイルシステムのテストプログラムpostmarkでZFSの重複排除(dedup)を使った環境をテストしています。テストプログラムは同じ内容を、異なるサイズで書き出しており、ファイルシステムの重複排除機能でファイル中の重複部分を検出して、効率よくディスクに書きこまれています。その結果、物理容量の60倍ほどの容量を蓄積しました。ZFSファイルシステムはミラー化されています。また、SATA2接続の512セクタの古い物理ディスクなので、書き込み速度は遅い部類です。

postmarkプログラムは、約16日間ファイルを書き出し続けています。この間、ZFSファイルシステムも正常に動き続けており、問題ありません。延々と書き出しを続けています。

LinuxにZFSを使うことで、この重複排除機能を使い効率よくデーターを格納することの実証ができました。弊社のファイルサーバーはLinux/ext4/mdを使っていますが、順次Linux/ZFSに変更していきます。弊社がお客様のために設置するファイルサーバーも、社内運用で問題がなければ、切り替えていきます。

Linux/ZFSを運用する際の注意点は、システムのアップデートです。Linuxの上のZFSは必ずコンパイルしてインストールされることです。

■Linuxから見た100Tを超える記録容量
ZFSの重複排除機能が働き、1.8Tのディスクに約100Tを記録しています。まだ僅かに余裕があります。
root@storage:~# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sdd1 52414 27653 22077 56% /
none 1 0 1 0% /sys/fs/cgroup
udev 3697 1 3697 1% /dev
tmpfs 748 2 747 1% /run
none 5 0 5 0% /run/lock
none 3740 1 3740 1% /run/shm
none 100 1 100 1% /run/user
spool 3 1 3 5% /spool
spool/data 106668081 106668078 3 100% /mnt/data
spool/data20g 15820 15818 3 100% /mnt/data20g
spool/shares 3 1 3 5% /mnt/shares
root@storage:~#

■ZFSから見た100Tを超える記録容量
root@storage:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
spool 102T 3.03M 96K /spool
spool/data 102T 3.02M 102T /mnt/data
spool/data20g 15.4G 3.02M 15.4G /mnt/data20g
spool/shares 100K 3.03M 100K /mnt/shares
root@storage:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
spool 1.81T 201G 1.62T 16.0E 14% 10% 1784.07x ONLINE -

■ZFSファイルシステムは正常稼働中
root@storage:~# zpool status
pool: spool
state: ONLINE
scan: scrub repaired 0 in 0h14m with 0 errors on Tue May 12 05:58:47 2015
config:

NAME STATE READ WRITE CKSUM
spool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
spares
sda AVAIL

errors: No known data errors
コメント

ZFSの重複排除で容量が増え、1.8Tがまもなく20Tに

2015-05-18 15:17:56 | Linux
匠技術研究所
ZFSの重複排除で容量が増え、1.8Tがまもなく20Tに


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「ZFSの重複排除で容量が増え、1.8Tがまもなく20Tに」の紹介です。

ZFSonLinuxを試しています。今回はdedupという重複排除機能のテストです。
もともと、単純にZFSシステムでの読み書きアクセス速度の把握と、ある程度のストレステストを行っていました。テストプログラムはpostmarkでUbuntuの場合はapt-getでインストールできます。

postmarkは単純なファイルシステムのテストプログラムです。作成するファイル数、格納するサブディレクトリ数、作成するファイルの容量の範囲、読み出しの回数などを指定して実行します。この数値を調整すると大容量のファイルを一気に数十万作成し、読み取り試験後、一気に消すところまでを自動で実行します。

そのプログラムで、500Kから512Mの大きさのファイルを100,000程作るように指示しました。ディスクフルになるなら、その終わり方も見ておきたいという期待があったからです。金曜日の深夜よりpostmarkは、どんどんファイルを作っていますが、どうも同じ内容が書かれているようで、ZFSの重複排除機能の作用により、なかなかディスクフルを迎えることができません。

今は、なんと1.8T弱のディスクに20T弱のファイルが書かれました。素晴らしい重複排除の性能です。まだ、postmarkは黙々とファイルを作り続け、ZFSは黙々と重複排除してディスクに収めています。

もうテストは充分なので、このブログを書いた後にpostmarkを止めます。

■現在のディスク利用状況
Mega Bytes単位での表示です。
takumi@storage:~$ sudo df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sdd1 52414 27840 21889 56% /
none 1 0 1 0% /sys/fs/cgroup
udev 3697 1 3697 1% /dev
tmpfs 748 2 747 1% /run
none 5 0 5 0% /run/lock
none 3740 1 3740 1% /run/shm
none 100 1 100 1% /run/user
spool 1487163 1 1487163 1% /spool
spool/data 21659477 20172314 1487163 94% /mnt/data
spool/data20g 20480 15818 4663 78% /mnt/data20g
spool/shares 1487163 1 1487163 1% /mnt/shares

■各ファイルシステムの様子
takumi@storage:~$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
spool 19.3T 1.42T 96K /spool
spool/data 19.2T 1.42T 19.2T /mnt/data
spool/data20g 15.4G 4.55G 15.4G /mnt/data20g
spool/shares 100K 1.42T 100K /mnt/shares

■poolの情報
DEDUPが1820.39xと、驚くべき重複削減効果です。
takumi@storage:~$ sudo zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
spool 1.81T 67.4G 1.75T 16.0E 6% 3% 1820.39x ONLINE -

■poolの障害情報
spoolには障害がありません。
takumi@storage:/mnt/data$ sudo zpool status
[sudo] password for takumi:
pool: spool
state: ONLINE
scan: scrub repaired 0 in 0h14m with 0 errors on Tue May 12 05:58:47 2015
config:

NAME STATE READ WRITE CKSUM
spool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
spares
sda AVAIL

errors: No known data errors
takumi@storage:/mnt/data$

■RAMの消費状況
合計8Gで、少しスワップが発生しています。GUIを起動したままなので、GUIの起動を止めるとスワップ無しで動く可能性があります。

takumi@storage:~$ free
total used free shared buffers cached
Mem: 7658140 7261212 396928 11640 137012 656628
-/+ buffers/cache: 6467572 1190568
Swap: 7860220 7564 7852656
takumi@storage:~$
コメント

zfsonlinux 0.6.4.1の負荷テスト-重複排除効果

2015-05-16 15:32:57 | Linux
匠技術研究所
zfsonlinux 0.6.4.1の負荷テスト-重複排除効果


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「zfsonlinux 0.6.4.1の負荷テスト-重複排除効果」です。

ZFSのLinuxでの実装であるzfsonlinux 0.6.4.1の重複排除のテストをしています。
以下のデーターでは、1.8T弱の物理容量に重複排除の効果として論理的に5.4Tを記録しています。テストプログラムが、同じ内容のファイルをどんどん作っているので、重複がどんどん排除されている状況です。

ZFSの統計情報では重複排除機能の効果で「1526.23x」ととても大きな容量をとても小さく記録しています。
以下、メモ帳など固定幅フォントのエディタを使えば表が綺麗に見えます。

takumi@storage:/mnt/data$ sudo df -m
[sudo] password for takumi:
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sdd1 52414 27841 21888 56% /
none 1 0 1 0% /sys/fs/cgroup
udev 3697 1 3697 1% /dev
tmpfs 748 2 747 1% /run
none 5 0 5 0% /run/lock
none 3740 1 3740 1% /run/shm
none 100 1 100 1% /run/user
spool 1770864 1 1770864 1% /spool
spool/data 5415554 3644690 1770864 68% /mnt/data
spool/data20g 20480 15818 4663 78% /mnt/data20g
spool/shares 1770864 1 1770864 1% /mnt/shares

takumi@storage:/mnt/data$ sudo zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
spool 1.81T 42.4G 1.77T 16.0E 5% 2% 1526.23x ONLINE -

takumi@storage:/mnt/data$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
spool 3.49T 1.69T 96K /spool
spool/data 3.48T 1.69T 3.48T /mnt/data
spool/data20g 15.4G 4.55G 15.4G /mnt/data20g
spool/shares 100K 1.69T 100K /mnt/shares

takumi@storage:/mnt/data$ sudo zpool status
[sudo] password for takumi:
pool: spool
state: ONLINE
scan: scrub repaired 0 in 0h14m with 0 errors on Tue May 12 05:58:47 2015
config:

NAME STATE READ WRITE CKSUM
spool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
spares
sda AVAIL

errors: No known data errors
コメント

ファイル・サーバーのZFS on Linuxを0.6.4.1にアップデートしました

2015-05-10 20:53:05 | Linux
匠技術研究所
ファイル・サーバーのZFS on Linuxを0.6.4.1にアップデートしました


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「ファイル・サーバーのZFS on Linuxを0.6.4.1にアップデートしました」です。

ZFS on LinuxはLinuxでのZFSの実装で、設計の新しいファイルシステムです。社内のファイルサーバーの更新に合わせ、ZFSを導入し、大容量のファイルサーバーの運用を簡易化することを目指しています。特にスナップショットを用いたバックアップと世代管理の合理化に期待をしています。

2015年4月9日にzfsonlinux 0.6.4がリリースされ、追って4月27日に0.6.4.1がリリースとなりました。私の環境では、Ubuntu Studio 14.04.2のアップデートの過程で自動的に更新されています。2015年3月にはsamba4.2もリリースされているので、この組み合わせでsmbによるWindowsファイル共有を試しています。

現在運用中のext4 + samba 3系のファイルサーバーから、zfs + samab 4.2のサーバーにディレクトリをコピーしてみましたが、日本語の文字化けもなく正常にコピーができています。

ファイル・サーバー部分のディスクシステムは、まずは2Tの容量を利用者に提供します。

2T ZFSミラー+ホットスペアディスク(合計2T HDD x 3台)

この構成で、ディスクの障害対応が楽になります。これまで、ファイルサーバーのディスク障害には何度か対応をしてきています。24時間連続稼働するファイルサーバーでは、障害を完全に回避することは困難で、これまでも何度かハード障害を経験しています。新しいファイルサーバーにはスペアディスクを装着し、障害時に自動置き換えができるようにします。これで障害のディスクの交換の時間を選べるようになり、運用はたいへん楽になります。

構築の様子は、引き続き、紹介していきます。
コメント

Windowsファイル共有等を提供するsamba3系の開発は完了しました

2015-05-05 12:17:25 | Linux
匠技術研究所
Windowsファイル共有等を提供するsamba3系の開発は完了しました


いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回はWindowsファイル共有ソフトsamba3系の開発が完了したことの紹介です。

sambaはWindowsとのファイル、プリンタ共有機能及びドメイン管理、アクティブディレクトリ管理機能などを提供するオープンソースのソフトウエアで、Linuxを始め多くのオープンソース基本ソフトで使うことができます。

現在のsambaの最新の安定版はsamba 4.2.2(2105年4月20日版)です。
これまで、多くのsambaサーバーが使われていますが、ほとんどがsamba3と思われます。samba4の開発が進みsamba4.2が2015年3月にリリースされました。このリリースと併せて、samba3系の開発が完了し、今後は不具合やセキュリティ対応のための更新もなされません。discontinued(EOL=End Of Life)です。これからはsamba4.2系の開発が行われ、samba 4.1はmaintenance mode、samba 4.0はsecurity fixes only modeになります。

sambaのリリースの予定と経過は以下のページをご参照下さい。


Samba Release Planning

コメント