つぶやき
技術系や雑感等は再編集して本文の記事にする事を前提としているので、こっちにLinkを張らないでください。
CentOS上のNFS
原因は不明だが、とりあえず対処療法で逃げたのでメモ。
原因を追究する根性がない。
- 以下のマシンはすべてKVMのGuest VMとして作成。
- KVMはCentOS-7で構築している
- NFS Server: CentOS 6.6/lsyncd/xintd/rsync
- NFS Client: CentOS 6.6
- NFS Protocol: v4 (nfsinfo -mで確認)
この環境で、以下の設定を実施
nfs server: /exports /mnt 172.25.255.0/24(rw,root_squash,sync,no_subtree_check) chkconfig --list nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfs client: /etc/fstab nfs-server:/mnt /mnt nfs rw,sync,suid,exec,nouser,auto,hard,intr,noatime,actimeo=10 0 0 chkconfig --list netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
この状況で、client側で dd if=/dev/zero bs=512 count=102400 of=/mnt/test を実行すると、以下のような症状が出る
- コマンドは正常に終了する
- しかし、/mnt/testのファイルサイズが32768であったり65536であったりする。
本来、ファイルサイズが102400にならなければならないのに、32768や65536バイトにしかならないのは明らかに異常。
原因を小一時間ググったが、参考になる情報がないので、仕方がないからfstabのOprtionをいろいろ変更したところ、syncを外したら問題が解決した。
この問題は、複数のCentOS VMで観測されたので、個々のVM Instanceの問題ではないと考えられる。
しかし、こんなことが起こる理由がよく分からない。
pfSense on XenServer
pfSense の記事は、そろそろ大幅に revise が必要なのだが、今そんな余裕はないので、メモだけ。
pfSense は FreeBSD 系統の OS で、kernel は FreeBSD なわけだが、従って、XenServer の Guest として動かすことができる。 それだけではなく、XenTools も導入可能である。ただし、現行の pfSense 2.2.1-Release でしか確認していない。
問題は、pfSense のPackageにはxe-guest-utilitiesがないこと。そのため、以下の手順を実施する。
なお、以下の手順を実施するには、
- ssh で login できること
- sudo が導入されており、かつ sudo で root 権限を握れるアカウントで設定すること
が必要。
pfSense% sudo pkg install xe-guest-utilities pfSense% sudo echo "xenguest_enable=\"YES\"" >> /etc/rc.conf.local pfSense% sudo ln -s /usr/local/etc/rc.d/xenguest /usr/local/etc/rc.d/xenguest.sh pfSense% sudo service xenguest start
この作業は、「おそらく」Major version up の度に実施しなければならない気がするし、時々はpkgの更新を実施してやる必要があると思われる。
気になった記事をまとめておく@20150402
さすがに忘れそうなものがいっぱいなので、こっちに釣っておく。
sshとcron
Backupを取得するに際して、Backupを元々のServerに置いておいたら、Disk破損の時に一気に死ぬ。 で、そんな事態は救われないので、BackupをRemoteに置いておくために、Backup Scriptまで作ったわけだが、Serverの内側でcronなどでBackupを取得するのは設定ミスとか管理の分散とかが起こってうれしくない。 というわけで、remoteからsshを利用してBackupを取得するようにscriptを作ったのだが、
Pseudo-terminal will not be allocated because stdin is not a terminal.
などといいうErrorが出た。で、これはptyの割り付けないremoteからのコマンドは実行できないということでsshが吐き出すErrorである。
しかし、shell scriptには-tは記載されていて、ちゃんと動くはずだとどはまりをしたわけで…
で、困りに困って調べてみたら、出てました。man ssh
-t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based pro-
grams on a remote machine, which can be very useful, e.g. when implementing menu ser-
vices. Multiple -t options force tty allocation, even if ssh has no local tty.
よく見たら、Multiple -t options force tty allocation, even if ssh has no local tty.だそうな。
要するに、-t -tとしろと。
わかりにくいからメモにしておく。
教訓は、RTFM … orz.
RTC on CentOS7
CentOS-7をInstallすると、今までのCentOS6までのような/etc/sysconfig/clockがないため、大幅にはまる。 特に、RTCがLocal Timezoneに設定されていたりなんかするとひどい目にあう。
というわけで、設定方法
- timedatectl set-timezone Asia/Tokyo
- timedatectl set-local-rtc 0
- ntpdate ntp.nict.jp
なんか微妙に納得いかない
