<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[李希的博客]]></title><description><![CDATA[一个文件系统开发者的笔记]]></description><link>https://blog.youkuaiyun.com/fsdev</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fsdev]]></copyright><item><title><![CDATA[文件系统开发手记-第2篇 我为什么要在Lustre上做QoS]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/51765293</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/51765293</guid><author>fsdev</author><pubDate>Sun, 26 Jun 2016 23:58:47 +0800</pubDate><description><![CDATA[QoS是Quality of Service的简写，顾名思义，就是保证服务质量。小希我经过多年的苦熬，终于将服务端QoS（NRS TBF）加入主线，同时各种对于QoS改进也在进行中，另外客户端的QoS也在测试阶段。纵观各类文件系统，QoS并不常见，因此我猜想有人会有疑问，为什么要在Lustre实现QoS呢？

实用场景对Lustre的诸多要求，首先最重要的是性能和容量。容量基本上在体系结构设计]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第8篇 rdisk：路由表更新程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/8446605</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/8446605</guid><author>fsdev</author><pubDate>Fri, 28 Dec 2012 11:18:59 +0800</pubDate><description><![CDATA[8.1       引言
    初始化路由表有很多种方法，其中使用ICMP路由器发现报文就是一种方法。rdisc程序正是使用ICMP路由器发现报文来完成路由表的初始化和更新。
    rdisc程序根据编译的不同可以程序可以编译成具有或没有服务器功能。如果设置了RDISC_SERVER宏，则会有服务器的功能，也就是会对ICMP报文路由器请求报文进行回复。否则，不会对ICMP报文路由器请求报文]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第7篇 tftpd：简单文本传输]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/8446519</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/8446519</guid><author>fsdev</author><pubDate>Fri, 28 Dec 2012 11:02:13 +0800</pubDate><description><![CDATA[7.1       引言
    TFTP ( Trivial File Transfer Protocol)即简单文件传送协议，是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议，提供简单的、低开销的文件传输服务。tftpd程序就是进行tftp服务的服务程序。
TFTP协议可以参看RFC 1350。
7.2       tftpd程序的使用
    由于这个程序需]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第6篇 rarpd：逆地址解析程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7984374</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7984374</guid><author>fsdev</author><pubDate>Sun, 16 Sep 2012 13:57:56 +0800</pubDate><description><![CDATA[6.1       引言
    通过逆地址解析协议RARP，客户端可以通过硬件地址得到对应的IP地址，一般用于无盘系统中，用以获得自身的IP地址。rarpd就是处理RARP请求的服务器程序。
    RARP分组的格式与ARP分组基本一致。它们之间主要的差别是RARP请求或应答的帧类型代码为0x8035，而且RARP请求的操作代码为3，应答操作代码为4。
6.2       rarpd程序]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第5篇 arping：地址解析程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7906403</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7906403</guid><author>fsdev</author><pubDate>Sat, 25 Aug 2012 12:16:12 +0800</pubDate><description><![CDATA[5.1       引言
    ARP协议是“Address Resolution Protocol”（地址解析协议）的缩写。在同一以太网中，通过地址解析协议，源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping程序就是完成上述过程的程序。
    ARP协议可以参看RFC 826。
5.2       arping程序的使用
    敲入命令：
lixi@lixi-]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第4篇 tracepath：路由追踪程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7884162</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7884162</guid><author>fsdev</author><pubDate>Sun, 19 Aug 2012 21:19:37 +0800</pubDate><description><![CDATA[4.1       引言
    tracepath和更为强大和更为广泛使用的程序traceroute一样，可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。
    tracepath的作者是Alexey Kuznetsov。
4.2       tracepath程序的使用
lixi@lixi-desktop:~$ tracepath 210.45.74.25/8888]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第3篇 clockdiff：时间比对程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7867501</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7867501</guid><author>fsdev</author><pubDate>Wed, 15 Aug 2012 09:22:05 +0800</pubDate><description><![CDATA[3.1       引言
    在IP报文的首部和ICMP报文的首部都可以放入时间戳数据。clockdiff程序正是使用时间戳来测算目的主机和本地主机的系统时间差。
3.2       clockdiff程序的使用
lixi@lixi-desktop:~$ ping -T tsandaddr www.ustc.edu.cn -c 1
PING www.ustc.edu.cn (202.38]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第2篇 ping：通路检测程序]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7866096</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7866096</guid><author>fsdev</author><pubDate>Tue, 14 Aug 2012 22:46:24 +0800</pubDate><description><![CDATA[2.1       引言
   “ping”这个名字源于声纳定位操作。Ping程序由Mike Muuss编写，目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机，并等待返回ICMP回显应答。
2.2       ping程序的使用
    敲入命令：
lixi@lixi-desktop:~$ ping -V
ping utility, iputils-sss2007]]></description><category></category></item><item><title><![CDATA[深入理解iputils网络工具-第1篇 简介]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7864225</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7864225</guid><author>fsdev</author><pubDate>Tue, 14 Aug 2012 12:55:02 +0800</pubDate><description><![CDATA[1.1       iputils软件包简介

    iputils软件包是linux环境下一些实用的网络工具的集合。一开始由Alexey Kuznetsov维护。
    iputils包含以下几个工具：
    1. ping。使用 ping可以测试计算机名和计算机的ip地址，验证与远程计算机的连接。ping程序由ping.c ping6.cping_common.c ping.h]]></description><category></category></item><item><title><![CDATA[深入理解Lustre文件系统-第3篇 LNET：Lustre网络]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7800126</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7800126</guid><author>fsdev</author><pubDate>Sun, 29 Jul 2012 22:51:08 +0800</pubDate><description><![CDATA[LNET是Lustre Networking的缩写，是Lustre的网络子系统，负责提供消息传递API。LNET源自于Sandia Portals，但又与之存在着差异。
3.1      结构
    LNET由两部分组成：

LNET层。它以通信API的方式，向被称为LNET客户端的高层提供一个与网络类型无关的服务。在LNET层，以LNet作为前缀的函数名是为高层提供的外部API，而以l]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第6篇 编程风格]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7792881</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7792881</guid><author>fsdev</author><pubDate>Fri, 27 Jul 2012 11:43:15 +0800</pubDate><description><![CDATA[遵循约定总会使得多人协作的成本降低，对于软件开发来说也是这样。
6.1       编程风格
    MTFS的编程风格基本与内核的风格基本保持一致。可以用indent命令查看是否有较大出入。一段代码如下所示：

int mtfs_setxattr(struct dentry *dentry, const char *name,const void *value, size_t size,]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第5篇 在Lustre文件系统中的使用]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7782555</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7782555</guid><author>fsdev</author><pubDate>Tue, 24 Jul 2012 22:41:47 +0800</pubDate><description><![CDATA[MTFS虽然适用于多种类型的下层文件系统，但是其主要目的在于为分布式文件系统提供可靠性增强方法。本文选取分布式文件系统Lustre作为下层文件系统，提出了一种使用MTFS的副本模式增强分布式存储系统可靠性的方法。
    Lustre是一种基于对象的并行分布式文件系统，因其高性能和高可扩展性而被广泛应用在高性能计算领域中。Lustre采用数据与元数据分离的存储方式，将元数据存储在元数据存储目标（]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第4篇 下层文件系统支持]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7746591</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7746591</guid><author>fsdev</author><pubDate>Sat, 14 Jul 2012 19:34:21 +0800</pubDate><description><![CDATA[4.1       为何需要下层文件系统支持？
    MTFS的目的是为众多文件系统提供一种通用的高可用框架。为了这个目的，MTFS的大部分实现方式都是通用的。但是下层文件系统千奇百怪，因此还需要一种机制来处理下层文件系统的差异性，这个机制就是枢纽机制。
4.2       如何添加下层文件系统支持？
    对于每种作为MTFS的下层文件系统，首先需要定义structlowerfs_op]]></description><category></category></item><item><title><![CDATA[深入理解Lustre文件系统-第2篇 Portal RPC]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7738312</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7738312</guid><author>fsdev</author><pubDate>Wed, 11 Jul 2012 23:13:08 +0800</pubDate><description><![CDATA[远程进程调用（Remote Procedure Call，RPC）是构建分布式系统时所使用的一种常见组件。它使得客户端可以像进行本地调用一样进行远程的过程调用，即客户端可以忽略消息传递的细节，而专注于过程调用的效果。
    Portal RPC是Lustre 的RPC组件，它构建于LNET之上，提供客户端和服务器之间进行消息通信的接口。
2.1      消息通信连接的建立
    进行P]]></description><category></category></item><item><title><![CDATA[深入理解Lustre文件系统-第1篇 跟踪调试系统]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7674922</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7674922</guid><author>fsdev</author><pubDate>Mon, 18 Jun 2012 23:24:37 +0800</pubDate><description><![CDATA[一直以来，Linus Torvalds对内核调试器都秉持着抵触态度，并且摆出了我是bastard我怕谁的姿态。他保持了一贯风格，言辞尖锐却直指本质。相信这是经验之谈。在调试内核时，最关键的问题是如何获取出错相关的信息，准确定位出错位置。获取信息有很多方法，其中内核调试器只能提供有限的帮助，而分析日志则是最基本也是最主要的方法。为内核层软件提供一种方便的日志工具，将大大简化其调试工作。在Linux社]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第3篇 系统结构]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7661369</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7661369</guid><author>fsdev</author><pubDate>Wed, 13 Jun 2012 23:17:10 +0800</pubDate><description><![CDATA[MTFS是一种扇出式的内核层堆叠式文件系统。那么什么是堆叠式文件系统？堆叠式文件系统是一种轻量级的文件系统，它可安装在其他文件系统之上，从而为已有文件系统提供了一种增量式开发方法。堆叠式文件系统本身不提供数据存储功能，而是堆叠在下层文件系统之上，调用下层文件系统接口，完成文件系统操作。按照堆叠方式的不同，堆叠式文件系统可分为线性和非线性两类，非线性堆叠式文件系统又可分为扇入式（fan-in）和扇出]]></description><category></category></item><item><title><![CDATA[互联网商业模式之我见：从电子邮箱为什么无法收费谈起]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7657978</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7657978</guid><author>fsdev</author><pubDate>Wed, 13 Jun 2012 01:43:57 +0800</pubDate><description><![CDATA[熟悉中国互联网发展历史的人，相信对2001年到2002年间爆发的那场电子邮箱收费门都有所耳闻。在这场巨大的风波中，中国互联网行业经历了一场关于邮箱是否收费与容量增减的大战。2001年8月，新浪将免费邮箱的容量从50M直接缩水到5M，并声称这个容量对于98%的用户都够用，引发了用户的广泛抗议。2002年3月，坐拥2000多万用户的263突然宣布“免费邮箱死亡”。此后的两月间，其用户锐减至59万，相当]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第2篇 安装]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7656939</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7656939</guid><author>fsdev</author><pubDate>Tue, 12 Jun 2012 17:54:29 +0800</pubDate><description><![CDATA[2.1       硬件环境需求
除了硬件环境能被一定版本的Linux操作系统支持之外，MTFS对硬件环境没有其他的特殊需求。
2.2       软件环境需求
对使用环境上，MTFS具有一下要求：


MTFS支持有限的linux内核版本。MTFS支持的安装方式包括源码安装和rpm包安装。如需通过rpm包安装，则需要安装有相应的rpm包管理工具。为了使用MTFS的工具，需要包含rea]]></description><category></category></item><item><title><![CDATA[Lustre可靠性增强系统MTFS：第1篇 简介]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7650503</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7650503</guid><author>fsdev</author><pubDate>Sun, 10 Jun 2012 19:45:46 +0800</pubDate><description><![CDATA[1.1       MTFS是什么？


MTFS（MulTi File System）是一个基于副本的可靠性增强系统。它通过维持文件的多个副本，提高分布式存储系统的可靠性。MTFS是一个堆叠式的（stackable）文件系统，它本身不提供数据的存储能力，而直接利用下层文件系统存储数据。因此MTFS可独立于下层文件系统的具体实现，专注于副本策略的设计。MTFS支持包括本地文件系统、网络文件系]]></description><category></category></item><item><title><![CDATA[欢迎共同参与开源内核文件系统开发项目：Lustre可靠性增强系统MTFS]]></title><link>https://blog.youkuaiyun.com/fsdev/article/details/7648917</link><guid>https://blog.youkuaiyun.com/fsdev/article/details/7648917</guid><author>fsdev</author><pubDate>Sat, 09 Jun 2012 21:52:24 +0800</pubDate><description><![CDATA[一、MTFS是什么？
 
1. MTFS（MulTi File System）是一个基于副本的可靠性增强系统。它通过维持文件的多个副本，提高分布式存储系统的可靠性。
 
2. MTFS是一个堆叠式的（stackable）文件系统，它本身不提供数据的存储能力，而直接利用下层文件系统存储数据。因此MTFS可独立于下层文件系统的具体实现，专注于副本策略的设计。MTFS支持包括本地文件系统、网络文]]></description><category></category></item></channel></rss>