ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2016年3月13日日曜日

CentOSでPT3,PT2併用

PT3が残念ながら生産終了となってしまいましたね

各種ドライバの組み込みはその辺にわんさかあるので主にハードウェア周りについて
テーマは24H稼動する録画サーバー兼ファイルサーバーです

24Hなので電気代を一番気にしました

ということでいきなり

構成

マザーボード

ASROCK N3700M
TDP6WなQuadCoreな Pentium N3700 を搭載!


メモリ

もちろん MAX 16GB
N3700M はデスクトップ用の通常電圧のやつが使えるのとN3700がサポートする8GBを超えての16GBが使えるのがうれしいですね

ストレージ

あまりものです
  • SATA
    • INTEL SSDSA2M120G2GC (OS領域)
  • RAID
    • RocketRaid 640L (初期型: 88SE9230搭載・DATA領域)
      • Seagate ST3000DM001 x2 (RAID 0)

チューナー

  • PT3
  • PT2
PT3 を買った直後に 終了のお知らせが出てどうにも手に入る気がしなかったので2枚目はPT2にしちゃいました

ライザーカード

DIR-EB262-C13
PCI-Express => PCIx2 に変換してくれるライザーカードです


OS

CentOS7 いつものやつですはい

構成について

マザーボード

N3700ITXとも検討したのですが Raidカードを使いたかったので PCI-Expressが1本しかないのでやめました

PCI-Express スロット

  • PCI-Express X1: PT3
  • PCI-Express X16: RocketRaid 640L
  • PCI-Express X1: DIR-EB262-C13
一番下の PCI-Express からDIR-EB262でPCIボードに接続しPT2を挿しています
ケースはミドルタワーです N3700Mが MicroATXのためスロット4つ分ほどスペースがあるのでマザーボードと干渉せず楽チンに取り付けられます
さらに マザーが MicroATXなのでタワーケースだと 下2スロット分マザーが干渉せず余裕でPT2が取り付けられます
PT3が新品でも中古でも2万オーバーとだいぶ高値ですがアンテナの数とケースのPCIスロットの数を気にしなければ
ライザーカード+PT2中古x2でもお釣り来ますね

* ドスパラさんで 中古PT2 5,990でした


運用

稼動中の負荷はこんな感じ
top - 17:03:43 up 23:36,  1 user,  load average: 0.26, 0.15, 0.15
Tasks: 164 total,   1 running, 155 sleeping,   0 stopped,   8 zombie
%Cpu(s):  2.6 us,  0.8 sy,  0.0 ni, 96.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 15740312 total,  2478336 free,  1214592 used, 12047384 buff/cache
KiB Swap:  7995388 total,  7995388 free,        0 used. 14219004 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
18933 recorder  20   0  112848   2772   1216 S  11.8  0.0   0:24.34 recpt1

iostat

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
2.36    0.00    0.53    0.00    0.00   97.11

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               9.60         0.00      4800.00          0      48000
sdb               0.00         0.00         0.00          0          0
dm-0              9.60         0.00      4800.00          0      48000
dm-1              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0

4アンテナ稼働

top - 20:16:05 up 4 min,  1 user,  load average: 1.59, 0.68, 0.28
Tasks: 177 total,   2 running, 175 sleeping,   0 stopped,   0 zombie
%Cpu(s): 32.6 us,  8.6 sy,  0.0 ni, 58.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 15740312 total, 13939900 free,  1128928 used,   671484 buff/cache
KiB Swap:  7995388 total,  7995388 free,        0 used. 14380656 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2902 recorder  20   0  963776  76476  11012 R 100.3  0.5   0:03.69 ruby
 2852 recorder  20   0  112336   2648   1220 S  19.5  0.0   0:09.91 recpt1
 2863 recorder  20   0  112848   2772   1220 D  15.5  0.0   0:08.67 recpt1
 2834 recorder  20   0  112992   3028   1220 S  11.6  0.0   0:09.55 recpt1
 2872 recorder  20   0  112272   2388   1216 D   8.6  0.0   0:08.06 recpt1

ruby 100%なのはちょうどこのタイミングで予約検出バッチが稼動したせいです

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.36    0.00    7.05    0.00    0.00   78.59

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.00         0.00        20.00          0         20
sdb               0.00         0.00         0.00          0          0
dm-0              5.00         0.00        20.00          0         20
dm-1              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0

構成としては書き込み待ちを発生させないために
recpt1 で ファイルをSSD上に書き出し終了後にRAIDディスクにファイルを移動させています

電気代



緑の 12時までが PT3 単体 15時以降が PT3+PT2 です
概ね 45W前後で稼動、録画CMカット処理が入ると 48Wに瞬間的に増える感じ

1日 27円前後です

HDDレコーダー 20W + NAS 15W前後って考えるとちょっと足が出ちゃうかな
HDDもだいぶ古いので 省エネなものがあれば交換してみたいと思います

2015年8月22日土曜日

CentOS7 に tmux をインストール

CentOS7 に tmux をインストールした際のメモです

資材

  • tmux
    • http://tmux.github.io/
    • https://github.com/tmux/tmux/releases/download/2.0/tmux-2.0.tar.gz
  • libevent
    • http://libevent.org/
    • https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
環境
gcc バージョン 4.8.2 20140120 (Red Hat 4.8.2-16)

ダウンロード

オリジナルソースはいつも /usr/local/src に置いています

# cd /usr/local/src/
# wget https://github.com/tmux/tmux/releases/download/2.0/tmux-2.0.tar.gz
# wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

libeventのインストール

注意:我が家のCentOSは netinstall の minimal版です。環境によりlibeventが先行でインストールされている可能性があるので適宜処理してください

# cd /usr/local/src/
# tar -zxvf libevent-2.0.22-stable.tar.gz
# cd libevent-2.0.22-stable
# ./configure
# make
# make install
ldconfig の パスを追加し ldconfig をリロード
# echo /usr/local/lib >> /etc/ld.so.conf.d/libevent.conf
# ldconfig
pkgconfig の検索パスにlibeventも追加
# ln -s /usr/local/lib/pkgconfig/libevent.pc /usr/lib/pkgconfig/libevent.pc
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
以上で libevent の導入終わり

tmuxのインストール

# tar -zxvf tmux-2.0.tar.gz
# cd tmux-2.0
# ./configure --prefix=/opt/tmux-2.0.22

checking for LIBEVENT... yes

が通っていることを確認する
失敗してたら pkgconfig の設定を見直すこと
# make 
# make install
最後に /usr/local/bin にシンボリックリンクを通して終了
ln -s /opt/tmux-2.0.22/bin/tmux /usr/local/bin/tmux

個人的には アップグレードの際に 旧バージョンを残してきり戻せるようにするのが好きなので
/opt下にバージョンごとのディレクトリを用意して PATHのbinにシンボリックリンクを張るようにしています

2012年12月9日日曜日

SQUID: Your cache is running out of filedescriptors

SQUID で 以下のエラーが出た場合・・・

Your cache is running out of filedescriptors

要はファイルでスクリプタが足りませんよ~というエラー

1. 現在のSquidの状態を確認

# squidclient -p 8080 mgr:info | grep ‘file descri’

Maximum number of file descriptors: 1024
Available number of file descriptors: 1010
Reserved number of ile descriptors: 100

大概、ここの Maximum に引っかかっている

2. 調整 squid.conf

max_filedesc 数値

を追記
保存後 Squid を restart すれば 新しい値にて設定される

3. ついでに OS側も調整

/etc/sysctl.conf



fs.file-max = 数値(大体 65536)

を追記

sysctl -p

にて 設定を適用する

2012年12月2日日曜日

kernel: Clocksource tsc unstable

CentOS 6.3 仮想のゲストOSで
/var/log/messages に大量の

kernel: Clocksource tsc unstable (delta = XXXXXXXXX ns). Enable clocksource failover by adding clocksource_failover kernel parameter.

というログが出ていた。

仮想サーバーが 時刻同期のためにCPUのクロックカウンターをベースにしている故に発生するもののようです
最近のCPUはターボブーストやらスピードステップやらとクロック変動させるため
unstabe = 不安定だよ!って出ているみたいです

解決策:
以降のメッセージにあるとおり
Enable clocksource failover
をすればいいわけであり
代替のclocksource を用意すればいいってことですね

clocksource は 以下
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc acpi_pm

自分は acpi_pm を使うので
ゲストOS上の
/etc/grub.conf のカーネルパラメーターに clocksource_failover=acpi_pm を追加


kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_web01-lv_root rd_NO_LUKS rd_LVM_LV=vg_web01/lv_root rd_NO_MD crashkernel=auto clocksource_failover=acpi_pm KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=vg_web01/lv_swap LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet

2012年6月17日日曜日

特定ディレクトリ配下の拡張子を変更する

特定ディレクトリ配下のファイル拡張子を一括変換するスクリプト
このまま bashシェルで実行できる

for file in `find <検索対象ディレクトリ(フルパス)> -name "*.<検索対象拡張子>" -print`
do
res=`expr $file : "\(.*\).<検索対象拡張子>"`
mv $file $res.<置換拡張子>
done

su 出来るユーザーを限定

pam を使うと su できるユーザーを限定できる

/etc/login.defs
SU_WHEEL_ONLY yes

/etc/pam.d/su
auth required /lib/security/pam_wheel.so
group=wheel

/etc/group
wheel:x:10:root,ユーザーID

あとは再起動するだけ

自己責任で!

Linux で CPU 情報を確認

Linux で CPU 情報を確認する

$ cat /proc/cpuinfo
processor : プロセッサ番号
vendor_id : 製造メーカー
model name : CPU名
cpu MHz : 周波数
cache size : キャッシュ容量

このくらいわかれば・・・

Linux で HDD のスペックを確認する

Linux で HDD のスペックを調べる


型番
$ cat /proc/ide/hda/model

容量
$ cat /proc/ide/hda/capacity

見てのとおり
HDD/知りたい項目
といった順に構成されています。

Linux で メモリ情報を見る

Linuxでメモリの容量等の情報を見る

$ cat /proc/meminfo

シェルでファイルをメールを送信する

シェルでファイルをメール送信する

要は uuencode をしてその出力結果を mail コマンドにパイプするだけ・・・

uuencode <添付するファイル名> <添付ファイル名(送ったときに見えるファイル名)> | mail -s 'サブジェクト' メールアドレス

本文に文字列を入れるなら・・・
(echo メッセージ; uuencode <添付するファイル名> <添付ファイル名(送ったときに見えるファイル名)>) | mail -s 'サブジェクト' メールアドレス

ディレクトリのクリーニング

間違って生成した大量のゴミファイルを一括で消すには・・・

find ディレクトリパス -name "検索対象文字列" -exec rm {} \;

nkf の バグにハマった

シェルで sendmail と nkf でメールを送信しようとしてハマったのでメモ

title="ながーいながーい件名"
subject=`echo ${title} | nkf -jMm0`

とやると
=?ISO-2022-JP?B?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX?=
=?ISO-2022-JP?B?XXXXXXXXXXXXXXXXXXXXXXXXXXX

お尻の ?= が消える
UTF-8 を -M オプションで MIMEエンコードするとお尻が消えてしまう

どうやら 2.0.7 以前のバグらしい…
2.0.8 にて
* UTF-8 の入力を MIME エンコードすると正しく出力されないのを修正。

なので

subject=`echo ${title} | nkf -j | nkf -Mm0`

として 一旦 iso-2022-jp に変換してから
さらに MIMEエンコードすることで回避する

半日ハマった orz