目录
设备识别
设备接入系统后都是以文件的形式存在
设备文件名称
SATA/SAS/USB /dev/sda,/dev/sdb ##s= SATA, d=DISK a=第几块
IDE /dev/hd0,/dev/hd1 ##h= hard
VIRTIO-BLOCK /dev/vda,/dev/vdb ##v=virtio
M2(SSD) /dev/nvme0,/dev/nvme1 ##nvme=m2
SD/MMC/EMMC(卡) /dev/mmcblk0,/dev/mmcblk1 ##mmcblk=mmc卡
光驱 /dev/cdrom,/dev/sr0,/dev/sr1
设备查看
fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。
命令 | 功能 |
-b | 指定每个分区的大小 |
-l | 列出指定的外围设备的分区表状况 |
-s | 将指定的分区大小输出到标准输出上,单位为区块 |
-v | 显示版本信息 |
fdisk -l ##查看磁盘分区情况
lsblk ##设备使用情况
blkid ##设备管理方式及设备id
df ##查看正在被系统挂载的设备
cat /proc/partitions ##查看系统识别设备
设备挂载
在系统中有设备id的设备是可以被系统使用的
设备临时挂载
- 挂载命令
mount -o 挂载参数 device 挂载点
umount 设备|挂载点
mount ##查看挂载信息
mount -o rw /dev/nvme0n1p1 /westos
mount -o remount,ro /westos ##转换挂载参数由读写变为只读
- 挂载时设备正忙
fuser -kvm 设备|挂载点 #-k 结束进程, -v 现实详细信息 -m 显示进程
设备永久挂载
vim /etc/fstab ##设备挂载策略文件
## 设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
## 此文件在编写完成后不会马上生效
mount -a ##重新读取/etc/fstab文件
## 若内容书写错误会导致系统启动失败,这个时候只需要按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可以恢复正常
设备中文件的查找
命令 | 功能 |
find -name | 指定字符串作为寻找文件或目录的范本样式 |
find -user | 查找符和指定的拥有者名称的文件或目录 |
find -group | 查找符合指定之群组名称的文件或目录 |
find -type | 只寻找符合指定的文件类型的文件 |
find -perm | 查找符合指定的权限数值的文件或目录 |
find -exec | 假设find指令的回传值为True,就执行该指令 |
find -maxdepth | 设置最大目录层级 |
find -mindepth | 设置最小目录层级 |
find -o | |
find -a | |
find -not |
- find /etc/ -name passwd
- find /etc/ -maxdepth 1 -name passwd
- find /etc/ -maxdepth 2 -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 -user westos -a -group 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命令查找结果 #\是为了转译“;”
分区
位数 | 分区表大小 | 支持分区大小 | 支持单个分区大小 | ||
传统分区方式 | (MRB) | 32 | 64 | 主分区4个,所有分区16个 | 2.2TB |
UEFI | (GPA) | 64 | 128 | 理论上无限制,windows 128 | 8ZB |
MBR分区方式
主分区:主分区表记录的信息,并可以直接使用的分区。
拓展分区:主分区记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
MBR分区方法
输入m查看所有内容
命令 | 功能 |
d | 删除 |
l | 列出所有分区类型 |
n | 新建 |
p | 显示分区表 |
t | 更改分区类型 |
w | 保存更改 |
q | 退出 |
编辑完之后,输入wq位退出保存,输入q则只退出不保存
- 同步分区表
- 清理分区表
partx -d /dev/sda
- 重新加载分区表
partx -a /dev/sda
- 格式化设备为xfs文件系统(相当于在/dev/sda1上安装设备管理软件)
MBR分区方式转换成GPT
parted /dev/sda ## 调整磁盘分区
## [tab] 可以输入的参数
## parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,但是,它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。
swap分区
作用:程序在运行时所有数据是在RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分空间来作为内存缓冲区。当内存使用超过限额,内核会把内存中闲置的数据存放到缓冲区swap中。当程序需要swap分区中的数据时,内核将swap分区中的数据再交还给内存进程处理。
- swap分区大小建议
内存大小 | swap分区建议大小 | 允许HIBERNATE |
2GiB以下 | 内存2倍 | 内存3倍 |
2~8GiB | 等于物理内存 | 物理内存两倍 |
8~64GiB | 4GiB | 1.5倍物理内存 |
64GiB以上 | 4GiB | HIBERNATE不开 |
- swap管理
swapon -s 查看swap分区信息
创建swap分区
- swap分区临时操作
创建分区并设定分区的类型为Linuxswap
mkswap /dev/sda1 格式化设备为swap格式
swapon /dev/sda1 -p 0-32767 -p表示指定swap的优先级
- swap分区永久操作
vim /etc/fstab
/dev/sda1 swap swap pri=4 0 0
swapon -a
删除swap
vim /etc/fstab
/dev/sda1 swap swap pri=4 0 0 ## 删除此行
swapoff /dev/sda1
在这里插入一个小问题:
当系统中swap分区不足,而且系统中磁盘已经没有可使用的swap分区,如何解决?
![](https://i-blog.csdnimg.cn/blog_migrate/b293ffe88df65dee908dbd060ad83ab7.png)
磁盘配额
作用:设定用户能写入指定设备的最大额度。
临时设定方法
mount /dev/sda1 /pub/ -o usrquota ## 挂载设备并激活配额参数
quotaon -uv /dev/sda1 ## 激活配置
edquota -u dsd ## 设定用户dsd配额
永久开启配额
vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0
关闭配额
quotaoff -uv /dev/sda1
vim /etc/fstab ##去掉配额参数usrquota
/dev/sda1 /pub xfs defaults 0 0
逻辑卷
pv 物理卷 ##被处理过的物理分区
pe 物理扩展 ##设定存储最小单元
vg 物理卷组 ##捆绑pv到一个组中
lv 逻辑卷 ##分配最终的使用设备
lvm设备建立
- 建立物理分区并设定分区type为lvm
- 监控
- 建立lvm分区
- 监控
- 创建pv
- 创建vg,设定pe大小为2M
- 创建lvm,-L指定大小,-n指定名称
- 格式化
- 挂载
lvm拉伸
a) 当vg中的容量充足时
拉伸设备
拉伸文件系统,在rhel7中可以用设备或挂载点;在rhel8中只能用挂载点
b) 当vg中的容量不足时
## 划分分区
pvcreate /dev/sda3
vgextend westosvg /dev/sda3
lvextend -L 2500M /dev/westosvg/westoslv
xfs.growfs /weixin/
lvm缩减
## xfs文件系统不支持缩减,ext文件系统可以
mkfs.ext4 /dev/westosvg/westoslv
## ext4拉伸
resize2fs /dev/mapper/westosvg/westoslv
## ext4缩减
umount /weixin
e2fsck -f /dev/westosvg/westoslv
resize2fs /dev/westosvg/westoslv 1500M
lvreduce -L 1500M /dev/westosvg/westoslv
mount /dev/westosvg/westoslv /weixin
vgreduce westosvg /dev/sda3
pvremove /dev/sda3
lvm删除
umount /weixin
lvremove /dev/westosvg/westoslv
vgremove westosvg
pvremove /dev/sda3