+++++++分区创建、文件系统创建、查看、调整 小结

简介:

硬件 运算器,控制器,存储器,I/O设备

内核:1、协调硬件工作2、抽象底层硬件功能为系统调用3、让硬件工作(硬件驱动,数字签名防恶意代码)4、cpu和内存资源分配5、网络管理6、安全管理

I/O事件的基础概念:

硬件级别:CPU通过轮循或硬件的通知机制得知事件的发生。CPU通过每个硬件都会在cpu处注册使用不同的端口,或中断控制器的不同的中断信号完成识别硬件

软件级别:系统:数字,人:字母,硬件与主板通过基于工业标准的特殊线缆连接实现交互。

不同接口的速率: IDE 133 ,SCSI: 640 SATA3.0:700 SAS 700 USB3.0 450

实际体验的速率  硬件和接口速率及电器信号的干扰。

track:存储数据的位置

cylinder: 不同盘片不同盘面的相同编号的磁道

扇区:每个磁道划分的小的区域

    mbr:512bytes, uefi:4k

分区:把一个空间在逻辑层次划分为多个,当作不同的设备

分区方式:按cylinder,由外向内

设备文件关联至一个设备驱动程序,进而能跟与之对应的硬件设备进行通信。

文件系统分为 数据区 和元数据区(filename,perm,size,owner,group,timestamps和记录数据块的编号)

    内核中实现

    索引和索引的编址方式组成 或 存储空间和数据存储形式以及对文件的索引


日志文件系统

存储数据时,先将元数据存在日志区中,然后将数据存储完毕后,将元数据同步至真正的元数据区。断电修复时,只找元数据区,速度快。 每写一个数据都有多余的IO

非日志文件系统

直接存储在元数据区,断电修复时,遍历文件系统,速度慢。第写一个数据时没有多余的IO,性能在早期比日志文件系统好。


虚拟内存:假设每个进程有4G可用

swap:内存消耗快满时,将磁盘中空间格式化为同内存一样的存储格式,而后把物理内存中不太有用的数据放至磁盘之上,如果需要用到此数据时,将数据拿回来即可,这种行为叫做“交换”


文件系统的组成:内核模块:调用模块实现格式化。、用户空间的程序

VFS文件系统:抽象底层各种不同的文件系统接口为一个统一的接口,简化程序员写程序


要想使用一个文件系统:

    1、内核中有相应的模块

    2、遵循POSIX文件系统规范

    3、有对应的用户空间程序


磁盘管理

分区、格式化、修复


1、查看所有磁盘分区

# fdisk -l

2、查看指定磁盘分区

# fdisk -l DEVICE

1
2
3
4
5
6
7
8
9
10
11
12
13
++++++++列出的格式详解+++++++++++++++++++++++++++++++++++
     磁盘  /dev/vda
     大小 42.9 GB, 42949672960 字节,83886080 个扇区
     Units = 扇区 of 1 * 512 = 512 bytes
     扇区大小(逻辑/物理):512 字节 / 512 字节
     I /O  大小(最小/最佳):512 字节 / 512 字节
     磁盘标签类型:dos
     磁盘标识符:0x0000efd2
 
         设备          Boot                   Start         End      Blocks      Id      System  
         设备文件      是否可引导(*:kernel) 起始柱面     结束柱面    磁盘块数  分区标示 用在哪个系统上的分区上
         /dev/vda1       *                      2048        83886079  41942016    83      Linux
++++++++列出的格式详解+++++++++++++++++++++++++++++++++++


3、管理分区

# fdisk DEVICE

    管理分区相关的命令:

    n 新建一个分区

    d 删除一个分区

    t 修改id

    l 列出id

    w 保存退出

4、查看内核识别的分区

# cat /proc/partitions

5、重读分区

修改内核识别的分区,不改变分区

1)partx [-a|-d|-l] [--n M-N]  disk  

-n M[-N]    ##指定分区范围

-l          ##显示分区

-a          ##添加

-d          ##删除内核中识别的分区


##添加分区映射

2)kpartx -a  [OPTIONS...] DEVICE

-n M[:N]

-f          ##强制添加

-l


##用于centos5,添加分区映射

3)partprobe DEVICE     


++++查看内核支持的文件系统

# cat /proc/filesystems

++++查看内核装载的模块

# lsmod


6、创建文件系统

方法一:mkfs.FS_TYPE [-L LABEL] DEVICE

方法二:mkfs -t FS_TYPE [-L LABEL] DEVICE

    ext2 ext3 ext4 xfs btrfs vfat

方法三: mke2fs [OPTIONS...] DEVICE

    -t {ext2,ext3,ext4}

    -b 默认4096,小文件多,值小。大文件多,值大。

    -j  直接创建ext3

    -m 给管理员预留空间,5%默认

    -L LABEL  为磁盘添加卷标

    -i # 比率,单个inode占据磁盘块大小

    -N # inode数量

    -O  FEATURE 启用特性

        ^FEATURE 关闭特性

         has_journal



7、查找设备的属性信息(LABEL,UUID,TYPE)

# blkid  [OPTIONS....] DEVICE

    -L LABEL 通过LABEL查找DEVICE

    -U UUID 通过UUID查找DEVICE

UUID 全局UID 无论设备文件名怎么变化,每一个磁盘都唯一不变的标示

TYPE 文件系统类型


8、显示设定label
# e2label DEVICE [LABEL]

    显示设备的LABEL # e2label DEVICE

    设定设备的LABEL # e2label DEVICE LABEL


9、修改文件设备的属性

# tune2fs [OPTIONS...] DEVICE

    -l 显示超级块信息

    -L LABEL修改LABEL

    -m # 管理员预留空间百分比

    -j   启动日志功能

    -U UUID ,修改uuid,与uuidgen命令一起使用 -u $(uuidgen) 或 -u `uuidgen`

    -O [FEATURE|^FEATURE] 文件系统属性启用或禁用

         has_journal 拥有日志功能

    -o 调整文件系统的默认挂载选项

        acl   启用Posix访问控制列表。

  

超级块的用途:存储整个分区中的结构

为了避免超级块挂掉不能恢复,在创建文件系统时,自动在每个分区备份了super block

超级块挂掉之后,拆下硬盘,在其他主机之上用硬盘修复工具,把超级块备份复制一份出来覆盖原来的坏的超级块

inode是元数据的条目,每个元数据的条目是一个Inode

tune2fs查看超级块信息的详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@localhost ~] # tune2fs -l /dev/sda3 显示超级块信息
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   文件系统卷标
Last mounted on:          最近一次什么时间被挂载
Filesystem UUID:          全局唯一标示符
Filesystem magic number:  魔数
Filesystem revision  #:    1 (dynamic)
Filesystem features:      文件系统的特性:文件系统自己的特性跟是否挂载无关 sparse_super large_file (没有journal,可见为ext2文件系统)
Filesystem flags:         signed_directory_hash 
Default  mount  options:    默认在挂载时的默认选项
Filesystem state:         文件系统的当前状态 clean:干净状态 ,没有什么损坏
Errors behavior:          Continue
Filesystem OS  type :       Linux 标示所在的操作系统
Inode count:              有多少个inode?inode是元数据的条目
Block count:              2622452 一共有多少个磁盘块
Reserved block count:     131122 
Free blocks:              2575520 一共有多少个空闲磁盘块
Free inodes:              655765 一共有多少个空闲inode


+++++查看超块组信息及文件系统结构

dumpe2fs  DEVICE 

+++++查看超级块信息

dumpe2fs -h DEVICE

1
2
3
4
5
6
7
8
9
10
11
Group 320: (Blocks 5242880-5245189) [INODE_UNINIT, ITABLE_ZEROED]
块组编号,磁盘块起始-结束 
 
Block bitmap at 5242880 (+0)    ## Block 位图的位置
Inode bitmap at 5242896 (+16)   ## Inode 位图的位置
Inode表位于 5242912-5243167 (+32)
2052  free  blocks
2048  free  inodes, 2048个未使用的inodes
0 directories, 
可用块数: 5242881-5242895, 5242897-5242911, 5243168-5245189  ##多少块可用
可用inode数: 655361-657408  ##可用Ino


10、查看默认挂载选项

# tune2fs -l DEVICE

# dumpe2fs -h DEVICE

    default mount optons: 调整此处挂载选项


11、mkswap [OPTIONS...] DEVICE 创建交换分区(调整分区ID为82,system)

-L LABEL 设定卷标

-U UUID  设定UUID


调整id为82

重读分区表

Partx -a /dev/sda

partx -a -n 6 /dev/sda

内核是否识别分区

/proc/partitions

创建交换分区 

mkswap partitions

查看文件系统属性 

blkid /dev/sda6

启动swap

swapon partitions

禁用swap

swapoff partitions


12、fsck类似mkfs

检测命令:

1)fsck.FS_TYPE

2)fsck -t FS_TYPE

查看支持的命令: fsck + 2次TAB

查看支持的文件系统: cat /proc/filesystems

修复选项:

-a auto自动修复错误

-r 交互式修复错误


3)e2fsck ext系列文件系统检测修复工具

-y 自动回答为yes

-f force 强制修复

13、linux和windows通用的文件系统: windows识别: fat32, linux识别为: vfat

windows的文件系统 

fat32 ntfs cifs

linux的文件系统

vfat ext系列 xfs btrfs 


U盘既能在linux

mkfs.vfat 











本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1954327,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
分布式计算 DataWorks MaxCompute
,问题可能出在分区创建和写入过程中
,问题可能出在分区创建和写入过程中
18 2
|
5G Linux
10.15 Linux fdisk创建分区(主分区、扩展分区和逻辑分区)过程详解
本节我们实际建立一个主分区,看看过程是什么样子的。命令如下:
1067 0
10.15 Linux fdisk创建分区(主分区、扩展分区和逻辑分区)过程详解