linux磁盘管理
I/O Port: I/O 设备地址
块设备:block, 存取单位“块”,磁盘
字符设备:char, 存取单位“字符”, 键盘
设备文件:关联至一个设备驱动程序,使能够与之对应的硬件设备进行通信
设备号:主设备号 次设备号
设备文件只有源数据(属性),没有数据,都是特殊类型的文件,目录也是
/dev/dev_file都在这儿
硬盘的接口类型:
并行(慢于串口):
IDE 133MB/S(接口速率)
SCSI 640MB/S
串口:
STAT 6Gbps
SAS 6Gbs+
USB 480MB/S
转速:rpm
磁盘设备的设备文件命令方式:
IDE : /dev/hd
SCSI,SATA,SAS,USB: /dev/sd
centOS 6以后都以sd开头
不同设备: a-z 标识 /dev/sda /dev/sdb....
同一设备的不同分区: 1, 2, 3.。。。 /dev/sda1, /dev/sda2 ....
机械式硬盘工作机制:
track:磁道
cylinder:柱面
sector:扇区(512字节-4K)
如何分区:
按柱面进行分区
0 柱面被预留出来(512字节)。
MBR(Master Boot Record 主引导记录): 46bytes :存储分区表(每16个字节标识一个区,其中有一个指向扩展分区(N个逻辑分区)), 446bytes:boot loader , 2bytes:55AA
4个主分区:3个主分区+1个扩展(N个逻辑分区)
大于2T,要使用GPT,http://www.iruanmi.com/what-is-gpt-and-what-is-uefi/
分区管理工具:fdisk, parted, sfdisk
fdisk:对于一块硬盘,仅能管理15个分区
fdisk -l(带*号的是引导分区)
fdisk device:
子命令:
p: 显示已有分区
n:创建一个新分区
d:删除
w:将更新写入,保存退出
q:放弃
m:获取帮助
l:列出所分区ID
t:调整分区ID(linux 83, 82)
查看内核是否已经识别新的分区:
cat /proc/partations应该出现你的新分区,否则没有写入
通知内核重新读取分区表
partx -a /dev/device
partx -n M:N指明从哪个到哪个号
cat /proc/partations
也可以kpartx -a /dev/DEVICE(centOS 5没有这个工具,使用partprobe /dev/DEVICE)
Linux文件系统管理
Linux文件系统:ext2, ext3, ext4, xfs ,btrfs ,reiserfs, jfs, swap
swap:交换分区
windows:fat43,ntfs
Unix:FFS, UFS, JFS2
网络文件系统:NFS, CIFS
集群文件系统: GFS2, OCFS2
分布式文件系统: ceph, moosefs, mgilefs, GlusterFS , Lustre
根据其是否支持“journal”功能:
日志型文件系统: ext3, ext4, xfs...
非日志文件系统: ext2, vfat
文件系统的组成部分:
内核中的模块:ext4, xfs
用户空间的管理工具: mkfs.ext4, mkfs.xfs, mkfs.vfat
Linux的虚拟文件系统:NFS
创建文件系统:
查看支持的文件系统:cat /proc/filesystems
mkfs 命令:
(1)# mkfs.FS_TYPE /dev/DEVICE
xfs,
btrfs
vfat
(2) # mkfs -t FS_TYPE /edv/DEVICE
-L "Lable": 设定卷标
mke2fs:ext系列文件系统专用管理工具
-t {ext2| ext3|ext4}
-b {1024|2048|4096}指明块大小
-L “Label”卷标
-j: 日志, 相当于 -t ext3
-i #: 为数据空间中每多少个字节创建一个inode,不应该小Block块大小,
blkid: 查看块设备属性信息
e2label:管理ext系列文件系统的Lable # e2label Device
tune2fs: 重新设定ext 系列文件系统可调整参数的值
-l:查看指定文件系统超级块的信息
-L:修改卷标
dumpe2fs: -h 查看超级块信息
mkswap:创建交换分区
—L:
文件系统检测:
fsck: File System Check
-t FS_type: 检测特定的文件系统,一定要与分区上已经有的文件类型相同
-a:自动修复错误
-r: 交互式修复
e2fsck:ext系列专用检测修复工具
-f:强制修复
-y:自动回答为yes
文件系统管理:
将额外文件系统与根文件系统某现存的目录建立关系,此目录可以作为其它文件入口的,挂载
解除关联关系 卸载
把设备关联挂载点:mount,
卸载时,可以使用设备,也可以使用挂载点 umount
注意:挂载点下原有文件在挂载完成后会被临时隐藏
挂载方法: mount DEVICE MOUNT_POINT
mount:显示当前系统已经挂载的所有设备
device:指明要挂载的设备
(1):设备文件:例如 /dev/sda3
(2):卷标:-L ”Label“例如 -L “MYDATE”
(3):UUID: -U "UUID" 例如: —U “”
(4):伪文件系统名称:proc, sysfs, devtmpsfs, configfs
dir:挂载点
事先存在:建议使用空目录
进程使用中的设备是无法被卸载的
常用选项:
-t vsftype: 指定要挂载的设备上的文件系统类型
-r: readonly: 只读挂载
-w: read and write 读写挂载
-n: 不更新/etc/mtab(追踪所有挂载和卸载)
-a: 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
-v:显示挂载过程
查看内核追踪到的已挂载的所有设备: cat /proc/mounts
-o options :
async:异步模式
sync:同步模式
atime/noatime:同步时间戳(默认notaime)(包含目录和文件)
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载默认auto
exec/noexec:是否支持将文件系统上应用程序运行为进程
卸载命令:
umount DEVICE
umount MOUNT_POINT
查看谁在使用挂载点 fuser -v /mydate/ fuser -km /mydate/ 删除使用的用户
挂载交换分区:
启用:swapon
-a:激活所有的交换分区
-p priority: 指定优先级
禁用:swapoff
内存空间使用状态:free -m 或者 -g
文件空间使用状态查看工具:df -h 或者 -iinode使用情况 -P 使用POSIX格式输出
查看某目录总体空间占用状态
du disk useage
du DIR -h -s:显示总大小
文件挂载的配置文件:/etc/fstab
每行定义一个要挂载的文件系统
要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
链接文件:
硬链接:不能够对目录进行,不能跨分区
指向一个inode的多个不同路径,创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用计数
符号链接:可以对目录进行,可以跨分区,指向的是另一个文件的路径,其大小为指向路径字符串的长度,不增加或减少目标文件inode的引用计数
ln [-sv] SRC DEST -s:软连接
文件管理操作对文件的影响
文件删除:文件引用计数为0,空闲
文件复制:创建一个新空文件,数据再填充到新的空文件。涉及读出和写入
文件移动:复制和删除,路径改变(只是移动了原数据的引用路径而已)
本文出自 “祝融与火” 博客,请务必保留此出处http://notezr.blog.51cto.com/9424982/1918968
原文地址:http://notezr.blog.51cto.com/9424982/1918968