Arch Linux をPogoplug series4へインストールする

自宅NAS用にPogoplug series4をAmazonで購入

Pogoplug Series4 パーソナル メディア クラウド スマホからも

Pogoplug Series4 パーソナル メディア クラウド スマホからも

標準状態で少し使ったが妙にもっさりしていたのと、REGZA Z3500のLAN HDDとして
使えなかったため、Arch LinuxをインストールしNASとして構築する。

前提
DHCPサーバ必須

ストレージ環境
起動用
SATA接続 - 2.5 500GB HDD

システムバックアップ用
USB2.0接続 - 4GB USBメモリ

REGZA、データやバックアップ用
USB3接続 - 3.5 WD 3TB HDD
(USB3はKURO-DACHI/CLONE/U3)

インストール
ここのInstallation通りすすめる。(起動用のSATA HDD付けた状態でインストール)
http://archlinuxarm.org/platforms/armv5/pogoplug-series-4

設定

1GほどSWAP作っておく

# dd if=/dev/zero of=/swapfile bs=1G count=1
# mkswap /swapfile
# swap on /swapfile
# vi /etc/fstab
/swapfile swap swap defaults 0 0

こんな感じのワンライナー使ってpacmanの接続先を限定して置いたほうが無難です。

# cat /etc/pacman.d/mirrorlist |awk -F '/' '/Server\ =/{print $3}'|while read CC; do ping -c 5 $CC; done

パッケージのアップデート

# pacman -Scc
# pacman -Syy
# pacman -Syu
# reboot

使い勝手向上

# pacman -Su vim
# vi /etc/bash.bashrc
alias vi='vim'
alias ll='ls -la'
# . /etc/bash.bashrc
# alias

IP固定

# vi /etc/network.d/wired-eth0
DHCPコメントアウトし、static部分を設定する
# systemctl restart netcfg &

パスワード設定

# passwd

ユーザ作成

# useradd -m exsample
# passwd exsample

日本語を使いたい

# vi /etc/locale.gen
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
ja_JP.UTF8 UTF-8
# locale-gen

標準言語を日本語

# vi /etc/locale.conf
#LANG=en_US.UTF-8
LANG=ja_JP.UTF-8

GMTJST

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime

一旦再起動

DDNSサービスを登録

システム監視用にメール送受信出来るようにしておく、ついでにdovecotmuttもインストール

# pacman -Su postfix dovecot mutt

環境にあうように適当に設定

# systemctl enable postfix.service
# systemctl enable dovecot.service
# systemctl start postfix.service
# systemctl start dovecot.service

Disk環境構築
(ext4で構築したが書き込み時やジャーナル書き込みのIOWAITが高い気がするのでext2利用。)

# vi /etc/fstab
/dev/sdb1 /mnt/usb ext2 defaults 0 0
/dev/sdc1 /regza ext2 defaults 0 0
/dev/sdc2 /data ext2 defaults 0 0

バックアップ
(環境構築時に1度環境が破損して再構築した経歴があるので、定期的にバックアップしておく)

rsync -aAXv /* /mnt/usb --exclude={/data/*,/regza/*,/backup/*,/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs}

sambaインストール

# pacman -S samba

regza向けsamba設定(※最低のセキュリティレベルで構築)

# vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = share
netbios name = exsample
server string = exsample
strict allocate = yes
log file = /var/log/samba/log.%m
map to guest = Bad User
max log size = 50
null passwords = Yes
guest account = root
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
unix extensions = No
load printers = No
dns proxy = No

[regza]
path = /regza
read only = no
guest ok = Yes
browseable = Yes
directory mask = 0777
create mask = 0777
writable = Yes

# systemctl enable nmbd.service
# systemctl enable smbd.service
# systemctl start nmbd.service
# systemctl start smbd.service

postfix+qpopper

postfixとqpopperで/home/*/Mailboxのファイルを扱う

以前も同じ所でハマった気がしたので忘備録

vi /etc/postfix/main.cf
#
home_mailbox = Mailbox
#home_mailbox = Maildir/
#home_mailbox = Maildir/

# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail

  • qpopper

./configure --enable-specialauth --enable-home-dir-mail=Mailbox

zabbixのメディアからIP Messengerを送信する

  • Mail Messengerを導入する

http://www.kouno.jp/home/
Mail Messenger Ver0.91をダウンロード

# make
# cp mailmsg /usr/local/bin/

# less /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

# vi /usr/lib/zabbix/alertscripts/ipmsg_sender.sh
#!/bin/sh
/usr/local/bin/mailmsg -d $1 << EOF

$2

$3
EOF

  • zabbixのメディアタイプに登録する


SL 6.3 に zabbix 2.0 をインストールする

構成はSL6.3(x86_64)+Mysql+zabbix 2.0

配布元の手順そのままで完了しました。
http://kodai74.blogspot.jp/

  • 前提パッケージ

# yum install mysql-server curl net-snmp unixODBC OpenIPMI-libs httpd php php-bcmath php-gd php-mbstring php-mysql php-xml ipa-pgothic-fonts

  • 監視対象が500程度ならinnodb推奨との事

# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

innodb_file_per_table
innodb_buffer_pool_size=512M
innodb_log_file_size=64M
character-set-server=utf8
skip-character-set-client-handshake

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# /etc/init.d/mysqld start

  • databaseを作成します

# mysql
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '***********';
mysql> flush privileges;
mysql> exit

  • 前提パッケージをインストール

# wget http://www.kodai74.net/packages/non-supported/rhel/6/x86_64/fping-2.4b2-16.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/non-supported/rhel/6/x86_64/iksemel-1.4-2.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/non-supported/rhel/6/x86_64/libssh2-1.4.0-2.el6.x86_64.rpm
# rpm -ivh fping-2.4b2-16.el6.x86_64.rpm iksemel-1.4-2.el6.x86_64.rpm libssh2-1.4.0-2.el6.x86_64.rpm

  • 先行公開されているバイナリパッケージをインストール

# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-2.0.3-1.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-agent-2.0.3-1.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-server-2.0.3-1.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-server-mysql-2.0.3-1.el6.x86_64.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-web-2.0.3-1.el6.noarch.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-web-japanese-2.0.3-1.el6.noarch.rpm
# wget http://www.kodai74.net/packages/zabbix/zabbix-2.0/rhel/6/x86_64/zabbix-web-mysql-2.0.3-1.el6.noarch.rpm
# rpm -ivh zabbix-*

# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.3/create/schema.sql
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.3/create/images.sql
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-mysql-2.0.3/create/data.sql

  • zabbixサーバ設定

# vi /etc/zabbix/zabbix_server.conf
DBPassword=********
# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start
# vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Tokyo
# /etc/init.d/httpd start

  • zabbix web設定

※指示に従って入力する

http://zabix-server/zabbix/

  • login

id:Admin
Pass:zabbix

WARNING! Your cache is running out of filedescriptors

SQUIDが遅い。とにかく遅いのでログを確認

# cat /var/log/squid/cache.log
2012/10/09 12:04:54| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:05:11| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:05:28| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:05:44| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:06:00| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:06:19| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:06:36| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:06:52| WARNING! Your cache is running out of filedescriptors
2012/10/09 12:07:09| WARNING! Your cache is running out of filedescriptors

ぐぐってみたら、cacheが大量に発生しデフォルトのfile open数である1024を超えている様子。

  • squid.confのパラメータに同時ファイルオープン数を定義付ける

# vi /etc/squid/squid.conf
# 下記追加
max_filedesc 4096

  • squid起動と同時にulimitでfileopenを設定する

# vi /etc/init.d/squid
# 下記追加
ulimit -HSn 4096

  • SQUIDを再起動して完了

# /etc/init.d/squid stop
# /etc/init.d/squid start