centos系统之磁盘和文件系统管理

磁盘,提供持久的数据存储,不像内存,如果突然断电了,在内存中的数据一般都会被丢弃,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备

在磁盘分区后,还要进行格式化,这个格式化操作就是制定文件系统,文件系统的本质就是对一个存储设备上的元数据和数据进行组织,最终把数据有组织的放在可以长期存储的设备中。

一、磁盘的接口类型:
IDE:比较老的接口技术,价格低廉,兼容性强,传输速度可达133MB/s

SCSI:只要主要应用于中、高端服务器中,支持热插拔,价格比较昂贵。

SATA:只要用于PC上,串口硬盘。

SAS:一种串行链接的SCSI接口技术,向下兼容SATA,速度快。

并口和串口的区别:

并口:同一线缆可以接多块设备,IDE和SCSI为并口硬盘;

串口:同一线缆只可以接一个设备,SATA、SAS和USB为串口,抗干扰能力强。

Linux中的一切事物都是文件,在Linux中使用设备文件来表示不同的硬盘,也就是设备的访问接口。

在Linux中I/O设备分为2种,字符设备和块设备。
1)字符设备:线性访问的,数据的交换单位是“字符”,提供的连续的数据流,不支持随机存取。

2)块设备:可以提供随机访问,数据交换的单位是“块”,硬盘、CD-ROM驱动器都是典型的块设备,应用可以寻址磁盘上的任何位置,并读取数据。

centos系统之磁盘和文件系统管理

在Linux系统中,c代表字符设备,b为块设备(红色部分标识)。

×××框中是主设备号:区分设备类型,用于标明设备所需要的驱动程序;

蓝框中是次设备号:区分同种类型下的不同的设备。

二、MBR和GPT
一块磁盘是可以被分割成多个分区,从Windows的角度来看,就是C,D,E分区。

磁盘分区的方式有MBR和GPT。

MBR(Master Boot Record)
总共大小为512字节,存在于磁盘的第0个扇区。

446bytes:引导启动操作系统的程序;

64bytes:分区表,每16bytes标识一个分区,一共能够有4个主分区,但是如果想划分更多的区,可以指定扩展分区,比如分为3个主分区,一个扩展分区,而扩展分区可以划分为若干个逻辑分区。

总结:
如果使用MBR分区,就必须至少有一个扩展分区,然后将扩展分区分成逻辑分区,逻辑分区的序号从5开始。

GPT(GUID Partition Table):
MBR是另一种分区方式:

1):GPT分区表中最多可以支持128个主分区

2):突破了MBR单个分区只能是2.2T的限制,最大支持1EB容量

在GPT中主分区、扩展分区和模糊分区的概念就淡化了很多。

三、硬盘操作
1、fdisk命令
用于管理磁盘分区
1)查看磁盘分区情况
fdisk -l 查看所有磁盘的分区情况
fdisk -l 磁盘设备名 #查看指定磁盘设备的分区情况
centos系统之磁盘和文件系统管理

2)管理分区
fdisk为MBR方式的分区工具,提供了交互式的接口来管理分区所有的操作,都是在内存中完成的,当使用w保存的时候,才真正去创建或修改分区。
格式为:“fdisk [磁盘名称]”
进入到分区界面后,开始进行指令操作。
常用指令如下:
m   查看全部可用的参数
n   添加新的分区
d   删除某个分区信息
l   列出所有可用的分区类型
t   改变某个分区的类型
p   查看分区表信息
w   保存并退出
q   不保存直接退出

例子:
现在新加了一块20G的磁盘,分为3个主分区,每个区1G,余下的空间都给扩展分区并添加一个2G的逻辑分区。

centos系统之磁盘和文件系统管理

操作如下:

[root@lq1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x176a2172 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)    #主分区
   e   extended    #扩展分区
Select (default p):    p     #选择分区的类型
分区号 (1-4,默认 1):    #选择分区号,默认即可
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (2099200-41943039,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-41943039,默认为 41943039):+1G
分区 2 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (6293504-41943039,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 17 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (6295552-41943039,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-41943039,默认为 41943039):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc42ec452

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   83  Linux
/dev/sdb3         4196352     6293503     1048576   83  Linux
/dev/sdb4         6293504    41943039    17824768    5  Extended
/dev/sdb5         6295552    10489855     2097152   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

注:使用w保存退出后,内核不会立即识别新分区,此处如果有需要,可以使用命令使内核强制读取。

通知内核强制重读磁盘分区表:
partprobe 设备名 centos5、6、7版本都可以使用。

定位或打印块设备属性信息:
blkid 不加参数,默认打印所有设备信息。
centos系统之磁盘和文件系统管理

常用选项:
 -s <tag>:显示指定信息,默认显示所有信息
 -o format:指定显示格式,常用list

例子:
 blkid -o device            # 只显示设备名

centos系统之磁盘和文件系统管理

 blkid -s UUID /dev/sda1       # 只显示/dev/sda1的UUID

centos系统之磁盘和文件系统管理

——————————到此分区完成——————————————

四、文件系统的特性

文件系统:用户在硬件存储设备上面正常建立文件、写入,读取,修改,转存文件与控制文件等等操作都是依靠了文件系统来完成的,文件系统的作用是将硬盘合理的规划,保证用户正常的使用需求。

1、文件系统的类别
Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, reiserfs, btrfs
光盘:iso9660
网络文件系统:nfs, cifs
集群文件系统:gfs2, ocfs2
内核级分布式文件系统:ceph
windows的文件系统:vfat, ntfs
伪文件系统:proc, sysfs, tmpfs, hugepagefs
Unix的文件系统:UFS, FFS, JFS
交换文件系统:swap
用户空间的分布式文件系统:mogilefs, moosefs, glusterfs

其中:
Ext4 可以称为是Ext3的后继版本,作为RHEL6和centos6系统中的默认文件管理系统,它支持更大的文件系统到1EB(1EB=1,073,741,824GB且能够有无限多的子目录),另外Ext4文件系统能够批量分配block块并作"Extents"极大的提高了读写效率。

XFS 作为最新RHEL7和centos7系统中默认的文件管理系统,它的日志型文件管理系统的优势在意外宕机后尤其明显,可以快速的恢复可能被破坏的文件,另外经过优化后日志功能对硬盘性能影响非常小,同时最大支持18EB的存储容量满足了几乎所有需求。

一块新的硬盘存储设备之后首先要分区,然后格式化文件系统最后才能挂载正常的使用。

格式化文件系统,就是对分区进行格式化,格式化分为:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统),一般低级格式化都有硬盘厂商来完成。

2、文件系统管理工具:

1)ext系列文件系统
    创建文件系统,就是对分区进行格式化,格式化分为:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统),一般低级格式化都有硬盘厂商来完成。

    文件系统管理工具:
        (1)、创建文件系统工具

                  第一个工具:mkfs系列(mkfs.ext2, mkfs.ext3, mkfs.ext4

centos系统之磁盘和文件系统管理

            第二个工具:mke2fs:

                        使用格式: mke2fs [OPTIONS] device

                        常用命令参数:

                            -t {ext2|ext3|ext4}:指明要创建的文件系统类型

                        mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4

                            -b {1024|2048|4096}:指明文件系统的块大小;

                            -L LABEL:指明卷标;

                            -j:创建有日志功能的文件系统ext3;

                   -F:强制创建文件系统,不管其是否处于挂载状态

                    -E:用户指定额外文件系统属性

                    -q:执行时不显示任何信息,常用于脚本

                     -c:检查是否有损坏的区块

        # mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3

centos系统之磁盘和文件系统管理

(2)、改变ext2/ext3/ext4文件系统的卷标——e2label

    查看卷标:e2label device

centos系统之磁盘和文件系统管理

    设置卷标:e2label device [新卷标]

centos系统之磁盘和文件系统管理

(3)、检查并修复ext系列文件系统——e2fsck

                    -y:对所有问题自动回答为yes; 

                -f:即使文件系统处于clean状态,也要强制进行检测;

    注:文件系统clean状态说明文件系统没有问题。

centos系统之磁盘和文件系统管理

(4)、检查并修复Linux文件系统——fsck
格式:fsck   设备名
常用选项:
    -a:自动修复
    -t FSTYPE:指定文件系统类型,可以不指,但一定不能指错

[root@lq1 ~]# fsck /dev/sdb1
fsck£,来自 util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
DATA: clean, 11/65536 files, 12955/262144 block

注:检查文件系统时,该文件系统必须卸载。当出现错误时fsck会提示是否修复,可以用-y参数:不提示是否修复
fsck会自动检测文件系统类型,如果损坏比较严重最好加一个参数

如果是clean状态说明文件系统没有问题

损坏的数据fsck会放在/lost+found目录

系统启动时会自动对文件系统执行fsck操作,检查磁盘是否有误。

(5)、显示文件系统超级块信息和块组描述符——dumpe2fs
格式: dumpe2fs   [options]   设备名

    -h:查看超级块信息,但不包括GDT(块组描述表)

2、xfs文件系统管理工具:
创建文件系统工具——mkfs.xfs
centos系统之磁盘和文件系统管理

3、swap文件系统管理工具
注:swap就是linux系统中的虚拟内存。
创建管理工具——mkswap

注意:swap需要在分区时文件系统类型改为82

centos系统之磁盘和文件系统管理

格式化:mkswap

centos系统之磁盘和文件系统管理

启用:swapon

centos系统之磁盘和文件系统管理

centos系统之磁盘和文件系统管理

比原先多了1G的大小。

禁用:swapoff

centos系统之磁盘和文件系统管理

——————————以上就是文件系统——————————————

五、文件系统的使用
       在Linux中文件系统想要使用,需要挂载,挂载分为临时挂载(重启后不能续使用,需要重新挂载)、永久挂载(卸载配置文件中)。

1、临时挂载文件系统工具——mount
格式:mount  [选项]   [-o 选项]   设备名  挂载点

常用选项:
    -a:表示挂载/etc/fstab文件中定义的所有文件系统
    -n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件
    -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,                       
                       mount会调用blkid命令获取对应文件系统的类型
    -U UUID:挂载时以UUID的方式指明设备;
    -L LABEL:挂载时以卷标的方式指明设备;
    -r:只读挂载,挂载光盘时常用此选项
    -w:读写挂载
    -o:指定额外的挂载选项,也即指定文件系统启用的属性;
        remount:重新挂载当前文件系统
        ro:挂载为只读
        rw:读写挂载
        loop:挂载本地回环设备

挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系预以移除

案例:
[root@lq1 ~]# mount -o ro /dev/sdb1 /mnt/    # 以只读方式挂载
[root@lq1 ~]# echo "hello" >> /mnt/a.txt
-bash: /mnt/a.txt: Read-only file system           # 不能写文件
[root@lq1 ~]# mount -o remount,rw  /mnt/       # 以可读写方式重新挂载
[root@lq1 ~]# echo "hello" >> /mnt/a.txt        
[root@lq1 ~]# cd /mnt/
[root@lq1 mnt]# ls
a.txt  lost+found
[root@lq1 mnt]# cat a.txt            # 写入成功
hello

2、永久挂载既:设定除根文件系统以外的其它文件系统能够开机时自动挂载

自动挂载文件:/etc/fstab

centos系统之磁盘和文件系统管理

注:
默认选项:defaults 其中包含: rw, suid, dev, exec, auto, nouser, async, and relatime.

/etc/fstab下面分为6个字段:以“空格”作为分隔

       1、要挂载的设备(可以使用LABEL、UUID、设备文件)

            2、挂载点

            3、文件系统类型

            4、挂载选项(defaults使用默认挂载选线,如需同时指明,则:defaults,acl)                    

        5、转储频率

                0:从不备份

                1:每天备份

                2:每隔一天备份

            6、自检次序

                0:不自检

                1:首先自检,通常只用于根文件系统

                2:次级自检

mount -a:可自动挂载定义在此文件中的所支持自动挂载的设备;

转载于:https://blog.51cto.com/13496696/2351989

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值