kikumotoのメモ帳

インフラ・ミドル周りを中心に、興味をもったことを適当な感じで。twitter : @takakiku

CloudStoreを使う・コマンドライン編

前回までで、とりあえずCloudStoreが起動したので、今回はコマンドラインツールを使ってCloudStoreにアクセスする方法をメモしておく。
前々回コンパイルにより、コマンドラインツールが /home/kfs/cloudstore/bin/tools にある。
ファイルをCloudStore上にコピーするには、cptokfs を使えばよい。

$ ./cptokfs -s kfs0 -p 20000 -d kfstoggleworm -k kfstoggleworm

CloudStore上のディレクトリの中身を見たり、操作するには kfsshell を使えばよいようである。上記のようにファイルをコピーしていれば

$ ./kfsshell -s kfs0 -p 20000
KfsShell> ls -l
dumpster/       Jun 24 16:52    (dir)
kfstoggleworm   Jun 26 09:40    1312564

のように見える。シェルから出るには Ctrl+C するようである。

CloudStoreからファイルをローカルに取り出すには、cpfromkfs を使う。

$ ./cpfromkfs -s kfs0 -p 20000 -k kfstoggleworm -d ./hoge

な感じ。このとき ./hoge とせずに hoge と書くと、

Local Path: hoge is non-existent!

と言われるので注意。

あと、ファイルがどのように各chunkserverに配置されているかは kfsfileenum を使えば見ることができるようである。

$ ./kfsfileenum -s kfs0 -p 20000 -f kfstoggleworm
0       3
                192.168.251.83 30000    1312564
                192.168.251.82 30000    1312564
                192.168.251.81 30000    1312564

削除は kfsshell をつかことになる。ちなみに、CloudStore には HDFS のように「ごみ箱」みたいな仕組みはないのかな?