您的位置:首页 > 运维架构 > Linux

Linux文件系统及磁盘管理

2015-09-06 17:37 465 查看
硬盘在Linux系统中编码规范:

识别硬盘设备:/dev/sd
标记不同的硬盘设备:/dev/sd[a-z]
标记同一设备上的不同分区:/dev/sd[a-z][1-]
1-4: 主或扩展分区标识
5+:逻辑分区标识

设备文件:特殊文件
设备号:
major, minor
major: 设备类型
minor: 同一类型下的不同设备

“块”:block,随机设备
“字符”:character,线性设备

分区工具:
fdisk, parted, sfdisk

fdisk工具的使用:
最多支持在一块硬盘上的15个分区;

分区管理子命令:
p: 显示
n: 创建
d: 删除
t: 修改分区ID
l: 列出所有支持ID类型
w: 保存退出
q: 放弃修改并退出
m: 获取帮助

创建完成之后,查看内核是否已经识别新的分区:
# cat /proc/partitions

有三个命令可以让内核重读磁盘分区表:
CentOS 5: partprobe [DEVICE]
CentOS 6,7:
partx
kpartx

partx命令:
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M
M:
:N

kpartx命令:
kpartx -af DEVICE

Linux文件系统管理

文件系统:
VFS:Virtual File System

Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap

光盘:iso9660
Windows: fat32(vfat), ntfs
Unix: ffs, ufs, jfs, jfs2
网络文件系统:nfs, cifs
集群文件系统:ocfs2, gfs2
分布式文件系统:ceph,
moosefs, mogilefs, hdfs, gfs, glusterfs

(1) 日志型文件系统
非日志型文件系统:ext2
日志型文件系统:ext3

(2) swap:交换分区
相当于Windows系统中的虚拟内存

创建文件系统:
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具

创建工具:mkfs (make filesystem)
mkfs -t type DEVICE

mkfs.type DEVICE

[root@gxd ~]# mkfs.
mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.msdos mkfs.vfat

ext系列文件系统的专用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L 'LABEL': 设定卷标

blkid命令:显示块设备信息
blkid DEVICE
LABEL, UUID, TYPE
[root@gxd ~]# blkid /dev/sda1
/dev/sda1: UUID="d308ea7e-c4f0-41bf-983d-b2425e6c1c2d" TYPE="ext4"

Linux文件系统管理:
mkfs, mkfs -t type = mkfs.type
ext:mke2fs

创建文件系统:
mke2fs [OPTION]... DEVICE
-t {ext2|ext3|ext4}
-b {1024|2048|4096} 块大小
-L 'LABEL' 卷标
-j: mke2fs -t ext3 日志选项
-i #: inode大小
-N #: inode数量
-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;
-O FEATURE[,...] 设定文件系统特性
-O ^FEATURE 关闭特性
has_journal

文件系统属性查看及调整工具:
e2label
e2lable DEVICE [LABEL]
[root@gxd ~]# e2label /dev/sda1 system
[root@gxd ~]# e2label /dev/sda1
system
[root@gxd ~]# blkid /dev/sda1
/dev/sda1: UUID="d308ea7e-c4f0-41bf-983d-b2425e6c1c2d" TYPE="ext4" LABEL="system"

tune2fs
显示ext系列文件系统的属性,或调整其属性;

-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息;
-L 'LABEL':修改卷标;
-m #: 调整预留给管理员的管理空间百分比;
-j: ext2 --> ext3
-O:文件系统属性的启动或关闭
-o:文件系统默认挂载选项的启用或关闭

dumpe2fs:
-h: 仅显示超级块信息;

文件系统检测:
fsck: Filesystem check
fsck -t type
fsck.type
-a: 自动修复错误
-r: 交互式修复错误
-f: 强制检测

e2fsck:ext系列文件系统专用的检测修复工具;
-y: 自动回答为“yes”
-f:force

文件系统的挂载和使用:

kernel --> rootfs(分区)

rootfs分区:
bin, sbin, etc, lib, lib64, dev, tmp, proc, sys

将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件系统访问入口的行为,称之为挂载;

解除此关联关系的过程:卸载

挂载点:mount point, 设备挂载至目录;

注意:挂载点在挂载在之后,其内部原有的文件会被暂时隐藏;建议使用空目录做为挂载点;

挂载方法:
mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;
mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;
mount [options] [-o options] DEVICE MOUNT_POINT
[options]:命令选项
[-o options]:挂载选项

DEVICE: 要挂载的设备
(1) 设备文件:/dev/sda5
(2) 卷标:-L 'LABEL'
(3) UUID:-U 'UUID'
(4) 伪文件系统名称
MOUNT_POINT: 挂载点

常用选项:
-t type:文件系统类型
-r: 以“只读”方式挂载此文件系统
-w: 以“读写”方式挂载此文件系统
-n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;
此时,如果想查看挂载的所有文件系统:cat /proc/mounts
-a: 自动挂载所有支持自动挂载的设备;
-B:绑定目录至另一个目录上;

-o 挂载选项:

async:异步模式
sync: 同步模式
atime/noatime:是否更新访问时间戳;
diratime/nodiratime:是否更新目录的访问时间戳;
auto/noauto: 是否允许此设备被自动挂载;
exec/noexec:是否允许执行此文件系统上应用程序;
dev/nodev:是否支持在此设备上使用设备文件;
suid/nosuid:
remount:重新挂载
ro
rw
user/nouser: 是否允许普通挂载此设备;
acl:是否支持此设备上使用facl;
defaults:rw, suid, dev, exec, auto, nouser, and async

umount:卸载命令
# umount DEVICE
# umount MOUNT_POINT

查看正在访问指定挂载点的进程:
# fuser -v MOUNT_POINT

终止所有正在访问指定的挂载点的进程:
# fuser -km MOUNT_POINT

交换分区

free命令:
查看memory和swap的使用状态
-m: 以MB为单位
-g: 以GB为单位

mkswap:创建交换分区

mkswap [option] DEVICE
-L 'LABEL'

swapon:启用交换分区
swapon [option] [DEVICE]
-a: 激活所有交换分区
-p PRIORITY: 设定其优先级;

swapoff:禁用交换分区
swapoff [option] [DEVICE]

文件系统等空间占用信息的查看工个:
df: disk free

-h: human-readable
-i: inode数量
-P: 以Posix兼容的格式输出
du: disk usage
-h: human-readable
-s: summary

文件系统相关挂载配置文件:/etc/fstab

每行定义一个文件系统;

要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序

要挂载的设备:
设备文件、LABEL=、UUID=、伪文件系统名称

挂载选项:
defaults

转储频率:
0: 不转储
1: 每天转储
2: 每隔一天转储

自检次序:
0:不自检
1:首先自检,通常只有/才为1
2:
...

链接文件
硬链接:
两个路径指向同一个inode

不能对目录进行;
不能跨分区进行
指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接 仅是删除其一个访问路径,只到最后一个路径被删除;

符号链接:
链接文件的数据指向另一个文件路径,相当于Windows系统中的快捷方式;

可以对目录进行;
可以跨分区;
指向的是另一个文件路径;而非inode;
对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;

ln [-s] SRC DEST
-s:symbolic link
-v:verbose

练习:创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;
fdisk /dev/sda

n
p
+10G
w
kpartx -af /dev/sda
partx -a /dev/sda

mke2fs -t ext4 /dev/sda3
mount /dev/sda3 /mydata
vi /etc/fstab
添加如下行:
/dev/sda3 /mydata ext4 defaults 0 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: