1.linux磁盘的相关知识点
(1)I/O ports:I/O设备地址,实质上是一个缓冲器 (2)块设备:Block,存取单位是“块”,例如:磁盘 (3)字符设备:char,存取单位是“字符”,例如:键盘 (4)设备文件:关联至一个设备驱动程序,进而能够与之对应硬件设备进行通信(仅有元数据,而无数据) (5)设备号码: 主设备号:major number,表示设备类型 次设备号:minor number,表示同一类型下的不同设备
2.硬盘的分区(底层硬件的准备)
分区管理工具:
fdisk,partx,sfdisk
(1)fdisk的使用方法:
1)查看当前硬盘的分区情况 #fdisk -l [-u] [devices] 2)管理硬盘 #fdisk device 子命令:管理功能 p:显示已有分区 n:创建 d:删除 w:写入磁盘并退出 q:放弃更新并退出 m:获取帮助 l:列出分区类别的id t:调整分区id
(2)查看内核识别的当前系统上的分区
#cat /proc/partations
(3)通过内核重读硬盘分区表(这一步通常用于分区完成后的第一步)
#partx -a /dev/DEVICE -n M:N 指定分区的范围 #kpartx -a /dev/DEVICE -f:force CentOS5:使用partprobe #partprobe [/dev/DEVICE]
3.硬盘分区结束后,那么对于操作系统来说,最底层的硬件设备已经准备好了。接下来就是磁盘的格式化。
(1)Linux文件系统管理
Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap swap: 交换分区 光盘:iso9660 Windows:fat32, ntfs Unix: FFS, UFS, JFS2 网络文件系统:NFS, CIFS 集群文件系统:GFS2, OCFS2 分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre 根据其是否支持"journal"功能: 日志型文件系统: ext3, ext4, xfs, ... 非日志型文件系统: ext2, vfat
(2)文件系统的组成部分
内核中的模块:ext4,xfs,vfat 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat
(3)Linux的虚拟文件系统:VFS
4.创建文件系统:mkfs命令
(1)mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat
(2)mkfs -t FS_TYPE /dev/DEVICE -L “LABEL”:设定卷标 -f:强制执行
(4)ext系列的文件系统的相关查看管理工具
1)mke2fs:ext系列文件系统专用管理工具 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 相当于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小; -N #:为数据空间创建个多少个inode; -m #: 为管理人员预留的空间占据的百分比; -O FEATURE[,...]:启用指定特性 -O ^FEATURE:关闭指定特性
2) e2label:管理ext系列文件系统的LABEL #e2label DEVICE [LABEL]
3)dumpe2fs: -h:查看超级块信息
4)tune2fs:重新设定ext系列文件系统可调整的值 -l:查看指定文件系统的超级块信息,superblock -L "LABEL":修改卷标 -m #:修改预留给管理员的空间百分比 -j:将ext2升级为ext3 -O:文件系统属性启用或禁止 -o:调整文件系统的默认挂载选项 -U UUID:修改UUID号
(5)blkid:块设备属性信息查看 blkid [OPTION]... [DEVICE] -U UUID:根据指定的UUID来查找对应的设备 -L LABEL:根据指定的LABEL来查找对应的设备
(6)mkswap:创建交换分区
mkswap [OPTION] device -L “LABEL” 前提:调整其分区的ID为82
(7)文件系统检测
fsck:file system check fsck.FS_TYPE fsck -t FS_TYPE -a:自动修复错误 -r:交互式修复错误 注意:FS_TYPE一定要与分区上已经存在的文件类型相同
5.文件系统创建完成后,紧接着就是对其进行挂载,从而使得其能通过一个目录在Linux上被访问
(1)对于挂载的简要介绍
1)将额外的文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其他文件访问入口的行为称为挂载
2)解除此关联挂载点:卸载
3)把设备关联挂载点:Mount Point
mount DEVICE MOUNT_POINT
4)卸载时可使用设备,也可以使用挂载点
umount DEVICE
umount MOUNT_POINT
注意:挂载点下原有文件在挂载完成后会被临时隐藏
(2)挂载方法:mount DEVICE MOUNT_POINT
async:异步模式;
sync:同步模式;
atime/noatime:包含目录和文件;
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上应用程序运行为进程
dev/nodev:是否支持在此文件系统上使用设备文件;
suid/nosuid:
remount:重新挂载
ro:
rw:
user/nouser:是否允许普通用户挂载此设备
acl:启用此文件系统上的acl功能(centos7上默认启动,之前版本不支持默认启动)
注意:上述选项可多个同时使用,彼此使用逗号分隔;
默认挂载选项:defaults(rw, suid, dev, exec, auto, nouser, and async)
注意:查看内核追踪到的已挂载的所有设备的文件是:cat /proc/mounts
任何文件系统的挂载都会更新此文件:/etc/mtab
(3)卸载命令:umount
#umount DEVICE #umount MOUNT_POINT 查看并杀死访问指定文件,目录的进程 #fuser -km MOUNT_POINT
(4)挂载交换分区
启动: #swapon [OPTION]... [DEVICE] -a:激活所有的交换分区 -p PRIORITY:指定优先级 禁止: #swapoff [OPTION]... [DEVICE]
6.文件系统挂载完成后,接着我们可能用到相关的查看命令
(1)内存空间使用状态
free [OPTION] -m:以MB为单位 -g:以GB为单位
(2)文件系统空间占用等信息的查看工具
df -h:human-readable -i:inodes instead of blocks -P:以 Posix兼容的格式输出
(3)查看某目录总体空间占用状态
du [OPTION] DIR -h:human-readable -s:summary
7.文件挂载的配置文件:/etc/fstab
每行定义一个要挂载的文件系统;
要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
要挂载的设备或伪文件系统:
设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
挂载选项:
defaults
转储频率:
0:不做备份
1:每天转储
2:每隔一天转储
自检次序:
0:不自检
1:首先自检;一般只有rootfs才用1;
...