CentOS 6.4でオンラインストレージ「Box」をWebDAV(davfs2)マウント:rpmforgeからfstab設定:LinuxでBoxをマウント編

boxにWebdavでアクセス失敗して困っている人へ

boxにWebdavでアクセス失敗する人はURLを確認してください。
「https://www.box.com/dav」と「https://app.box.com/dav」ではアクセスできませんでした。
「https://dav.box.com/dav」です。

Nexus 5でもBoxで50GBプレゼントキャンペーン

iPhoneで50GBの容量をGETできると話題のオンラインストレージBoxですが、とりあえずNexus 5でBoxのアプリを入れてみたらLGのデバイスでも50GBプレゼントキャンペーンが適応されました。

思わぬところで50GBのオンラインストレージが手に入ったので、VPSのファイルバックアップ先としてWebDAV利用してみます。

試した環境は「さくらのVPS 2G」と「ServersMan@VPS」です。

rpmforgeのインストールからfstab設定

まずはdavfs2が必要なのでrpmforgeからインストールします。

[root@vp52 ~]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@vp52 ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm を取得中
準備中...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]
[root@vp52 ~]#

davfs2をインストールします。

[root@vp52 ~]# yum install -y davfs2
Loaded plugins: fastestmirror
・・・・・・・・・・・・・
・・・・・・・・・・・・・省略・・・・・・・・・・・・・
・・・・・・・・・・・・・
Dependencies Resolved
===============================================================================================================
 Package                       Arch                 Version                       Repository              Size
===============================================================================================================
Installing:
 davfs2                        x86_64               1.4.6-1.el6.rf                rpmforge               218 k
Installing for dependencies:
 libproxy                      x86_64               0.3.0-4.el6_3                 base                    39 k
 libproxy-bin                  x86_64               0.3.0-4.el6_3                 base                   8.2 k
 libproxy-python               x86_64               0.3.0-4.el6_3                 base                   8.4 k
 neon                          x86_64               0.29.3-3.el6_4                base                   119 k
 pakchois                      x86_64               0.4-3.2.el6                   base                    21 k
Transaction Summary
===============================================================================================================
Install       6 Package(s)
・・・・・・・・・・・・・
・・・・・・・・・・・・・省略・・・・・・・・・・・・・
・・・・・・・・・・・・・
Installed:
  davfs2.x86_64 0:1.4.6-1.el6.rf                                                                         
Dependency Installed:
  libproxy.x86_64 0:0.3.0-4.el6_3  libproxy-bin.x86_64 0:0.3.0-4.el6_3  libproxy-python.x86_64 0:0.3.0-4.el6_3 
  neon.x86_64 0:0.29.3-3.el6_4     pakchois.x86_64 0:0.4-3.2.el6       
Complete!
[root@vp52 ~]#

Boxをマウントするディレクトリを作成します。


[root@vp52 ~]# mkdir /var/box

とりあえずBoxをマウントできるかテスト


[root@vp52 ~]# mount -t davfs https://www.box.com/dav /var/box/
Please enter the username to authenticate with server
https://www.box.com/dav or hit enter for none.
  Username: *******@gmail.com
Please enter the password to authenticate user *******@gmail.com with server
https://www.box.com/dav or hit enter for none.
  Password:  
/sbin/mount.davfs: Mounting failed.
302 Found
[root@vp52 ~]# 

Boxのwebdavのマウント失敗。。。
302 Foundリダイレクトされてる??
ブラウザで確認してみると、https://www.box.com/davからhttps://app.box.com/davへリダイレクトされていました。
https://www.box.com/davは古いのかな?

app.box.comでマウントの再チャレンジ


[root@vp52 ~]# mount -t davfs https://app.box.com/dav /var/box/
/sbin/mount.davfs: Mounting failed.
404 Not Found
[root@vp52 ~]# 

app.box.comでもwebdavのマウントできませんでした。。。
今度は404 Not Found
ここまで来て始めてBoxのオンラインヘルプページを見てアクセスURLが「https://dav.box.com/dav」だということを知る。

[root@vp52 ~]# mount -t davfs https://dav.box.com/dav /var/box/
Please enter the username to authenticate with server
https://dav.box.com/dav or hit enter for none.
  Username: *******@gmail.com
Please enter the password to authenticate user *******@gmail.com with server
https://dav.box.com/dav or hit enter for none.
  Password:  
[root@vp52 ~]# 

BoxをWebDAVマウントできた。

Boxのアカウント情報davfs2に設定する。


[root@vp52 ~]# vi /etc/davfs2/secrets

# /home/otto/.davfs2/certs/private/otto.crt  geheim
# otto_private.crt              "this is extraordinary secret"
# "otto private.crt"            this\ is\ secret,\ too.
https://dav.box.com/dav         メールアドレス    パスワード

ロックファイルを作らないようにdavfs2.confuse_locksを0に設定する。


[root@vp52 ~]# cat /etc/davfs2/davfs2.conf
# use_locks       1
use_locks         0
# lock_owner      <user-name>

Boxを自動でマウントしたいのでfstabへ記載する。


[root@vp52 ~]# cat /etc/fstab 
none    /dev/pts        devpts  rw,gid=5,mode=620       0       0
none    /dev/shm        tmpfs   defaults                0       0
https://dav.box.com/dav /var/box davfs rw,user,noauto 0 0
[root@vp52 ~]# 

※マウントに失敗した理由※
Box.comのWebDAVのURLはいろいろなブログで「https://www.box.com/dav」、「https://app.box.com/dav」など紹介されていましたが、自分がマウント成功したのは「https://dav.box.com/dav」でした。

IDCフロンティアのセルフタイプでUnixBenchしてみた。

IDCフロンティアのセルフタイプクラウドのM4でベンチを計測


make[1]: Leaving directory `/root/UnixBench'
sh: 3dinfo: command not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark
   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com
1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

しばらく放置・・・


========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: i-****-****-VM: GNU/Linux
   OS: GNU/Linux -- 2.6.32-358.18.1.el6.x86_64 -- #1 SMP Wed Aug 28 17:19:38 UTC 2013
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz (6133.6 bogomips)
          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 1: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz (6133.6 bogomips)
          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   17:17:04 up 2 days, 22:15,  1 user,  load average: 0.61, 0.19, 0.06; runlevel 3

------------------------------------------------------------------------
Benchmark Run: 月  9月 30 2013 17:17:04 - 17:45:12
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       28367253.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3530.8 MWIPS (10.0 s, 7 samples)
Execl Throughput                               3441.7 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        817480.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          249981.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1689691.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1776811.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 321488.6 lps   (10.0 s, 7 samples)
Process Creation                               9456.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5336.2 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    747.7 lpm   (60.0 s, 2 samples)
System Call Overhead                        2036710.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   28367253.0   2430.8
Double-Precision Whetstone                       55.0       3530.8    642.0
Execl Throughput                                 43.0       3441.7    800.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     817480.5   2064.3
File Copy 256 bufsize 500 maxblocks            1655.0     249981.9   1510.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    1689691.9   2913.3
Pipe Throughput                               12440.0    1776811.1   1428.3
Pipe-based Context Switching                   4000.0     321488.6    803.7
Process Creation                                126.0       9456.1    750.5
Shell Scripts (1 concurrent)                     42.4       5336.2   1258.5
Shell Scripts (8 concurrent)                      6.0        747.7   1246.1
System Call Overhead                          15000.0    2036710.3   1357.8
                                                                   ========
System Benchmarks Index Score                                        1287.8

------------------------------------------------------------------------
Benchmark Run: 月  9月 30 2013 17:45:12 - 18:14:24
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables       35991606.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3866.8 MWIPS (15.8 s, 7 samples)
Execl Throughput                               4974.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        703626.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          196495.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1632889.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                             2232317.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 420895.9 lps   (10.0 s, 7 samples)
Process Creation                              15183.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5627.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    748.7 lpm   (60.1 s, 2 samples)
System Call Overhead                        2325012.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   35991606.7   3084.1
Double-Precision Whetstone                       55.0       3866.8    703.1
Execl Throughput                                 43.0       4974.5   1156.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     703626.0   1776.8
File Copy 256 bufsize 500 maxblocks            1655.0     196495.1   1187.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1632889.8   2815.3
Pipe Throughput                               12440.0    2232317.3   1794.5
Pipe-based Context Switching                   4000.0     420895.9   1052.2
Process Creation                                126.0      15183.9   1205.1
Shell Scripts (1 concurrent)                     42.4       5627.4   1327.2
Shell Scripts (8 concurrent)                      6.0        748.7   1247.9
System Call Overhead                          15000.0    2325012.8   1550.0
                                                                   ========
System Benchmarks Index Score                                        1450.9

今回のスペックM4は2CPU(1.6GHz)の4GBというスペック


CentOS release 6.3にMySQL Server5.6をrpmでインストール

CentOS release 6.3にMySQL Server5.6をrpmでインストールメモ


HandlerSocket-Plugin-for-MySQLも使いたいとの要望もあったので、HandlerSocket-Plugin-for-MySQLもインストールしてみます。
MySQL5.6だからmemcached pluginを使えばいいのに。。。


yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.11-2.el6.x86_64.rpm \
 http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.11-2.el6.x86_64.rpm \
 http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm \
 http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.11-2.el6.x86_64.rpm 


==================================================================================================
 Package               Arch     Version          Repository                                  Size
==================================================================================================
Installing:
 MySQL-client          x86_64   5.6.11-2.el6     /MySQL-client-5.6.11-2.el6.x86_64           81 M
 MySQL-devel           x86_64   5.6.11-2.el6     /MySQL-devel-5.6.11-2.el6.x86_64            19 M
 MySQL-server          x86_64   5.6.11-2.el6     /MySQL-server-5.6.11-2.el6.x86_64          231 M
 MySQL-shared-compat   x86_64   5.6.11-2.el6     /MySQL-shared-compat-5.6.11-2.el6.x86_64    11 M
     replacing  mysql-libs.x86_64 5.1.67-1.el6_3
     replacing  mysql-libs.x86_64 5.1.67-1.el6_3

Transaction Summary
==================================================================================================
Install       4 Package(s)

Total size: 343 M
Is this ok [y/N]: 

Innodbプラグイン

mysql> select @@innodb_version;  
+------------------+
| @@innodb_version |
+------------------+
| 5.6.11           |
+------------------+
1 row in set (0.00 sec)

mysql> 

MySQL5.6がrpmでインストール完了しました。
下記にエラッた(自分の知識不足)を記載

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

MySQL5.6からはrootのデフォルトパスワードが設定されるようになりました。

[root@hogehoge ~]# cat /root/.mysql_secret
# The random password set for the root user at Wed May 29 01:22:53 2013 (local time): DYdSZgeI


MySQL5.6でmy.cnfの読み込み順序

MySQL5.6のヘルプに書いて有りました。

[root@hogehoge ~]#  mysql --help | less
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.

MySQL5.6にアップデートしたら起動しない。。

my.cnfに廃止になったオプションがるよ、きっと。

default-character-set = utf8


ERROR 1126 (HY000): Can’t open shared library ‘/usr/lib64/mysql/plugin/handlersocket.so’

MySQL5.6にhandlersocketインストール失敗。。解決できませんでした。

mysql> mysql> install plugin handlersocket soname 'handlersocket.so';

ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/handlersocket.so' (errno: 13 /usr/lib64/mysql/plugin/handlersocket.so: undefined symbol: _ZN4Item8get_dateEP13st_mysql_timej)
mysql>


CloudStackでXenServerがUnable to add the hostで追加できない。

CloudStackで構築していたら、host(コンピューティングノード)の追加で「Unable to add the host」とエラーになってしまいました。
エラー[Unable to add host]



今回のCloudStack環境

Management Server、Database Server、Storage共通
  • CentOS release 6.3 (Final)
  • CloudStack-oss-3.0.2-1-rhel6.2
Computing Node
  • XenServer release 6.0.2-53456p (xenenterprise)


注意点として、CloudStackでXenを利用するにはバージョンに注意する必要があります。
XenServer6.0.2の場合、CloudStack3.0.1を利用し、XenServer6.0場合、CloudStack3.0.0を使用する必要があるので注意しましょう。
また、Xenのライセンス(license.xslic)やインストール時点でのパッチ(今回はXS602E003.zip)は適応させておきましょう。

CloudStack[Unable to add host/Unable to add the host]を解決

Unable to add the hostを解決するにはデータベースの修正とXenCenterでの操作が必要でした。

Unable to add host/Unable to add the hostを解決(XenCenter)

CloudStack側でホストの追加を行う前に、XenCenterで事前Poolの作成を行います。

Unable to add host/Unable to add the hostを解決(mysql)

CloudStackのデータベースを修正します。

mysql> 
mysql> use cloud
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> 
mysql> INSERT INTO `cloud`.`configuration` (`category`, `instance`, `component`, `name`, `value`, `description`) VALUES ('Advanced', 'DEFAULT', 'management server', 'xen.check.hvm', 'false', 'Shoud we allow only the XenServers support HVM');
Query OK, 1 row affected (0.05 sec)
mysql> 
mysql> commit
    -> ;
Query OK, 0 rows affected (0.00 sec)
mysql> 

これでUnable to add host/Unable to add the hostが出ていましたが、無事CloudStackへXenServerを追加することができました。

CentOS5.6のphp53でPearは使えない。

CentOS6もやっとリリースされたけど、タイミング的に一足遅かったので5.6で構築した際の話。

CentOSの安定性追求を考えると仕方ないけど、さすがにPHP5.1系は厳しい
phpmyadminも5.1対応の2系のダウンロードリンク消えました。。
それもあって、前みたいにremiとepelを設定しようかと思ったら
追加のレポなしで、「php53」がインストールできた。

まずは既存の5.1を削除。

yum remove php php-*

次に5.3系をいろいろ入れる。

yum install php53 php53-devel php53-mbstring php53-mysql

簡単に5.3が使えるようになった。
んで、Apche、Mysqlを入れた後、SmartyをセットアップしてPearでいろいろ入れようとしたら
「pear list」だけでPEARがやたらとNoticeとかWARNINGを出してくるので、見てみると構文の問題みたい
参照を渡す時の&の使い方がよくないとか、いろいろ文句言ってくる。

なんと、php-pearはphp53には対応してないみたい。
でもPearでDBとかZipを使いたかったけど、インストールできない。
Pearのバージョンをあげようとしても、エラーがでるので無理やりPearをアップデートしてみる。

pear upgrade --force Archive_Tar
pear upgrade --force Console_Getopt
pear upgrade PEAR

Pearのアップデートはうまくいったけど、エラーが出まくって気持ち悪い。。
結局DBのインストールもできなかったので、phpを5.1に戻しました。