一、概述
磁盘表示方法
1、/dev/
hd 接口类型为IDE的磁盘 sd 接口类型为SCSI的磁盘
第N块磁盘
/dev/sd[a-z]
磁盘中的分区表示
主分区
/dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4
扩展分区
逻辑分区表示
/dev/sda5 /dev/sda6 ....
2、分区类型
MBR
只能划分4个主分区,且磁盘容量小于2TB
主分区
扩展分区 逻辑分区
GPT
理论上无限个分区
支持磁盘容量大于2TB的分区划分
3、文件系统
操作系统组织文件的管理方法
4、文件系统类型
XFS Linux 7之后的系统默认文件系统
EXT4|3|2 Linux 7 之前的系统默认文件系统
SWAP
交换分区
当物理内存不足时,临时充当内存使用,防止系统崩溃
容量 1.5|2 * 物理内存大小
5、 inode节点
inode节点内容
● inode 编号
● 用来识别文件类型
● 文件的链接数目 ● 属主的ID (UID)
● 属组 ID (GID)
● 文件的大小
● 文件所使用的磁盘块的实际数目
● 最近一次修改的时间
● 最近一次访问的时间
● 最近一次更改的时间
(1)系统找到这个文件名对应的inode号码
(2)通过inode号码,获取inode信息
(3)根据inode信息,找到文件数据所在的block,读出数据
文件名与inode的区别
对于系统来说,文件名只是inode号码便于识别的别称或绰号。
文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除作用
移动文件或重命名文件,只是改变文件名,不影响inode号码
打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名
6、运维案例
操作系统无法打开应用程序
操作系统重启后无法正常进去系统
操作系统进入不了图形界面
/tmp/.X0-lock 无法创建或者关机时没有被删除
磁盘容量不足
磁盘inode节点消耗殆尽
二、磁盘操作
1、查看
fdisk -l
lsblk
2、添加磁盘
linux添加磁盘后默认是不识别
重启
热扫描
for i in `ls /sys/class/scsi_host`;do echo "- - -" > $i/scan;done lsblk查看是否成功
3、分区
⑴ fdisk
不支持2TB以上的磁盘
交互式
fdisk /dev/sdb 命令 p 打印分区情况 n 新建分区 Select (default p): 设置分区类型 分区号 (3,4,默认 3): 设置分区号 起始 扇区 (4196352-41943039,默认为 4196352): 设置容量起始扇区,一般都是默认 Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039): 设置容量大小,一般采用+size w 保存退出
子命令
p 创建主分区
e 创建扩展分区
子命令 l 创建逻辑分区
l 列出分区类型标识
82 swap分区
83 linux基本分区
8e LVM逻辑卷
t 修改分区类型标识
d 删除分区
w 保存分区并退出
q 不保存退出
非交互式
vim part.txt
n
p
w
fdisk /dev/sdb < part.txt
⑵ parted
支持2TB以上的磁盘
非交互式 parted /dev/sdb mklabel gpt mkpart 1 ext3 1 5T parted 磁盘列表 mklabel 分区类型 mkdpart 文件系统类型 起始位置 容量大小 交互式 parted /dev/sdb 对/dev/sdb进行分区或管理操作 (parted) mklabel gpt 定义分区表格式 (常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式) (parted) mkpart p1 创建第一个分区,名称为p1 (p1只是第一个分区的名称,用别的名称也可以,如part1) File system type? [ext2]? ext3 定义分区格式 (不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式) Start? 1 定义分区的起始位置 (单位支持K,M,G,T) End? 5T 定义分区的结束位置 (单位支持K,M,G,T) (parted) print 查看当前分区情况 (parted) rm rm删除命令 (删除之前必须确保分区没有被挂载) Partition number? 1 删除第一个分区