知识点小结~4

我的梦境 提交于 2020-03-15 11:23:11

 分区:

 

每一个扇区512字节。

centos6以允许柱面和扇区为单位分区

MBR包括三部分内容(共512字节):

分区表:指出有几个分区,每个分区的起始扇区号、大小和操作系统类型及其他特性。(64字节)

自举装入程序:PC机启动时由BIOS装入内存执行。 如果装了多个操作系统,将根据选择去读出对应分区的

sector程序装入内存,执行该操作系统的自举程序。(446字节)

校验信息:检验是否正确。(2字节)

 

boot sector应当包含如下信息:

本分区操作系统类型

数据区大小

根目录区允许最大目录项(在根目录区最多创建多少个文件)

如果该分区安装了操作系统并被设置为活动分区,那还会包含一段“引导程序”;如果没安装系统,则该分区引导扇区为空或其中的数据是无效的。

MBR和boot sector应该是由上至下的关系:

1 启动顺序有先后。PC机启动时,先执行MBR,再根据选择执行某个分区下的boot sector。

(选择执行的boot sector所在分区就是活动分区。“用户选择一个操作系统” 实际上也就是选择一个分区作为活动分区。)

2 boot sector可以为空(没装系统),但MBR必须包含内容。

3 MBR必须被读取并执行;引导扇区根据选择执行,有的甚至可以不执行(即上文中的”数据是无效的”)。

4 MBR实际上包含的内容也比boot sector广泛,MBR中相当于包含了硬盘整体层面上的引导扇区(自举装入程序)、根目录区(分区表)。

查看前512字节

 

 skip针对if后的设备,if后为输入设备(从该设备读出)

 

seek针对of后的设备,of后为输出设备(写入到该设备)

 

 lsblk查看内存分区表(系统运行中参考此表)

fdisk查看硬盘中的分区表(硬盘实际情况)

修复分区表:

将文件拷贝到远程主机

 

 救援模式中设置临时IP

 

 从远程主机拷贝文件

 

 sync命令:强制写入磁盘

 

 parted实时生效命令。

parted 命令交互模式时:需要先mklable选择采用如何分区,再使用mkpart选择主分区或扩展分区或逻辑分区,再选择文件系统,再分大小。

非交互式用法:parted [选项]... [设备 [命令 [参数]...]...]

parted /dev/sdb mklabel gpt|msdos

parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200 (默认M)

parted /dev/sdb rm 1

parted –l 列出分区信息

查看硬盘信息的三条命令

fdisk -l /dev/sda    不能加分区号,切记 ( Disk lable type :dos    ->采用的是GBR分区) 

 

 partprobe命令在centos6上不能够同步分区表

在centos6上同步分区表须使用以下命令   partx -a 硬盘 (增加分区)    partx -d --nr 5-7(删除的分区范围) /dev/sda

 

 在centos7上同步分区表,支持partprobe命令

 

 centos7中显示转换为以柱面为单位(默认以扇区为单位显示)

 

 分区表克隆分区

 

 只能同步MBR不能同步EBR(扩展分区的分区表),信息存储不在同一位置。

 

 文件系统驱动

 

 fdisk 中block大小是1K。mkfs中block大小是(1,2,4)K,最小存储块,可人为指定。

mkfs.{ext4|xfs|btrfs|vfat}    -t  (type)   -h (help)

mke2sf : -f:  若设备已有文件系统,需要-f强制格式化

-b  {1024|2048|4096} 指定块大小     -t:  指定文件系统类型         -L'LABEL':设置卷标

-j:相当于 -t ext3    (-i #  为数据空间中每多少字节创建一个inode;不应该小于block大小

若小于块大小则会导致inode条目所占空间过大,造成空间浪费,在生成文件系统时产生过多的inode条目)

-N #  指定分区中创建多少个inode    -I: 一个inode记录占用的磁盘空间大小  128-4096

-m #  默认5%,为管理人员预留的空间占比   -O  特性    启用指定特性   -O  ^特性:关闭指定特性  

 mkfs命令可以直接  点 后面跟.{ext4|xfs|btrfs|vfat}而mke2fs需要使用-t 后面跟文件类型;mkfs在格式化为xfs时使用后续-b (已验证)与其在格式化为ext系列是格式有所不同,mkfs可以格式化为ext系列也可格式化为xfs,但mke2fs只能格式化为ext系列。

mkfs与mke2fs在格式化为ext系列时无论以前是否有文件系统,仍会执行新命令,但在使用mkfs格式化为xfs格式时(mke2fs不支持xfs),若以前有文件系统,则需要加-f。

 

 xfs_info  挂载点  所查信息为格与式化xfs文件系统后的信息相同

  

 

 

 ext3相对于ext2增加了追加日志功能

df:列出文件系统的整体磁盘使用量

du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

tune2fs :重新设定ext系列文件系统可调整参数的值(调整ext系列的)后面需要跟块设备

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

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

-L 'LABEL’ 修改卷标

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

-j 将ext2升级为ext3

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

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

-U UUID 修改UUID号

 

dumpe2fs:显示(转储)ext文件系统信息,将磁盘块分组管理     -h:查看超级块信息,不显示分组信息

dumpe2fs -h  磁盘名   等价于    tune2fs -l  磁盘名

 

 xfs_info:显示已挂在的xfs文件系统信息。

 

 e2fsck:ext系列的专用的检测修复工具

fsck  fsck.type   fsck -t type   

 修复成功

 

 xfs_repair:xfs文件系统专用的检测修复工具;xfs_repair 可以检查/修复文件系统,不过,因为修复文件系统是个很庞大的任务!因此,修复时该文件系统不能被挂载!

无论是xfs_repair或fsck,只有root且文件系统有问题是才使用这个命令,否则在正常情况下使用此命令,可能会造成系统的危害,命令被执行时被检查的partition务必不能挂在到系统上,一定要处于卸载状态。

增加acl权限(centos6创建文件系统默认没有acl权限)添加acl权限(centos7默认有)

 

 取消日志功能

 

 e2label device [ new-label ]   修改设备的label

 

挂载:

一个设备可以有多个挂载点,一个挂载点只能对应一个设备

当两个设备挂在到同一文件夹上时,后挂载的会覆盖之前挂载的,卸载时先卸载后挂载的,之前挂载的会被显示出来。

查看挂载信息 

 

mount    -B   文件夹1   文件夹2  (相当于硬链接)

 

把文件挂载到文件

 

在centos6上挂载时需要mount -o loop /data/dist    /mnt/dist

临时修改loop数量及在文件中修改(centos6中)

 

 

 将文件与loop设备关联

  

之前没有acl,追加上acl

 

然后再取消acl

 

若取消文件系统的acl功能,之前加在文件或目录上的acl权限也不再显示,恢复文件系统acl权限后出现。 

临时命令

 

使用fdisk和gdisk修改分区的ID的区别:(fdisk对GPT分区支持效果不好)

fdisk 修改MBR分区中分区ID

 

 fdisk修改GPT分区中ID(fdisk对GPT不完全支持)

 

 gdisk修改MBR分区ID

 

 gdisk修改GPT分区ID

 

 

若挂载文件被访问,则不能够取消挂载;若要取消挂载

fuser命令

 

 强制解除挂载占用

 

 查看该文件是否为挂载点

 

查看文件占用情况,若文件未被打开无信息反馈,echo $?  为1

  

及进程信息

 

自动挂载写入/etc/fstab文件开机自动挂载的选项:

  

o 第一栏:磁盘装置文件名/UUID/LABEL name:

这个字段可以填写的数据主要有三个项目:

§ 文件系统或磁盘的装置文件名,如/dev/vda2 等

§ 文件系统的UUID 名称,如UUID=xxx

§ 文件系统的LABEL 名称,例如LABEL=xxx

因为每个文件系统都可以有上面三个项目,只是从/etc/fstab 里面看到的,在挂载点/boot使用的已经是UUID !写/dev/mapper/xxx 的 因为那个是 LVM ,LVM 的文件名在你的系统中也算是独一无二的,这部份我们在后续章节再来谈。不过,如果为了一致性,你还是可以将他改成UUID 也没问题。建议使用UUID ,要记得使用blkid 或xfs_admin 来查询UUID !

o 第二栏:挂载点(mount point)::

就是挂载点啊!挂载点是什么?一定是目录。

o 第三栏:磁盘分区槽的文件系统:

在手动挂载时可以让系统自动测试挂载,但在这个文件当中我们必须要手动写入文件系统才行!包括 xfs, ext4, vfat, reiserfs, nfs 等等。

o 第四栏:文件系统参数:

参数 内容意义

async/sync

异步/同步

设定磁盘是否以异步方式运作!预设为 async(效能较佳)

auto/noauto

自动/非自动

当下达 mount -a 时,此文件系统是否会被主动测试挂载。预设为 auto。

rw/ro

可擦写/只读

让该分区槽以可擦写或者是只读的型态挂载上来,如果你想要分享的数据是不给用户随意变更的, 这里也能够设定为只读。则不论在此文件系统的文件是否设定 w权限,都无法写入!

exec/noexec

可执行/不可执行

限制在此文件系统内是否可以进行『执行』的工作?如果是纯粹用来储存数据的目录, 那么可以设定为 noexec 会比较安全。不过,这个参数也不能随便使用,因为你不知道该目录下是否默认会有执行档。

举例来说,如果你将 noexec 设定在 /var ,当某些软件将一些执行文件放置于 /var下时,那就会产生很大的问题喔! 因此,建议这个 noexec 最多仅设定于你自定义或分享的一般数据目录。

user/nouser

允许/不允许使用者挂载

是否允许用户使用 mount 指令来挂载呢?一般而言,我们当然不希望一般身份的user 能使用 mount ,因为太不安全了,因此这里应该要设定为 nouser 。

suid/nosuid

具有/不具有 suid 权限

该文件系统是否允许 SUID 的存在?如果不是执行文件放置目录,也可以设定为nosuid 来取消这个功能!

defaults

同时具有 rw, suid, dev, exec, auto, nouser, async 等参数。 基本上,预设情况使用defaults 设定即可!

o 第五栏:能否被dump 备份指令作用:

dump 是一个用来做为备份的指令,不过现在有太多的备份方案了,所以这个项目可以不要理会。直接输入0 就好了!1为1天备份一次。

o 第六栏:是否以fsck 检验扇区:(开机检测)

早期开机的流程中,会有一段时间去检验本机的文件系统,看看文件系统是否完整(clean)。不过这个方式使用的主要是透过fsck 去做的,我们现在用的xfs 文件系统就没有办法适用,因为xfs会自己进行检验,不需要额外进行这个动作!所以直接填0 就好了。fsck检查的文件系统的顺序:允许的数字是0 1 2。0:不自检1:首先自检;一般只有rootfs才用2:非rootfs使用

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!