Linux系统管理——磁盘与文件系统管理

时间:2024-03-18 20:56:16

                                 第十章 磁盘与文件系统管理

一、磁盘结构及分区表示
1、磁盘基础
(1)硬盘的结构
①数据结构
1)扇区:每个扇区存放512字节,磁片被分为多个扇形区域
2)磁道:同一盘片不同班级的同心圆
3)柱面:不同盘片相同半径构成的圆柱面
②物理结构
1)盘片:多个盘片,每个盘片2面
2)磁头:每面一个磁头
③储存容量=磁头数*磁道数*每道扇区数*每扇区字节数
(2)硬盘的接口
ATA(IDE)
Advanced Technology Attachment,并口数据线连接主板与硬盘,抗扰性太差,且占空间大,不利于散热,已逐渐被SATA取代
SATA
Serial ATA,抗扰性强,支持热插拔,速度快,纠错能力强
SCSI
Small Computer System Interface,小型机系统接口。广为工作站级个人电脑及服务器使用,传输资料时CPU占用率较低,转速快,支持热插拔
SAS
新一代SCSI技术,和SATA相同,采取序列式技术以获得更高的传输速度,可达到6Gb/s
2、磁盘分区表示
(1)MBR
①包含引导程序和分区表
②分区表中存储着硬盘的每个分区信息
每块硬盘之多可以划分4个分区
划分更多分区时可对某一分区进行扩展
最大只支持2T
(2)GPT
支持每个磁盘上超过4个分区
UEFI相辅相成
(3)磁盘分区的表示
①硬盘
②分区
(4)Linux中使用的文件系统类型
EXT4
SWAP
XFS
3、windows中的卷分类
(1)跨区卷
①由多个物理硬盘组成的动态卷
②容量是各个硬盘容量的总和
(2)带区卷
①以带区形式在两个或多个磁盘上存储数据的动态卷
每个磁盘的大小需一致,数据交替存储
③至少需要两块磁盘
类似raid0
(3)镜像卷
①在两个物理磁盘上复制数据的容错卷
②秩序两块大小相同的磁盘
容量是两块磁盘容量总和的一半
类似raid1
(4)Raid-5卷
①数据分散吸入硬盘并建立一份奇偶校验数据信息
②具有较高磁盘利用率,读写性和可靠性
③至少需要三块磁盘空间相同的硬盘
容量为磁盘数量-1

二、管理磁盘及分区
1、检查的并确认新硬盘
(1)挂接好新的硬盘设备并启动主机后,Linux会自动检查并加载该硬盘,无需额外安装驱动。执行fdisk -l命令可查看、确认新增硬盘的设备名称和位置。
(2)Device:分区设备文件名
(3)Boot:是否引导分区。
(4)Start:该分区在硬盘中的其实位置(柱面数)
(5)End:该分区在硬盘中的结束位置(柱面数)
(6)Blocks:分区的大小,以块(Block)为单位,默认块大小为1024字节
(7)Id:分区对应的系统ID号。83表示Linux中的EXT4分区,8e表示LVM逻辑卷
(8)System:分区类型
2、规划硬盘中的分区
(1)硬盘中设备的创建、删除、更改分区等操作用同样通过fdisk命令。执行fdisk可进入到交互式的分区管理界面中
(2)p列出硬盘中的分区情况
(3)n新建分区
p主分区
e扩展分区
主分区和扩展分区序号只能为1-4分区起始位置一般有fdisk默认识别即可结束位置或大小可以使用+sizeM+sizeG的形式,表示将该分区的容量设置为sizeG或M
(4)d删除分区
(5)t变更分区类型
l查看类型列表
EXT4:83
SWAP:82
NTFS:86
extended:5
(6)w保存退出q退出fdisk

三、文件管理系统
1、创建文件系统
(1)mkfs命令的使用
mkfs -t 文件系统类型 分区设备
②创建EXT4文件系统:mkfs -t ext4 /dev/sdb1
③创建FAT32文件系统:mkfs -t vfat -F 32 /dev/sdb6
CentOs6默认使用EXT4文件系统,CentOS7默认使用xfs文件系统
⑤SAS/SATA硬盘文件系统选择方案可根据具体情况分为以下几类
1)数据库业务,可选择xfs类型
2)有大量项文件的业务,可选择ReiserFS文件系统
3)常规应用选择默认文件系统即可
(2)mkswap命令的使用
先使用fdiskID号设为82
②使用mkswap 分区
③使用swapon 分区命令启用分区
④使用swapoff 分区可停用分区
2、挂载、卸载文件系统
Linux中虽然系统核心能够通过设备文件方式操作设备,但对于用户来说,需要增加一个挂载过程,将设备挂载到目录结构才能正常访问设备中的资源
(1)挂载文件系统
mount {-t 文件系统类型} 存储设备挂载点
其中文件系统类型通常可以省略(由系统自动识别)
使用不带参数的mount时,将显示出系统中已挂载的各个分区的相关信息
④实际工作中,经常使用mount -o loop将镜像文件(.iso)挂载到指定目录使用
(2)卸载文件系统
umount
(3)设置文件系统的自动挂载
/etc/fstab文件视为mount的配置文件,通过添加相应配置,实现开机后自动挂载指定分区
②字段含义
1)第1字段:设备名或设备卷标名
2)第2字段:文件系统的挂载点目录位置
3)第3字段:文件系统类型(EXT4等)
4)第4字段:挂载参数。及mount命令-o选项后可使用的参数:defaults、rw、ro、noexec分别表示默认参数、可写、只读、禁用执行程序
5)第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般1表示需要,0则被dump忽略
6)第6字段:决定在系统启动时进行磁盘检查的顺序0表示不检查,1表示优先检查,2表示其次检查。根分区应设备1,其他分区设为2
使用mount或umount时,若在/etc/fstab中已设置对应挂载记录,则只需指定挂载点目录或设备文件名中的一个作为参数
(4)查看磁盘使用情况
df命令
-h显示单位
-T显示对应文件系统的类型

四、管理LVM逻辑卷
1、LVM概述
(1)LVM是linux中对磁盘分区进行管理的一种逻辑机制,能够在保持现有数据不变的情况下动态调整磁盘容量
/boot分区用于存放引导文件,不能基于LVM创建
②图形界面管理工具:system-config-lvm
(2)PV(Physical Volume,物理卷)
①物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM属性,并把存储空间分割成默认大小4M的基本单元(Physical Extent,PE。对用于转换成物理卷的普通分区,建议先使用fdisk将分区类型ID改为8e。若是整个硬盘,可以将所有磁盘空间划分为一个分区后再做相应调整。
(3)VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,卷组的名称有用户自定义
(4)LV(Logical Volume,逻辑卷)
建立在卷组之上,与物理卷没有直接关系
②对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中切出一小块空间,作为用户创建文件系统的基础,这块空间即是逻辑卷
2、管理LVM
(1)PV物理卷管理
pvscan命令
1)用于扫描系统中所有物理卷并输出相关信息
pvcreate命令
1)用于将分区或整个硬盘转换为物理卷,主要是添加LVM属性信息并划分PE存储单位。需要分区的设备文件作为参数(可多个)
2)pvcreate /dev/sdb1 /dev/sdb2:将分区sdb1和2转换成物理卷
3)pvcreate /dev/sd{b,c}1
pvdisplay命令
1)用于显示物理卷的详细信息,需要指定的物理卷作为命令参数
2)pvdisplay /dev/sdb1:查看sdb3的详细信息
pvremove命令
1)用于将物理卷还原成普通分区或磁盘
2)pvremove /etc/sdb1
(2)VG卷组管理
vgscan命令
1)扫描系统中已建立的LVM卷组
vgcreate命令
1)将一个或多个物理卷创建为一个卷组,第一个参数用于设置卷组名称,其后依次指定需要加入卷组的物理卷
2)vgcreate vgname /dev/sdb1 /dev/sdb2
vgdisplay命令
1)显示系统中各卷组的详细信息,可指定卷组名称作为参数
2)vgdisplay vgmane
vgremove命令
1)删除指定卷组,指定卷组名称作为参数
2)vgremove vgmane
vgextend命令
1)用于扩展卷组的磁盘空间。可将新建物理卷添加到之前建立的卷组中。第一个参数为需扩展的卷组名称,其后为需添加的物理卷
2)vgextend vgname /dev/sdb3
vgreduce命令
1)减少卷组磁盘空间
(3)LV逻辑卷管理
lvscan命令
1)用于扫描已建立的逻辑卷及相关信息
lvcreate命令
1)从指定卷组中分割空间,以创建逻辑卷。需指定逻辑卷大小、名称及所在卷组名作为参数
2)创建好后,可通过/dev/卷组名/逻辑卷名形式的设备文件进行访问(或/dev/mapper/卷组名-逻辑卷名
3)lvcreate -L 容量大小 -n 逻辑卷名卷组名
4)示例:lvcreate -L 10G -n lvname vgname
lvdisplay命令
1)显示逻辑卷的详细信息,需要制定逻辑卷设备文件或卷组名称作为参数
lvextend命令
1)动态扩展逻辑卷空间,可以从所在卷组分割额外空间进行扩展。要指定需增加的容量大小及逻辑卷文件位置
2)lvextend -L +大小 /dev/卷组名/逻辑卷名
3)示例:lvextend -L +10G /dev/vgname/lvname
4)扩展大小受限于所在卷组剩余空间,超过卷组剩余空间时,需先通过vgextend扩展卷组容量
lvremove命令
1)删除制定逻辑卷,直接把逻辑卷设备文件作为参数
2)示例:lvremove /dev/vgname/lvname
3)删除前需确认数据是否备份,且该逻辑卷不再使用
lvreduce命令
1)减少逻辑卷空间
2)对减少容量的文件系统卸载(根文件系统是无法卸载的)
3)使用
e2fsck -f检查lv的文件系统
e2fsck -f /dev/vgname/lvname
4)使用
resize2fs减小文件系统的大小
resize2fs /dev/vgname/lvname 50M
5)减小LV的大小:lvreducelvresize,最好用PE数量
lvreduce -L -450M /dev/vgname/lvname

(4)LVM应用实例
①关闭服务器正确挂接硬盘
②开启服务器,执行fdisk -l进行检查
③将每块硬盘划分为独立的主分区并修改分区类型为8e
Linux系统管理——磁盘与文件系统管理
Linux系统管理——磁盘与文件系统管理
④将分区转化为物理卷
Linux系统管理——磁盘与文件系统管理
⑤将物理卷整合为卷组
Linux系统管理——磁盘与文件系统管理
⑥在卷组中创建逻辑分区
Linux系统管理——磁盘与文件系统管理
⑦用ext4格式化逻辑分区并挂载
Linux系统管理——磁盘与文件系统管理
Linux系统管理——磁盘与文件系统管理
⑧使用lvextend命令扩展逻辑分区,并用resize2fs命令更新识别文件系统大小
Linux系统管理——磁盘与文件系统管理
Linux系统管理——磁盘与文件系统管理

五、磁盘配额
1、条件
(1)需要linux内核支持
(2)安装quota软件包
2、linux磁盘限额特点
(1)作用范围:针对指定的文件系统(分区)
(2)限制对象:用户账号、组账号
(3)限制类型
磁盘容量(默认单位为kb)
②文件数量
(4)限制方法
软限制(提醒,但未强制限制)
硬限制
(5)步骤
①检查系统是否安装qouta
把需要限制的分区以支持磁盘配额的方式进行挂载
1)mount -o remount,usrquota,grpquota /dev/vgname/lvname /sdb1
2)/det/fstab ……defaults,usrquota,grpquota……
③检查配额文件并生成配额文件
1)创建配额文件quotacheck
a.-ugcv
b.-augcv
2)查看selinux
a.getenforce
3)关闭selinux
a./etc/sysconfig/selinux中修改配置disable
b.setenforc 0(1为启用)
④修改配额文件
1)edquota -u 用户名
a.blocks:已用容量(字节)soft:容量软限制hard:容量应限制
b.inodes:已用梳理softhard
2)edquota -g
⑤启动文件配额功能
1)quotaon -augv
2)quotaoff
⑥验证
1)dd命令:dd if=/dev/zero of=/sdb1/test bs=1M COUNT=45
Linux系统管理——磁盘与文件系统管理

2)guota -u -g 用户或组
3)repquota 目录
Linux系统管理——磁盘与文件系统管理

六、RAID磁盘阵列与阵列卡磁盘配额
1、不同RAID卡支持不同RAID功能
2、RAID类型
(1)0:条带化存储,将连续数据进行分割,将数据分段存储于各个硬盘中,有很高的传输率,可达到单个硬盘的N倍,但没有数据冗余。
(2)1:镜像存储,通过磁盘数据镜像实现数据冗余,写性能较慢,主要受限于最慢的磁盘,读性能比较快磁盘个数必须为偶数,可用容量为N/2
(3)5:把数据以块分段条带化存储,并且奇偶校验信息和相对于的数据分别储存不同的磁盘上任意N-1(N>=3)块磁盘的容量都存储完整数据。写的性能相对不高
(4)6:采用双重校验,在RAID5上增加了第二个独立的奇偶校验信息库写性能较差,但进一步加强了数据保护。可用容量为 (N-2)/N,N>=4
(5)1+0:1和0的结合,先做镜像1,在做条带0。
(6)0+1:与1+0相似,但安全性低于1+0
3、硬RAID
(1)通过RAID卡实现
4、软RAID
(1)工具:mdadm
(2)准备用于RAID阵列的分区
分区类型fd
(3)mdadm命令
-C /dev/阵列名(md开头) -a yes -l (0,1,5,6) -n(硬盘数)  /dev/sd{d,e,f}1  -x(1) /dev/sdg1
Linux系统管理——磁盘与文件系统管理
查看 -D /dev/阵列名
Linux系统管理——磁盘与文件系统管理

-f /dev/阵列名 dev/sdd1 (卸载掉一个硬盘)
--detail --scan >/etc/mdadm.conf
1)并加入DEVICES /dev/sdb /dev/sde dev/sdf dev/sde
⑤设置自动挂载/dev/fsinit