Linux磁盘管理
磁盘是Linux系统中一项非常重要的资源,如何对其进行有效的管理直接关系到整个系统的性能问题。
对磁盘的了解:
磁盘设备的设备文件命名:/dev/DEV_FILE
虚拟磁盘:/dev/vd
不同磁盘标识:a-z,aa,ab…
/dev/sda, /dev/sdb, ...
同一设备上的不同分区:1,2, ...
/dev/sda1, /dev/sda5
硬盘存储术语
head:磁头
track:磁道
cylinder: 柱面
secotr: 扇区,512bytes
HDD磁盘结构:
CHS
512bytes * 64 sector数/track * 1024 track数/盘面 * 256head 磁头数
每个磁道有64个扇区,一个盘面有1024个磁道,有256个磁头/盘面
512*64*1024*256
早起的机械硬盘 存储大小为8G
对Linux磁盘管理稍微有一些学习和经验的朋友们应该都知道df、du和fdisk这三个常用命令:
df
用于检查文件系统磁盘占用情况;df命令可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。
第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。
◆用户也许会感到奇怪,第3,4列块数之和不等于第2列中的块数。这是因为默认的每个分区都留了少量空间供系统管理员使用的缘故。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use%列表示普通用户空间使用的百分比,若这一数字达到100%,分区仍然留有系统管理员使用的空间。
最后,Mounted on列表示文件系统的安装点。
命令各选项的含义
-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。 -k:以k字节为单位显示。 -i:显示i节点信息,而不是磁盘块。 -t:显示各指定类型的文件系统的磁盘空间使用情况。 -x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。 -T:显示文件系统类型。
du
检查磁盘空间占用情况;
du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。
-s:对每个Names参数只给出占用的数据块总数。 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。 -k:以1024字节为单位列出磁盘空间使用情况。 -c:最后再加上一个总计(系统默认设置)。 -l:计算所有的文件大小,对硬链接文件,则计算多次。 -x:跳过在不同文件系统上的目录不予统计。
查看/dev目录占用磁盘空间的情况
fdisk
用于磁盘分区。
fdisk -l /dev/sdX 查看硬盘分区信息
-c (centos6) 打开或禁用dos模式
-u (centos6) 切换显示的单位(扇区/柱面)
-c (centos7) -c=dos -c=nondos
-u (centos7) -u=cylinders -u=sectors
fdisk /dev/sdX 进行分区
m 帮助
n 建立分区
d 删除分区
p 显示分区信息
t 转换分区类型
a 将指定分区设置/取消 活动分区
L 查看分区类型
o 重建分区表
v 验证分区表,显示剩余没有被分区划分的扇区数量
g 创建GPT格式的分区(centos7)
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效