标签:linux record master 固态硬盘 同心圆
现在市面上硬盘主要为两种:机械式硬盘 和固态硬盘(SSD)
机械式硬盘
同心圆划分成多个track磁道,每个磁道上有一定数量的扇区(secotr),每个盘面上编号相同的磁道组成了柱面(cylinder)
每个扇区的大小为512bytes
MBR模式下0磁道上0扇区为master boot record主引导扇区
前446bytes:存放了bootloafer引导加载器,启动磁盘中的操作系统
接着的64bytes:存放磁盘中的文件系统分区表,每16bytes标识一个分区,所以MBR最多只能认4个分区,若超过4个分区需使用扩展分区,在扩展分区中标注若干个逻辑分区。
剩余的2bytes用于结束标志 55 AA
识别硬盘在linux系统中的文件:/dev/sd【a-z】
不同的硬盘最后标注的字母不同 /dev/sda /dev/sdb
同一硬盘上的不同分区 最后标注的数字不同:/dev/sda1 /dev/sda2
1-4用于标注主或扩展分区
5以上用于标注逻辑分区(由扩展分区中划分的)
设备文件是一种特殊的文件 分为块设备文件和字符设备文件
块设备文件:存取单位为数据块,随机存取
字符设备文件:存取单位为字符,线性存取
分区:分割存储空间为多个小空间,每个空间可以独立使用文件系统
fdisk,parted, sfdisk
分区工具:fdisk
格式 fdisl 【option】硬盘文件名
管理子命令:
p:显示
n:创建
d:删除
t:修改分区ID
l:列出所有支持的分区类型ID
w:保存并退出
q:放弃保存并退出
m:获得帮助
分区大小可以用数值和单位确定,不必计算柱面
创建完成后,查看内核是否已经识别新的分区
cat /proc/partitions
有三个命令可以让内核读取磁盘分区表:
CentOS 5: partprobe [DEVICE]centos6,7
partx
partx DEVICE 显示设备的分区
partx -a DEVICE 向内核添加分区信息,已有的重复提交会报错
partx -a -n M:N DEVICE向内核添加指定的分区信息,避免添加已有的。kpartx命令:
kpartx -af DEVICElinux文件系统管理
文件系统:编辑地址有自己的索引,便于计算机管理。
linux使用vmfs(虚拟文件系统)统一各类文件系统的接口
linux:ext2,ext3,ext4,reiserfs,xfs,btefs,swap
光盘:iso9660
windows:fat32,ntfs
unix:ffs,ufs,jfs,jfs2
(1)日志型文件系统
ext3
在磁盘空间专门开辟一个日志区放元数据,带元数据所对应的数据库写完后将元数据写到元数据区。这样当在写数据时,发生错误需要自检时可以直接在日志区寻找发生错误的元数据,而不需要遍历所有数据区
(2)swap交换
每个进程都自认为物理内存都为自己所用,一旦进程使用过大内存造成内存耗尽。这时候需要将内存中暂时不使用的数据写到磁盘的swap分区中,以腾出物理内存空间。待需要这批数据时再写回物理内存。
创建文件系统
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具
创建工具:mkfs (make filesystem)
mkfs -t type DEVICEmkfs.type DEVICE
ext系列文件系统的专用管理工具:
mke2fs [OPTION]... DEVICE
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL‘
-j: mke2fs -t ext3
-i #:为inode指定字节数-N #:为文件系统分配多少个inode
-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;
-O FEATURE[,...] 开启某些特性
-O ^FEATURE:关闭此特性blkid命令:查看分区信息
blkid DEVICE
LABEL, UUID, TYPE文件系统属性查看及调整工具
e2label:e2lable DEVICE [LABEL]
管理设备或者分区的卷标
带卷标名则为设定 不带卷标名则是查看功能格式:
tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
[-i interval[d|m|w]] [-j] [-J journal_options] [-l]
[-m reserved_blocks_percent] [-o [^]mount_options[,...]]
[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
[-M last_mounted_dir] [-O [^]feature[,...]]
[-E extended-option[,...]] [-T last_check_time] [-U UUID]
[ -I new_inode_size ] device
-l 显示超级块中的信息:显示整个文件的属性及布局等相关信息
-L 修改卷标名字
-m # :调整预留给管理员的后期管理空间的百分比
-j:ext2的文件系统升级为ext3且不影响原有数据
-O [^] feature[,...]: 调整分区特性-o [^] mount-options[,...]: 设定其默认挂载选项
async: 异步I/O
sync: 同步I/O
noatime/atime: 是否更新访问时间戳,建议noatime
auto/noauto: 是否能够被mount -a选项自动挂载;
diratime/nodiratime: 是否更新目录的访问时间戳;
exec/noexec:是否允许执行其中的二进制程序;
_netdev: 在网络设备启用之前禁止尝试挂载网络设备
remount: 重新挂载
acl: 启用facl 文件访问控制列表
ro:挂载为只读
rw:挂载为可读写
user/nouser: 是否允许普通用户挂载此设备
dump2fs:
显示ext系列整个文件系统的布局结构及超级块信息
-h:仅显示超级块信息文件系统检测:
fsck: Filesystem check
fsck -t type
fsck.type
-a: 自动修复错误
-r: 交互式修复错误
-f: 强制检测e2fsck:ext系列文件系统专用的检测修复工具;
-y: 自动回答为“yes”
-f:force文件系统的挂载和使用
kernel --》 rootfs(分区)
拥有:bin,sbin,etc,lib,lib64,dev,tmp,proc,sys)
内核启动后便能找到跟文件所在的分区/, 其他分区的若要使用必须直接或间接的挂载到/根文件系统下的目录
将额外文件系统与根文件系统目录下的现存的目录相关联,使该目录成为额外文件系统的访问入口。这样的行为成为挂载
卸载是取消文件系统和根文件下目录的关联
挂载点如果有文件,则挂载后其内部原有的文件会被隐藏卸载后重新出现,建议使用空文件
挂载方法:
mount:通过读取/etc/mtab文件来显示当前文件系统所有已经挂载的设备
mount -a :自动挂载/etc/fstab文件中的支持自动挂载的文件系统
mount [options] [-o options] DEVICE MOUNT_POINT
[options]:命令选项
[-o options]:挂载选项DEVICE:要挂载的设备
1.设备文件 /dev/sda5
2.卷标: -L ‘LABEL’
3.UUID: -U ‘UUID‘
4.文件系统名称
MOUNT_POINT多为文件目录
常用选项:
-t type :文件系统的类型
-r 以只读方式挂载
-w 以读写的方式挂载
-n 挂载并更新/etc/mtab
-B绑定目录至另一个目录上
-o 挂载选项:
async:异步模式
sync:同步模式任何数据在内存处理完后马上写回磁盘
atime/noatime:是否更新访问时间戳
auto/noauto:是否允许此设备被自动更新
exec/noexec:是否允许执行此文件系统上的应用程序
dev/nodev:是否支持在此设备上使用设备文件;
suid/nosuid:是否允许设置suid权限
remount:重新挂载
ro:只读权限
rw:读写权限
user/nouser: 是否允许普通挂载此设备;
acl:是否支持此设备上使用facl;
defaults:rw, suid, dev, exec, auto, nouser, and async
umount:卸载命令
# umount DEVICE
# umount MOUNT_POINT
查看正在访问指定挂载点的进程:
# fuser -v MOUNT_POINT
终止所有正在访问指定的挂载点的进程:
# fuser -km MOUNT_POINT
交换分区:
free命令:
查看memory和swap的使用状态
-m: 以MB为单位
-g: 以GB为单位
mkswap:创建交换分区
mkswap [option] DEVICE
-L ‘LABEL‘
swapon:启用交换分区
swapon [option] [DEVICE]
-a: 激活所有交换分区
-p PRIORITY: 设定其优先级;
swapoff:禁用交换分区
swapoff [option] [DEVICE]
文件系统等空间占用信息的查看工个:
df: disk free 检查文件系统的磁盘空间占用情况
-h: human-readable
-i: inode数量
-P: 以Posix兼容的格式输出
du: disk usage 查看文件或目录所占的大小
-h: human-readable
-s: summary
文件系统相关挂载配置文件:/etc/fstab
每行定义一个文件系统;
要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
要挂载的设备:
设备文件、LABEL=、UUID=、伪文件系统名称
挂载选项:
defaults
转储频率:
0: 不转储
1: 每天转储
2: 每隔一天转储
自检次序:
0:不自检
1:首先自检,通常只有/才为1
2:
...
文件系统上的链接文件:
硬链接:
两个路径指向同一个inode
不能对目录进行;
不能跨分区进行
指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除;
符号链接:
链接文件的数据指向另一个文件路径;
可以对目录进行;
可以跨分区;
指向的是另一个文件路径;而非inode;
对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;
ln [-s] SRC DEST
-s:symbolic link
-v:verbose
练习:创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录
1.先创建10G的文件系统
发现内核已经自己识别到该分为文件系统
2.格式化其类型为ext4
3.让系统内核识别该分区并加入为开机会自动挂载配置的文件/etc/fstab中
标签:linux record master 固态硬盘 同心圆
原文地址:http://5489884.blog.51cto.com/5479884/1694716