设备文件node
I/O Ports: I/O设备地址 一切皆文件:open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而可以跟与之对应硬件设备进行通讯 设备号码: 主设备号:major number, 标识设备类型 次设备号:minor number, 标识同一类型下的不一样设备
硬盘接口类型linux
并行: IDE:133MB/s SCSI:640MB/s 串口:SATA:6Gbps SAS:6Gbps USB:480MB/s rpm: rotations per minute
机械硬盘和固态硬盘windows
机械硬盘(HDD):Hard Disk Drive,便是传统普通硬盘,主要由:盘片,磁头,盘 片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘 中全部的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每一个盘片的存储面上有 一个磁头,磁头与盘片之间的距离比头发丝的直径还小,全部的磁头联在一个磁头控制 器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每 分钟几千转的高速旋转,磁头就能够定位在盘片的指定位置上进行数据的读写操做。数 据经过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也能够经过相反方式读取。 硬盘为精密设备,进入硬盘的空气必须过滤 固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控 制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、 功能及使用方法上与普通硬盘的彻底相同,在产品外形和尺寸上也与普通硬盘一致 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优点,SSD传 输速率性能是HDD的2倍 相较于SSD,HDD在价格、容量、使用寿命上占有绝对优点 硬盘有价,数据无价,目前SSD不能彻底取代HHD
设备文件centos
磁盘设备的设备文件命名:/dev/DEV_FILE 虚拟磁盘:/dev/vd 不一样磁盘标识:a-z,aa,ab… /dev/sda, /dev/sdb, ... 同一设备上的不一样分区:1,2, ... /dev/sda1, /dev/sda5 硬盘存储术语 head:磁头 track:磁道 cylinder: 柱面 sector: 扇区,512bytes
分区MBR,CPT缓存
两种分区方式:MBR,GPT MBR: Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T 如何分区:按柱面 0磁道0扇区:512bytes 446bytes: boot loader 64bytes:分区表 16bytes: 标识一个分区 2bytes: 55AA 4个主分区;3主分区+1扩展(N个逻辑分区)
MBR分区结构安全
硬盘主引导记录MBR由4个部分组成 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行 系统引导程序 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为 0字节 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH, 每一个分区表项长16个字节,共64字节为分区项一、分区项二、分区项三、分区项4 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA
GPT分区 网络
GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区, 使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block) 使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表 自动备份在头和尾两份,并有CRC校验位 UEFI (统一扩展固件接口)硬件支持GPT,使操做系统启动
管理分区数据结构
列出块设备 • lsblk 建立分区使用: • fdisk建立MBR分区 • gdisk建立GPT分区 • parted高级分区操做 partprobe-从新设置内存中的内核分区表版本
parted命令【当心使用】异步
parted的操做都是实时生效的,当心使用 用法:parted [选项]... [设备 [命令 [参数]...]...] parted /dev/sdb mklabel gpt|msdos parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默认M) parted /dev/sdb rm 1 parted –l 列出分区信息
分区工具fdisk和fdiskasync
gdisk /dev/sdb 类fdisk fdisk -l 、dev/sda查看分区 fdisk /dev/sdb 管理分区 子命令: p 分区列表 t 更改分区类型 n 建立新分区 d 删除分区 v 校验分区 u 转换单位 w 保存并退出 q 不保存并退出
同步分区表
查看内核是否已经识别新的分区 cat/proc/partations fdisk分区后fdisk -l .dev.se1[查看硬盘] lsblk[查看内存硬盘] centos6通知内核从新读取硬盘分区表 新增分区用: partx -a /dev/sr1 删除分区用: partx -d --nr M-N /dev/sr1 centos7同步使用: partprobe命令
文件系统是操做系统用于明确存储设备或分区上的文件的方法和数据结构; 即在储存设备上组织文件的方法。操做系统中负责管理和储存文件信息的软件结构称为文件管理系统,简称文件系统 从系统角度来看文件系统对文件储存设备的空间进行组织和分配,负责文件储存并对存入的文件进行保护和检索的系统封。 具体的说,他负责为用户创立文件,存入,读取,修改,转储问价,控制问价的读出,安全控制,日志,压缩,加密等 支持的文件系统: /lib/modules/'uname -r' /kernel/fs 各类文件系统: https://en.wikipedia.org/wiki/Comparison_of_file_systems
文件系统类型
linux系统类型: ext2(Extended file system) :适用于那些分区容量不是太大,更新也不频繁的状况, 例如 /boot 分区。 ext3:是 ext2 的改进版本,其支持日志功能,可以帮助系统从非正常关机致使的异常中 恢复。它一般被用做通用的文件系统 ext4:是 ext 文件系统的最新版。提供了不少新的特性,包括纳秒级时间戳、建立和使 用巨型文件(16TB)、最大1EB的文件系统,以及速度的提高 xfs:SGI,支持最大8EB的文件系统 btrfs(Oracle), reiserfs, jfs(AIX), swap 光盘:iso9660 windows:FAT32,NTFS Unix:FFS(fast),UFS(unix),JFS2 网络文件系统:NFS,CIFS 集群文件系统:GFS2,OCFS2 分布式文件系统: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre RAW:未经处理或者未经格式化产生的文件系统
文件系统分类
根据其是否支持“journl”功能: 日志型文件系统:ext3,ext4,xfs,.... 非日志文件系统:ext2,vfat 文件系统的组织部分: 内核中的模块:ext4, xfs, vfat 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat linux 的虚拟文件系统:VFS 查看当前支持的文件系统:cat/proc/filesystems
建立文件系统
mkfs命令: (1):mkfs.ext4/der/... xfs btrfs vfat
建立ext文件系统
mke2fs:ext系列文件系统专用管理工具 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 至关于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i #: 为数据空间中每多少个字节建立一个inode;此大小不该该小于 block的大小 -N #:指定分区中建立多少个inode -I 一个inode记录占用的磁盘空间大小,128---4096 -m #: 默认5%,为管理人员预留空间占总空间的百分比 -O FEATURE[,...]:启用指定特性 -O ^FEATURE:关闭指定特性
tune2fs
tune2fs:从新设定ext系列文件系统可调整参数的值 -l:查看指定文件系统超级块信息;super block -L 'LABEL':修改卷标 -m #:修预留给管理员的空间百分比 -j: 将ext2升级为ext3 -O: 文件系统属性启用或禁用, –O ^has_journal -o: 调整文件系统的默认挂载选项,–o ^acl -U UUID: 修改UUID号 tune2fs -U`uuidgen` /dev/sdb1 uuidgen[这个命令能够自动生成UUID] dumpe2fs: 块分组管理,32768块 -h:查看超级块信息,不显示分组信息 例:tune2fs -l /dev/sdr[查看文件系统] tune2fs -o acl /dev/sdr [手工添加acl] tune2fs -o ^acl /dev/sdr[删除acl] [acl 相似于权限密码] 如:setfacl -m u:dang:rw f1[给dang用户rw权限对于f1文件]
文件系统检测和修复
常发生于死机或者非正常关机以后 挂载为文件系统标记为“no clean” 注意:必定不要在挂载状态下修复 fsck: File System Check fsck.FS_TYPE fsck -t FS_TYPE -p: 自动修复错误 -r: 交互式修复错误 FS_TYPE必定要与分区上已经文件类型相同 e2fsck:ext系列文件专用的检测修复工具 -y:自动回答为yes -f:强制修复 例:fsck -y /dev/sdb/[修复文件系统,,注意要取消挂载后再修复,不然会破坏数据]
挂载mount
挂载:将额外文件系统与根文件系统某现存的目录创建起关联关系,进而使得此 目录作为其它文件访问入口的行为 挂载:mount +挂载设备+挂载点 卸载:umount 可使用设备或挂载点 挂载点下原有的文件在挂载后会被临时隐藏 挂载点目录通常为空
mount经常使用命令选项
-t vsftype:指定要挂载的设备上的文件系统类型 -r: readonly,只读挂载 -w: read and write, 读写挂载 -n: 不更新/etc/mtab,mount不可见 -a:自动挂载全部支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选 项中有auto功能) -L 'LABEL': 以卷标指定挂载设备 -U 'UUID': 以UUID指定要挂载的设备 -B, --bind: 绑定目录到另外一个目录上 查看内核追踪到的已挂载的全部设备 cat /proc/mounts
mount常见命令选型
-o options:(挂载文件系统的选项),多个选项使用逗号分隔 async:异步模式 sync:同步模式,内存更改时,同时写磁盘 atime/noatime:包含目录和文件 diratime/nodiratime:目录的访问时间戳 auto/noauto:是否支持自动挂载,是否支持-a选项 exec/noexec:是否支持将文件系统上运行应用程序 dev/nodev:是否支持在此文件系统上使用设备文件 suid/nosuid:是否支持suid和sgid权限 remount:从新挂载 ro:只读 rw:读写 user/nouser:是否容许普通用户挂载此设备,/etc/fstab使用 acl:启用此文件系统上的acl功能 loop: 使用loop设备 defaults:至关于rw, suid, dev, exec, auto, nouser, async
文件挂载配置文件
/etc/fstab每行定义一个要挂载的文件系统 一、要挂载的设备或伪文件系统 设备文件 LABEL:LABEL="" UUID:UUID="" 伪文件系统名称:proc, sysfs 二、挂载点 三、文件系统类型:ext4,xfs,nfs,none 四、挂载选项:defaults ,acl,bind 五、转储频率:0:不作备份 1:天天转储 2:每隔一天转储 六、fsck检查的文件系统的顺序:容许的数字是0, 1, 和2 0:不自检 1:首先自检;通常只有rootfs才用 2:非rootfs使用
处理交换文件和分区
交换分区是系统RAM的补充 基本设置包括: • 建立交换分区或者文件 • 使用mkswap写入特殊签名 • 在/etc/fstab文件中添加适当的条目 • 使用swapon -a 激活交换空间
挂载交换分区
启用:swapon swapon [OPTION]... [DEVICE] -a:激活全部的交换分区 -p PRIORITY:指定优先级 /etc/fstab:pri=value 禁用:swapoff [OPTION]... [DEVICE]
SWAP的优先级
能够指定swap分区0到32767的优先级,值越大优先级越高 若是用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从 -1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减一 先添加的swap的缺省优先级比较高,除非用户本身指定一个优先级,而用户 指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数) 优化性能:分布存放,高性能磁盘存放