首页 > 代码库 > 磁盘及文件系统管理-小结
磁盘及文件系统管理-小结
回顾:磁盘,磁盘分区,fs
Centos6,7:/dev/sd[a-z[#
管理分区:fdisk,parted,sfdisk
创建文件系统:
Linux fs类型:ext2,ext3,ext4,xfs,reiserfsf,iso9660,swap
文件系统的组织结构中的术语:
block groups,block,inode table,inode,inode bitmap,block bitmap
block groups:内部分为元数据区和数据区
block groups包括blocks,
inode bitmap:标识那些inode已经使用,哪些没有被使用
block bitmap:哪些磁盘块能够使用,哪些不能使用
superblock:系统上的分区哪些块组已经使用,哪些没有使用
block-->block groups(group descriptor)--->super block(分区信息)
group descriptor:每个都有几个重要的block指针,指向block group中的inode table,block bitmap,inode bitmap
super block:信息为分区中每个block的大小,硬盘上一共有多少个block group,每个block group中有多少inode
uname -r //查看内核的发行版本
cat /etc/issue //查看系统的发行版本
fdisk -l
/dev/mapper/8 这些就是逻辑卷
partx -a /dev/sda //更新分区
kpart -af /dev/sda //更新分区
-a 添加一个新的分区映射
-d 删除
-f 强制创建mapping
内核级文件系统的组成部分
文件系统驱动://可以编译进内核,也可以做成内核模块
lsmod |grep ext4 //编译成模块的话是可以看见的
内核提供
文件系统管理工具:用户空间的应用程序提供
1.创建fs的工具
mkfs.{ext2,3,4,xfs}
-t ext2/xfs/ext4
mke2fs //功能强悍
-t {ext2,3,4}
-b {1024|2048|4096} //指定文件系统的块大小
-L label //指明卷标
//mke2fs -t ext4 -L TESTDATA /dev/sdb1
-j 启用日志功能
-i bytes-per-inode //每多少自己一个inode
-N 直接指定要给此fs创建inode
-O [^]FEATURE 添加或取消某种特性,^关闭此特性,
//特性只能在格式化的时候使用
-m 为管理员保留的百分比,指定预留百分比
parted
2.检测及修复fs的工具
fsck //因进程意外终止或系统崩溃等原因导致操作非正常终止,可能会导致文件损坏,此时,应该检测并修复fs,建议:离线进行
fsck.{ext2,3,4,xfs}
-a 自动修复所有错误
-t 指定fs类型
-r 交互式修复
e2fsck 检查ext文件系统
-y 自动回答yes
-f 强制,即使fs为clean
3.查看其属性的工具
dumpe2fs 类似于tune2fs显示fs属性信息
默认显示所有的卷组信息
-b 显示bad块
-h 只显示superblock信息,和tune2fs -l一样
tune2fs:查看或者修改ext系统的某些属性,有些属性是可调整的,有些是不可修改的
-l 列出fs的超级块内容
-j //将ext2升级为ext3
-L 卷标
-m 预留空间百分比
-O[^]FEATURE:开启或关闭某种特性,不红重新格式化
tune2fs -l /dev/sdb1
Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
tune2fs -O ^has_journal /dev/sdb1 //关闭某特性
-o [^]mount_options 开启或者关闭某种挂载选项
acl,uid16,user_xattr,journal_data
tune2fs -o ^acl /dev/sdb1
blkid //查看设备的UUID和分区类型
blkid -L label | -U uuid //-L查看卷标对应的label,根据UUID定位设备
4.调整fs特性
tune2fs
e2label /dev/sdb1 TEST//卷标查看与修改,不加名字,即可查看
swap文件系统
Linux上的交换分区必须使用独立的fs
且fs的system ID必须为82
mkswap /dev/sdb1
-f 强制
-L 指定卷标
swapon /dev/sdb1
windows无法识别linux的fs
U盘格式化为vfat(fat32)格式
btrfs:btree fs以后可能是趋势,Centos7的
磁盘分区:
fs管理工具汇总:
管理工具:mkfs,mke2fs,e2lable,tune2fs,dumpe2fs,blkid
mkfs.xfs,mkfs.vfat,fsck,e2fsck
挂载:mount,umount
df,du,fuser,lsof
交换分区:
mkswap,swapon,swapoff
fstab文件:
设备挂载点挂载选项备份 自检次序
文件系统:
目录;文件
元数据:inode,inode table
数据:data blocks,
下级文件或目录的文件名与其inode的对应关系
文件名:上级目录
删除文件:
将此文件inode指向的所有data block标记为未使用状态;将此文件的inode标记为未使用
复制:新建一个文件,
移动:在同一个fs上移动文件
仅仅修改其路径映射,inode不变,inode指向的data block也没有改变
跨文件系统的话,复制数据到目标文件,删除源文件
符号链接:
符号链接大多没有指向data block //只有路径名太长,元数据区容不下的时候,才会引用data block
权限:lrwxrwxrwx //用户对符号链接的权限,取决于源文件本身
//多用于目录
硬链接:
指向同一个inode;
任何一个路径都可以访问源文件,inode都一样。更新一个会修改另外一个
磁盘及文件系统管理-小结