磁盘储存和文件系统

一、设备文件

磁盘设备的设备文件命名:    /dev/DEV_FILE
SCSI, SATA, SAS, IDE,USB:      /dev/sd
虚拟磁盘:             /dev/vd 、/dev/xvd

不同磁盘标识:          /dev/sda, /dev/sdb, ...

同一设备上的不同分区:     /dev/sda1, /dev/sda5

硬盘存储术语: head(磁头)  track(磁道)  cylinder(柱面)   sector(扇区)512bytes
二、管理储存

如何使用分区:

  1. 设备识别
  2. 设备分区
  3. 创建文件系统
  4. 标记文件系统
  5. /etc/fstab文件中创建条目
  6. 挂载新的文件系统

为什么分区:

  1. 优化I/O性能
  2. 实现磁盘空间配额限制
  3. 提高修复速度
  4. 隔离系统和程序
  5. 安装多个OS
  6. 采用不同文件系统



 分区方式:

1. MBRMaster Boot Record1982年,使用32位表示扇区数,分区不超过2T
2.     0磁道0扇区:512bytes
  446bytes: boot loader
  64bytes
:分区表,其中每16bytes标识一个分区
  2bytes: 55AA 

#   MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

3.MBR硬盘分区结构图

 

 4.硬盘主引导记录MBR4个部分组成

 

 

 GPT分区:

 

GPT分区结构分为4个区域:

  GPT
  分区表
  GPT分区
  备份区域

分区结构:

系统引导方式

 BIOS+MBRUEFI+GPT

BIOS  :

开机----->BIOS初始化----->
BIOS自检----->
引导操作系统----->进入系统
 
 
 
 

UEFI

开机----->UEFI初始化----->引导操作系统----->进去系统

管理分区:

1.列出块设备  lsblk

2.管理MBR分区  fdisk

3.管理GPT分区  gdisk

4.高级分区操作  parted

5.刷新分区表      partprobe

parted命令

parted的操作都是实时生效的,小心使用  

格式:parted [选项]... [设备 [命令 [参数]...]...]

列出分区信息:  parted -l

分区:  parted /dev/sdb mkpart primary 1 200

分区工具fdisk和gdis

 子命令:

-p  分区列表
-t  更改分区类型

-n  创建新分区

-d  删除分区

-v  校验分区

-u  转换单位

-w  保存并退出

-q   不保存退出

查看内核是否已经识别新的分区 :cat /proc/partations 

新增分区用:

partx -a /dev/DEVICE
kpartx -a /dev/DEVICE -f: force

删除分区用:partx -d --nr M-N /dev/DEVICE

文件系统:/lib/modules/`uname -r`/kernel/fs

Linux常用文件系统类型:

1.  ext2Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot

2.  ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复

3.  ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件16TB)、最大1EB的文件系统,以及速度的提升

4.  xfsSGI,支持最大8EB的文件系统
5.  swap
6.  iso9660 光盘
7.  btrfsOracle
8.  
reiserfs

Windows:FAT32, exFAT,NTFS
Unix: FFS(fast), UFS(unix), JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2(oracle)
分布式文件系统: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre

RAW:未经处理或者未经格式化产生的文件系统

文件系统的组成部分:

内核中的模块:ext4, xfs, vfat
Linux的虚拟文件系统:VFS
用户空间的管理工具:
mkfs.ext4, mkfs.xfs,mkfs.vfat

创建文件系统:

 mkfs命令:
(1) mkfs.FS_TYPE /dev/DEVICE
  ext4
  xfs
  btrfs
  vfat
(2) mkfs -t FS_TYPE /dev/DEVICE
  -L 'LABEL' 设定卷标

mke2fsext系列文件系统专用管理工具
.
选项:

-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       关闭指定特性

blkid可以查看跨设备属性信息:blkid [OPTION]... [DEVICE]

选项:-U UUID 根据指定的UUID来查找对应的设备
   -L LABEL 根据指定的LABEL来查找对应的设备

e2label:管理ext系列文件系统的LABEL ----->e2label DEVICE [LABEL] 

findfs :查找分区 findfs [options] LABEL=<label>
        findfs [options] UUID=<uuid>

tune2fs:重新设定ext系列文件系统可调整参数的值

-l 查看指定文件系统超级块信息;super block
-L 'LABEL’ 修改卷标
-m # 修预留给管理员的空间百分比
-j 将ext2升级为ext3
-O 文件系统属性启用或禁用,
–O ^has_journal
-o 调整文件系统的默认挂载选项,
–o ^acl
-U UUID 修改UUID号

dumpe2fs将磁盘块分组管理

dumpe2fs
-h:查看超级块信息,不显示分组信息

超级块和inode table

文件系统检测和修复

  1. 常发生于死机或者非正常关机之后
  2. 挂载为文件系统标记为“no clean”
  3. 注意:一定不要在挂载状态下修复

fsck文件系统检查    注意:一定不要在挂载状态下执行下面命令修复

 -a  自动修复

-r    交互式修复错误

e2fsckext系列文件专用的检测修复工具

-y  自动回答为yes

-f  强制修复

-p  自动进行安全的修复文件系统问题

xfs_repairxfs文件系统专用检测修复工具

-f  修复文件,和设备

-n  只检查

-d  允许修复只读的挂载设备,在单用户下修复  /  时使用,然后立即reboot

挂载mount

mount [-fnrsvw] [-t vfstype] [-o options] device mountpoint

通过查看/etc/mtab文件显示当前已挂载的所有设备

mount [-fnrsvw] [-t vfstype] [-o options] device dir

选项:

-t     vsftype 指定要挂载的设备上的文件系统类型
-r     readonly,只读挂载
-w      read and write, 读写挂载
-n   不更新/etc/mtab,mount不可见
-a   自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件 中,且挂载选项中有auto功能)
-L   'LABEL' 以卷标指定挂载设备
-U   UUID 以UUID指定要挂载的设备
-B   --bind 绑定目录到另一个目录上

查看挂载情况
findmnt {MOUNT_POINT|/dev/DEVICE}

查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT

终止所有正在访问指定文件系统的进程

fuser -km MOUNT_POINT

卸载

umount {/dev/DEVICE|MOUNT_POINT}

 

猜你喜欢

转载自www.cnblogs.com/erxiong/p/12733181.html