最近のownCloud攻略
艦これのイベント攻略やりながらownCloudのクラウド移行とかやってるからマジ辛いぜ!
- Amazon S3をexternal storageとして使用すると、その配下のファイルは再共有できない仕様の模様。
- external storageでS3を使うと、時々ファイルのロック周りでエラーが出る場合あり。手作業でMariaDBからロックの行を消してあげればとりあえず復旧できる。
- Forumを見たところ、こういう事態を防ぐにはmemcachedではなくRedisを使えとのこと。確かに変えてみたら出ない気がする。
- 参考: https://central.owncloud.org/t/file-is-locked-how-to-unlock/985
- もともとOwnCloudのexternal storageでバケツに入れていたファイルはどういうわけかs3fsから「見えるけど触れない」状態になってしまう。パーミッション0000でchmodするとI/O errorになる。仕方ないので別のバケツを作って試行中。
- s3fsが若干不安定で、時々FUSE側で勝手に再マウント処理をかけている模様。ただしこのときにマウントオプションがちゃんと引き継がれずにパーミッション情報がおかしくなってしまう。多分syslogに出てるコイツが原因。
s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed
#!/bin/sh MOUNTPOINT=/foo/bar LS_L=`/bin/ls -ld $MOUNTPOINT` UID=`echo $LS_L | /usr/bin/awk '{ print $3 } ;'` GID=`echo $LS_L | /usr/bin/awk '{ print $4 } ;'` if [ $UID != www ] || [ $GID != www ] ; then /sbin/umount $MOUNTPOINT /usr/local/bin/s3fs バケツ名 \ $MOUNTPOINT \ -o rw,uid=80,gid=80,allow_other,passwd_file=パスワードファイル fi
lsがエラー起こす場合があるので修正。
#!/bin/sh MOUNTPOINT=/foo/bar LS_L=`/bin/ls -ld $MOUNTPOINT 2> /dev/null` UID=`echo $LS_L | /usr/bin/awk '{ print $3 } ;'` GID=`echo $LS_L | /usr/bin/awk '{ print $4 } ;'` if [ X$UID != Xwww ] || [ X$GID != Xwww ] ; then /sbin/umount $MOUNTPOINT /usr/local/bin/s3fs バケツ名 \ $MOUNTPOINT \ -o rw,uid=80,gid=80,allow_other,passwd_file=パスワードファイル fi
この感じ見ると、スクリプト仕込んで大正解の様子。
# tail -f /var/log/messages | grep s3fs May 14 13:36:18 owncloud s3fs: init v1.78 (OpenSSL) May 14 13:56:49 owncloud s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed May 14 13:58:30 owncloud s3fs: init v1.78 (OpenSSL) May 14 14:12:45 owncloud s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed May 14 14:17:00 owncloud s3fs: init v1.78 (OpenSSL) May 14 14:32:59 owncloud s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed May 14 14:33:00 owncloud s3fs: init v1.78 (OpenSSL) May 14 14:52:19 owncloud s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed May 14 14:53:00 owncloud s3fs: init v1.78 (OpenSSL) May 14 15:17:46 owncloud s3fs: ###curlCode: 65 msg: Send failed since rewinding of the data stream failed May 14 15:18:01 owncloud s3fs: init v1.78 (OpenSSL)