分区块基本知识点及侧重点 — 上

    我们需要熟练了解磁盘分区原理。元数据及块设备对应inode是最重要也是最基本的原理。后面分区很多地方都和inode有关系。

   一个磁盘片有63扇区,1024存储位,256个磁头,每个扇区只有前512字节是有效存储单元。所以后面磁盘清零都是跟512这个数字有关。

   数据分数据区和元数据区,元数据包括大小属性,属主属组,时间戳,inode节点等信息,但唯独不包括文件名,这点需要牢记。

  数据里面的块设备,磁盘大小由文件大小决定。

   链接文件:存储指针空间中存储的是设备号

   磁盘空间有缩影,按位对位缩影,inode也有对位缩影。

   在分区内部划分二级结构,磁盘首先是逻辑单元(block,disk),逻辑快之间可以联动存储数据

   超级块:是块设备中至关重要的设备,必须要有备份方案,有其他备份块组。

   每个逻辑组都会有块组描述符GDT

   目录也是文件:根也在内存中:根的磁盘块下。

   根据inode可以查找文件下的磁盘块,能找到其目录下的所有文件名及其inode对应信息。

   路径映射,一层一层的查找。

   用free命令可以查找缓存及内存空间

  

Linux文件系统。可以支持多种文件系统

  任何两个文件系统不兼容时都可以架构中间层。

   文件系统有vfat,ext2.3.4,xfs reiserfs   btrfs

   交换文件系统swap是虚拟文件系统:虚拟假设机制:在磁盘上找一块空间假装成内存,将最近较少使用的内存存放在swap上。

   对一个文件系统来说,交换分区是必须的

   下面来介绍一下常见的分区工具及命令:

   fdisk

   见名知意,这个就是ext的分区工具,GPT分区工具是gdisk。

   常用方法fdisk -l device名字  查看设备分区信息

   也可以直接fdisk device来对设备进行分区,这里就不在赘述

   mke2fs的 几个常用方法。

-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小-N #:为数据空间创建个多少个inode     

Inode数越少越好。适量,一个inode可以对应多个快,至少一个快,对应的块数越多存储性能越好。元数据不需要这么多的空间

 -I 制定inode的大小

-m #: 默认5%,为管理人员预留空间占总空间的百分比

   常见格式化文件系统的工具mkfs,mke2fs 等

   当然mke2fs功能比mkfs略微强大

   

   这里详细介绍下tune2fs这个命令

    tune2fs  -l devvice 可以查看这个分区的详细信息

   tune2fs -L device 可以更改分区的卷标

   e2label device 卷标名 可以更改分区的卷标名。

   tune2fs -o 可以更改分区挂载时的一些属性。

         -O 可以更改分区的一些常规选项

   分区结束后小伙伴们可以使用partprobe 或者kpartx -af device来刷新分区列表

   这是我们分区时最重要的核心思想,就是分区的同步性,分区同步意味着可以避免出错,后期的工作每个点我们完成后都需要复查。

   结束后有3中方法查看分区列表

   cat /proc/partitions blkid

   df device

   fdisk -l device 

   添加外面硬盘想要不关机就读取使用

partx -a -n  M:N  /dev/DEVICE 命令

   分区的检测工具fsck e2fsck

   还有blkid和lsblk这两个常用命令,小伙伴们也必须熟练掌握,这里不再赘述。

   当然还有dump2fs 也是查看文件系统属性的命令

   dd是文件系统备份的命令格式

   最重要的是它的命令格式,同学们学会使用就好。

   dd if=需要备份的设备 of=备份到的文件 bs= count skip= seek=

   mount 是挂载命令,下面是mount 用法的详解。

   

   

-t vsftype:指定要挂载的设备上的文件系统类型

-r: readonly,只读挂载

-w: read and write, 读写挂载

-n: 不更新/etc/mtab,相当于#mount 悄悄的挂

-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中auto功能)

-L 'LABEL': 以卷标指定挂载设备

-U 'UUID': 以UUID指定要挂载的设备

-B, –bind: 绑定目录到另一个目录上       文件夹挂文件夹

 查看内核追踪到的已挂载的所有设备:

cat /proc/mounts   Cat /etc/mtab

    

-o options:(挂载文件系统的选项),多个选项使用逗号分隔

async:异步模式   默认

sync:同步模式,内存更改时,同时写磁盘

atime/noatime:包含目录和文件  默认很多情况不更新

           制定网页缓存无意义   优化至少5%   临时生效

diratime/nodiratime:目录的访问时间戳

auto/noauto:是否支持自动挂载,是否支持-a选项

exec/noexec:是否支持将文件系统上运行应用程序临时生效

dev/nodev:是否支持在此文件系统上使用设备文件

很危险

suid/nosuid:默认没有suid和sgid权限  非常危险

Chmod u+s/g+s    普通用户没有mount权限

remount:重新挂载

ro:只读

rw:读写

user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载

acl:启用此文件系统上的acl功能

Defaults:相当于rw, suid, dev, exec, auto, nouser, async

    mknod cdrom b 11 0  生成cdrom的设备文件    主设备号11 次设备号0.设备类型b

接下来的文章将会给大家介绍怎么编写etc/fstab这个文件以及如何启用交换分区及硬盘修复。

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

(0)
sjfbjssjfbjs
上一篇 2016-08-24
下一篇 2016-08-24

相关推荐

  • Linux中分析文本工具

    一、收集文本统计数据wc wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据,且不改变原始数据。 例如; 可以对文件或STDIN中的数据运行 $wcstory.txt 39   237   1901 story.txt 行数 字数 …

    Linux干货 2016-08-08
  • ansible实战示例

    要求:     使用ansible部署以下任务:     (1) 在VS部署主/备模型的keepalived + nginx的负载均衡;     (2) 在RS主机上部署httpd + php + php-mysql;     (3) 在第五台主机上部署mariadb-serve…

    Linux干货 2016-11-11
  • shell脚本编程进阶

    一些常用的编程语句,

    2017-12-23
  • 26期全程班-第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; # fdisk /dev/sda # mkf…

    Linux干货 2017-03-17
  • 马哥教育网络21期+第一周练习博客

    一、描述计算机的组成及其功能。   计算机设备是由运算器、控制器、存储器、输入设备和输出设备组成。它们的功能和对应设备分别如下: 运算器(arithmetic unit):在计算机中执行各种算术和逻辑运算操作的部件。运算器包括寄存器、执行部件和控制电路3个部      &nbsp…

    Linux干货 2016-07-12
  • M20 – 1- 第三周(1):课堂练习与作业

    课堂练习: 1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution" [root@localhost ~]# useradd -G bin,root -s /bin/csh -c&nbsp…

    Linux干货 2016-08-08