学习笔记

ext3和ext4区别

Posted in 学习笔记 on 十二月 15th, 2009 by 6ca6cca – Be the first to comment

今天使用GParted格式化原来的NTFS分区,本来想格式化为EXT4的,没找到,只能用EXT3。对这两格式的区别也不清楚,现把google到的东东在blog里备份一份。

1. 与 Ext3 兼容。 执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件。 较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录。 Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4. Extents。 Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配。 当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。

6. 延迟分配。 Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck。 以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验。 日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理。 尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)。 P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier。 磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 “mount -o barrier=0″ 命令禁用该特性。)

FreeBSD Hacks笔记一

Posted in 学习笔记 on 十二月 7th, 2009 by 6ca6cca – Be the first to comment

1. TCSH的一些技巧
ctrl-a:回命令行首,ctrl-e:行末,ctrl-u:删除本行
cd -:回到上一个目录
!$:表示引用上个命令的最后一个参数。
ctrl-d:显示所有补全,TAB补全

2.命令提示字符:.cshrc
“:表提示开始
%B:表启用粗体
%n:登录用户名
%/,%~:当前工作目录
%b:结束粗体
“:提示字符结束

3.绑定:bindkey / kbdcontrol (rc.conf影响所有终端) /xbindkeys_config /atkbd

4.锁定屏幕:lock 默认锁定15分钟,-n可以无限时锁定,-v可以锁定所有虚拟终端,不能用alt-Fn切换。

5. (.cshrc) set autologout=(30 15)
未操作超过15分钟,锁定,超过30分钟,注销

HP小型机的命名

Posted in 学习笔记 on 十一月 9th, 2009 by 6ca6cca – Be the first to comment

如果在HP 9000小型机上运行model命令,会得到诸如以下之类的输出

$ model
9000/800/rp7420
$ model
9000/800/rp3440

以上的各字段代表什么意思呢?通过了解HP的命名规则就可以知道。

HP公司最初是靠打印机发家的,后来才开始生产小型机,在1982年开始生产的HP9000。HP9000又分为工作站和服务器,又称700和800系列。

工作站和服务器又分会分为多个子系列。起初,采用的命名方式都是一个字母后面再跟一个数字,比如N4000等。

其中的第一个字母B/C/J系列是工作站的。

对于服务器,E/F/G/H/I 是很早期的产品,处理能力都不是很强。其后一段时间,T/K/D 三个系列是主流产品,分别属于高、中、低端。R 系列在内部结构上基本上与D 系列相同,只是更适合安装在机柜中。在HP 收购了一家叫CONVEX 的公司后,推出了V 系列。主流产品线随后变成了V/N/L/A 系列,分别对应高、中、低、入门级。V 系列采用了一些被后来的主机产用的先进技术-CROSSBAR,很大程度地提高了系统的吞吐能力。在此的基础上,经过进一步改进之后,有了现在的旗舰产品SuperDome。

每一个系列中主机的不同型号通过数字来区分,例如K 系列有K2×0、K3×0、K5×0 等,D 系列也有D2×0、D3×0 等。’x0′取决于CPU 的速度(类型),最前面的一位数字决定这款机器的结构,也就决定了最大支持几个CPU,几块某种接口类型的扩展卡等。

最新的产品统一了命名规范,除了SuperDome 系列之外,都叫做RPxxx0,比如说原来的N4000,现在叫做RP7400。原来的L 系列,现在叫做RP54×0,A 系列现在叫做RP24×0。相比较而言,原来的命名方式有一个缺点就是,对于一个不是很熟悉HP 产品体系的人来说,在不同的产品系列之间很容易感到困惑,比如说D210 和K210 到底哪一个更高档。新的命名更容易理解,这样只要看后面的数字越大的就说明这一款机器处理能力与扩展能力越强。

了解了这些,就不难发现,上面输出的第一个字段9000,即代表HP9000。上面输出的第2个字段800就表示服务器。第三个字段,rp7420和rp3440表示的是采用最新统一命令规范中的一个子系列。

用户活动相关的日志文件

Posted in 学习笔记 on 十一月 3rd, 2009 by 6ca6cca – Be the first to comment

在AIX中,有很多文件用于记录用户的登录和活动。其中最主要包括下面四个:

1. /etc/utmp,这个文件记录了当前登录的用户的相关信息。对于用户的每次登录,它都应该包含一条相应的记录。

2. /var/adm/wtmp,这个文件记录了用户进行的所有登录(和注销)。在一个繁忙的系统中,这个文件是相当大的,因为对于每次登录,它都包含一条登录和一条注销记录。这个文件还包含了一些系统相关的日志信息,如重新启动、关闭和日期更改。

3. /etc/security/lastlog,这个文件记录了每个用户最近一次登录的时间。对于每个用户,这个文件仅包含一条记录。

4./etc/security/failedlogin 这个文件记录每次失败的登录。

在了解了这些文件是何时、采用何种方式写入的之后,那么这些文件之间的关系就相当直观了,基本顺序如下:

1. 当用户尝试登录失败,会在failedlogin文件写入一条新记录。

2. 当用户登录成功的时候,打开 lastlog 文件,并对他们的记录中的登录日期和时间进行更新。然后,打开 utmp,并记录他们的当前登录信息。将登录记录(通常将这些信息的副本添加到 lastlog)写入到 utmp 日志中,以记录相应的登录信息。

3. 在注销期间,删除写入到 utmp 的登录记录(因为该用户不再处于登录状态),但是将一条新记录写入到 wtmp,以记录该用户已经注销的事实。

4. 这些文件的格式都是二进制的;所以,必须使用一种单独的、能够读取和解析其中信息的工具来报告这些信息。通常,wtmp 和 lastlog 文件的基本格式是相同的,并且它们都使用一种简单格式来记录登录时间、登录行和主机名称行信息。