エントリー

カテゴリー「Cubieboard」の検索結果は以下のとおりです。

メンテナンスとnfsの設定

ラズパイから共有ディレクトリを参照できるようにするためnfsの設定を行う

メンテナンス

パッケージのアップデートを実施

# aptitude safe-upgrade
依存関係を解決中...
以下のパッケージが更新されます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  bind9 bind9-host bind9utils dnsutils exim4-base exim4-config
  exim4-daemon-light libbind9-80 libc-bin libc-dev-bin libc6 libc6-dev
  libdns88 libexpat1 libffi5 libisc84 libisccc80 libisccfg82 libldap-2.4-2
  liblwres80 libonig2 libtasn1-3 libwbclient0 libxml2 linux-libc-dev
  locales multiarch-support perl perl-base perl-modules samba samba-common
  samba-common-bin sudo
更新: 39 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
36.5 M バイトのアーカイブを取得する必要があります。展開後に 46.1 k バイトのディ スク領域が解放されます。
先に進みますか? [Y/n/?] y

(以下略)
nfsサーバのセットアップ
# aptitude install nfs-kernel-server
以下の新規パッケージがインストールされます:
  libgssglue1{a} libnfsidmap2{a} libtirpc1{a} nfs-common{a}
  nfs-kernel-server rpcbind{a}
更新: 0 個、新規インストール: 6 個、削除: 0 個、保留: 1 個。
565 k バイトのアーカイブを取得する必要があります。展開後に 1,394 k バイトのディ スク領域が新たに消費されます。
先に進みますか? [Y/n/?] y

(略)

# vi /etc/exports

(編集)

# cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/srv/share xx.xx.xx.xx/xx(rw,sync,no_root_squash)
# service nfs-kernel-server restart
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories for NFS kernel daemon....
[....] Exporting directories for NFS kernel daemon...exportfs: /etc/exports
[1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.24.0/24:/srv/share".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x

. ok
[ ok ] Starting NFS kernel daemon: nfsd mountd.
#
exports設定のオプション
オプション 説明
rw 読み込みと書き込みの両方を許可する
ro 読み込みを許可する
sync 同期書き込みを有効にする (デフォルト)
async 非同期書き込みを有効にする
secure 1024番ポートより小さいポートからのリクエストのみ受け付ける (デフォルト)
insecure 1024番ポート以降のポートからのリクエストも受け付ける
wdelay 別の書き込み要求が実行中/発生予定の場合、書き込みを遅らせる (デフォルト)
no_wdelay wdelay を無効にする。async と合わせて設定する
subtree_check サブツリーのチェックを行う。(デフォルト)
一般的な指針として、多くは読み込みのみでファイル名の変更があまり行われないようなディレクトリをエクスポートする場合は、 サブツリーチェック有効の方がよいとされる。
no_subtree_check サブツリーのチェックを無効にする。
一般的な指針として、ホームディレクトリのような細かなファイルが多く、変更も多いディレクトリをエクスポートする場合は、 サブツリーのチェックを無効にした方がよいとされる。
root_squash root UID/GID を anonymous UID/GID にマッピングする
no_root_squash root を anonymous UID/GID にマッピングしない
all_squash 全 UID/GID を anonymous UID/GID にマッピングする
no_all_squash 全 UID/GID を anonymous UID/GID にマッピングしない (デフォルト)
anonuid=UID 指定の UID を anonymous UID にマッピングする
anongid=GID 指定の GID を anonymous GID にマッピングする
クライアントセットアップ
# aptitude install nfs-client

(略)

# mount -t nfs xx.xx.xx.xx:/srv/share /share

必ずmountさせるなら/etc/fstabに記述する

xx.xx.xx.xx:/srv/share   /srv/share  nfs     defaults        0       0

ダイナミックにmountするにはautomountを使う

root@retropie:/# aptitude install autofs

(略)

root@retropie:/# vi /etc/auto.master

最終行に

/-      /etc/share.mount

を,追加

root@retropie:/# vi /etc/share.mount

(編集)

root@retropie:/# cat /etc/share.mount
/srv/share -fstype=nfs,rw  xx.xx.xx.xx:/srv/share
root@retropie:/# systemctl restart autofs

 

AWstatsが正常に動作してなかったので再設定

AWstatsはWebのアクセスログを解析してレポート出力するソフトなのだがCubieboardで運用開始後2年間正常に動作してなかったようだ

過去1年分のアクセスログは残っているので1年前からのログをレポート出力できるよう再設定することにした

AWstatsの基本設定は玄箱の場合と同じ(こちら

過去1年分のログの再収集は以下のとおり

①これまでの収集データを消す

/var/lib/awstats/*.txtを全て削除(.bakを付けてバックアップが最良)

②Apacheアクセスログを古い順に再登録

mkawstats -update -logfile=<ログファイル>

(注)過去のログは追加登録対象にならないのでログは古い順に登録する

尚,/usr/share/awstats/tools/にAWstatsのツールがある(logresolvemerge.pl等を必要なら使う)

Webサーバのメンテナンスを実施

ソフトウェアをアップグレードしてリブート

  • 稼働時間

UPTIME

  • CPU温度(一年分)

CPUtemp

  • HDD温度(一年分)

HDDtemp

  • アップグレードソフトウェア
# aptitude safe-upgrade
(略)
以下のパッケージが更新されます:
  ajenti apache2 apache2-mpm-prefork apache2-utils apache2.2-bin
  apache2.2-common base-files bash bind9 bind9-host bind9utils binutils
  cpio dbconfig-common dnsutils dosfstools dpkg exim4-base exim4-config
  exim4-daemon-light file fontconfig fontconfig-config git git-man gnupg
  gpgv isc-dhcp-client isc-dhcp-common java-common krb5-locales
  libapache2-mod-php5 libbind9-80 libc-bin libc-dev-bin libc6 libc6-dev
  libcairo2 libcroco3 libcurl3-gnutls libdbd-mysql-perl libdns88
  libevent-2.0-5 libexpat1 libfontconfig1 libfreetype6 libgcrypt11
  libgd2-xpm libgnutls26 libgssapi-krb5-2 libidn11 libisc84 libisccc80
  libisccfg82 libk5crypto3 libkrb5-3 libkrb5support0 libldap-2.4-2
  liblwres80 libmagic1 libmysqlclient18 libnl-3-200 libnl-genl-3-200
  libpcsclite1 libpixman-1-0 libpng12-0 librtmp0 libsqlite3-0 libssh2-1
  libssl-dev libssl-doc libssl1.0.0 libsystemd-login0 libtasn1-3
  libwbclient0 libx11-6 libx11-data libx11-xcb1 libxapian22 libxfixes3
  libxi6 libxml2 libxpm4 libxrandr2 libxrender1 libxslt1.1 libxtst6 libxv1
  linux-libc-dev locales login multiarch-support mysql-client
  mysql-client-5.5 mysql-common mysql-server mysql-server-5.5
  mysql-server-core-5.5 ntpdate openssh-client openssh-server openssl p7zip
  p7zip-full passwd perl perl-base perl-modules php-pear php5 php5-cgi
  php5-cli php5-common php5-dev php5-gd php5-mcrypt php5-mysql php5-xmlrpc
  php5-xsl phpmyadmin python-crypto python-imaging python-reconfigure
  python2.7 python2.7-minimal samba samba-common samba-common-bin ssh sudo
  tar tzdata unzip vim vim-common vim-runtime vim-tiny wget wpasupplicant
以下のパッケージが推奨されていますがインストールされません:
  bash-completion gnupg-curl
更新: 139 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
115 M バイトのアーカイブを取得する必要があります。展開後に 3,501 k バイトのディスク領域が解放されます。
先に進みますか? [Y/n/?] y
(以下略)

FANの制御

しばらく気温が下がっていたので何もしないでいた

気温が上がってきたので急遽作成

簡単に仕様を検討

  • HDD温度が○○℃を超えたら設定温度を下回るまでFANを動作させる → 外温度によって下げる温度を変更するようにしたい
  • CPU温度は問題なさそうなので無視 → 90℃とかになったら冷やさないといけないかな

制御プログラム(設定温度などは未調整)

# cat /usr/local/sbin/tempctrl
#!/bin/sh
#
DANGERTEMP=42                   # 超えたらFANを動作する温度
BETTERTEMP=38                   # 下まったらFANを停止する温度
LOCKFILE=/tmp/hddtemp.lock      # 本プログラムの起動状態
FANFILE=/tmp/fanmode.tmp        # FAN動作状態(旧:低速・高速状態)
DEVICE=/sys/class/gpio/gpio7_pg1/value
if [ -f $LOCKFILE ]
then
    /usr/bin/logger -t hddtemp $0 already running
    exit 0
fi
TEMP=`/usr/sbin/hddtemp -n /dev/sda`
if [ 4 -le ${#TEMP} ]
then
    exit 0
fi
if [ "$TEMP" -le $DANGERTEMP ]
then
    echo 0 > $DEVICE            # FANを停止
    exit 0
fi
echo 1 > $DEVICE                # FANを動作
/usr/bin/logger -t hddtemp "Operating the cooling fan for HDD is in the high temperature "`echo $TEMP C`
trap 'rm -rf $LOCKFILE $FANFILE' INT QUIT TERM EXIT
touch $LOCKFILE $FANFILE; chmod 400 $LOCKFILE $FANFILE
while [ -f $FANFILE ]
do
    sleep 60
    TEMP=`/usr/sbin/hddtemp -n /dev/sda`
    if [ "$TEMP" -le $BETTERTEMP ]
    then
      break
    fi
done
echo 0 > $DEVICE                # FANを停止
/usr/bin/logger -t hddtemp "Stop the cooling fan for the HDD is better temperature "`echo $TEMP C`
rm -rf $LOCKFILE $FANFILE
exit 0

これをcronで動作させるためcrontab編集

# EDITOR=vi crontab -e

編集したcrontabは以下

# crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
*/6 * * * * /usr/local/sbin/tempctrl

 

先になるが、いろいろ制御方法を変えていこうと考えてる

尚、温度が上がって危険なのはHDDであり60℃を超えないようにする

またHDDは温度変化が無い様に動作させることにより耐久性があがることが知られている

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed