磁盘管理与文件系统
文章目录
一、linux基础资源
CPU资源、内存资源、磁盘资源、I/O资源、网络资源
磁盘数据结构
扇区、磁道、柱面
二、MBR与磁盘分区表
MBR位于硬盘第一个物理扇区,包含主引导程序和硬盘分区表,分区表有4个分区记录区,每个记录区占16字节
/dev/hda5 #dev硬件设备文件所在目录,hd表示IDE设备是的表示SCSI设备,a为硬盘顺序号,5为分区序号
1、磁盘分区结构
主分区:保存系统相关文件
扩展分区:除主分区以外磁盘的其他区域,可以自由分配
逻辑分区:扩展分区划分的磁盘
交换分区:swap交换分区当内存空间不足将调用交换分区使用
物理内存会划分逻辑区域,防止内存泄漏和溢出,应用程序运用超过划分的虚拟内存时会发生内存交换,会将
swap磁盘空间转交给内存使用
硬盘主分区数目只有4个,主分区和扩展分区限制在1-4,逻辑分区序号从5开始
2、文件系统类型 XFS
- XFS 文件系统
存放文件/目录数据的分区,日志型文件系统,centos7默认文件系统
- SWAP 文件系统
为Linux系统建立交换分区
- Linux 支持其他文件类型
FAT16、FAT32、NTFS、EXT4、JFS
3、检测并确认新硬盘 fdisk
- fdisk 对磁盘进行分区
- mkfs 格式化
fdisk -l [磁盘设备]
fdisk /dev/sdb #对新盘分区 p、n、p、+10G 新建主分区 n、e回车建扩展分区 n、l回车建立逻辑分区
t、2、82 将第二个分区改为swap w保存
ls /dev/sdb* #查看磁盘b目录
mkfs -t xfs /dev/sdb1 #将主分区格式化为xfs 或者用mkfs.xfs /dev/sdb1
df -hT #查看挂载信息
blkid /dev/sdb1 #查看块设备b磁盘1分区的uuid
vim /etc/fstab #修改文件设备,将uuid号粘贴到最后一行 #/home xfs磁盘以xgs格式永久挂载到/home
mount -a #刷新配置文件
SWAP创建系统文件
mkswap /dev/sdb5 #将5分区创建为swap分区
swapon # 开启swap swapof #关闭swapo swapon -s#查看每个分区的swap状态信息
free -m #查看总的swap状态信息***
total总大小 | used已使用 | free空闲大小 | shared | buff/cache缓存/缓冲 | available可用大小 | |
---|---|---|---|---|---|---|
mem内存 | 3773 | 401 | 2971 | 12 | 400 | 3086 |
swap交换分区 | 12288 | 0 | 12288 |
4、挂载文件系统 mount
- mount #挂载文件系统/ISO镜像到指定文件夹
mount [-t 类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
vim /etc/fstab #修改文件永久挂载
- umount #卸载已挂载文件系统
umount 存储设备位置
umount 挂载点目录
三、LVM
- PV 物理卷
- VG 卷组
- LV 逻辑卷
LVM灵活自定义存储空间、支持跨磁盘组成一个完整的逻辑分区
1.管理命令 PV VG LV
功能 | scan扫描 | create建立 | display显示 | remove删除 | extend扩展 | reduce减少 |
---|---|---|---|---|---|---|
物理卷/pv | pvscan | pvcreate | pvdisplay | pvremove | / | / |
卷组/vg | vgscan | vgcreate | vgdisplay | vgremove | vgextend | vgreduce |
逻辑卷/lv | lvscan | lvcreate | lvdisplay | lvremove | lvextend | lvreduce |
2.创建逻辑卷流程 lvm
fdisk /dev/sdb #将第二个硬盘分区
fdisk /dev/sdc #将第三个硬盘分区分一个区即可无需格式化
创建物理卷 pvcreate 分区位置
pvcreate /dev/sdb1 /dev/sdc1 #创建两个物理卷,在pe大小相同的时候可不用创建物理卷
创建卷组 vgcreate 卷组名
vgcreate web_20 /dev/sdb1 /dev/sdc1 #将sdb1和sdc1创建卷组,卷组名为web_20
创建逻辑卷 lvcreate -l 容量大小 -n 逻辑卷名 卷组名
lvcreate -l 30G -n gg web_20 #设置逻辑卷gg大小为30G基于卷组web_20
lvdisplay #查看逻辑卷信息
刷新文件系统 mkfs.xfs
mkfs.xfs /dev/web_20/gg #根据查看的逻辑卷地址格式化
设置永久挂载 /etc/fstab
mkdir /data #创建/data数据文件夹
mount /dev/web_20/gg /data #将逻辑卷挂载到/data目录下
vim /etc/fstab #修改永久挂载文件
/dev/web_20/gg /data xfs defaults 0 0 #末行添加挂载信息
扩容 extend
fdisk /dev/sd d #创建新盘设置分区 n p
vgextend web_20 /dev/sdd1 #将新盘扩容到web_20卷组
lvextend -l +30G /dev/web_20/gg #扩容逻辑卷30G
xfs_growfs /dev/web_20/gg #刷新xfs系统基于逻辑卷地址 resize2fs刷新ext4文件
缩容的话需要解挂载,然后减容刷新才能生效
3.解挂载和杀进程 umount
umount /data #解除挂载
umount -f /data #强制解除挂载
fuser -cu /data #查看data进程 1944c(root) 如果命令不可用可用yum安装
kill -9 1944 #杀掉此data的1944进程
echo"nameserver 114.114.114.144" >> /etc/resolv,conf #如果用yum安装不了可以配置一下
lvm总结
自定义磁盘空间、支持跨磁盘操作,可自定义扩容和缩容,
lvm的作用:
①自定义资源对象(服务器、云主机、虚拟机、容器等等)
②跨区域管理
③弹性扩容、缩容
HTTPD --> Nginx
四、磁盘配额 xfs_quota
是基于linux操作系统功能的一种限制手段,控制方向包含以下两种
1.指定目录下、指定用户身份允许创建文件数量的限制
2.指定目录下、指定用户身份允许使用的磁盘大小限制
对象:目录、用户身份
控制手段:文件数量、磁盘空间
控制管理类型:软限制、硬限制
设置磁盘配额步骤
安装xfsprogs和xfs_quota软件包
yum install -y xfsprogs quta #升级和安装两个依赖软件
将上方/data解挂载
umount /data #解除/data挂载
vim /etc/fstab #配置文件解除永久挂载
/dev/web_20/gg /data xfs defaults,usrquota,grpquota 0 0 #末行添加逻辑卷挂载和用户限制
确保防火墙和核心防护关闭
systemctl status firewalld #关闭防火墙
systemctl disable firewalld #关闭防火墙自启动
setenforce 0 #关闭核心防护
查看系统用户 /etc/passwd
cat /etc/passwd #查询系统用户
useradd lisi #新建用户lisi
echo"123123" >> passwd --stdin lisi #设置密码
设置限额 xfs_quota
- bsoft 设置磁盘容量软限制
- bhard 设置磁盘容量硬限制
- isoft 设置磁盘文件数的软限制
- ihard 设置磁盘文件数的硬限制
-x 启用专家模式
-c 调用管理命令
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lisi' /data #限制/data目录
chmog 777 /data #给予所有权限
测试
touch test{1..10}.txt #设置1到10连续的文件测试数量
dd if=/dev/zero of=/data/123.txt bs=10M count=12 #在zero里提取10M大小文件到123.txt,里共12次
查看配额 report
-u 对用户查看
-g 对组
-a 查看所有可用分区配额使用报告
-b 查看磁盘容量
-i 查看文件数
xfs_quota -x -c 'report -aibh' #查看所有分区的配额情况
五、RAID磁盘阵列
独立冗余磁盘阵列
把多块物理硬盘组合成硬盘组,具有更高的储存性能和数据备份技术
raid0:具有很高数据传输率但是没有数据冗余,其中一块硬盘失效将影响到所有数据
raid1:通过数据镜像实现数据冗余,当一个盘失效会自动切换到镜像盘上读写
raid5:具有校验机制,写性能不高,读写性能较好,允许坏一块盘不影响所有数据
raid10:将两块raid1模式的盘组合成raid1模式,n/2盘同时读取,n块盘同时读取性能高、可靠性较高
1.制作raid5流程
- mdadm
-C 表示新建
-v 显示创建过程中的详细信息
-l 指定raid级别
-n 指定用几块盘创建raid
-x 指定用几块盘做热备盘
yum install -y mdadm #安装mdadm软件包
fdisk /dev/sdb 交互n、p、t、fd、w #创建四个磁盘各设置10G分区1 #/dev/sdc /dev/sdd /dev/sde
fdisk -l #查看磁盘列表信息
mdadm -Cv /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
#用mdadm 在sd[bcd]的1分区新建raid5,位置在/dev/md5,并将sde1设为一个备用盘
查看状态信息
mdadm -D /dev/md5 #查看raid5信息
cat /proc/mdstat #查看raid状态
watch -n 10 'cat /proc/mdstat' #实时刷新mdstat状态
将raid5挂载目录
mkdir /data #在根目录新建data目录
mount /dev/md5 /data #将raid5挂载到/data目录
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /data #将网卡信息复制到/data目录
测试
mdadm /dev/md5 -f /dev/sdb1 #模拟sdb1故障
mdadm -D /dev/md5 #查看到sde1已经顶替sdb1
cat /proc/mdstat #查看raid状态
2.创建raid10流程
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1 #将sd[bc]1两个分区设置为raid1格式,目录名md0
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1 #将sd[de]1两个分区设置为raid1格式,目录名md1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1 #将上面两个raid1设置raid0,目录名md10
简化步骤
mdadm -Cv /dev/md10 -l10 -n4 /dev/sd[bcde]1 #直接设置4块盘为raid10
- mdadm 其他选项
-r 移除设备
-a 添加设备
-S 停止raid