磁盘结构:
每个扇区为 512B
每个磁道划分为 63 个扇区
逻辑磁头(盘面)数设为 255 个
一个柱面的大小:255×63×512B=8MB
硬盘或分区的容量:柱面大小×柱面数
分区模式(MBR,Master Boot Record):
主引导记录模式,也叫 msdos 模式。
硬盘的一个扇区(512B)作为 MBR 扇区,用来记录引导程序和分区表。
分区表记录只有 64B,其中存储硬盘上的每个分区信息,一个分区记录要 16B。
此模式支持最多 4 个主分区,最大容量为 2.2TB
分区模式(GPT,GUID Partition Table):
全局唯一标识分区表
突破固定大小 64B 的分区表限制
最多支持 128 个分区,最大支持 18EB 的磁盘。
硬盘存储容量表示单位及换算关系表:
单位 | 缩写 | 换算关系 |
Kilo | K | 1KB=1024B |
Mega | M | 1MB=1024KB |
Giga | G | 1GB=1024MB |
Tera | T | 1TB=1024GB |
Peta | P | 1PB=1024TB |
Exa | E | 1EB=1024TB |
Zetta | Z | 1ZB=1024EB |
Yotta | Y | 1YB=1024ZB |
Nona | N | 1NB=1024YB |
Dogga | D | 1DB=1024NB |
Corydon | C | 1CB=1024DB |
计数单位:
个、十、百、千、万、亿、兆、(10^16 京)、(10^20 垓)、(10^24 秭)、(10^28 穰)、
(10^32 沟)、 (10^36 涧)、(10^40 正)、(10^44 载)、(10^48 极)、(10^52
恒河沙)、(10^56 阿僧祇)、(10^60 那由他)、(10^64 不可思议)、(10^68 无量
大数)、(10^72 Espana)
磁盘分区工具:
(1)fdisk,只支持 msdos 分区布局。
进入分区工具:
[root@test ~]# fdisk /dev/sdb
a toggle a bootable flag 切换引导分区
b edit bsd disklabel BSD磁盘标签编辑
c toggle the dos compatibility flag 切换DOS兼容性标志
d delete a partition 删除一个分区
l list known partition types 列出已知分区类型
m print this menu 打印菜单
n add a new partition 添加新分区
o create a new empty DOS partition table 创建新的空两个分区表
p print the partition table 查看磁盘分区信息
q quit without saving changes 退出而不保存更改
s create a new empty Sun disklabel 创建一个空的Sun卷标
t change a partition's system id 更改分区的系统标识
u change display/entry units 更改显示/输入单位
v verify the partition table 验证分区表
w write table to disk and exit 将表写入磁盘并退出
x extra functionality (experts only) 额外的功能(仅专家)
(2)parted,支持msdos和gpt分区布局。
查看分区布局:
[root@test ~]# parted /dev/sdb p
align-check 检查分区对齐
help 打印通用求助信息,或关于 COMMAND 的信息
mkpart 创建分区
move 移动分区
quit 退出程序
rm 删除分区
toggle 切换
check 对文件系统进行简单检查
mkfs 创建文件系统
mkpartfs 创建带有文件系统的分区
name 分区命名
rescue 挽救遗失分区
select 选择设备
unit 设置单位
cp 将文件系统复制到另一个分区
mklabel 创建新的磁盘标签 (分区表)
mktable 创建新的磁盘标签 (分区表)
print 打印分区表/分区
resize 改变分区大小
set 改变分区标志
version 显示版本
识别新的分区表:
当硬盘的分区表更爱后需要将分区表的变化通知Linux内核,否则在访问分区是可能会找不到准确的设备。
使用一下三种方式可以刷新:
partx -a 设备路径
partprobe 设备路径
reboot
格式化分区:
mkfs -t 文件系统 设备路径
mkfs.文件系统 设备路径
扩展Swap分区:mkpart logical ext4 上一个结束容量 这个结束容量
mkswap 设备路径:格式Swap分区
swapon设备路径:启用Swap分区
swapon -s :查看Swap分区
swapoff设备路径:关闭Swap分区
创建Swap文件扩展Swap空间:
dd if=源设备 of=目标设备 bs=块大小 count=块数
/dev/zero 产生无意义数据的设备
dd if=/dev/zero of=/root/swap.db bs=1M count=2048
格式化交换文件:
mkswap -f 交换文件
-f表示强制
[root@node0 /]# dd if=/dev/zero of=/swap.db bs=1M count=1024 # 创建交换文件
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 8.05107 s, 133 MB/s
[root@node0 /]# mkswap -f /swap.db # 强制格式化Swap分区
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=e0df5f0e-03a8-4e74-a408-c43b9f7408e1
[root@node0 /]# swapon -s # 查看Swap分区
Filename Type Size Used Priority
/dev/sda2 partition 1023996 0 -1
[root@node0 /]# swapon /swap.db # 启用Swap分区
[root@node0 /]# swapon -s # 查看Swap分区
Filename Type Size Used Priority
/dev/sda2 partition 1023996 0 -1
/swap.db file 1048572 0 -2
设置卷标名称:e2label 设备名 "卷标名"
查看卷标名称:e2label 设备名
删除卷标名称:e2label 设备名 ""
查看分区的UUID:
blkid 设备路径
挂载设备:
mount -U 设备的UUID 挂载路径
tune2fs -l 设备路径
挂载设备:mount 选项 设备名 挂载点
-a :加载所有fstab已经配置的文件系统
-t :指定文件系统类型
-o :指定挂载参数,参数可以使用逗号分隔
常用挂载参数:
ro/rw | 只读/可读写 |
acl/noacl | 启用/禁用ACL |
exec/noexec | 打开/关闭执行权 |
suid/nosuid | 启用/禁用SUID和SGID |
remount | 重新挂载 |
defaults | rw/suid/dev/exec/auto |
user/nouser | 允许/不允许其他用户挂载 |
async/sync | 异步/同步,预设为 async(性能较佳) |
-o loop :挂载回环设备(ISO镜像)
查看磁盘使用情况:
df 选项
df 选项 文件
-h :显示易读的单位
-T :显示文件系统类型
卸载:umount 设备名或挂载点
-a :卸载所有 已经挂载的非伪文件系统
实现开机自动挂载:配置文件/etc/fstab
设备名 挂载点 文件系统类型 挂载参数 备份标记 检测顺序
开机实现自动挂载光盘:
/data/ISO/CentOS-6.7-x86_64-bin-DVD1.iso /data/cd0 iso9660 defaults,loop 0 0
检查/etc/fstab文件中是否有未挂载的设备:
mount -a
autofs触发挂载:
由autofs服务提供的"按需访问"机制。只要访问挂载点,就会触发响应,自动挂载设备,闲置时(默认五分钟)后,会自动卸载。
autofs是一个后台程序,当使用某个文件系统是自动支持该系统,不使用时则不支持,这些文件系统包括网络文件系统,CD-ROM,软盘及其他设备。
autofs配置解析:
主配置文件(定义监控目录):/etc/auto.master
挂载配置文件:/etc/auto.misc
cd -fstype=iso9660,ro, nosuid,nodev :/dev/cdrom
挂载点 文件系统类型 挂载参数 设备路径