Linux

Arch LinuxでNASを始めた(Arch LinuxのインストールからZFS+Samba+iSCSIターゲットの導入まで)

NAS用にどのディストリビューション入れようかなと思っていた。RHEL, Ubuntuでもいいけど、ちょっと飽きてきた。NAS用ならTrueNAS COREから始めれば良いのにと思いつつも、Arch Linuxに興味を持った。 wikiでよく見かけるし、さほど間違ったことは書かれてい…

UbuntuでmDNS(マルチキャストDNS)をavahiとsystemdそれぞれ試した

よく、Hyper-Vで雑にVMでUbuntuをいれたりミニPCにLinuxいれたりしているが、固定のプライベートIPを振って運用している。しかし、よく使わないものはIPアドレスを忘れるようになった。でもDNSサーバはなんか立てるのも面倒だしIPに変更があったとき追従して…

ZFS(v2.2.3)で気になること試した(GPTパーティションの上にZFSを作ってもよいか? / 圧縮時のCPU使用率と性能(mirror vdev vs RAID-Z2))

ZFSの性能を測るのはよくやられているが、スループットを測るだけのことが多い。CPU使用率は?ストレージのアクセスパターンは?圧縮とか暗号化を使った場合は? いつも通り、ガバガバベンチマークなので鵜呑みにしないこと。 ZFSのバージョンも、ZFSは素人…

Linux MD(mdadm)で組んだRAID1はデータの異常に耐性がないことが分かった話

これは私の思い違いだったってだけの記事です。 要約 「RAID*1の目的は複数のデバイスを使って冗長化する仕組み。データのバックアップや、データ保護といった仕組みはない。」 ということだけ、持ち帰ってもらえればと思います。 Linux MD(mdadm)におけるRA…

LinuxでHDDなデバイスファイルにudevで別名を振る

背景 /dev/sd[b-i] みたいに指定して8台のデバイスを使ってRAIDを組んだり、初期化したり、ZFSを組んだり、ループ回してdd流したりして遊んでいた平和な日々を送っていた。 ある日起動して同じように作業していたら、ファイルが全く参照できない状態になった…

RAID6上に構成したext4ファイルシステムのベンチマークを取る際にオフセットや断片化に配慮してとってみた

今さらHDDのRAIDのベンチマークやってます。 背景 やったこと ファイルを大量に作る ファイルの数を得る 作られているファイルの位置が先端か終端っぽいか確認したい fioで負荷をかけてみる 断片化が酷いファイルに読み書きするとどうなるか試す おわり 背景…

再帰的に子プロセスをkillする

あるプロセスが長期間放置しているとOutOfMemoryで死ぬので、OutOfMemoryで死ぬ前にkillして起動しなおすと言う事をやりたい。 あるプロセスはそこそこな数の子・孫プロセスを作るので、子プロセスを全部辿ってkillしたい。 ただし、実行元の親プロセスは残…

Jenkins + systemd + firewalld

CentOS7にJenkinsを入れようとしたけど、systemd+firewalldをどうやって設定するんだろうと思ったので。ちゃんと公式に書いてありました。 Installing Jenkins as a Unix daemon - Jenkins - Jenkins Wiki実際はfirewalldの設定も必要なので、合わせて。

mdadmでRAID構築したけど、監視してなかったので、少し考えた。

※この記事を見ればRAIDの監視ができるわけではないですmdadmで簡単にRAID構築できてこれでいいんだろうかーと思いながら適当に運用してきたけども、監視を全くやってなかった。それ運用っていわねえから!! というわけで、どんなやり方があるか調べたけども…

CentOS7でkickstart

RHEL7が正式にリリースされてしばらく経ちCentOS 7がリリースされたので、CentOS 7でkickstart試した。といっても、前にRHEL 7 RCの時にやってたのと同じ手順 で出来たので詳しくはそちらをどうぞ。違うのはイメージのダウンロード先と、yumの設定してないの…

RHEL 7 RCでKickstartを試したけどNetworkがうまく設定されなかったので困ってた

kickstartファイル中にnetworkについて書けば動くはずなんだけども、どうやら以下のようにしないとだめ。 network --device=ens32 --bootproto=static --ip=10.1.1.1 --netmask=255.255.0.0 --gateway=10.1.255.254 --nameserver=10.1.255.254普通に" --devi…

RHEL 7 RCでKickstartを試した

初kickstartです。ネットワーク設定などがうまくいかなかったが、とりあえずOS導入までは出来たので。

RHEL7でnetstatがdeprecateになってポート確認できなくて困ってた話

プロセス立ち上がって、ポートをListenしてる事まで確認したかったけど、RHEL7ではnetstatが最小構成では入ってないらしい。f*ck!!netstatの代わりにssコマンドがあるので、これでいけます。 # TCP一覧(-t) ss -ta # UDP一覧(-u) ss -ua # Process ID付き(-p…

RHEL7 RCでネットワーク周りで躓いたのでメモ

時代を先取りしようとしてCentOS 6.xからRHEL7のRC版に手を出したら苦労した話。ネットワーク回りの扱いが大きく変わって躓いたので、メモ。 デバイス名が「eth」とかではなくなった ens32とかデバイスに基づいて決定されるらしい。ESXiとVirtualBoxで試した…

CentOSでlogrotateのcreateが機能しない

CentOS6でrsyslogで出力されたファイルの権限が0600なので、それを別のユーザから読めるようにしたくて、logrotate時にcreate 0644を与えたが、機能しなかった話。以下再現コード。logrotateのversionは3.7.8でした。

AUFSのためにKernelをビルドしてAUFSを試した

LXCでAUFSを使うので、AUFSを使えるようにKernelをビルドした話。使ったOSはCentOS 6.2(x86_64)。6.4で試せばよかった。

子プロセス起動したら標準入力待ち状態になって困った話

お仕事でLinux上のある常駐プログラムを起動するスクリプトを、JavaのProcessBuilder#startを使って実行し、起動スクリプトの出力とexit codeをJava側で受け取る必要があった。さくっと書いて実行してみたところ、標準出力されるしプログラムも起動するが、…

sudo時のPATHと設定

chefを使うとき、chef-solo実行時だけrootになってそれ以外のときは出来るだけchefユーザとして作業したかった。最近のsudoはデフォルトではPATHは引き継がれない。設定と設定によってはオプションが必要。

scsi-target-utils

iscsi-targetを入れてたのだけど、なんか最近プロセスが勝手に落ちたりと調子悪い。3日に1度ぐらい起きていてそのたびに再起動したりしていたのだけど、プロセスが落ちた影響か、RAIDの調子が悪いのかわからないけど、とうとう仮想ディスクが1個壊れてしまっ…

出力を捨てさせない・自動入力させないシェルスクリプトを書く

先に簡単に方法をまとめておきます 'script.sh > /dev/null 2>&1' とやっても、画面に出力させる echo "Hello tty world" >/dev/tty 'yes | script.sh' とやっても、自動入力させない line=$(head -n 1 < /dev/tty) echo $line 以下、調べる動機とか

Samba環境最速構築なんとか

新年明けて何もしてなかったのですが、NASのシステムディスクが壊れ始めたので、再構築してました。 Blogとかでメモに残してるものが多いので、やり直すのは苦じゃないんですが、Samba関連は書いてなかったなーと思って。 で、案の定、SELinuxの問題で何度も…

NAS省電力化計画

NAS作ったけど、あんまり使ってない。でも常時電源入ってる。 HDD4台にSSD1台乗っかっている謹製NASはIdle時は39.3W前後使っている Idle中のNASの消費電力をさらに下げたいと思い、色々調べる。 HDDが4台も乗っているんだからこいつらがおとなしくなれば・・…

SambaとSELinux

Sambaを入れてたけど、以下の事情でなかなか共有ディレクトリが作れなかった。 参考 http://dpsnet.ddo.jp/MEMO/itpro013.htm SELinuxを有効にしたまま、Sambaを使いたい場合、以下の設定が必要。 /path/to/public_directoryは共有したい任意のshare/public…

iSCSI環境構築メモ

自分用メモ。

LinuxでソフトウェアRAIDを組んだり、パーティションをきったり。

自分用メモ

シェルスクリプト(とよくあるコマンド)でexpectのように自動応答させる

標準入力から応答していくタイプのプログラムがよくあります。 9/19 追記 改行が出力されなくても上手く読み出せる方法があるっぽいのでそれを追記。 hello.sh #!/bin/sh echo "what's your name?" echo "input your name:" read name echo "age ?:" read ag…

シェルスクリプトで文字列で与えられた相対パスから、ディレクトリの絶対パスを取得する

cdしてpwdする echo $(cd $(dirname '/usr/bin/perl'); pwd) # /usr/bin cd /usr/bin echo $(cd $(dirname 'perl'); pwd) # /usr/bin echo $(cd $(dirname '../bin/perl'); pwd) # /usr/bin もちろんcdに失敗したらカレントディレクトリの情報返しちゃうので…

優先度を試す

nice(笑)ってきてたけど、正直、優先度について全く知らなかったっていう。 どれだけ効果があるのかな。

MeCab 0.991

形態素解析とかよくわかんないけど、偉い人らが作ってるので使ってみたかったの。 WINWINな環境で頑張ってたけど、うまくいかないので投げた。 まずはおとなしくLinuxでやります。 本体 wget http://mecab.googlecode.com/files/mecab-0.991.tar.gz tar xzvf…

TeamSpeak3 on Cent OS 6.2(x86_64)

カーネルとかディストリビューションとか [root@www43071u ~]# uname -a Linux www43071u.sakura.ne.jp 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux [root@www43071u ~]# cat /etc/redhat-release CentO…