浅谈Linux磁盘与文件系统管理

在探讨磁盘与文件系统管理前,我们先简单了解下磁盘结构:1)盘片,即记录数据的部分,数量与磁头数相同;2)磁头, 读写盘片上的数据;3)主轴马达,带动盘片旋转,家用级转速在5400rpm-7200rpm,企业级可达15000rpm;4)扇区,最小的物理存储单元,大小为512字节;5)磁道,磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track);6)柱面,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。

接下来是磁盘分区,所谓磁盘分区,就是标定数据块儿(blocks)的起止范围,以便操作系统快速对块儿内文件数据进行/读/写/查等操作。分区的好处是:优化I/O性能、实现磁盘空间配额限制、提高修复速度、隔离系统和程序、安装多个OS、采用不同文件系统等。常用的分区命令为fdisk:

-l /dev/sdX 查看指定块设备的分区信息
/dev/sdX 对指定硬盘修改分区
m: 帮助
o: 创建msdos分区label
n: 创建新的分区
d: 删除分区
p: 查看当前分区表
a: 添加/取消 启动标记
t: 转换分区类型ID
l/L: 显示分区类型ID表

注意,操作系统所在的硬盘进行分区操作后需要通知内核重读分区表信息,centos5/7:partprobe /dev/sdX;centos6:partx -a /dev/sdX(新增分区)/partx -d --nr N /dev/sdX (删除分区)

分区完成后需要进行格式化(format)操作,之所以格式化,是因为每种操作系统所设置的文件属性/权限不同,为了存放这些文件所需的数据,需要格式化分区。在传统的磁盘与文件系统应用中,一个分区只能被格式化为一个文件系统,因此可认为一个文件系统就是一个分区。 但随着新技术如LVM的发展,多个分区可以合成一个文件系统,我们称呼一个可被挂载的数据为一个文件系统,而不是一个分区。文件系统格式化命令为mkfs

mkfs.ext4/xfs /dev/sdX

格式化分区后可在命令行直接敲blkid命令查看所有文件系统名/文件系统类型;在ext系统下可用tune2fs命令查看及修改文件系统

tune2fs -l /dev/sdX 列出指定文件系统的详细信息,信息来源于超级块(superblock)

-L 设置label(卷标)

-m 设置预留百分比

-o acl/ ^acl开启或关闭文件系统ACL功能(尽在centos6中会用到此命令)

接着我们讨论挂载(mount)。在Linux系统中,一切皆文件,mount命令博大精深。每个文件系统都有独立的inode、block、superblock等信息,这个文件系统要能够链接到目录树,才能被使用。将文件系统与目录树结合的操作我们称为挂载。挂载点必须是目录,而且是空目录。若将文件系统挂载到非空目录下,会暂时隐藏性覆盖该目录下的所有文件。如下图所示,若执行mount /dev/sda6 /命令,会导致整个系统崩溃,只能通过手动按电源按钮重启!好在系统做了保护,上述命令无效!

mount:

-a 依照配置文件/etc/fstab中的数据对未被挂载的文件系统进行挂载;

-l 读/etc/mtab,显示当前挂载信息;

-n 强制不写入/etc/mtab,单用户维护模式常用,此时df或mount命令无法查看新增挂载信息,但可读/proc/mounts文件获取;

-L 指定卷标进行挂载;

-o 后接挂载的额外参数,比如账号、密码、读写权限等

ro,rw 挂载文件系统成为只读,读写模式 default--rw

async,sync 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,default--async

auto,noauto 允许/禁止分区以mount -a方式(auto)挂载,default--auto

dev,nodev 是否允许此分区上可创建设备文件,default--dev

suid,nosuid 是否允许此分区含有suid/sgid文件格式,default--suid

exec,noexec 是否允许此分区拥有binary文件,default--exec

user,nouser 是否允许普通用户执行mount命令,默认只有root可以mount,添加user参数后,普通用户也能mount

defaults 默认所有默认值

remount 不卸载的情况下,可直接更新挂载选项

acl,noacl (centos6)开启或关闭acl功能,default--noacl

umount:卸载设备文件

-f 强制卸载,可用于NFS(网络文件系统无法读到的情况)

-n 不更新/etc/mtab

注意,当挂载点被占用(进入挂载点或者被某个进程占用)时,需要离开文件系统挂载点或者用命令fuser杀死进程后再做umount

fuser 挂载点 查看在指定挂载点上运行的程序,显示其进程号

-v 详细查看

-m 递归,如不加m,只查看挂载点自身,不查看子目录

-k 杀死

fuser通常搭配选项 -vmk

以上对磁盘管理的内容进行了简单介绍,下面我们讨论Linux文件系统高级管理第一部分:Quota(磁盘配额)。简而言之,Quota就是对一般用户进行的限制文件系统使用空间的技术,常以下列3种方式实现

1>限制某一用户的最大磁盘配额(使用用户限制)

2>限制某一用户组可以使用的最大磁盘配额(使用用户附加组限制,常配合sgid命令进行)

3>以link方式使邮件可作为限制的配额(更改/var/spool/mail路径)

需要注意的是,quota针对整个文件系统进行限制,例如你的/dev/sda3 挂载在/home下,/home下所有的目录都会受到限制,具体设置分以下几个部分

1.限制容量或者文件数量(block或inode)

2.soft/hard(软限制和硬限制)通常硬限制值略高于软限制。当用户可支配额磁盘配额超出软限制但低于硬限制时,系统启动宽限期倒计时并发出警告,直到用户清理数据至soft值以下。若用户在宽限期未进行任何操作,硬限制值将回落到软限制值,此时用户的使用权会被锁定而无法新增文件。

ext系列文件系统的quota

1>预配置quota(ext、xfs)(下列操作将会在下次开机后仍然生效)

vim /etc/fstab,在需要开启quota的文件系统的挂载选项的defaults后加usrquota,grpquota如下

/dev/sda5  /app                    ext4    defaults,usrquota,grpquota        1 0

2>对指定文件系统生成quota数据库

quotacheck -cugm /app/

3>开启指定文件系统quota

quotaon /app

在命令行模式下,quota -v 显示当前用户自己的quota限额。root身份下,quota -v username用于显示指定用户的quota限额,repquota -v /app 显示指定挂载点所有用户的quota限额

4>设置普通用户quota

edquota -u/g username/groupname -u选项指定user,-g指定group

edquota -p usr1 usr2 将usr1的quota设置复制给usr2

xfs文件系统的quota

1>参考ext系列预配置quota

2>直接配置quota选项

xfs_quota -x -c "print" 查看当前系统中所有的xfs文件系统哪些开启了quota

xfs_quota -x -c "report -ugibh"  查看quota设置

-u 查看用户的quota设置

-g 查看组的quota设置

-i 查看inode的quota限制

-b 查看block的quota限制 (默认)

-h human-readable

xfs_quota -x -c "state" /app 查看quota状态,显示grace time时间

对用户设置quota

xfs_quota -x -c "limit -u bsoft=30M bhard=40M user1" /app

对用户组设置quota

xfs_quota -x -c "limit -g bsoft=80M bhard=200M group1" /app

最后,我们讨论Linux文件系统高级管理第二部分:LVM(逻辑卷管理器),旨在以在线方式弹性调整文件系统容量!并非在性能与数据保全方面。LVM可以整合多个物理分区在一起,让这些分区看起来像一个磁盘一样,而且这个磁盘容量可变!实现过程大致为:物理磁盘或分区(未挂载的)-->PV(LVM的物理卷)-->VG(LVM的卷用户组)-->LV(逻辑卷),具体如下

1.分区或增加新的硬盘

如果是分区,注意用fdisk命令的-t选项将系统标识符改为8e

2.创建物理卷PV

pvscan,查询系统上有无PV

pvcreate /dev/sdaX

pvdisplay显示PV状态

3.创建用户卷组VG

vgcreate [-s xM](指定PE大小,默认4M)vgname /dev/sdX

vgscan

vgdisplay [vgname]

4.创建逻辑卷

lvcreate -L xM/G -n lvname vgname

lvscan

lvdisplay [/dev/vgname/lvname]

卸载LVM

1.umount /mnt/lvm

2.lvremove /dev/vgname/lvname

3.vgremove vgmage

4.pvremove /dev/sdX

原文地址:https://www.cnblogs.com/centos-Paul/p/9416348.html

时间: 2024-11-05 21:34:03

浅谈Linux磁盘与文件系统管理的相关文章

第八章、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 支持的文

Linux磁盘与文件系统管理

Linux磁盘与文件系统管理 磁盘分区后需要进行格式化,是为什么呢? 因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,以成为操作系统能够利用的文件系统格式.

linux磁盘及文件系统管理初步(1)

Linux系统管理 磁盘分区及文件系统管理 RAID LVM:能够实现磁盘边界的动态管理 网络属性管理 程序包管理:程序包的增删查改 sed 和awk 进程查看和管理 内核管理:内核的组成部分,内核的编译安装 系统启动流程 Linux内核的定制,编译内核,busybox 系统安装:kickstart,dhcp,pxe shell脚本编程 Linux磁盘及文件系统管理: 整个操作系统的组成部分:硬件和软件 整个操作系统的组成层次:最底层为硬件设备(这也是我们计算机能够运行的基础),在硬件设备上冯诺

linux磁盘及文件系统管理的部分知识一

今天学习了linux磁盘及文件系统管理的部分知识,这里做下小结备忘. 文件系统相关: 虚拟文件系统(VFS): 可以这么理解吗? 对上层用户命令及操作进行翻译转换 目的是可以在不同文件系统上运行. 根(\): 理解存储及访问方式. 一切目录不管它是否被挂载到其他分区上 对于这个目录本身而言及它的父目录都是存储在根分区的\var \etc \etc\rc.d\init.d 访问的时候不管直接或者间接都是通过根目录进行访问的. 文件系统类型: ext4\3\2  xfs ... 硬盘相关: 1.硬盘

Linux系统--Linux磁盘和文件系统管理

Linux磁盘和文件系统管理 一.Linux磁盘管理: 1.磁盘的物理组成部分(这里介绍的主要是机械硬盘) a.磁盘的组成主要有: 盘片,机械手臂和磁头,主轴马达 b.磁盘的数据存储和读取在于磁盘的盘片,在盘片上的一些概念: 扇区(sector):就是将盘片划分成若干个扇区.扇区是最小的存储单位,每个扇区512个字节. 柱面(Cylinder):磁盘是有多个盘片组合而成,而柱面是有不在同一磁盘上的相同位置上的扇区组成.柱面是分区的最小单位,也就是分区是根据柱面分区的. c.第一个扇区的组成: 有

Linux磁盘和文件系统管理

Linux系统中的磁盘和文件系统管理,之所以将二者放在一起总结,是因为在平时的工作中,二者是相辅相成的,常常用来一起使用. 首先介绍下磁盘分区的管理工具 常用的磁盘分区管理工具有fdisk,parted,sfdisk 这里我们介绍下常用的fdsik工具 fdisk -l [DEVICE]... :列出指定磁盘设备上的分区情况 fdisk [DEVICE]:创建分区 fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能:所有的操作均在内存中完成,没有直接同步到磁盘:直到

linux磁盘及文件系统管理进阶

回顾: 磁盘,磁盘分区,文件系统 现在的磁盘有两类:机械硬盘和固态硬盘 为了使机械硬盘上流传下来的概念,和组织方式依然可用,固态硬盘也模拟了类似于机         械硬盘上的很多特性,想MBR之类的哪些东西,依然模拟扇区和那些机制,只不过是        固态硬盘是电器设备工作,机械硬盘是机械方式工作而已. 无论是那种格式的硬盘在cent0S6,7只要是磁盘设备而且能够驱动的话统统识别为:                 /dev/sd[a-z]# 管理分区:fdisk,parted,sfdi

linux磁盘和文件系统管理(一)

磁盘和文件系统管理(一) 要求: 一,关机后添加一块20GB的SCSI磁盘,重新开机进入RHEL 5系统 二,分区并格式化 1,使用fdisk命令对新硬盘进行分区,建立一个10GB的主分区("/dev/sbd1") 步骤:如图所示: 执行"fdisk -l"命令可以查看,确认新增硬盘的设备名称和设置."fdisk -l"命令的作用是列出当前系统中所有硬盘设备及其分区的信息. 在硬盘设备中创建.删除.更改分区等操作同样通过fdisk命令进行,只要使

初学者----linux磁盘和文件系统管理

大家也许对windows的磁盘和文件系统管理很懂,但是linux却没有像windows那样简单方便,但我们喜欢的是linux的高效快捷,所以学会linux的磁盘和文件系统管理,将会使得我们在企业的工作当中更加的如沐春风. 下面是我在虚拟机下面做的一些linux简单的逻辑磁盘管理,有错误的地方还希望大家多多探讨!!!! 一.在安装好的linux系统上添加两块虚拟硬盘 二.安装完成后重启系统. 三.查看两块硬盘是否存在. 四.磁盘划分 第一块磁盘划分 第二块磁盘划分 五.逻辑卷管理 六.实验验证