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交互部分,

1.创建master mds,获得与master mds所负责的osd列表,并对这些osd进行初始化,加入到mds中osd_list_head为表头的链表中
2.将master mds加入到capfs_sb中s_server_list的链表中,根据master mds信息获取其他mds列表,并进行初始化
3.获取根目录的inode和dentry信息
 
2013/8/19
 
 

进程每打开一个文件,就会有一个file结构与之对应。同一个进程可以多次打开同一个文件而得到多个不同的file结构,file结构描述了被打开文件的属性,读写的偏移指针等等当前信息。

   两个不同的file结构可以对应同一个dentry结构。进程多次打开同一个文件时,对应的只有一个dentry结构。Dentry结构存储目录项和对应文件(inode)的信息。

   在存储介质中,每个文件对应唯一的inode结点,但是,每个文件又可以有多个文件名。即可以通过不同的文件名访问同一个文件。这里多个文件名对应一个文件的关系在数据结构中表示就是dentryinode的关系。

   Inode中不存储文件的名字,它只存储节点号;而dentry则保存有名字和与其对应的节点号,所以就可以通过不同的dentry访问同一个inode

   不同的dentry则是同个文件链接(ln命令)来实现的。

原文地址:https://www.cnblogs.com/ligen/p/3192781.html