磁盘管理和文件系统

分区的两种常见方式:MBR分区表(主引导记录分区表) GPT(GUID分区表)
MBR 分区最大不能超过2T大小;最多支持4个主分区;或者3个主分区加一个扩展分区;
GPT 分区最大不能超过8Z大小,最大可以支持到18EB分区; (1EB=1024PB=1024*1024TB),最多支持128个分区,其中1个系统保留分区;127个用户自定义分区;fdisk不支持GPT分区,它最大支持2TB的分区;
如果修改了分区表类型,原硬盘上已经有分区了,那么我们原有分区和分区中的数据就会消失,系统重启后就会生效;
GPT最大可支持128个分区,不分主分区和扩展分区逻辑分区;对它而言都是主分区;

使用分区空间的步骤:

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

磁盘管理和文件系统_第1张图片
在虚拟机中新增三块不同的硬盘

磁盘管理和文件系统_第2张图片
注意刚新加的磁盘系统显示看不到;

磁盘管理和文件系统_第3张图片
对于新增加的磁盘,利用以上三条命令扫描新增的磁盘,系统就会显示新增的磁盘;

磁盘管理和文件系统_第4张图片
此时利用lsblk命令就可以查看到刚新增的3块磁盘;

创建分区时使用的命令:

fdisk创建MBR分区;
gdisk创建GPT分区;
创建分区时,parted既能管理MBR分区也能管理GPT分区;

磁盘管理和文件系统_第5张图片
利用命令parted -l 列出分区列表信息;

磁盘管理和文件系统_第6张图片
创建分区类型为GPT分区;

linux/7.png
创建一个主分区,大小为1024M;

磁盘管理和文件系统_第7张图片

删除第一个分区:

磁盘管理和文件系统_第8张图片

也利用主分区的编号删除分区;
注意以上分区时,利用parted分区后就回立即生效;很容易造成破坏;
而用fdisk和gdisk分区时是先保存在内存中(前期的操作都是在内存中),没有写入内核中;可以有后悔修改的时间;

磁盘管理和文件系统_第9张图片

重新分区时原来分区上的数据会丢失;

磁盘管理和文件系统_第10张图片

磁盘管理和文件系统_第11张图片

磁盘管理和文件系统_第12张图片

上边三个命令来自内存中,注意内存中的数据来自硬盘,如果硬盘中的数据还没来得及写入内存中,会导致硬盘中读出的数据和内存中读出的数据不相同;对于内存中的数据和硬盘中的数据,只有写入到内存中保存在文件中,才算生效有用,因此内存中的数据更重要;对于计算机而言,数据写在硬盘上不算生效,要写在内存中才算生效;因此同步问题很关键;
centos6中同步信息到内存的命令partx -a只对增加分区情况有效;删除分区同步信息用别的命令partx -d -nr命令;

创建文件系统ext4和xfs;

磁盘管理和文件系统_第13张图片

磁盘管理和文件系统_第14张图片

磁盘管理和文件系统_第15张图片

设置的卷标名称最好设置成挂载点的名称;

磁盘管理和文件系统_第16张图片

磁盘管理和文件系统_第17张图片

磁盘管理和文件系统_第18张图片

万一把硬盘撑满了,管理员利用预留的一点空间做维护使用;

三种方法可以实现挂载

1、 利用设备名 (逻辑分区中万一删除一个分区,别的会顶替,不稳定;)
2、 利用卷标
3、 利用UUID 推荐用法,具有唯一性,可靠性;
一个设备可以挂载到多个目录上,多个设备不能同时挂载到一个目录中;
通常挂载点应该选择空目录;否则原目录下内容暂时看不到;取消挂载后就可以看到;
空洞文件; 创建稀疏文件:

linux/20.png

跳过前2G的空间才开始读入,文件大小只有1G.总共占用了3G的空间,前2G的空间为空,没有数据;

分区小结:

对于系统,我们如果要新增加一块硬盘,要想正常使用,就必须进行分区和格式化。在linux中专门的分区命令有fdisk和parted。其中fdisk命令比较常用,但不支持大于2TB的分区;如果需要支持大于2TB的分区,则需要使用parted命令。

利用fdisk进行分区步骤如下:

1、 添加新硬盘
2、 创建分区
fdisk -l 列出系统分区,查询一下本机可以识别的硬盘和分区;
fdisk 设备文件名 给硬盘分区;
所有的分区在建立过程中如果不保存并退出是不会生效的,所以建立错了也没有关系,使用q命令退出不保存退出即可;w命令为保存退出;
系统的分区一般需要重启系统才能使分区表生效;如果不想重启,可以使用partprobe命令,此命令可以让系统内核重新读取分区表信息,就不用重新启动电脑。
3、 格式化分区
分区完成如果不格式话写入文件系统,则是不能正常使用的。用mkfs命令进行格式化;
mke2fs命令进行格式化时可以调整相关参数大小(一般情况下mkfs命令就够用了);
4、 建立挂载点并挂载
硬盘已经准备完毕,下来就时建立挂载点并挂载使用了;现在我们用命令的这种挂载都为临时挂载,重启系统后还需要手工挂载;
如果要实现开机自动挂载,就需要修改系统的挂载文件/etc/fstab。要小心这个文件会影响系统的启动!
到现在为此,分区已经建立完成,接下来只要重启,系统能正常启动,就说明/etc/fstab文件修改没有问题。
5、 实现开机后自动挂载

建立主分区的过程总结:

1、 fdisk 硬盘名
2、 n 新建
3、 p 建立主分区
4、 1 指定分区号
5、 回车(默认)默认从1柱面建立分区
6、 +5G指定分区大小

分配swap分区

构建新的swap分区需要执行以下几个步骤:
1、 不管时fdisk命令还是parted命令,都需要先建立一个分区;
2、 格式化,格式化命令稍微不同,使用mkswap命令把分区格式成swap分区;
3、 使用swap进行分区;
在使用swap进行分区之前,先用free查看swap分区的使用情况;
free命令主要是用来查看内存和swap分区的情况;
swapon 分区设备文件名
取消新加入的swap分区命令,swapoff

buffers(缓冲)和cached(缓存)

cached是给读取数据时加速,buffers是给写入时加速;cached是指把读取出来的数据保存在内存中,当再次读取时,不用读取硬盘而直接从内从中读取。加速了数据的读取过程;buffers是指在写入数据时,先把分散的写入操作保存在内存中,当达到一定的程度后再集中写入硬盘中,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程;