一.设备识别
1.设备接入系统后都以文件的形式存在
设备文件名称:
SATA/SAS/USB /dev/sda./dev/sdb(其中s表示SATA,d表示disk,a表示第几块)
IDE /dev/hd0,/dev/hd1 企业七显示的是hd 企业8显示的还是 /dev/sda
VIRTIO-BLOCK /dev/vda, /dev/vdb 虚拟硬盘
M2(SSD)移动固态硬盘 /dev/nvme0, /dev/nvme1
SD/MMC/EMMC(卡) /dev/mmcblk0,/dev/mmcblk1
光驱 /dev/cdrom,/dev/sr0,/dev/sr1
2.设备查看
fdisk -l 查看磁盘分区情况
lsblk 设备使用情况
blkid 设备管理方式及设备id
df 查看正在被系统挂载的设备
cat /proc/partitions 查看系统识别设备
在系统添加3块不同类型的硬盘,硬盘详细信息如下:
二.设备挂载
1.设备临时挂载
在系统中所有设备id的设备是可以被系统使用的
挂载命令:
mount -o 挂载参数 device 挂载点
umount 设备|挂载点
mount 查看挂载信息
mount -o rw /dev/cdrom /westos
mount -o remount,ro /westos 转换挂载参数由读写变为只读
在卸载时若出现设备正忙:
fuser -kvm 设备|挂载点 # -k 结束进程 ,-v 显示详细信息 -m 显示进程
注意以上挂载是临时挂载,可立即用df 查看挂载情况 mount -a 重新读取
操作如下
2.永久挂载
vim /etc/fstab 设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos iso9660 defaults 0 0
修改文件后,挂载不会立即生效,需要重启 或者 mount -a 重新读取/etc/fstab 中的文件
若上述文件配置出错 会导致系统启动失败 按照提示在操作界面输入超级用户密码 注释错误行 重启系统即可。
三.设备中文件的查找
用find命令查找
find -name 查找条件为文件名
-user 查找某个用户的文件
-group 查找某个组的文件
-type 查找某个类型的文件
-perm 按照文件权限查找
-exec 对查找出来的内容进行相应处理
-maxdepth 设定查找最大深度
-mindepth 设定查找最浅深度
-o 条件或者
-a 条件并且
-not 条件反选
例子: find /etc -name passwd
find /etc -maxdepth 1 -name passwd
find /etc -maxdepth 1 -name passwd
find /etc -maxdepth 2 -mindepth 2 -name passwd
find /mnt -user westos
find /mnt -not -user westos
find /mnt -user westos -o -user lee
find /mnt -type d
find /mnt -perm 111 文件权限位111
find /mnt -perm -111 文件权限 u位有1 g位有1 o位有1
find /mnt -perm /111 文件权限u位或g位或o位 有1
find /mnt -perm /111 -type f -exec chmod ugo-x {} \; 其中{} 表示find命令查找结果 \ 为了转译
实验如下:
小测试:
(1)查找/etc目录中对其他人有写权限的文件,并把这些文件的other位写权限去掉
find /etc -type f -perm -002 -exec chmod o-w {} \;
(2)在系统中查找属于westos用户的文件,并吧这些文件打包成/root/westos.tar.gz的压缩包。
find / -user westos -exec tar zcvf /root/westos.tar.gz {} \;
四.分区
1.分区的划分
问题引入:当分区表长度无法满足分区记录存放时,应如何解决?
为解决该问题应引入,主分区,拓展分区,逻辑分区,主分区就是最开始系统默认可以划分的区域,当分区表长度无法满足分区记录存放时,就要用到拓展分区,逻辑分区是在拓展分区底下划分出来的。
2.分区的方法
(1)用到的命令是 : fdisk /dev/sdb 表示对/dev/sdb这块硬盘进行分区
输入上述命令后,输入m 可得到help:
d 删除分区 l 列出所有分区类型 n 新建 t 更改分区类型 wq 保存更改
(2)新建分区的具体操作
扩展分区里面建立逻辑分区
退出保存后的效果
3.设备的使用和删除
(1)使用设备
首先对设备进行格式化 格式化的类型通常有 xfs,vfat,ext4
mkfs.xfs -K /dev/sdb1 将sdb1 格式化成xfs 的类型 K 表示 快速格式化
完成格式化后即可将设备进行挂载
mount /dev/sdb1 /mnt 临时挂载 永久挂载需在/etc/fstab.conf 中写入挂载信息
(2)设备删除
方法一:卸载相关挂载的分区 用命令dd 截取
方法二: fdisk /dev/sdb 进入之后按d 删除分区
4.分区方式的调整
将mbr分区调整为gpt 方式
方法1:parted /dev/sdb --------> mklabel ----->gpt
方法二:fdisk /dev/sdb 按g 建立gpt
5.swap分区
程序在运行时,所有数据都在RAM中,当RAM使用量超过了限额,为使系统更加稳定,此时需要在硬盘划分一部分空间作为内存的缓冲区swap,当内存使用超过限额,内核会把内存中闲置的数据存放在swap中,当程序需要swap分区中的数据时,内核将swap分区中的数据再交还给内核。
swap分区大小建议:
(1)指定swap分区和停止swap分区
fdisk /dev/sdb 设置swap分区
swapon -s 查看系统中swap的分区情况
mkswap /dev/sdb1 格式化成swap
swapon -a /dev/sdb1 临时挂载
swapoff /dev/sdb1 卸载swap
设置swap 的优先级
swapon -a /dev/sdb1 -p 1
永久挂载 vim /etc/fstab
停止删除swap
vim /etc/fstab 注释掉设定行
swapoff /dev/sdb1
fdisk /dev/sdb -------> d
6.磁盘配额
主要用于设定用户能写入指定设备的最大配额。
(1)问题引入: 当出现一个用户能将某个磁盘的空间占满时,此时需要对磁盘配额
(2)用户配额
mount /dev/sdb1 /westostest -o usrquota 挂载设备并激活配额参数
quotaon -uv /dev/sdb1 激活配额
edquota -u skq /dev/sdb1 设定用户skq的配额
测试:
(3)配额在开机时自动激活的设定
vim /etc/fstab
mount -a 刷新挂载情况
(4)关闭配额
quotaoff -uv /dev/sdb1 去掉配额参数
vim /etc/fstab 删除配额
五.逻辑卷 (rhel8 中新加的内容)
问题:当企业中数据目录在用户不断上传数据和新用户不断增加情况下,数据目录会被填满,如何应对该问题?
1.分类
pv 物理卷 被处理过的物理分区
pe 物理扩展 设定存储最小单元
vg 物理卷组 捆绑pv到一个小组中
lv 逻辑卷 分配最终使用的设备
2.实验效果的监控
watch -n 1 "df -h /weixindata;pvs;echo ====;vgs;echo ====;lvs ;echo ====;"
3.lvm设备的建立
(1)建立物理分区并设定分区类型为lvm
(2)建立的操作
pvcreate /dev/sdb3 创建pv
vgcreate westos_vg0 /dev/sdb3 创建vg并命名
lvcreate -L 200M westos_lv0 westos_vg0 创建lvm
mkfs.xfs /dev/westos_vg0/westos_lv0 格式化
mount /dev/westos_vg0/westos_lv0 /weixindata 挂载
(3)lvm的拉伸
当vg的容量充足时 拉伸操作
lvextend -L 500M /dev/westos_vg0/westos_lv0 拉伸至500M
xfs_growfs /weixindata 将文件存储大小拉伸至500M
当vg的容量不足时,需要添加物理卷组来满足拉伸,具体操作为
pvcreate /dev/sdb2
vgextend westos_vg0 /dev/sdb2
lvextend -L 2500M /dev/westos_vg0/westos_lv0
xfs_growfs /weixindata
(4) lvm设备如果要缩减不能使用xfs文件系统,因为xfs文件系统不支持缩减,此时需要用ext文件系统来进行实验。
a)ext4文件系统的格式化 挂载
b)ext4文件系统的拉伸
c)ext4文件系统的缩减
在做缩减前首先要卸载/weixindata
e2fsck -f /dev/westos_vg0/westos_lv0 检测文件
resize2fs /dev/westos_vg0/westos_lv0 1500M 缩减的大小
lvreduce -L 1500M /dev/westos_vg0/westos_lv0 缩减lv
(5)设备的撤除
(6)lvm的快照 (和虚拟机的快照原理一样)
(7)对于lvm中的设备被删除后出现的问题如何解决
出现有一组的名字未知
为解决该问题 运用一条命令
(8)lvm的删除
lvmremove /dev/westos_vg0/westos_lv0
vgremove westos_vg0
pvremove /dev/sdb2
fdisk /dev/sdb 删除分区
七.vdo
1.作用:原始设备中是无法解决设备中重复数据和数据压缩的。需要用到vdo
2.虚拟数据优化器
kvdo 压缩数据
uds 优化重复数据
3.vdo的建立
dnf install vdo -y
vdo create --name=westos_vdo1 --device=/dev/sdb
vdo status --name=westoa_vdo1 | less
查看 Deduplication: enabled vdo 检测并删除重复数据的功能
Compression: enabled vdo 数据压缩功能开启
4.使用设备
mkfs.xfs -K /dev/mapper/westos_vdo1
mkdir /westos_vdo
mount /dev/mapper/westos_vdo1 /westos_vdo
5.测试vdo的性能
vdostats --human-readable
6.vdo设备的删除
vdo remove --name=/westos_vdo1