linux系统默认的文件系统格式化,Linux磁盘管理(分区,格式化,文件系统、VFS、mount、fstab)...

Linux系统中数据存储在磁盘中,磁盘在冯诺依曼体系中属于输入输出外部存储对象,保存着重要的企业数据,对Linux系统中的磁盘管理尤其需要熟练掌握,由于企业目前使用的主流存储设备还是硬盘,所以这里只叙述硬盘的组织结构;

1.分区:

(1)低级格式化:

硬盘在出厂的时候厂家会做一次分区格式化,主要是划分磁道和的固定大小的扇区,这就是所谓的低级格式化,由厂商完成;

(2)分区作用:

厂家做完低级格式化后,整个磁盘是一个完成完整的物理边界,直接使用当发生故障后,要修复的范围是整个磁盘,同时在整个磁盘上实现对文件系统的管理效率是很低下的,尤其是大空间量的磁盘管理更加困难;可以通过划分分区,划分多个空间作为独立管理对象,在一个相对较小独立的空间中,即提高了故障修复速度,同时也提高了数据管理效率;

(3)分区视角:

通过上面的说明可以看出分区是磁盘空间的逻辑边界;

(4)分区类型:

MBR:主引导记录

这种分区方式通过MBR记录各分区表的信息,开机引导操作系统的方式以及磁盘分区是否可以;具体如下

MBR:总大小512个字节,不参与分区空间划分,记录在磁盘的最开始处;

boot loader:引导加载器,前446byts;

分区表:总大小64bytes,16bytes标识一个分区;所以最多四个分区;

MBR分区类型:可以最多四个主分区或者三个主分区和一个扩展分区;

GPT:GUID(globals unique identfiers)

根据MBR划分主分区的数量限制,满足不了更大磁盘空间管理,所以有了GPT磁盘分区方式,GPT突破了传统可以最大划分128个分区,使用的是64位;分区结构如下:

Protective MBR:GPT分区保护,防止不能识别GPT分区的从而破坏GPT分区数据;

EFI:GPT头

分区表

GPT分区

备份分区

(5)分区工具:

1.查看系统磁盘设备工具:要想管理,首先要知道系统有哪些磁盘可用;方式如下:

lsblk:查看系统磁盘设备情况

[root@xia7 ~]# lsblk

NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda             8:0    0  200G  0 disk

├─sda1          8:1    0  488M  0 part /boot

├─sda2          8:2    0   40G  0 part /

├─sda3          8:3    0   20G  0 part /usr

├─sda4          8:4    0    1K  0 part

└─sda5          8:5    0    2G  0 part [SWAP]

sdb             8:16   0  100G  0 disk

├─sdb1          8:17   0   10G  0 part

├─sdb2          8:18   0   10G  0 part

└─sdb3          8:19   0   20G  0 part /tmp/mnt

cat /proc/partitions :查看系统识别的设备信息

[root@xia7 ~]# cat /proc/partitions

major minor  #blocks  name

8        0  209715200 sda

8        1     499712 sda1

8        2   41943040 sda2

8        3   20971520 sda3

8        4          1 sda4

8        5    2098176 sda5

8       32   20971520 sdc

8       33   20970496 sdc1

8       16  104857600 sdb

8       17   10485760 sdb1

8       18   10485760 sdb2

8       19   20971520 sdb3

8       48   20971520 sdd

8       49   20970496 sdd1

11        0    7587840 sr0

8       64   20971520 sde

8       65   20970496 sde1

8       80   20971520 sdf

8       81   20970496 sdf1

253        0   73400320 dm-0

ls -l /dev/sd* :查看系统读取的设备

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

brw-rw---- 1 root disk 8,  0 Aug 30 20:25 /dev/sda

brw-rw---- 1 root disk 8,  1 Aug 30 20:25 /dev/sda1

brw-rw---- 1 root disk 8,  2 Aug 30 20:25 /dev/sda2

brw-rw---- 1 root disk 8,  3 Aug 30 20:25 /dev/sda3

brw-rw---- 1 root disk 8,  4 Aug 30 20:25 /dev/sda4

brw-rw---- 1 root disk 8,  5 Aug 30 20:25 /dev/sda5

brw-rw---- 1 root disk 8, 16 Aug 31 09:45 /dev/sdb

brw-rw---- 1 root disk 8, 17 Aug 31 09:45 /dev/sdb1

brw-rw---- 1 root disk 8, 18 Aug 31 09:45 /dev/sdb2

brw-rw---- 1 root disk 8, 19 Aug 31 09:45 /dev/sdb3

fdisk -l :查看设备详细信息

[root@xia7 ~]# fdisk -l

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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

Disk label type: dos

Disk identifier: 0x000f1359

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1001471      499712   83  Linux

/dev/sda2         1001472    84887551    41943040   83  Linux

/dev/sda3        84887552   126830591    20971520   83  Linux

/dev/sda4       126830592   419430399   146299904    5  Extended

/dev/sda5       126834688   131031039     2098176   82  Linux swap / Solaris

Disk /dev/sdc: 21.5 GB, 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

Disk label type: dos

Disk identifier: 0xa573c896

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1            2048    41943039    20970496   8e  Linux LVM

(6)分区命令fdisk

语法格式:fdisk -l device

Command (m for help): m

Command action

a   toggle a bootable flag

b   edit bsd disklabel

c   toggle the dos compatibility flag

d   delete a partition

l   list known partition types

m   print this menu

n   add a new partition

o   create a new empty DOS partition table

p   print the partition table

q   quit without saving changes

s   create a new empty Sun disklabel

t   change a partition's system id

u   change display/entry units

v   verify the partition table

w   write table to disk and exit

x   extra functionality (experts only)

Command (m for help):

常用选项解释说明:

m:查看帮助菜单

p:查看分区信息

n:创建分区:其中有子命令

e:创建扩展分区

p:创建主分区:

t:改变其他分区类型;默认为Linux分区

l|L :可以查看创建的分区的类型

d:删除分区;需要指定分区编号,一个默认直接删除;

o:转换磁盘类型为msdos也就是MBR分区

w:保存修改退出

q:不保存修改退出

gdisk工具:专门创建GPT分区命令,使用格式跟fdisk命令使用类似,这里不再介绍;

(7)系统重新读取修改配置命令:

让系统读取设备命令

partprobe [device]

partx -a device

让系统删除已经改变的分区

partx -d device

(8)高级分区parted命令:

这是一个实时生效的非交互式操作命令,实现分区管理

语法格式:

parted [device] [command] [argument]

常用选项:

mklabel gpt|msdos :设置磁盘分区类型

print :查看指定磁盘分区信息;

mkpart parimary 分区编号 分区大小 :创建分区类型指定编号及大小;

rm 分区编号:删除第几个分区

-l :查看所有磁盘信息

文件系统

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

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

文件系统类型:

这里主要简述常用的Linux系统支持的文件系统类型;

ext系列:ext2,ext3,ext4

xfs

btrfs

reiserfs

光盘:iso9660

上面除了ext2不支持journal日志功能,其他都持续日志功能,同时支持日志的方式也有所不同,这些方式分别有自己特性,不过总的区别是文件安全和性能之间的取舍;

VFS

Linux系统能够支持众多的文件系统并存是因为Linux采用了虚拟文件系统(VFS)

VFS工作原理:

磁盘属于硬件,文件系统是Linux内核kernel的功能,能够真正操作硬盘(硬件)是Linux内核,硬件功能由系统调用systemcall提供,文件操作有open(),read(),write(),close(),create(),delete(),每个文件系统对文件的组织管理是不同的,说明调用方式也有所不同,也就是说管理文件系统的程序要想实现对不同文件系统中的文件操作,必须要把对所有文件系统的操作方式写到程序中,这就势必造成程序显得十分臃肿,为了解决这种现象,Linux

内核通过VFS来磨合多种差异,因为只要让VFS知道对每个文件系统的文件操作方式就行,以一个统一的接口提供给上层跟文件管理操作相关的程序,这就是Linux能够支持众多文件系统的原因;

查看当前内核支持的文件系统:

cat /proc/filesystems

[root@xia7 ~]# cat /proc/filesystems

nodevsysfs

nodevrootfs

nodevbdev

nodevproc

nodevcgroup

nodevcpuset

nodevtmpfs

nodevdevtmpfs

nodevdebugfs

nodevsecurityfs

nodevsockfs

nodevpipefs

nodevanon_inodefs

nodevconfigfs

nodevdevpts

nodevramfs

nodevhugetlbfs

nodevautofs

nodevpstore

nodevmqueue

xfs

nodevrpc_pipefs

nodevnfsd

ext3

ext2

ext4

创建文件系统:

mkfs命令工具:

语法

mkfs.filesystem_type /dev/device

mkfs [option] /dev/device

常用选项:

-t:指定文件系统类型

-L:指定LABEL,卷标

-i:inode

-N:创建多少个inode

-m:预留空间百分比,默认%5,留个系统管理员可操作空间;

mke2fs:创建ext系列文件系统命令工具:

语法格式:

mke2fs [option]…/dev/device

常用选项:

-j:创建ext3相当于-t ext3

-t:创建ext文件系统类型

-L:LABEL

-m:预留空间百分比,默认%5,留个系统管理员可操作空间;

-b:指定block的大小,1024,2048,4096

查看分区文件系统信息:

blkid命令:

语法格式:

blkid [option] /dev/device

[root@xia7 ~]# blkid

/dev/sda1: UUID="385fe9f8-1da7-427c-8796-a43a39ea3908" TYPE="xfs"

/dev/sda2: UUID="0af6d0c7-d33b-4807-85c1-eb43f2abd6a0" TYPE="xfs"

/dev/sda3: UUID="8c33aaa4-511b-443d-b6f8-ef18fc432f48" TYPE="xfs"

/dev/sda5: UUID="6cfe3bb8-08ff-450a-957e-dba4ba41ab09" TYPE="swap"

/dev/sdb1: UUID="b5feec83-8838-4be8-9dbd-a7e63de2c699" TYPE="ext4"

/dev/sdb2: UUID="aee25a1d-1e43-4b33-9a88-625e7d8a2bf6" TYPE="ext4"

/dev/sdb3: UUID="60134f39-d392-4f35-a9ef-1eb63db73b0c" TYPE="ext4"

/dev/sdd1: UUID="tKcKfd-l4zR-Z930-hyKP-szq8-eLae-usPI4l" TYPE="LVM2_member"

/dev/sr0: UUID="2015-12-09-22-36-30-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"

/dev/myvg/mylv: UUID="ec682d89-d8dc-4f96-8d59-ba30f1b8a6f6" TYPE="ext4"

e2label命令:管理ext系列文件系统卷标命令

语法格式:

e2label [option] /dev/device

[root@xia7 ~]# e2label /dev/sdb3 mydate1

[root@xia7 ~]# e2label /dev/sdb3

mydate1

[root@xia7 ~]#

tune2fs命令:调整ext系列文件系统属性命令

语法格式:

tune2fs [option]… /dev/device

常用选项:

-o:acl

-o:^acl

-L:LABEL

-l:查看设备详细属性

[root@xia7 ~]# tune2fs -o acl /dev/sdb3

tune2fs 1.42.9 (28-Dec-2013)

[root@xia7 ~]# tune2fs -l /dev/sdb3

tune2fs 1.42.9 (28-Dec-2013)

Filesystem volume name:   mydate1

Last mounted on:          

Filesystem UUID:          60134f39-d392-4f35-a9ef-1eb63db73b0c

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem flags:         signed_directory_hash

Default mount options:    user_xattr acl

Filesystem state:         clean

Errors behavior:          Continue

findfs :根据分区的UUID和LABEL查分区

findfs [option] LABEL=

findfs [option] UUID=

[root@xia7 ~]# findfs LABEL=mydate1

/dev/sdb3

uuidgen 生成UUID命令

[root@xia7 ~]# uuidgen

4dee18b8-d127-4210-9173-7e8dd02c2e3e

dumpe2fs:查看ext系列文件系统详细信息

语法格式:

dumpe2fs [option] /dev/device

文件系统修复工具:

fsck:修复文件系统命令:

语法格式:

fsck.filesystem_type /dev/device

fsck [option] /dev/device

常用选项:

-r:交互式修复

-a:自动修复

-t:指定文件系统类型

[root@xia7 ~]# fsck.ext4 /dev/sdb2

e2fsck 1.42.9 (28-Dec-2013)

mydatedb: clean, 11/655360 files, 83137/2621440 blocks

[root@xia7 ~]#

e2fsck:修复ext系列文件系统命令:

语法格式:

e2fsck option [device]

常用选项:

-p:查看文件系统是否正常

-f:强制检查

-y:自动修复

文件系统挂载mount

linux的其他分区文件系统要想使用必须关联至rootfs根文件系统目录下,作为其他分区文件系统的访问入口,关联的目录称为挂载点,关联过程称为挂载,需要使用的命令工具是mount,关机重启时会失效,要想永久有效,需要写入到配置文件/etc/fstab;

mount:挂载命令:

语法格式

mount [option][-o[option]…] 挂载设备 挂载点(目录)

挂载设备

设备名

UUID="UUID"

LABEL="label"

挂载点

注意挂载目录必须事先存在,同时确认挂载目录中没有其他文件,否则挂载成功会隐藏文件

常用选项:

-a:自动挂载/etc/fstab文件中的配置

-n:挂载成功后不把配置信息写入/etc/mtab文件中;

-t:指定挂载设备类型

-r:只读挂载

-w:读写挂载

-o:这个选项有很多其他子命令,列出常用选项

remount:重新挂载

ro:只读挂载

rw:读写挂载

sync/nosync:磁盘写入数据方式,同步还是异步;

suid/nosuid:是否启用suid、sgid特殊权限位;

–bind:简写-B,可以挂载目录

/etc/fstab配置文件语法格式

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:xiashixiang,如若转载,请注明出处:http://www.178linux.com/42599

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值