Linux的磁盘管理与文件系统

本篇内容如下:

1、硬盘结构

2、磁盘分区类型

3、管理分区

4、文件系统

5、挂载



一、硬盘结构

以下只针对机械硬盘。

通过电机转动,主轴开始旋转,主轴上的磁盘也跟着转动,每个磁盘有两个盘面,磁臂上磁头通过盘面来读取或者存储计算机上的数据。

1、硬盘存储术语

盘面:每个磁盘有两个盘面

磁头:有几个磁头就有几个盘面

磁道:磁头不动时随着主轴转动画出的圆形轨迹

扇区:每个扇区一般为512字节

柱面:每个盘面划分出相等的磁道,由编号相同的磁道生成的圆柱体

2、设备文件

磁盘设备的设备文件命名:/dev/DEV_NAME

IDE:/dev/hd

SISC,SAST,SAS,USB:/dev/sd

不同设备a-z

/dev/sda,/dev/sdb

同一设备的不同分区:1,2,3,4...

/dev/sda1,/dev/sda2,/dev/sda3



二、磁盘分区

1)为什么要给磁盘分区,因为给磁盘分区后,可以方便我们的管理,总结一下有以下优点:

1、优化I/O性能

2、实现空间配额限制

3、提高修复速度

4、隔离系统和程序

5、安装多个OS

2)两种分区方式:MBR与GPT

在说MBR结构之前先说一下CHS的寻址方式,C:Cylinder柱面,H:heads磁头,S:Sector扇区。这三种的取值范围分别为0到Cylinder-1,0到Heads-1,1-Sector(注意:扇区是从1开始)

 MBR硬盘分区结构图如下


磁盘起始处,也就是0磁头的0柱面第一个扇区为MBR,大小为512个字节,单独剖开MRB来看,其中分为3部分:前446字节为主引导程序,中间64个
字节为主分区表,后面两个字节为标识位,为55 AA,如果其内容被修改,则分区表的显示可能就会出现问题。

1、前446字节为主引导程序,系统启动时用来引导系统找到活动分区,启动系统

2、中间64个字节可细分为四个16字节。即每16字节表示一个分区

16字节中:

第1个字节表示此分区是否为活动分区,80表示为活动,00为非活动。

第2-4字节表示CHS寻址的起始位置

第5个字节表示该分区的类型,如83为inux Swap 分区,8e为LVM类型。如果为0表示未使用

第6-8字节表示CHS寻址的结束位置

第9-12字节表示LBA寻址的起始位置

第12-16字节表示LBA寻址的结束位置

LBA寻址方式:即Logical
BlockAddressing,逻辑块寻址模式。在CHS寻址方式中,因为角速度相同,所以盘片内部的磁道的性能远不如磁盘外部的性能,为了改善这种情
况,人们改用等密度结构生产硬盘,也就是说外圈磁道的扇区比内圈的多,而采用这个结构后便不再能够像以前那样使用CHS的寻址方式,只能改为LBA方式,
所以上述的
LBA就是此意。

3、后面2个字节为表示位,通常为55 AA,如果这两个字节被破坏,则分区表显示会有问题

上面所说的中间64字节为主分区表,但如果有扩展分区,扩展分区大家都知道,可以继续的分为许多个逻辑分区,不过这些逻辑分区都只能在扩展分区的地界进行划分。而在上面所说的16字节中,并不能显示每个逻辑分区的地址界限,只能把整个的扩展分区的界限给显示出来。

扩展分区

如上面MBR分区方式图所示,扩展分区的第一个扇区也有类似于MBR的一种结构,其名为EBR,也占有512个字节。

1、前446字节为空,只是为了与MBR结构一致

2、中间64字节也分为四个16字节

第一个16字节结构类似于MBR,并指向第一个逻辑分区

第二个16字节指向的是第二个EBR,以此循环

后面32个字节暂时未被使用。

GPT分区

GPT:GUID patition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z
(4096Byte/block),使用128位UUID 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位,UEFI
(统一扩展固件接口)硬件支持GPT,结构如下图所示

基本上可以分为六个部分:

1、Protect MBR,用来保护分区,因为传统的分区方式不识别GPT分区,需要填充上传统MBR的标识位即55 AA。

2、GPT信息头部

3、GPT分区表

4、GPT分区

5、GPT的备份区域

6、GPT的备份区头部



三 管理分区

    1)创建分区

创建分区使用:
            fdisk创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区
            gdisk创建GPT分区
            GNU parted高级分区操作(创建、复制、调整大小等等)



    分区工具fdisk和gdisk使用操作相似,下面举例fdisk

        # fdisk -l [-u] [device...]
        子命令:
        p 分区列表
        t 更改分区类型
        n 创建新分区
        d 删除分区
        w 保存并退出
        q 不保存并退出

   2)同步分区表

有些时候虽然已经对磁盘作出了操作,但是内存和磁盘并不同步,所以需要通知内存重读磁盘信息,保持信息的同步性。

注意:在CentOS 5,7上使用partprobe,CentOS 6上使用partprobe却是不管用,所以CentOS6上使用partx -a DISK_NAME

3)parted命令

parted的操作都是实时生效的,小心使用,下面演示的利用parted命令创建gpt类型并分区



四 文件系统

    何为文件系统?文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。

Block:Linux文件系统存储数据的最小单位,分为1K,2K和4K。

超级块:超级块作用是存储文件系统的大小,空闲block以及inode数量等等诸如此类的信息,要使用一个分区来进行数据访问,那么第一个要访问的就是超
级块,所以,如果超级块坏了,那磁盘也就无法访问了。所以为了防止超级块数据被破坏,则需要对超级块仅进行数据备份,以便于损坏时修复

1)文件系统类型

Linux文件系统: ext2, ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
        光盘:iso9660
        Windows:fat32, ntfs
        Unix: FFS(fast), UFS(unix), JFS2
        网络文件系统:NFS, CIFS
        集群文件系统:GFS2, OCFS2(oracle)
        分布式文件系统:ceph, moosefs, mogilefs, glusterfs, Lustre
        RAW:未经处理或者未经格式化产生的文件系统

文件系统分类:

根据其是否支持"journal"功能:
                日志型文件系统: ext3, ext4, xfs, ...
                非日志型文件系统: ext2, vfat
        文件系统的组成部分:
            内核中的模块:ext4, xfs, vfat
            用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
        Linux的虚拟文件系统:VFS

Linux通过VFS来支持多样化的文件系统

2)创建文件系统

mkfs命令:
        (1) # mkfs.FS_TYPE   /dev/DEVICE
        FS_TYPE:btrfs   cramfs  ext2   ext3   ext4  fat   minix  msdos  vfat   xfs

[[email protected] ~]# mkfs.ext2 /dev/sdb1   //创建ext2类型的文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)            //块大小为1024
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
124928 inodes, 499712 blocks
24985 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
61 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:     //超级块存储在
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

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
            -m #: 默认5%,为管理人员预留空间占总空间的百分比
            -O FEATURE[,...]:启用指定特性
            -O ^FEATURE:关闭指定特性

[[email protected] ~]# mke2fs -t ext4 /dev/sdb5 //创建ext4文件系统
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)            //块大小为1K
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
4016 inodes, 16032 blocks
801 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=16515072
2 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks: 
    8193

Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[[email protected] ~]# mke2fs -t ext4 -b 4096 /dev/sdb5 //指定块大小为4K
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)                //块大小为4K
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4032 inodes, 4008 blocks
200 blocks (4.99%) reserved for the super user
First data block=0
1 block group
32768 blocks per group, 32768 fragments per group
4032 inodes per group

Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override

3)文件系统标签

指向设备的另一种方法

blkid:块设备属性信息查看
            blkid[OPTION]... [DEVICE]
            -U UUID: 根据指定的UUID来查找对应的设备
            -L LABEL:根据指定的LABEL来查找对应的设备

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

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

-l:查看指定文件系统超级块信息;super block

-L ‘LABEL‘:修改卷标

-m #:修预留给管理员的空间百分比

-j: 将ext2升级为ext3

-O: 文件系统属性启用或禁用,–O ^has_journal

-o: 调整文件系统的默认挂载选项,–o ^acl

-U UUID: 修改UUID号;

[[email protected] ~]# tune2fs -l /dev/sdb1  //查看/dev/sdb1的超级块
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   xiaoshui        //卷标
Last mounted on:          <not available>
Filesystem UUID:          4fb146b1-4147-4a43-b023-2d9deb17cc97
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              124928    //Inode数量
Block count:              499712    //Block数量
Reserved block count:     24985     //block保留数,供管理员使用
Free blocks:              481628    //空闲block块
Free inodes:              124917    //空闲inode数量
First block:              1        //第一个block块
Block size:               1024      //block大小
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192        //每一个组的block数量
Fragments per group:      8192
Inodes per group:         2048        //每一个组的inode
Inode blocks per group:   256
Filesystem created:       Fri Aug 26 20:45:25 2016
Last mount time:          n/a
Last write time:          Sat Aug 27 12:09:21 2016
Mount count:              0
Maximum mount count:      -1
Last checked:             Fri Aug 26 20:45:25 2016
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:              128
Default directory hash:   half_md4
Directory Hash Seed:      b6445eaa-a42d-45a0-8411-d4176ac8cb29

[[email protected] ~]# tune2fs -L dashui /dev/sdb1 //修改/dev/sdb1的卷标为dashui
tune2fs 1.42.9 (28-Dec-2013)
[[email protected] ~]# e2label /dev/sdb1             //查看/dev/sdb1的卷标
dashui                            //修改成功

dumpe2fs:
            -h:查看超级块信息(分组信息),分区用分组管理

[[email protected] ~]# dumpe2fs -h /dev/sdb1 //使用dumpe2fs查看/dev/sdb1的超级块信息
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   dashui
Last mounted on:          <not available>
Filesystem UUID:          4fb146b1-4147-4a43-b023-2d9deb17cc97
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              124928
Block count:              499712
Reserved block count:     24985
Free blocks:              481628
Free inodes:              124917
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Fri Aug 26 20:45:25 2016
Last mount time:          n/a
Last write time:          Sat Aug 27 12:41:34 2016
Mount count:              0
Maximum mount count:      -1
Last checked:             Fri Aug 26 20:45:25 2016
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:              128
Default directory hash:   half_md4
Directory Hash Seed:      b6445eaa-a42d-45a0-8411-d4176ac8cb29

[[email protected] ~]#

4)文件系统检测和修复

fsck: File System Check
            fsck.FS_TYPE
            fsck-t FS_TYPE
            -a: 自动修复错误
            -r: 交互式修复错误

注意: FS_TYPE一定要与分区上已经文件类型相同;

e2fsck:ext系列文件专用的检测修复工具
            -y:自动回答为yes
            -f:强制修复

常发生于死机或者非正常关机之后,挂载为文件系统标记为“dirty”



五  挂载文件系统

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为

卸载:解除目录与设备的联系

挂载方法:mount DEVICE MOUNT_POINT

mount [-fnrsvw] [-t vfstype] [-o options] device dir
        device:指明要挂载的设备;
        (1) 设备文件:例如/dev/sda5
        (2) 卷标:-L ‘LABEL‘, 例如-L ‘MYDATA‘
        (3) UUID, -U ‘UUID‘:例如-U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
        (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs

[[email protected] ~]# blkid    //通过blkid查找到/dev/sdb5的UUID
/dev/sda1: UUID="7bbc50de-dfee-4e22-8cb6-04d8520b6422" TYPE="ext4" 
/dev/sda2: UUID="f8yBR5-kH5W-QQB7-3kx4-9Sl1-daC1-k4xGHV" TYPE="LVM2_member" 
/dev/sdb5: UUID="a7dc763f-64ee-4d4d-902b-7f6017469ddc" TYPE="ext4" 
/dev/mapper/vg0-root: UUID="42a67ff2-4ca0-4610-8e13-57311331ad02" TYPE="ext4" 
/dev/mapper/vg0-swap: UUID="e4b0968e-544e-4112-b3ec-3c4cc5fdb9dd" TYPE="swap" 
/dev/mapper/vg0-usr: UUID="087ba9d3-997f-4465-a215-a090ab248e14" TYPE="ext4" 
/dev/mapper/vg0-var: UUID="2c0ff242-1422-429a-8671-a644f85a6f8e" TYPE="ext4" 
/dev/sdb1: UUID="0e5b443a-00e6-4726-b2b5-de3d48192e89" TYPE="ext4" 
[[email protected] ~]# mount  exta9e16e39-4904-4e7f-9552-aba4bc39bc3b /testdir/
mount: you must specify the filesystem type
[[email protected] ~]# mount  -U exta9e16e39-4904-4e7f-9552-aba4bc39bc3b /testdir/
mount: no such partition found
[[email protected] ~]# mount -U a7dc763f-64ee-4d4d-902b-7f6017469ddc /testdir/ //通过UUID挂载
[[email protected] ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg0-root  20511356  421188  19041592   3% /
tmpfs                   502068       0    502068   0% /dev/shm
/dev/sda1               194241   34122    149879  19% /boot
/dev/mapper/vg0-usr   10190136 2257696   7408152  24% /usr
/dev/mapper/vg0-var   20511356  156172  19306608   1% /var
/dev/sdb5                14497     138     13558   2% /testdir

dir:挂载点
     事先存在;建议使用空目录
     进程正在使用中的设备无法被卸载

[[email protected] ~]# mount   //查看当前已挂载的所有设备
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

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

-o options:(挂载文件系统的选项),多个选项使用逗号分隔
            async:异步模式
            sync:同步模式,内存更改时,同时写磁盘
            atime/noatime:包含目录和文件
            diratime/nodiratime:目录的访问时间戳
            auto/noauto:是否支持自动挂载,是否支持-a选项
            exec/noexec:是否支持将文件系统上运行应用程序
            dev/nodev:是否支持在此文件系统上使用设备文件
            suid/nosuid:不否支持suid和sgid权限
            remount:重新挂载
            ro:只读
            rw:读写
            user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
            acl:启用此文件系统上的acl功能
            Defaults:相当于rw, nosuid, dev, exec, auto, nouser, async

[[email protected] ~]# mkdir /testdir
mkdir: cannot create directory `/testdir‘: File exists
[[email protected] ~]# cd testdir/
[[email protected] testdir]# ls
[[email protected] testdir]# cd /
[[email protected] /]# mount -r /dev/sdb1 /testdir/ //挂在只读文件系统
[[email protected] /]# cd /testdir/
[[email protected] testdir]# touch fi
touch: cannot touch `fi‘: Read-only file system //系统提示不能创建fi,因为是只读文件系统
[[email protected] testdir]# 

[[email protected] testdir]# umount /dev/sdb1 //卸载/dev/sdb1,因为当前在它的挂在目录下,所以提示报错
umount: /testdir: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[[email protected] testdir]# cd
[[email protected] ~]# umount /dev/sdb1    //更改目录后再次卸载,卸载成功
[[email protected] ~]# mount -w /dev/sdb1 /testdir/ //读写挂载
[[email protected] ~]# cd /testdir/
[[email protected] testdir]# touch f1    //创建文件f1
[[email protected] testdir]# ls            //创建成功
f1  lost+found
[[email protected] ~]# mount -o remount,ro /dev/sdb1 //remount重新挂载只读文件系统
[[email protected] ~]# cd /testdir/
[[email protected] testdir]# ls
f1  lost+found
[[email protected] testdir]# touch f2
touch: cannot touch `f2‘: Read-only file system //重新挂载成功,显示不能Read-only

卸载命令:

查看挂载情况:

#findmntMOUNT_POINT

[[email protected] ~]# findmnt
TARGET                       SOURCE               FSTYPE      OPTIONS
/                            /dev/mapper/vg0-root ext4        rw,relatime,barrier=1,data=ordered
├─/proc                      proc                 proc        rw,relatime
│ ├─/proc/bus/usb            /proc/bus/usb        usbfs       rw,relatime
│ └─/proc/sys/fs/binfmt_misc                      binfmt_misc rw,relatime
├─/sys                       sysfs                sysfs       rw,relatime
├─/dev                       devtmpfs             devtmpfs    rw,relatime,size=487784k,nr_inodes=121946,mode=755
│ ├─/dev/pts                 devpts               devpts      rw,relatime,gid=5,mode=620,ptmxmode=000
│ └─/dev/shm                 tmpfs                tmpfs       rw,relatime
├─/boot                      /dev/sda1            ext4        rw,relatime,barrier=1,data=ordered
├─/usr                       /dev/mapper/vg0-usr  ext4        rw,relatime,barrier=1,data=ordered
├─/var                       /dev/mapper/vg0-var  ext4        rw,relatime,barrier=1,data=ordered
├─/misc                      /etc/auto.misc       autofs      rw,relatime,fd=7,pgrp=1872,timeout=300,minproto=5,maxproto=5,indirect
├─/net                       -hosts               autofs      rw,relatime,fd=13,pgrp=1872,timeout=300,minproto=5,maxproto=5,indirect
└─/testdir                   /dev/sdb5            ext4        rw,relatime,barrier=1,data=ordered

查看正在访问指定文件系统的进程:

#lsofMOUNT_POINT

#fuser -v MOUNT_POINT

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

# fuser -km MOUNT_POINT

卸载:

# umountDEVICE

# umountMOUNT_POINT

谢谢浏览.....

时间: 2024-10-11 22:58:33

Linux的磁盘管理与文件系统的相关文章

linux学习之路之磁盘管理和文件系统三

ext3文件系统和ext2文件系统的区别? 在某些时候,某个用户在linux系统上写入数据,这时系统正好断电或者系统核心出现错误,写入的数据仅有inode table和datablock而已,可能会导致之前写过的数据没有保存在磁盘上.而当系统重启后,系统可能会对没有保存的数据进行数据恢复.但是,由于系统并不知道是哪个文件不完整,因此会遍历整个文件系统中inode,来查看block是否完整.不过,当某个文件的数据太大时,数据的恢复时间可能会比较长,而这对于服务器来说是不利的.所以在这种情况下,也就

分析Linux磁盘管理与文件系统专题三

1.前言 紧接着我的上一篇博客进行磁盘管理操作: http://zhangfengzhe.blog.51cto.com/8855103/1430531 我们已经对磁盘进行了分区,信息如下: [[email protected] ~]# fdisk -l /dev/sdb Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 5

分析Linux磁盘管理与文件系统专题二

1.关于设备文件 A 我们知道常见的设备文件有:字符设备文件(character),块设备文件(block). B 块设备,简写b,随机访问,比如硬盘. C 字符设备,简写c,线性访问,比如键盘,鼠标,显示器. D 我们的设备文件常常在/dev目录下,并且没有大小.因为设备文件只是作为设备访问   的入口. E 设备文件,一般用major(主设备号),minor(次设备号)进行标示.主设备号标示设备类型,次设备号标示同一种类型设备下的不同设备. 2.创建设备文件实例 [[email protec

Linux入门之磁盘管理(2)文件系统

Linux入门之磁盘管理(2)文件系统 linux分区构成完成之后,一般需要进行对其创建指定的文件系统,也就是我们常说的格式化,然后对其进行分区挂载,提供指定分区的访问点.不同的分区格式会在文件系统内部提供不同的对该分区的数据存储的格式分配,以及其内部模块会支持不同的分区的接口及方法调用,例如对一个文件的打开.读取.写入.关闭等功能,每个文件系统都会有各种不同的特点. 常见的系统文件系统: linux: ext2.ext3.ext4:xfs(SGI):btrfs(Oracle):reiserfs

Linux磁盘管理及文件系统

Linux磁盘管理及文件系统 1.Linux磁盘管理 识别硬盘设备:/dev/sd 标记不同的硬盘设备:/dev/sd[a-z] 标记同一设备上的不同分区:/dev/sd[a-z][1-] 1-4: 主或扩展分区标识 5+:逻辑分区标识 2.设备文件:特殊文件 设备号: major, minor major: 设备类型 minor: 同一类型下的不同设备 "块":block,随机设备 "字符":character,线性设备 3.分区工具: (1)fdisk, par

linux学习之路之磁盘管理和文件系统二

从前面的学习中,我们知道磁盘可以划分多个分区,每一个分区可以经过高级格式化以后,就形成了一个文件系统.那么在Linux系统中该如何创建分区呢? 使用fdisk命令可以来创建分区 语法格式为:fdisk [-l] 设备文件名(不能加数字) -l:显示指定硬盘上所有的分区内容.后面不加设备,则显示系统上所有的设备的所有分区内容. 不加任何选项时,可以用来创建分区. 使用fdisk 设备文件名(不能加数字) 其中这些子命令表示如下意思: p:显示当前硬盘上面的所有分区,包括没有保存的. n:表示创建新

Linux磁盘管理——日志文件系统与数据一致性

参考:Linux磁盘管理——Ext2文件系统 数据不一致 上图是Ext2结构图,其他FS结构类似. 一般来说,我们将 inode table 与 data block 称为数据区:至于其他例如 superblock. block bitmap 与 inode bitmap 等称为 metadata (元数据). 以新增一个文件为例,看看FS操作流程 1. 先确定使用者对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增:2. 根据 inode bitmap 找到没有使用的 inod

Linux磁盘管理与文件系统(精简理论部分,浓缩的精华!)

今天和大家分享的是Linux操作系统中的磁盘管理与文件系统的相关知识,将会从以下几点和大家进行说明: 磁盘基础 检测并确认新磁盘 规划硬盘中的分区 创建文件系统 挂载.卸载文件系统 首先先和大家说一下磁盘的结构1.硬盘的物理结构 盘片:硬盘有多个盘片.每盘片2面 磁头:每面一个磁头2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(磁盘的最小组成单元通常是512字节,部分厂商设定的是4096个字节) 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面(

Linux系统管理之磁盘管理与文件系统

Linux系统管理之磁盘管理与文件系统 一.前言 管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面 磁盘结构及分区表示 管理磁盘及分区 管理文件系统 二.磁盘(无尘环境制造)结构及分区 1.物理结构 盘片:硬盘有多个盘片,每盘片2面 磁头:每面有一个磁头 2.数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 多个扇区组成磁道,多个相同直径的磁道组成柱面 笔记本的磁盘一般是2.5英寸,7mm厚度和9.5