linux磁盘及文件管理

Linux 运维中运维人员主要针对服务器的I/O设备管理:磁盘和网卡,这里主要介绍对磁盘的管理

Linux中一切皆文件,硬件设备也有对应的文件。Linux中访问设备,其实就是访问对应的文件接口。

文件接口:open(),read(),write(),close()等等。

设备类型:

块设备(block):随机访问的特性,数据交换单位为“块”

字符设备(character):线性设备,数据交换单位为“字符”。比如:键盘输入

设备文件:FHS(文件系统的层级标准)

Linux中/dev/目录用于存放设备文件,设备文件是关联至设备驱动程序及访问设备的入口

设备的管理:设备号

设备号:主设备号(major),次设备号(minor)

major: 设备类型,区别设备类型,用于表明所需驱动程序

minor: 同一类型下的不同设备,驱动程序驱动的具体设备(c,字符设备,b块设备)

Linux磁盘设备文件命名:

IDE (ATA):133MB/s,/dev/hd

SCSI: 640MB/s

SATA:6Gbps

SAS:6Gbps

USB:480MB/s

除IDE外Linux中识别硬盘设备:/dev/sd

标记不同的硬盘设备:/dev/sd[a-z]

标记同一设备上的不同分区:/dev/sd[a-z][1-]

1-4: 主或扩展分区标识

5+:逻辑分区标识

机械硬盘介绍:track 磁道,sector 扇区,cylinder 柱面

MBR:0磁道0扇区,主引导扇区(master boot record)

MBR分三部分:446bytes:bootloader,引导程序

64bytes: 分区表

16bytes:标记一个分区

2bytes:55AA,当前MBR信息是否有效的标记

如果单块硬盘超过2T就不能使用MBR分区,只能使用 GPT分区

分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;

分区工具:

fdisk, parted, sfdisk

fdisk工具的使用:

fdisk最多支持在一块硬盘上的15个分区;

fdisk分区管理子命令:

m: 获取帮助,用于显示子命令的功能

p: 显示现有分区表

n: 创建

d: 删除

t: 修改分区ID

l: 列出所有支持ID类型

w: 保存退出

q: 放弃修改并退出

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

# cat /proc/partitions

有三个命令可以让内核重读磁盘分区表:

CentOS 5: partprobe [DEVICE]

CentOS 6,7:

partx

kpartx

partx命令:注意:已挂载的硬盘上分区需执行,可能需要命令重复执行2次或以上才能读取分区成功

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:交换分区

创建文件系统:

在分区上执行格式化(高级格式化)

要使用某种文件系统,满足两个条件:

内核中:支持此种文件系统

用户空间:有文件系统管理工具

创建工具:mkfs (make filesystem)

mkfs -t type DEVICE

mkfs.type DEVICE

ext系列文件系统的专用管理工具:

mke2fs -t {ext2|ext3|ext4} DEVICE

-b BLOCK: 1024, 2048, 4096

-L ‘LABEL‘: 设定卷标

blkid命令:

blkid DEVICE

LABEL, UUID, TYPE

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 #:

-N #:

-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;

-O FEATURE[,...]

-O ^FEATURE:关闭此特性

has_journal

文件系统属性查看及调整工具:

e2label

e2lable DEVICE [LABEL]

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

/sbin/init

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

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

挂载点: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的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除;

符号链接:

链接文件的数据指向另一个文件路径;

可以对目录进行;

可以跨分区;

指向的是另一个文件路径;而非inode;

对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;

ln [-s] SRC DEST

-s:symbolic link

-v:verbose

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

1. 创建挂载点

2. 创建分区:

3.分区文件系统高级格式化:

4.配置挂载文件:/etc/fstab

5.挂载到/mydata

时间: 2024-10-13 00:44:36

linux磁盘及文件管理的相关文章

linux磁盘与文件管理

一.硬盘的组成与分区 1.物理组成 *圆形的盘片(主要记录数据的部分) *机械手臂与机械手臂上的磁头(可读写盘片上的数据) *主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据. *扇区为最小的物理储存单位,每个扇区为512bytes *将扇区围城一个圆,那就是柱面,柱面时分区最小的单位 *第一个扇区最重要,里面有一不过哦安主引导记录(MBR)及分区表,其中MBR占有446bytes,而partition table则占有64bytes */dev/sd[a-p][1-15]:为SCSI,S

linux磁盘及文件管理进阶(2)

挂载主要涉及两个地方: 挂载点和挂载设备 (我们通常是将挂载设备关联至某个挂载点上,所以带给我们的结果是什么? 通过这个挂载点,可以访问被挂载设备上的文件,每一个文件系统的根,本身就有一个隐含的目录在里面,比如说,我们将mnt目录作为B分区的挂载点,那么mnt本身就相当于B分区的根,) 根文件系统之外的其他文件系统要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载":此目录即为"挂载点": 挂载点:mount_

linux 磁盘管理

linux磁盘管理 I/O Port: I/O 设备地址 块设备:block, 存取单位"块",磁盘 字符设备:char, 存取单位"字符", 键盘 设备文件:关联至一个设备驱动程序,使能够与之对应的硬件设备进行通信 设备号:主设备号   次设备号 设备文件只有源数据(属性),没有数据,都是特殊类型的文件,目录也是 /dev/dev_file都在这儿 硬盘的接口类型: 并行(慢于串口): IDE   133MB/S(接口速率) SCSI  640MB/S 串口: S

【转载】Linux磁盘管理:LVM逻辑卷管理

Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底

Linux磁盘及文件系统的管理

Linux磁盘及文件系统的管理 我们计算机当中的核心部件并不包括磁盘,磁盘对我们的计算机来说属于外部I/O设备,我们目前主流的硬盘是机械式硬盘,我们的CPU以及内存设备属于电子设备,而我们的硬盘属于机械设备,所以说在发展速度上,CPU和内存要比硬盘快很多,我们通常所说的磁盘格式化分为两种,一种叫做低级格式化,低级格式化是硬盘厂商在出厂前就已经做好的,低级的格式化的目的是为了划分好磁盘上的磁道等物理边界,而当我们将磁盘拿到自己手里之后都会对磁盘进行分区(partition),我们对磁盘进行分区的目

Linux学习记录--文件管理相关系统编程

文件管理相关系统编程 重要文件标识 打开文件标识 O_RDONLY:只读方式打开 O_WRONLY:只写方式打开 O_RDWR:可读写方式打开 打开文件操作副标识 O_CREAT:若路径中文件不存在则创建,使用Open函数时需同时指定文件权限 O_EXCL:若与O_CREAT连用,检查文件是否已经存在,若不存在则建立文件存在则返回错误,这使创建和测试成为一个原子操作 O_APPEND:读写文件从文件尾部开始移动,所有写入数据都加入文件尾部 O_TRUNC:若文件存在并且可以写入,此标识会将源文件

Linux磁盘挂载与RAID和LVM

Linux磁盘挂载挂载:将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行为. 卸载:解除挂载的关联关系的过程. 挂载点:挂载的目标位置. linux中挂载使用命令:mount point linux中卸载使用命令:umount注意:挂载点下的原有文件,在被挂载以后会被临时隐藏. mount [-fnrsvw] [-t vfstype] [-o options] device dirdevice:指明要挂载的设备(1)设备文件:例如 dev/sda2(2)

Linux quota命令参数及用法详解---Linux磁盘配额限制设置和查看命令

功能说明:显示磁盘已使用的空间与限制. 语 法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间. 参 数:  -g   列出群组的磁盘空间限制.  -q   简明列表,只列出超过限制的部分.  -u   列出用户的磁盘空间限制.  -v   显示该用户或群组,在所有挂入系统的存储设备的空间限制.  -V   显示版本信息. 在网络管理的工作中,由于硬盘的资源是有限的,常常需要

第八章、Linux 磁盘与文件系统管理

第八章.Linux 磁盘与文件系统管理 1. 认识 EXT2 文件系统 1.1 硬盘组成与分割的复习 1.2 文件系统特性: 索引式文件系统 1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs 1.4 与目录树的关系 1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能 1.6 Linux 文件系统的运行 1.7 挂载点的意义 (mount point) 1.8 其他 Linux 支持的文