Linux教程

Linux存储管理

本文主要是介绍Linux存储管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

A.查看磁盘设备

/proc/partitions

问题1:如何添加一块新的硬盘

virt-manager

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题2:如何查找文件系统中的文件

find /mnt/ -name "*westos*"
find /mnt/ -name westosfile1

问题3:设定查找文件的深度

find /mnt -maxdepth 1 -name westosfile1
#查找文件的深度为1层
find /mnt -mindepth 2 -maxdepth 2 -name westosfile1
#只查找第二层
find -name
     -user
     -group
     -type f a s b l
     -perm 222 /222 -222
     -exec
     -maxdepth 1
     -mindepth 2
     -cmin 1 -1 +1 #时间
     -size +| -| 1M
     -o  #或者
     -a  #并且
     -not  #不是
find /mnt -user jin -o -user westos
#用户jin或者用户westos
find /mnt -user jin -a -group jin
#用户是jin并且组也是jin -a 也可以不写
find /mnt -user jin -not -group jin
#用户是jin 组不是jin的

问题4:如何做一个指定大小的文件

dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10
#if inputfile ; of outputfile ; bs blocksize ; count 数量
du -sh westosfile1
du -sh westosfile{1..3}
#查看文件大小

问题5:查找指定大小的文件

find /mnt -size 20M
#查找大小为20M的文件
find /mnt -size -20M
#查找大小小于20M的文件
find /mnt -size +20M
#查找大小大于20M的文件

问题6:查找指定时间修改的文件
这个功能的作用是当系统有问题的时候,快速查找自己修改过的文件

find /mnt -cmin 1
#查找一分钟被修改的文件
find /mnt -cmin -1
#查找一分钟内被修改的文件
find /mnt -cmin +1
#查找一分钟以上被修改的文件

问题7:查找指定权限的文件

ls -l #查找当前目录中子文件的权限
find /mnt -perm 444
#查找ugo位都是r的文件
find /mnt -perm -444
#查找ugo位含有r的文件  -表示权限都要满足
find /mnt -perm /444     
#查找u或者g或者o位有r的文件  /755其中有几个字母就有几个条件

问题8:处理根据find命令查找出来的文件

find /mnt -perm -002 -exec o-w {} \;
# {}表示find命令查找出来的所有文件  ; 表示命令执行时,前后要分开的意思,但是在这条命令中;有自己特殊的含义,所有要用\转义符只能转义一个或者是""引起来

问题9:设备的查看
设备的情况
(1)设备真实存在,但系统没有识别
(2)设备被系统识别,但没有被利用
(3)设备被系统识别了,并被利用
查看设备信息

fdisk -l  #真实存在的设备,系统识不识别不好说

![在这里插入图片描述](https://www.www.zyiz.net/i/ll/?i=0c62fb64261045e5aeb81968789eaad9.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JeV57KJ5aec,size_20,color_FFFFFF,t_70,g_se,x_16
查看系统中的设备

lsblk #设备使用情况  #系统识别可使用
或
cat /proc/partitions  #系统识别可使用

在这里插入图片描述
查看被系统使用的设备

df  #被系统利用的设备
df -h  #显示单位  以2的n次方位单位
df -H  #以10的n次方位单位
blkid #设备管理方式及设备id  #系统识别可使用

问题10:设备挂载

umount 设备
#卸载
mount 设备 挂载点
mount 
#查找挂载信息

问题11:设置只读挂载

mount -o ro /dev/sdb1 /mnt/
#ro read-only

问题12:当一些设备是只读挂载的时候,在挂载情况下,如何将其改变为读写状态

mount -o remount,rw /dev/sdb1
#如果出现还不可以创建新文件,便先卸载设备,再重新挂载
umount /dev/sdb1
mount -o rw /dev/sdb1 /mnt/

问题13:当/mnt/被系统的另一个shell占用时,/mnt卸载不掉的情况。

lsof /dev/sdb1
#查看设备上正忙的信息
fuser -kvm /dev/sdb1
#即查看又能将查看的命令结束掉

at crontab 在执行的时候,是有输出的,会通过邮件的方式,发送给任务的发起者。

dnf install postfix mailx -y
systemctl enable --now postfix
mail

B磁盘分区
legacy (MBR) 32 64byte 主分区4个 2.2TB 所有分区16个
UEFI (GPT) 64 128byte 理论上无限个 8ZiB windows 128
MBR分区方式:
主分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区
主分区表记录的分区,不可以直接使用,只是逻辑分区容器
逻辑分区
扩展分区之上划分的分区叫做逻辑分区
在这里插入图片描述
逻辑分区的优点:不占分区表
缺点:当扩展分区挂掉以后,逻辑分区全坏了

分区命令:fdisk交互式 parted非交互式
问题14:设定非交互分区方式

parted /dev/vdb mklabel gpt
#设定/dev/vdb的分区方式是gpt
parted /dev/vdb mklabel msdos
#设定/dev/vdb的分区方式是MBR
parted /dev/vdb mkpart primary 1 1000
parted /dev/vdb rm 2
#2表示第2个

问题15:设定交互方式

fdisk /dev/vdb  #进入交互界面

问题16:如何使设备上的分区表和内核上的分区表同步

fdisk /dev/vdb  #进入交互界面
udevadm settle
cat /proc/partitions
#此时分出来的分区上不能使用的,只是划分出来了几个设备,但是设备上没有文件系统的。管理文件的软件叫文件系统

C文件系统
文件系统 FAT16 FAT32 NTFS EXT3 EXT4 XFS
最大卷 2GB 4GB 256TB 32TB 1EB 16EB #支持的单个设备大小
最大单个文件 4GB 8TB 16TB 2TB 16TB 8EB
最大文件个数 65536 4177920 4294967295 32000个子目录 无限子目录 无限子目录
代表系统 DOS/Win95 Win98 Win2000以后 RHEL5 RHEL6 RHEL7~
让系统支持NTFS系统,就安装一个NTFS的插件,NTFS-3G
rpm -ivh 链接

mkfs.xfs /dev/vdb1
mkfs.vfat /dev/vdb2
#格式化
mkfs.xfs -K /dev/vdb5
#K表示不对空的数据块做处理,就没有清理数据的过程,适用于格式化一个新的,并且比较大的磁盘

问题17:实现永久挂载
mount 命令可以写到 /etc/rc.d/rc.local,但是这个文件只有在系统启动之后,才会在最后一步执行这个文件的内容。
磁盘挂载策略文件

vim /etc/fstab
#当这个文件没有立即生效
mount -a
#让etc中的设备立即被挂载上

在这里插入图片描述
问题18:如何删除挂载的设备
首先将/etc/fstab刚在写入的那一行删除,再

umount /mnt
fdisk /dev/vdb
p
d
1

问题19:如何将整个磁盘快速地清理
将分区表破坏掉

dd if=/dev/zero of=/dev/vdb bs=1M count=1

Dswap分区:充当内存的一个仓库
硬盘读写速度慢
/dev/shm 内存
/mnt 硬盘
内存被存储满了之后,CPU就停止运行
swap使电脑优化的重要部分,它可以不让电脑死机
当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时,内核将swap分区中的数据在交还给内存进程处理
HIBERNATEX在关机的时候,会把内存当中的数据存放到硬盘里,在开机的时候,重新从硬盘里加载。
swap分区大小建议
内存大小 swap分区建议大小 当允许HIBERNATE
2GiB以下 内存两倍 内存3倍
2-8GiB 等于物理内存 物理内存2倍
8-64GiB 4GiB 1.5倍物理内存
64GiB以上 4GiB HIBERNATE不开

问题19:swap分区

swapon -s
#查看swap分区
fdisk /dev/vdb
#进入界面
n
p

t
l#类型
82#选择swap分区
wq
udevadm settle
#这样就将swap划分出来了
mkswap /dev/vdb1 #将swap格式化
blkid
swapon -a /dev/vdb1  #激活swap分区
swapoff /dev/vdb1  #将swap从激活状态换到停止状态
swapon -a /dev/vdb1 -p 1  #改变优先级为1
fdisk /dev/vdb
d
p

在这里插入图片描述
E磁盘配额
问题20:让某些人往设备里写东西的时候,是有限制的
第一步:激活这个设备上限制的功能

umount /westos
mount -o usrquota /dev/vdb1 /westos/  #激活配额参数
mount
edquota -u westos
#配额针对于设备

在这里插入图片描述
只在第一个hard那里做改变,20480
在开机时启动

vim /etc/fstab
#写入
/dev/vdb1  /westos  xfs  default,usrquota 0 0

配额不想要了
第一种方法:删除/etc/fstab中写入的

quotaoff -uv /dev/vdb1
#v 显示过程  u 用户

第二种方法:直接卸载,重新挂载

umount /westos
mount /dev/vdb1 /westos/
mount
这篇关于Linux存储管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!