linux磁盘管理
硬盘
机械师硬盘
SSD
机械式硬盘
track:磁道
sector:每个扇区512bytes
cylinder:柱面由若干个相同编号的磁道组成
MBR:0磁道的0扇区master boot record主引导柱面
512bytes
前446bytes:存放bootloader作用是启动磁盘中的操作系统
64bytes:存放磁盘中的文件系统的分区表
16bytes标识一个分区
识别硬盘设备:/dev/sd
不同硬盘的标记:/dev/sd[a-z]
同一硬盘的不同分区:/dev/sda[1-..]
1-4:主或扩展分区标识
5+:逻辑分区
设备文件:特殊文件
设备号:
major:标示设备类型
minor:标识同一个类型下的不同设备
“块”:block,随机设备,存取单位为数据块
“ 字符”:character,线性设备,存取单位为字符
分区:分割存储空间为多个小空间,每个空间可以独立使用文件系统
分区工具:fdisk
格式 fdisl 【option】硬盘文件名
管理子命令:
p:显示
n:创建
d:删除
t:修改分区ID
l:列出所有支持的分区类型ID
w:保存并退出
q:放弃保存并退出
m:获得帮助
创建完成后,查看内核是否已经识别新的分区
cat /proc/partitions
有三个命令可以让内核读取磁盘分区表:
CentOS 5: partprobe [DEVICE]
centos6,7
partx
partx DEVICE 显示设备的分区
partx -a DEVICE 向内核添加分区信息,已有的重复提交会报错
partx -a -n M:N DEVICE向内核添加指定的分区信息,避免添加已有的。
kpartx命令:
kpartx -af DEVICE
linux文件系统管理
文件系统:编辑地址有自己的索引,便于计算机管理。
linux使用vmfs(虚拟文件系统)统一各类文件系统的接口
linux:ext2,ext3,ext4,reiserfs,xfs,btefs,swap
光盘:iso9660
windows:fat32,ntfs
unix:ffs,ufs,jfs,jfs2
网络文件系统:nfs, cifs
集群文件系统:ocfs2, gfs2
分布式文件系统:ceph,
moosefs, mogilefs, hdfs, gfs, glusterfs
(1)日志型文件系统
ext3
在磁盘空间专门开辟一个日志区放元数据,带元数据所对应的数据库写完后将元数据写到元数据区。这样当在写数据时,发生错误需要自检时可以直接在日志区寻找发生错误的元数据,而不需要遍历所有数据区
(2)swap交换
每个进程都自认为物理内存都为自己所用,一旦进程使用过大内存造成内存耗尽。这时候需要将内存中暂时不使用的数据写到磁盘的swap分区中,以腾出物理内存空间。待需要这批数据时再写回物理内存。
创建文件系统
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具
创建工具:mkfs (make filesystem)
mkfs -t type DEVICE
mkfs.type DEVICE
ext系列文件系统的专用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L ‘LABEL‘: 设定卷标
blkid命令:
blkid DEVICE
LABEL, UUID, TYPE