首页 > 代码库 > Linux之磁盘管理
Linux之磁盘管理
一:磁盘的分区
磁盘分区工具:fdisk,sfdisk,parted
我们主要讲解一下fdisk工具的用法。
首先我们要了解磁盘分区的信息在哪里存放,每个磁盘都有一个MBR(Master Boot Record)主引导分区来引导启动系统,大小为512bytes。而MBR又分为两部分:第一部分是存放引导程序的,大小为446bytes,第二部分存放分区表位64bytes,每一个分区标记规定占用空间16bytes,所以一个磁盘可有4个主分区。
而实际应用中4个分区是完全不够的,那么就需要将一个分区创建为扩展分区,在扩展分区下再创建逻辑分区即可。
分区编号:主分区+扩展分区(1-4)
逻辑分区号(5+)
fdisk命令:
fdisk [DEVICE] 最多支持15个分区,工具性能所限
-l 查看电脑磁盘数量
p:print显示当前磁盘信息
n:new创建新分区
d:del删除分区
t:调整分区ID
w:存盘退出
q:放弃退出
l:列出所有已知的系统ID
*对于已处于使用状态且已有分区,新建分区后需要让内核重读其分区表
CentOS5中使用partprobe [DEVICE]
CentOS6中使用kpartx -af [DEVICE]
Partx -a[DEVICE]
-a是添加磁盘
-f是强制读取
创建完成后保存在/proc/partitions中可以看到内核所读取到的分区信息
二:创建文件系统
磁盘分区结束后就要创建文件系统已确保系统可识别磁盘
文件系统格式:
ext2:无日志功能
ext3,ext4,xfs:日志文件系统
swap交换分区
mkfs:make filesystem
-tFSTYPE [DEVICE]
mke2fs:专门用来创建ext文件系统的工具,也是我们最常用的工具
-b{1024|2048|4096} :指定块大小
-t{ext2|ext3|ext4}:指定文件系统格式
-LLABEL:指定卷标
-j:相当于-t ext3
-I#:每多少字节给创建一个inode,此字节数不应该小于磁盘块大小
-N#:直接指定可用的inode数
-m#:指定预留空间占空间整个分区空间的百分比,默认为5%
e2label:查看或设定卷标
e2labelDEVICE [LABEL]
blkid:查看指定块设备的信息
dumpe2fs–h DEVICE查看超级块信息
tune2fs–l DEVICE查看超级块信息
tune2fs也可修改磁盘分区属性
无法修改块大小
-j:能将ext2升级到ext3
-LLABEL:修改卷标
-m#:修改预留空间百分比
-rreserved-blocks-count:调整系统保留空间
-O[^]FEATURE:启用指定特性,特性前加^表示关闭
-o[^] mount-options:开启或关闭指定的挂载选项
系统修复:
因进程意外中止或系统崩溃等情况导入写入操作非正常中止时,可能会导致文件损坏;此时,应
该修复文件系统:
注意:离线修复
fsck 检查文件系统并尝试修复错误。
-a:自动修复文件系统,不询问任何问题
-A:根据/etc/fstab配置文件,检测文件内所有的全部文件系统
-N:不执行指令,只列出实际执行会进行的动作
-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式
-t<文件系统类型>:指定要检测的文件系统类型
e2fsck:专用于修改ext系列文件系统
-y:对问题自动回答为yes
-f:强制进行检测
三:交换分区:swap
交换分区的作用,缓解内存资源
mkswap:创建创建交换分区
mkswap [-L LABEL] DEVICE
创建swap分区要注意,在创建磁盘分区的时候磁盘ID要选为82,即Linux swap格式
查看当前系统SWAP空间大小:free
-m:转换单位为M,free默认为K
swaponDEVICE:启用swap
-a:all启用所有交换分区设备
-p#:指定此交换设备的优先级
-s:查看当前swap,等同于cat/etc/proc/swaps
swapoffDEVICE:关闭交换分区设备
-a:禁用所有swap设备
四:挂载
将额外的分区与根文件目录建立关联的过程
挂载会隐藏文件中原有的文件,所以最好选择空目录或创建新目录用来挂载
挂载命令:mount
卸载命令:umount
挂载:系统的挂载点是/mnt,/media
挂载权限默认只有管理员才有
挂载目录要事先存在
mount: mountDEVICE MOUNT_POINT
mount [option ]… [-t fstab] [-o option] 设备 挂载点
option是命令参数,-ooption是挂载参数
-t fstab:指定文件系统类型
-r:readonly只读挂载
-w:read and write 读写挂载
-L LABEL:以卷标方式指定设备,mount –L 卷标 挂载点
-UUUID:以UUID的方式指定设备,mount UUID=’uuid’ 挂载点 或
mount–U uuid 挂载点
-a:自动挂载所有(在/etc/fstab中定义了的)的支持自动挂载设备
-n:挂载是不更新/etc/mtab文件
-ooption 挂载选项
Option多参数之间用逗号‘,’分隔
async:异步I/O,数据写操作先于内存完成,而后再根据某种策略同步至持久设备中
sync:同步I/O,
atime/noatime:文件和目录被访问时是更新最近一次的访问时间戳
auto/noauto:设备是否支持mount的-a选项自动挂载
diratime/nodiratime:目录被访问时是更新最近一次的访问时间戳
dev/nodev:是否支持在此设备上使用设备;
exec/noexec:是否允许执行此设备上的二进制程序文件
suid/nosuid:是否支持在此设备的文件上使用suid
remount:重新挂载,通常用于不卸载的情况下重新指定挂载选项
ro:只读
rw:读写
user/nouser:是否允许普通挂载此文件设备
acl:在此设备是支持使用facl,默认不支持;
例:指定挂载后支持acl
方法1:mount –o aclDEVICE 挂载点
方法2:tune2fs –oacl DEVCE 为设备设定默认挂载选项
查看所有挂载的设备
cat /proc/mounts
cat /etc/mtab
fuser –v 挂载点 :查看哪些进程正在访问挂载的设备
fuser -km 挂载点 :终止正在访问挂载的用户
df:查看挂载情况
-h:转换单位为M
-i:显示inode使用信息,而非默认磁盘信息
/etc/fstab:自动挂载的设备的配置文件
六段内容分别代表的含义:从左向右解释
1, 挂载的设备
设备文件
LABEL
UUID
2, 挂载点
3, 文件系统类型
4, 挂载选项:挂载选项可以有多个,彼此之间使用逗号分隔
5, 转储频率
0:从不转储
1:每天转储
2:每隔一天转储
6, 自检次序
0:不自检,额外创建的文件系统都无须自动自检
1:首先自检,通常只有根文件系统需要首先自检
2:次级自检,不同的设备可以使用同一个自检次序
3
...
五:卸载
卸载必须离线进行,也就是说没有被进程访问
umountDEVICE
umountMOUNT_POINT
umount:
-a:卸载/etc/fstab中记录的所有文件系统
-h:显示帮助
-n:卸载时不要将信息存入/etc/mtab文件中
-v:执行时显示详细的信息
-V:显示版本信息
END
本文出自 “aolens·程超” 博客,请务必保留此出处http://aolens.blog.51cto.com/7021142/1440526
Linux之磁盘管理