Linux文件系统

Linux文件系统

概述

⽂件系统,顾名思义,是⼀个组织⽂件的“系统(system)”。 filesystem,⽂件系统是⽤来组织⽂件的。通俗⼀点理解的话,⽂件系统是⽤来存储⽂件的。

硬盘是不能直接存放⽂件或数据。

我们通过将硬盘格式化之后,指定格式化后的⽂件系统,才可以存放数据。

机器语⾔就是0和1组成的语⾔。数据存放在⽂件系统中也是010101010101010这种。

我们看数据看的是字符.

0-9,a-z

我们只需要知道⽂件系统是⽤来做什么的就ok了,这就是运维⼈员需要知道的。

不同的⽂件系统存放⽂件的⽅式也不相同。算法以及优化⽅式也可能不同,所以如果⼀个操作系统不⽀持某个⽂件系统,那么这个⽂件系统上的数据,也就⽆法被这个操作系统识别。

#windows的⽂件系统:

很多同学对于windows的理解就是C盘,D盘,E盘。

其实咱们同学应该都知道C盘,D盘,E盘这些盘的空间是来⾃于硬盘。

你插⼊⼀个新的移动硬盘或者U盘,也会被windows识别出来。

如果你安装过windows操作系统,你就知道C盘,D盘是怎么来的了。

windows的安装过程中,windows的安装程序所带的驱动会识别出你计算机的硬盘,然后你对硬盘进⾏分区(partition),“然后格式化”,然后安装操作系统。part的意思是“部分”,partition就是分区的意思。

对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的。

Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。

Linux常见的文件系统有ext系列,ext2,ext3,ext4。还有xfs,还有btrfs。

ext4的文件系统限制是,单个文件的大小不能超过1T

xfs的文件系统每个文件系统量最大支持8eb,单个文件可以支持16tb

从centos7和rhel7开始,默认的安装文件系统就是xfs了,也提供了xfs文件系统的支持。

对于文件系统来说,如果涉及到了文件系统性能的需求,首先你要知道的就是你要存储的文件类型 (特征)。

小文件特别多或者文件特别大,但是文件数量少。

分区

MBR分区

mbr的初始化当想建⽴第四个主分区的时候,会将剩下的所有空间划分成扩展分区,然后在扩展分区⾥⾯划出⼀部分作为逻辑分区。mbr主分区加扩展分区的数量最多等于4。mbr单分区⼤⼩不超过2T

MBR(主引导记录): 如果磁盘选择了以MBR的⽅式进⾏初始化,那么磁盘的第⼀个扇区⼀定是512B

主引导记录(master boot record,MBR)位于硬盘的第⼀物理扇区。由于历史原因,硬盘的⼀个扇区⼤⼩是512字节,包含最多446字节的启动代码、4个硬盘分区表项(每个表项16字节,共64字节)、2个签名字节(0x55,0xAA)。

将第一个扇区作为引导扇区

扇区(sector),⼀个扇区是512B。

GPT分区

gpt的初始化最多可以达到1024个主分区+扩展分区。GPT单分区最⼤分区18EB->18,874,368T

Linux的⽂件系统

通过命令⾏查看当前系统的硬盘(没有⽹络存储的情况)

[root@server ~]# ls /dev/nvme0* -l

brw-rw----. 1 root disk 259, 0 May 23 21:51 /dev/nvme0n1

b->block 块设备

brw-rw----. 1 root disk 259, 0 May 23 21:51 /dev/nvme0n1

nvme0n1表示第⼀块硬盘

nvme0n1p1表示第⼀块硬盘的第⼀个分区

nvme0n1p2表示第⼀块硬盘的第⼆个分区

[root@server ~]# ls /dev/sd* -l

brw-rw----. 1 root disk 8, 0 May 23 22:02 /dev/sda

在Linux系统当中,SATA硬盘和SCSI硬盘都会被设备成/dev/sd*。

IDE硬盘在早期的Linux版本会被识别成/dev/hd*

第⼀块IDE(ATA)硬盘是/dev/hda

第⼆块IDE硬盘是/dev/hdb

第三块IDE硬盘是/dev/hdc

。。。。

第⼆⼗六块IDE硬盘是/dev/hdz

第二十七块IDE硬盘是/dev/hdaa

第⼀块SATA或SCSI硬盘是/dev/sda

第⼆块SATA或SCSI硬盘是/dev/sdb

第三块SATA或SCSI硬盘是/dev/sdc

。。。。

第⼆⼗六块SATA或SCSI硬盘是/dev/sdz

⾮常重要

磁盘是有分区的

第⼀块磁盘的第⼀个分区就是/dev/sda1

第⼀块磁盘的第⼆个分区就是/dev/sda2

第⼀块磁盘的第三个分区就是/dev/sda3

第⼀块磁盘的第四个分区就是/dev/sda4

第⼀块磁盘的第五个分区就是/dev/sda5

第⼆块硬盘的第⼀个分区就是/dev/sdb1

公式就是第X块硬盘的第N个分区就是/dev/sdXn

X表示,a,b,c,d,e,f,g…z

N表示1,2,3,4,5,6…

linux磁盘使用步骤

Linux想使⽤磁盘的步骤和我们的windows⼀样。

加硬盘->分区->格式化->挂载

#通过命令⾏⽅式对磁盘进⾏分区(两种⽅式,第⼀种就是MBR,第⼆种就是GPT)

如果你采⽤MBR的⽅式进⾏分区就使⽤fdisk命令

如果你采⽤GPT的⽅式进⾏分区就使⽤gdisk命令

单个分区超过2T就用GPT,不超过2T就用MBR

还有其他分区的命令parted

1.⼿动创建分区(效率太低)

2.⾃动创建分区(有⼀定的操作性)

[root@server ~]# fdisk -l

查看当前所有磁盘的分区情况

[root@server ~]# fdisk -l /dev/nvme0n1

查看当前某块硬盘的分区情况

⼀个sectors等于512B

对于服务器来说,磁盘从使⽤⽬的来说分为3种,第⼀种是⽤来存放操作系统的,此类硬盘应该只存放操作系统以及系统配置⽂件,剩下任何数据都不应该主动存放在此硬盘中。第⼆种磁盘是⽤来存放本地⼤⽂件,⼀般这种磁盘我们叫做本地存储盘。第三种磁盘是⽤来存放本地⼤⽂件,但是该磁盘并没有在本地,⽽是使⽤了⽹络存储(SAN->storage area network),⼀般这种磁盘我们叫做⽹络存储。

交互式的命令

[root@server ~]# fdisk /dev/sda

Command (m for help): q(quit,不保存的)

Command (m for help): w(write保存)

Command (m for help): m

Generic

d delete a partition(删除⼀个分区)

F list free unpartitioned space

l list known partition types(列出当前⽀持的分区种类)

n add a new partition(添加⼀个新分区)

p print the partition table(列出当前状态的所有分区)

t change a partition type(修改分区类型,没有实际意义)

新的硬盘会提醒没有主引导记录,依次来判断之前是否格式化过

Command (m for help): n

Partition type

p primary (0 primary, 0 extended, 4 free) 主分区

e extended (container for logical partitions) 扩展分区

Select (default p): p 创建一个主分区

Partition number (1-4, default 1): 1 主分区号为1

First sector (2048-41943039, default 2048): 2048 第一个扇区,文件系统的扇区要连续的,所以第一个扇区一定要使用默认的

Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): 52048 最后一个扇区

Created a new partition 1 of type ‘Linux’ and of size 24.4 MiB.

Command (m for help): n

Partition type

p primary (0 primary, 0 extended, 4 free)

e extended (container for logical partitions)

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-41943039, default 2048): 2048

Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): 2099199

2099199 = 2048+110241024*1024/512 +1

Created a new partition 1 of type ‘Linux’ and of size 1 GiB.

Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +10G

可以直接按不同大小分区

Command (m for help): w

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

保存退出,不保存,则会丢失

主分区与逻辑分区

采用mbr方式分区的时候,最多只有4个主分区,当分出来4个主分区之后,则无法进行逻辑分区,所以最多三个主分区,剩下的使用逻辑分区

当分三个主分区后,会默认将所有的剩余空间分为扩展分区

Command (m for help): n

Partition type

p primary (2 primary, 0 extended, 2 free)

e extended (container for logical partitions)

Select (default p):

Using default response p.

Partition number (3,4, default 3):

First sector (4196352-41943039, default 4196352):

Last sector, +sectors or +size{K,M,G,T,P} (4196352-41943039, default 41943039): +1G

Created a new partition 3 of type ‘Linux’ and of size 1 GiB.

Command (m for help): p

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xca953d2f

Device Boot Start End Sectors Size Id Type

/dev/sda1 2048 2099199 2097152 1G 83 Linux

/dev/sda2 2099200 4196351 2097152 1G 83 Linux

/dev/sda3 4196352 6293503 2097152 1G 83 Linux

Command (m for help): n

Partition type

p primary (3 primary, 0 extended, 1 free)

e extended (container for logical partitions)

Select (default e): e

Selected partition 4

First sector (6293504-41943039, default 6293504):

Last sector, +sectors or +size{K,M,G,T,P} (6293504-41943039, default 41943039):

Created a new partition 4 of type ‘Extended’ and of size 17 GiB.

Command (m for help): p

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0xca953d2f

Device Boot Start End Sectors Size Id Type

/dev/sda1 2048 2099199 2097152 1G 83 Linux

/dev/sda2 2099200 4196351 2097152 1G 83 Linux

/dev/sda3 4196352 6293503 2097152 1G 83 Linux

/dev/sda4 6293504 41943039 35649536 17G 5 Extended

再次新建的时候,就在逻辑分区上进行新建

Command (m for help): n

All primary partitions are in use.

Adding logical partition 5

First sector (6295552-41943039, default 6295552):

扩展分区留了2048个扇区来作为扩展分区表

6295552 - 6293504 =2048

自动分区

⾃动分区采⽤了输⼊重定向的⽅法

vim test

n

+2G

w

将fdisk中的操作,写到一个文本文件中,然后再通过输入重定向实现自动化分区

[root@da ~]# fdisk /dev/sda < test

Welcome to fdisk (util-linux 2.32.1).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): All primary partitions are in use.

Adding logical partition 6

First sector (10491904-41943039, default 10491904): Last sector, +sectors or +size{K,M,G,T,P} (10491904-41943039, default 41943039):

Created a new partition 6 of type ‘Linux’ and of size 2 GiB.

Command (m for help): The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

fdisk /dev/sda -l 可以查看分区结果

超过2T的磁盘分区

使用gdisk命令进行分区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值