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
# mount :显示当前系统上已经挂载的所有设备
# mount [-fnrsvw] [-t vfstype] [-o options] DEVICE DIR
1)DEVICE:指明要挂载的设备
设备文件:例/dev/sda5
卷标:-L "LABEL"
UUID:-U "UUID"
伪文件系统名称:proc,sysfs,devtmpfs,configfs
2)DIR:挂载点
要求:事先存在,进程中正在使用的设备无法被卸载,建议使用空目录
3)常用命令选项
-t vsfstype:指定要挂载的设备上的文件系统类型
-r:readonly,只读挂载
-w:read and write,读写挂载
-a:自动挂载所有支持自动挂载的设备(定义在/etc/fstab文件中,且挂载选项中“自动挂载”功能
-L "LABEL":以卷标指定挂载设备
-U "UUID":以UUID指定要挂载的设备
-B,--bind:绑定目录到另外一个目录上
4)挂载文件系统的额外选项
-o options:(挂载文件系统的选项)
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;
...
本文出自 “fante” 博客,请务必保留此出处http://8755097.blog.51cto.com/8745097/1690277
原文地址:http://8755097.blog.51cto.com/8745097/1690277