16.磁盘管理

物理组成

磁柱也是磁盘分割( partition ) 时的最小单位

扇区就是硬盘盘上面的最小储存物理量

这就是磁盘分割的重点:记录每一个分割区的起始与结束磁柱!!

MBR的限制:

仅提供最多四个 partition 的记忆,主分区与扩展分区的最多只能有四个的原因

文件系统
每一个 partition 就是一个 Filesystem 
逻辑区块是在 partition 进行 filesystem 的格式化时,所指定的最小储存单位 
一个 Block 最多仅能容纳一个档案,档案大小可能造成的硬盘空间浪费

ext3文件系统的优化与高级特性 
 磁盘检查 
 磁盘配额 
 自动挂载分区

-i 2048 inode 2KB 
-b 8192设置block size的大小为8kB 
-f 1024设置fragments的大小为1KB 
mkfs.ext3 –N 2939495  /dev/sdb2 
–N 2939495更改inode count。 
 注意: 
-i 最小值是1024,这个值的大小决定inode count的大小 
i=2048 Inode count:1025024 
i=1024 Inode count:2048256

保留块:为管理员保留的磁盘管理空间,默认为总数据块的5%

mkfs.ext3  -b 4096 -i 8192 -m 2  /dev/sda2 //设置保留块的数量占总数量的百分之2

Tune2fs  --调整ext2/etx3文件系统特性的工具。

-l <device>                查看文件系统信息 
-c  <count>                设置强制自检的挂载次数 
-i   <n day>               设置强制自检的间隔时间 
-m <percentage>            保留块的百分比 
-j                         将 ext2  文件系统转换成etx3格式

文件系统检查工具

fsck  :  检查文件系统数据完整性的工具 
用法一:fsck  -t  ext2  /dev/hda1 
用法二:fsck.ext2   /dev/hda1 
e2fsck   检查ext2/ext3文件系统的工具

文件系统管理(inode)

当 partition 被格式化为 ext2 或ext3 的文件系统时,他一定会有 inode table 与 block area 这两个区域。

*  文件系统管理(inode) 
– 目录:  
– 文件:

*  当 block 大小越小,而 inode 数量越多,则可利用的空间越多,但是大文件写入的效率较差;这种情况适合档案数量多,但是文件容量小的系统。

*  当 Block 大小越大,而 inode 数量越少时,大文件写入的效率较佳,但是可能浪费的硬盘空间较多;这种状况则比较适合文件容量较大的系统

Linux文件系统的运行: 
通常采取异步处理的方式 
当系统读取了某一个档案,则该档案所在的 区块数据会被加载到内存当中,所以该磁盘区块就会被放置在主存储器的缓冲快取区中,若这些区块的数据被改变时,刚开始数据仅有主存储器的区块数据会被改变,而且在缓冲区当中的区块数据会被标记为” Dirty “,这个时候磁盘实体区块尚未被修正!所以亦即” Dirty “ 表示,这些” Dirty “区块的数据必需回写到磁盘当中,以维持磁盘实体区块上的数据与主存储器中的区块数据的一致性。

查看硬盘或目录的容量

df 查看已挂载磁盘的总容量、使用容量与inode
du 查看档案使用掉的容量有多少? 
语法: df -[ikm]  
参数说明:

-i:  使用 i-nodes 显示结果

-k:  使用 KBytes 显示结果

-m:  使用 MBytes 显示结果

说明:这是用来显示目前磁盘空间的指令!  
语法: du [-abckms] [目录名称]

参数说明:  
目录名称 可以省略,如果省略的话,表示要统计目前所在目录的档案容量  
-a   :全部的档案与目录都列出来!默认值是指列出目录的值!  
-b   :列出的值以 bytes 输出  
-c   :最后加总 total !  
-k  : 列出的值以KB输出 
-m  :列出的值以 MB 输出  
-s   :只列出最后加总的值!

链接文件: 
Hard Link: 
使用 hard link 设定连结文件时,磁盘的空间与inode 的数目都不会改变。hard link 只是在某个目录下的 block 多写入一个关连数据,所以不会用掉inode 与磁盘空间 
* 不能跨 Filesystem;  
* 不能 link 目录。  
Symbolic Link: 
就是在建立一个独立的档案,而这个档案会让数据的读取指向他 link 的那个档案内容!由于只是利用档案来做为指向的动作,所以,当来源档被删除之后,symbolic link 的档案会开不了。Symbolic Link 的使用方面较广

*  ln 
语法:  
ln [-s] [ 来源档  ] [ 目的档]  
 参数说明:  
-s   :提供 symbolic line 的连结!  
如果不加任何参数的话,那么就属于 hard link 
ln -s /tmp/test test

分区与格式化硬盘: 
– fdisk  硬盘切割 partition 的工具  
– mke2fs 就是 Linux 底下重要的 format 格式化的工具  
–  e2label 修改硬盘的 label (表头名称)的工具! 
– mknod  新增硬件对应文件的工具!

*  fdisk  
语法:  
[root @test /root ]# fdisk [-l] [装置名称]   
参数说明:   
 -l  :直接列出该硬盘装置的 partition table  
范例:   
[root @test root]# fdisk /dev/hdb<==分割我的hdb 磁盘,记得后面不接数字 
 硬盘信息:通常我们需要知道这颗硬盘的信息时,直接按P
 删除扇区:如果我要删除一个以存在的扇区时,就需要:fdisk /dev/hdb先进入 fdisk 画面;  
 p:先看一下扇区的信息,假设要掉                                               ;

d:这个时候会要你选择一个partition 
w: 储存到磁盘数据表中,并离开 fdisk

新增扇区:

– n:新增一个磁区                        
 – p : 选择为primary       
– 1-4 :primary 只允许四个
– w :同样的储存离开!

*  mke2fs  
语法:  
[root @thiz root ]# mke2fs [-b block-size] [-i inode-size]  
[root @thiz root ]# mke2fs [-c]  
[root @thiz root ]# mke2fs [-L]  
[root @thiz root ]# mke2fs [-j]  
参数说明:  
-b   :在设定每个数据区块占用的大小,目前支持的大小有 1024,2048, 4096 三种!   
-i   :设定 inode 值!  
-c   :检查错误磁盘,会比较慢!   
-L   :规划设定这个扇区的 label (表头名称)   
 -j   :建立 ext3 这个 journaling 的档案格式

*  e2label  
语法:  
[root @test /root ]# e2label [/dev/hd...]  [label_name]

各分区的挂载: 
– mount  
[root @thiz root ]# mount [-ahlV]   
[root @thiz root ]# mount -t type /dev/hdxx  /mountpoint  
[root @thiz root ]# mount -o [options]  
[root @thiz root ]# umount /mountpoint  
参数说明:  
– -a   :依照 /etc/fstab 的内容将所有相关的磁盘都挂上来!  
– -h   :只列出 mount 相关的参数,并不挂载任何装置  
– -l   :列出目前已经挂载的装置、档案系统名称与挂载点!  
– -V   :列出 mount 的版本信息  
– type :将后面 /dev/hdxx 这个装置以 type 的档案格式挂载到 /mountpoint 这个点,  
常见的 type 有底下几个:  
vfat, msdos        :这个是支持 Windows 系统的档案格式,尤其是 vfat 常用!  
ext, ext2           :这个就是 Linux 的主要档案格式!  
iso9660           :光驱的档案格式  
nfs, ntfs, ufs        :Windows 2000  使用 NTFS 格式!

-o :                                 
w   :让 mount 的扇区为可擦写  
suid   :允许该扇区可以设定档案为 SUID 的状态!  
exec   :允许该扇区可以执行 binary 的档案!  
auto   :允许该扇区可以使用 mount -a 的参数设定!  
async :允许扇区可以进行异步记录(内存与硬盘不同步!最常用!)  
defaults:同时具有 rw, suid, dev, exec, auto, nouser, async 这些功能的设定值!  
nosuid :不许该扇区具有 SUID 的档案属性!  
ro   :设定为只读属性!  
remount :让系统本来挂载的扇区重新被挂载!

*  umount  
语法:  
 [root @thiz root]# umount [-f]  [device|mount_point]  
 参数说明:  
-f  :强制将该档案系统退出,最常使用在无法退出的 NFS 档案系统中了!  
开机挂起:vim /etc/fstab
1、分区或标头(卷标):就是分区
2、挂载的目录点:就是 mount 的挂载点!  
3、该扇区的档案格式:目前 Linux 大都使用ext2, ext3, reiserfs 等等的,  
4、档案格式参数区: 
5、是否可以被 dump 指令备份
6、检验扇区:这个数字在用来以 fsck 检验扇区用的!需要设定为1 不需要设定为0                                          0

虚拟内存 Swap: 
– 设定一个 swap partition  
– 建立一个虚拟内存的文件 
建立虚拟内存的分区 : 
第一种正规的方法是:直接再加一块硬盘,并且将其中某个扇区规划为swap                          的文件系统 
1、使用fdisk 建立一个swap分区 
注:t, 82是 swap 分区格式的代号 
2、以mkswap  可格式化新建的swap分区 
#mkswap /dev/hdb3 
3、将swap启动  swapon  +  设备名swapon /dev/hdb3 
4、关掉swap : swapoff

建立虚拟内存档案 : 
1  dd 指令来建立 swapfile            
2、以 mkswap 来将 swapfile 格式化为 swap 的档案格式;  
3、以 swapon 来启动该档案,使成为 swap ;  
4、以 swapoff 来关闭该档案 
dd if=/dev/zero of=/tmp/swap bs=4k count=16382 
dd这个指令是用来转换档案并且copy用的 
if指的是要被转换的输入档案格式 /dev/zero可以由man zero来查看内容 
of指的是输出的档案,我们将之输出到/tmp/swap这个档案 
bs指的是一个扇区占用几个kb; 
count指的是要使用多少个bs,所以最后的容量为bs*count = 4k  
2. 以mkswap 来将swapfile格式化为swap的档案格式 
3。以swapon来启动该档案,使之成为swap, 执行完后可以用free查看。 
dev/zero 文件代表一个永远输出0的设备文件,使用它作输入可以得到全为空的文件。 
/dev/null,外号叫无底洞,你可以向它输出任何数据

DMA的英文拼写是“Direct Memory Access”,就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。

磁盘效能: 
hdparm  
语法:  
[root @test /root ]# hdparm [-cdmXTt] [装置名称]   
参数说明:

[root @test /root]# hdparm -Tt /dev/hda   <== 测试 hda 这颗硬盘的 cache 与实际效能  
 [root @test /root]# hdparm -d0 /dev/hda<==  闭 DMA 模式!  
[root @test /root]# hdparm -d1 -c3 -X66 /dev/hda<==开启 DMA 模式在 DMA 66 ,并且

转载于:https://blog.51cto.com/yangtong/473555

Linux笔记16.磁盘管理相关推荐

  1. Linux系统的磁盘管理

    Linux系统的磁盘管理 一.环境介绍 1.Linux系统版本 2.系统磁盘情况 二.磁盘介绍 1.磁盘分区理解 2.MBR分区方案 2.GPT分区分区方案 三.分区工具fidsk使用 1.查看磁盘和 ...

  2. Linux之(16)程序管理

    Linux之(16)程序管理 Author:Onceday Date:2022年12月19日 漫漫长路,有人对你微笑过嘛- 文章目录 Linux之(16)程序管理 1.引言 2. 任务管理 job 2 ...

  3. 文件和存储管理学习笔记-动态磁盘管理

    Server 2008 R2 文件和存储管理学习笔记-动态磁盘管理 基本磁盘是包含基本分区.扩展分区或逻辑驱动器的一种物理磁盘 动态磁盘提供了基本磁盘不提供的一些高级功能,创建无限数量卷.跨越多个磁盘 ...

  4. 操作系统概念学习笔记 16 内存管理(二) 段页

    操作系统概念学习笔记 16 内存管理 (二) 分页(paging) 分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的.分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管 ...

  5. Linux入门之磁盘管理(3)文件系统挂载

    Linux入门之磁盘管理(3)文件系统挂载 当磁盘建立了分区,创建了文件系统,只是说明该设备可以用来存储,但是要想访问设备,就需要通过建立一个或多个挂载点,来提供给用户进行访问,在linux中,提供了 ...

  6. linux系统scsi硬盘,Linux系统SCSI磁盘管理全攻略(一)

    Linux系统SCSI磁盘管理全攻略(一) 介绍 本系列文章系统.全面地介绍了Linux 的SCSI设备管理机制和整套操作命令.包括以下六大主题:Linux SCSI子系统概述 Linux主机LUN识 ...

  7. Linux图形化磁盘管理工具gparted

    Linux图形化磁盘管理工具gparted 有时候想要对磁盘扩容.重新分区等.又不想用复杂的命令,也记不住. 此时一般是希望一个比较方便的.类似于Windows上disk genius的工具. gpa ...

  8. linux 磁盘数据空 还有读写,Linux入门之磁盘管理(5)dd命令使用

    Linux入门之磁盘管理(5)dd命令使用 在Linux中,经常需要一些数据读写等测试,还有文件以及其它数据的备份迁移,一般使用cp命令可以解决一部分,但是其无法进行控制数据的流向及动作,这时就可以使 ...

  9. Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令

    目录 一.LVM的基本组成 1.物理卷 (PV,Physical Volume) 2.卷组 (VG,Volume Group) 3.逻辑卷 (LV,Logical Volume) 4.物理块 (PE, ...

最新文章

  1. 2015浙江财经大学ACM有奖周赛(一) 题解报告
  2. 0402封装ESD二极管选型
  3. boost::fusion::as_deque用法的测试程序
  4. 【转载保存】Java+Selenium使用
  5. HTML5新增-页面结构状态-列表-表单-音视频-全局兼容
  6. SQL Server下载指南
  7. FFT海水模拟(又来了-_-b)
  8. 一文读懂:云上用户如何灵活应用定制化网络服务
  9. Model to Text工具Acceleo使用教程(七)——模板服务
  10. 最长公共子序列(LCS) 最长公共子串
  11. P2P网络NAT穿透原理(打洞方案)
  12. 安装IDEA 并创建快捷方式
  13. 特斯拉舍命狂奔:史上最强自动驾驶芯片发布背后,一场蓄意已久的进攻
  14. 【应用统计学】几种常见的概率分布
  15. 基于vue+spring的博客系统
  16. 最详细的知识图谱的技术与应用
  17. 分辨率,定位精度,重复定位精度解释
  18. MyBatis面试可能会遇见的题
  19. python学习 —— post请求方法的应用
  20. xml中的大于小于号转义

热门文章

  1. POJ-1094 Sorting it All Out
  2. Gradle脚本基础全攻略
  3. 压力不是来自于任务本身,而是任务在大脑中的堵塞,带来的焦虑和心理的抵触(转)...
  4. Firefox扩展开发 Hello World!
  5. 大叔手记(10):别再让面试官问你单例
  6. 【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结
  7. 修炼九阴真经Windows Phone开发 (11):计划任务PeriodicTask和ResourceIntensiveTask概述和示例...
  8. qmail+rt+dns+apache
  9. MySQL的常用语法
  10. 1016.XXE漏洞攻防学习