CAP学习笔记
de68 osd
gd04 client
gd07 mds
到/home/lg
最首先启动的是mds gd07
记住要rm /CAP_MDS/ -rf
第二部直接启动osd
./osd
sh osd_start.sh
最后就是
1.编辑客户端Kbuild文件,确保TOPDIR指示的绝对路径是正确的
2.make clean
3.make
4.开启mds端和osd端(参考mds和osd端的说明文档)
5.编辑客户端mount.sh文件,确保ip段写的是mds的IP
6.insmod capfs.ko
7.sh mount.sh
8.至此,capfs已被mount到本地,可以用df命令查看是否正确。
如:
[root@localhost capfs-client]# df -t capfs
Filesystem 1K-blocks Used Available Use% Mounted on
192.168.1.129:/ 13493132 1578552 10983972 13% /mnt
之后是一个 strace -c -o webserver-strace.txt filebench -f webserver.f
顺便也学了一点vim的指令 i进入插入模式,esc返回普通模式,:wq
→ 存盘 + 退出 (:w
存盘, :q
退出)
dd
→ 删除当前行,并把删除的行存到剪贴板里
最后离开的时候 记得 sh uninstall.sh
2013/07/24 了解任务
1.任务是要测试出各个函数的耗时,元数据需要跟mds交互,数据需要跟osd交互。
2.jiffies的打印信息都会保存在/var/log/messages
3.filebench用来测试 server.f 里面需要修改/mnt
run 60s
4.printk可以直接输出,但是要注意的是,每一个函数里加代码会很麻烦,还是调用函数吧
2013/07/28
1.写一个测试的小程序,发现不能reboot
2013/07/29
将昨天的问题反映到boss,boss带我去了机房,重启了客户端,终于OK了。
2013/07/30
messages里貌似信息太满,于是就用上面几条指令清空文件 重启系统日志服务,之后结果如下
时间都打印出来了,可是为什么是0啊。。。。。。。。。应该都小于1所以就置为0,现在去改
改了之后发现,jiffies还是0.。。。。so原因是什么呢?
2013/8/1
学习与mds交互部分的代码,PS:今天一直连不上机房,不知什么原因。
Client 与mds交互部分,
进程每打开一个文件,就会有一个file结构与之对应。同一个进程可以多次打开同一个文件而得到多个不同的file结构,file结构描述了被打开文件的属性,读写的偏移指针等等当前信息。
两个不同的file结构可以对应同一个dentry结构。进程多次打开同一个文件时,对应的只有一个dentry结构。Dentry结构存储目录项和对应文件(inode)的信息。
在存储介质中,每个文件对应唯一的inode结点,但是,每个文件又可以有多个文件名。即可以通过不同的文件名访问同一个文件。这里多个文件名对应一个文件的关系在数据结构中表示就是dentry和inode的关系。
Inode中不存储文件的名字,它只存储节点号;而dentry则保存有名字和与其对应的节点号,所以就可以通过不同的dentry访问同一个inode。
不同的dentry则是同个文件链接(ln命令)来实现的。