硬件的硬件结构
硬盘外部结构
1、电源接口和数据接口
2、控制电路板
3、固定面板
硬盘内部结构
1、磁头组件
2、磁头驱动机构
3、磁盘片
4、主轴组件
5、前端控制电路
硬盘控制电路
1、主控制芯片
2、数据传输芯片
3、高速数据缓存芯片
硬盘磁头
1、磁头是硬盘中最昂贵的部件,是硬盘技术最重要和关键的一环
2、采用了非接触式结构,加电后悬浮在高速旋转的磁盘表面
3、读写合一式磁头与分离式磁头
硬盘磁道
1、当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。
硬盘柱面
1、硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。
硬盘扇区
1、磁盘上的每个磁道被等分为若干个弧段,这些弧段就被称为磁盘的扇区。
硬盘工作原理
l、硬盘利用特定的磁粒子的极性来记录数据
2、在读取数据时,磁头将磁粒子的不同极性转换成不同的电脉冲信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据
3、写数据时,正好与此相反
磁原理
硬盘参数:
容量和转速
硬盘容量(Capacity)
作为计算机系统的数据存储器,容量是硬盘最主要的参数
硬盘的容量以兆字节(MB)或千兆字节(GB)为单位
硬盘转速(Rotationl Speed)
转速是指硬盘盘片每分钟转动的圈数,单位为rpm(Revolutions Per Minute)
寻道时间和潜伏期
平均寻道时间(Average Seek Time)
指磁头移动到数据所在磁道需要的时间,这是衡量硬盘机械性能的重要指标
平均潜伏期(Average Latency)
指当磁头移动到数据所在的磁道以后,等待指定的数据扇区转动到磁头下方的时间
访问时间和数据传输率
平均访问时间(Average Access Time)
指从读/写指令发出到第一笔数据读/写实际开始所用的平均时间
数据传输率(Data Transfer Rate )
指硬盘读写数据的速度,单位为兆字节每秒(MB/s)
磁盘缓冲区
也称之为缓存(Cache)
缓冲区的基本作用是平衡内部与外部的数据传输率,为了减少主机的等待时间,硬盘会将读取的资料先存入缓冲区,等全部读完或缓冲区填满后再以接口速率快速向主机发送
硬盘接口类型
IDE(IntegratedDrive Electronics)
SCSI(SmallComputer System Interface )
FC(Fibre Channel )
SATA(SerialATA )
SAS(SerialAttached SCSI )
Linux的目录结构:
/:根目录
/bin:二进制,可执行的命令
/sbin:可执行命令(仅用于管理,通常管理员才有权限使用)
/boot:引导,操作系统用于引导系统启动的文件,内核、grub
/dev:设备文件
Linux的设备类型:
字符设备,c,线性设备
块设备,b,随机设备 读取文件时读取块
/etc:配置文件:
/home:用户的家目录 /home/username,如 /home/jerry
/root:管理员的家目录
/lib, /lib64:库文件
/media:挂载点目录,通常用于挂载便携性设备
/mnt:挂载点目录,挂载额外的文件系统
/misk:备份目录
/opt:可选目录,通常第三方软件偶尔安装于此路径下
/proc:伪文件系统,内存中内核的映射
/selinux:安全加强的Linux
/srv:属于服务的中间数据的存储位置
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件目录
/usr:存储只读文件
/var:经常会发生变化的文件,如日志等
Linux /dev 下设备文件
Linux对硬盘的辨认:
MBR:(Master Boot Record) MBR是硬盘的主引导记录,属于引导区
MBR共512bytes(字节) 其中446bytes分配给bootloader(系统启动引导程序)
其中64bytes为分区表, 每16bytes标示一个分区表,所以最多只能建立4个主分区;
最后2个字节固定为55AA,(magic number)被称作“魔数”
现在硬盘分为IDE、SCSI两种接口
其中IDE接口硬盘分为主从盘,即两块硬盘一块为主盘,一块为从盘。
Master(主)
Slave (从)
IDE硬盘用hd表示,且盘符分配从字母 a至z表示
IDE, ATA: /dev/hd[a-z]
如:第一块IDE接主硬盘表示为hda
如:第二块IDE接从硬盘表示为hdb
SCSI用sd表示,且盘符分配从字母 a至z表示
如:第一块SCSI硬盘表示sda
IDE0 master=/dev/hda IDE0 slave=/dev/hdb
IDE1 master=/dev/hdc IDE1 slave=/dev/hdc
SCSI 0=/dev/sda SCSI 1=/dev/sdb
Linux支持的文件系统主要有 MINIX、XIAFS、EXT、EXT2、ISO9660、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SYSV、SMBFS、NCPFS
对分区格式化,就是创建文件系统.硬盘分区完成还只是裸设备(RAW),需要格式化.
硬盘分为低级格式化、高级格式化
低级格式化:创建磁盘,一般由硬盘厂商进行格式化。如自行格式化,可能与原硬盘格式不同造成寿命减少
高级格式化:创建文件系统,一般由用户自行格式化即可使用
一块硬盘最多可分为4个主分区,或者3个主分区和1个扩展分区。
注:因扩展分区不可直接使用,故需要再将扩展分区划分为逻辑分区方可使用。
硬盘各主分区只能用1--4表示,而逻辑分区必须从5开始表示。
如:第一块IDE硬盘第一个主分区表示 hda1
第一块IDE硬盘第二个主分区表示 hda2
第一块IDE硬盘第一个逻辑分区表示 hda5
Linux下分区命令有fdisk、sfdisk、part
fdisk <= 15分区 表示此命令最后可创建15个分区
fdisk -l 查看所有分区
分区时如输入错误,往回删除请按Ctrl+Backspace(删除键)进行删除。
fdisk -l [DEVICE]
fdisk [DEVICE]
交互式命令:
d: 删除一个分区
n: 新建一个分区
p: 显示当前的分区信息
w: 保存退出
q: 不保存退出
l: (字母l)各分区类型所对应的System ID
83:Linux 表示数据分区
fd: Soft Raid 表示软Raid
t: 修改指定分区的System ID
cat /proc/partitions
在RHEL5下内核重新读取硬盘分区表:
partprobe [DEVICE]
在RHEL6下内核重新读取硬盘分区表:
partx -a [PARTITION] DEVICE
Linux下mkfs命令格式化分区,用于创建文件系统。
1、文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经将之整合进内核
2、要有相应文件系统创建工具,这通常是mkfs.fstype
格式:mkfs -t fstype /dev/part
RHEL6:ext4 表示红帽6上文件格式为ext4
如下几条命令格式通用:
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
mkfs支持功能较少,而mke2fs支持更多功能
mke2fs -t {ext2|ext3|ext4}
-b:{1024|2048|4096}:块大小,取决CPU对内存页框大小的支持,x86系统默认页框大小为4K
-L:label: 设定卷标
-m:预留给管理使用的块所占据总体空间的比例;
-r:预留给管理使用的块的个数;
-E:设定文件系统的扩展属性;
在配置文件:/etc/mke2fs.conf用于设定默认特性,及各文件系统的特有的特性;默认为4096
-l:显示文件系统超级块信息;
-L:label:重新设定卷标;
-m:调整预留给管理使用的块所占据总体空间的比例;默认保留4.9%,修改时只需输入数字即可,默认转换为百分比。
-r:调整预留给管理使用的块个数;
-o:设定挂载默认选项
-O:设定文件系统默认特性
-E:调整文件系统的扩展属性
e2label: 显示或设定卷标
e2label DEVICE [Volume_label]
bc:计算器
输入bc命令进行计算,再输入scale保留精度,即保留几位小数。
如: 输入10240/204800计算,再输入scale=3 则保留三位小数为0.05 ,即5%
如要显示块大小:
tune2fs -l DEVICE | grep "Block size"
blkid DEVICE: 显示设备的UUID、文件系统类型及卷标
mount:挂载,将某文件系统关联至根文件系统上来
格式:
mount [-t fstype] DEVICE MOUNT_POINT 中间[]可省略
mount [-t fstype] LABEL="卷标" MOUNT_POINT
mount [-t fstype] UUID="UUID" MOUNT_POINT
mount: 当前系统挂载的所有设备
“mount-a”表示挂载/etc/fstab中所有支持挂载选项auto(默认有auto)的文件系统。
-o: 用于指定挂载选项,常用的挂载选项
mount -o remount,other_options DEVICE
cdrom --> sr0 挂载光盘可能为此名称
cdrom --> hdc 挂载光盘可能为此名称
mount -o loop,other_options DEVICE MOUNT_POINT: 用于挂载回环设备;
-ro: 只读挂载;
-rw: 读写,默认即为读写;
noatime: 关闭 更新 访问时间;
auto: 是否能够由“mount -a”挂载;
defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime
defaults表示使用默认选项,多个选项彼此间逗号分隔
sync: 同步写入
async:异步写入
dev:
remount: 重新挂载
loop: 本地回环设备
-n: 挂载文件系统时,不更新/etc/mtab文件
-r: 相当于“-o ro”, 只读挂载
umount:卸载挂载
格式:
umount DEVICE
umount MOUNT_POINT
注:
挂载之后,原有数据会被隐藏,因此不能挂载到系统常用目录上
卸载之时,要确保没有进程正在访问挂载的设备;否则,无法卸载
挂载文件只对当前有效,如需永久生效需修改/etc/fstab:系统开机会自动挂载的文件系统
fuser [MOUNT_POINT]:查看正在访问某挂载点的进程;
fuser -km [MOUNT_POINT]: 强行杀死正在访问此挂载点的进程;
/etc/fstab: 系统开机会自动挂载的文件系统。
挂载的设备:
如图:从左往右选项
1、设备文件、卷标、UUID
2、挂载点:
3、文件系统类型:ext2, ext3, ...
4、挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔;
5、转储频率:
0: 从不备份;
1:每日备份;
2:每两天备份
6、自检次序:
0:不检测;
1:第一个检测;一般只有根文件系统被第一个检测;
2:第二个检测
fdisk -l [/dev/sda]
globbing:文件名通配
fdisk -l /dev/[hs]d[a-z] 查看所有sd和hd硬盘
必须是独立分区,独立文件系统;
交换分区多大?
科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍;
应用程序类的服务器:交换内存尽可能小,比如只给1G;
物理内存小于等于2G, swap=memory*2
物理内存大于2G,小于4G,则swap分区为内存1.5倍. 2G<memory<4G, swap=memory*1.5
物理内存大于4G,则swap分区等于内存大小. memory>4G, swap=4G
-m: 空间大小换算为MB
-g: 空间大小换算为GB
shared: 共享内存
buffer: 缓冲
cached: 缓存
创建交换分区:
mkswap DEVICE
-L label
启用交换分区:
swapon DEVICE:启用指定交换分区;
swapon -a: 启用所有交换分区
禁用交换分区:
swapoff DEVICE
swapoff -a
开机自动启用交换分区,可定义于/etc/fstab
DEVICE swap swap defaults 0 0
挂载点:swap
文件系统类型:swap
注:请勿随意删除分区,数据无价,请仔细!