磁盘管理与文件系统

磁盘管理与文件系统

一、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 对磁盘进行分区

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空闲大小sharedbuff/cache缓存/缓冲available可用大小
mem内存37734012971124003086
swap交换分区12288012288

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减少
物理卷/pvpvscanpvcreatepvdisplaypvremove//
卷组/vgvgscanvgcreatevgdisplayvgremovevgextendvgreduce
逻辑卷/lvlvscanlvcreatelvdisplaylvremovelvextendlvreduce

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

masonyong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值