一.磁盘物理组成
圆形的盘片:主要记录数据
机械臂与机械臂上的磁头:可读写盘片上的磁头
主轴马达:转动盘片,让磁头在盘片上读取数据
扇区(sector):将圆形的盘片划分成若干个扇形区域,这些区域就是扇区,扇区为最小的物理存储单位,每个扇区为512bytes。
柱面(cylinder):具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面,柱面是分区(partition)的最小单位。
第一个扇区最重要,里面有硬盘主引导记录(MBR)及分区表(partition table),其中MBR占有446bytes,而partition table则占有46bytes(其中每16bytes标识一个分区,最多4个分区),最后两个bytes标识磁盘是否可引导。
二.磁盘分区
1.什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
2.为什么要有多个分区?
(1)防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
(2)增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
(3)数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。
3.分区的一些特性
(1)主分区与扩展分区最多可以有4个(磁盘限制)
(2)扩展分区最多只能有一个(OS限制)
(3)逻辑分区是有扩展分区持续分出来的分区
(4)能够被格式化后作为数据访问的分区为主要分区与逻辑分区,扩展分区无法格式化。
三.Linux目录与文件系统
1.linux下的目录
/:root,根目录:与开机系统有关
/bin/sbin操作系统自身运行需要用到的程序
/usr/bin/usr/sbin:二进制程序(命令),基本的系统工具
/usr/local/bin/usr/local/sbin:第三方程序
/lib函数库(开机时会用到的函数库)
/usr/lib包含各应用软件的函数库,目标文件
/usr/local/lib
/grup多重操作系统启动管理器
/dev 设备文件
Linux设备类型
字符设备:c 线性设备
块设备:b 随机设备
/etc 配置文件
/home 用户家目录
/boot 用于引导操作系统的文件
/media 挂载点目录,通常用于挂载便携性设备
/mnt 挂载点目录,挂载额外的文件系统
/misc 备用目录
/opt 可选目录通常第三方软件偶尔安装于此路径下
/proc 伪文件系统,内存中的内核的映射
/selinux 安全加强的linux
/srv 属于服务的中间数据的存储位置
/sys 伪文件系统,通常用于访问硬件设备属性信息
/tmp 临时文件目录
/usr 存储只读文件
/var 经常会发生变化的文件,例如:日志
2.文件系统
文件系统:简单的说文件系统就是管理存储空间上的文件能够实现按名存取的一个 附加在硬盘存储空间之上的,负责管理存储在此空间中文件的一个专用软件。通常由 内核提供。
Linux支持的文件系统:
Linux支持几乎所有的文件系统,常见的有如下文件系统:
ext2 ext3 ext4 xfs reiserfs nfs iso9600 jfs brtfs vfat GFS GFS2 OCFS2
四.Linux磁盘管理
系统环境:RHEL6
1.磁盘在文件系统中的标识:
IDE ATA:/dev/hd[a-z]
SCSI SAS SATA USB:/dev/sd[a-z]
2.磁盘分区
我们已经知道一块磁盘最多有四个分区,所以当需要更多的分区时就需要扩展分区,而且扩展分区最多只能有一个。可以对扩展分区进行持续的切割分区即为逻辑分区。
命令:fdisk
语法:fdisk [-l] 设备名称
实例:
fdisk �Cl /dev/sda:输出/dev/sda 设备所有分区内容
fdisk �Cl:输出所有设备分区内容
fdisk /dev/sda:查看磁盘分区及磁盘分区操作
options:
d:删除一个分区
n:新建一个分区
p:显示当前分区信息
w:保存退出
q:不保存退出
t:更改分区的系统ID
3.让内核重新读取硬盘分区表
Partx -a 设备文件设备
实例:part -a /dev/sda3 /dev/sda
4.格式化分区,创建文件系统
(1)格式化
命令:mkfs mke2fs
语法:mkfs -t 文件系统类型 设备文件
Mke2fs -t {ext2|ext3|ext4} 设备文件
实例:mkfs -t ext4 /devsda3 :格式化新建分区/dev/sda3文件类型为ext4
Mke2fs -t ext4 /dev/sda3:同上
(2)命令mke2 、fstune2fs
mke2fs :
options:
-L:设定卷标
-m#:显示预留给管理员的块所占比
-r:块个数
-E:文件系统扩展属性
tune2fs :
options:
-L:重新设定卷标=e2lable 分区卷标
-m#:调整预留给管理员的块所占比
-r#:调整预留块块个数
-E:调整文件系统扩展属性
-o:设定挂在默认选项
-O:设定文件系统默认特性
5.磁盘挂载与卸载
命令:mount(挂载)umount(卸载)
语法:mount [-t文件系统类型] 设备文件挂在点
mount查看当前系统所有设备
umount 设备文件
umount 挂载点
实例:mount /dev/sda3 / mnt /mydata
其他挂载方式:
mount[-t文件系统类型]LABLE=”卷标” 挂载点
mount[-t文件系统类型]UUID=”uuid” 挂载点
mount-o :指定挂载选项
ro:只读挂载
rw:读写挂载
noatime:关闭更新访问时间
auto:是否能够有“mount -a“挂载
sync:同步写入
async:异步写入
dev:允许使用设备文件
noexec:不允许上面的程序被执行
remount:重新挂载
loop:挂载本地循环设备
6.要使挂载结果在系统下次启动时实现开机挂载需要写入配置文件/etc/fstab
vim /etc/fstab