发布时间:2014-09-05 17:05:53作者:知识屋
扇区是最小的屋里存储单位,每个扇区大小为512bit,将扇区组成一个圆就是磁柱,这是分区的最小单位
B:块设备,数据是随机存取,如硬盘
C: 字符设备,数据线性存取,如键盘,显示器
linux常见硬盘接口设备
ATA(IDE):并行,133M/s 并行造成干扰导致速率不高
SATA:串行,300M/s,600M/s
SCSI: 并行,转速高,数据读取块,内置控制器,极大解脱了CPU的I/O时间
窄带:连接七块硬盘;
宽带:连接15块硬盘
SAS: 串行SCSI,
USB:
/dev/hd[a-d][1-63]:IDE设备,最多支持63个分区
/dev/sd[a-d][1-15]:SATA,SCSI,SAS,USB,最多支持15个分区
三块硬盘/dev/sda:sata,/dev/sdb:usb,/dev/sdc:scsi,主机重启之后,设备文件都是动态创建的,根据设备被识别的次序,可能会造成设备识别混乱,例如usb被识别为了/dev/sda,由于内核通过udev来识别硬盘设备,我们可以在udev中来定义设备,以避免这种情况发生。
BLOCK
我们知道硬盘只有被格式化后才能被存储数据,格式化磁盘实际上是把磁盘分成了固定大小的block块,比如
1K,2K,4K,数据的存储实际上是存储在这些block块中间的,每个block只能存储一个文件,所以block的划分
要根据实际的需要来,比如你系统上面的小文件多,最好把block划分的小一点,假如你的文件很多都是不超过1K的
你划分的block是4K的,由于一个block只能用来存放一个文件,剩余的空间就会被浪费掉,造成了磁盘空间的浪费。
根据block的大小,文件系统中单一文件的容量以及总的文件系统的容量实际上也被固定了
1K:最大单一文件-16G 文件系统总大小-2T
2K:最大单一文件-256G 文件系统总大小-8T
4K:最大单一文件-2T 文件系统总大小-16T
注:这里以ext2文件系统来说明,ext3或这ext4计算结果会有所不同
实际上block被划分后不是全部都用来存储数据的,一部分要给inode来用,便于文件系统找到
INODE
文件对应的inode号来读取数据,另一部分则是分给了超级块,用来记录整个文件系统中block的大小,多少,inode的数量等信息。合理的规划inode的数量很重要,尽管磁盘有空间但是inode没了,那些空间照样不可用了。
每个inode的大小为128bit,而且一个inode只能记录一个文件,为了存储比较大的文件我们不得不
需要很多的inode,而inode表本身只有128bit,因此我们的系统把这128bit的inode划分为了12个
直接,一个间接,一个双间接和一个三间接。
12个直接:12*1K=12K,间接:256*1K=256K,双间接:256*256*1K,三间接:256*256*256*1K
把这三个相加就得到了我们的文件系统中单一文件的大小16G
超级块
超级块主要用来记录inode和block的使用情况,总量,空闲等,以及这块分区被挂载的时间,最近
一次写入数据的时间等,超级块中有一个valid bit数值,若被挂载了,这个数值为0,否则为1
文件系统
linux文件系统读取数据的时候,会先找到文件对应的inode号,然后根据inode的记录找到对应磁盘上的block块,把数据读取出来,就像查看一本书的某些内容要先查找目录一样,因此称为索引式文件系统。
linux还支持多种不同的文件系统,但是不同文件系统的系统调用不同,为了方便访问,linux采用VFS(虚拟文件系统)来作为中间层,用以实现对不同文件系统的访问。
磁盘的挂载和使用
磁盘被格式化之后还要被挂载才能用来存储数据,所谓挂载就是找一个接口把分区插入到现有的文件系统当中
以通过这个接口实现对分区的访问。
系统中有有两个文件用来存放分区的挂载信息
more /etc/fstab
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
第五行表示是否作备份,0不备份,1每天备份,2隔天备份
第六行表示是否自检,0不自检,1最早自检(一般只有根目录才设置为1),2自检。
这个文件用来记录开机需要挂载的分区信息
more /etc/mtab
/dev/mapper/vol0-root / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/mapper/vol0-home /home ext3 rw 0 0
/dev/sda1 /boot ext3 rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
这个文件用来记录实时的挂载信息,只要某个分区被挂载上了这里就会看到
本文出自 “成长全记录” 博客
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能