一、设备识别
设备接入系统后都是以文件的形式存在
设备文件名称:
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 -l ##查看磁盘分区情况
lsblk ##设备使用情况
blkid ##设备管理方式及设备id
df ##查看正在被系统挂载的设备
cat /proc/partitions ##查看系统识别设备
二、设备挂载
在系统中有设备id的设备是可以被系统使用的,对于新加的硬盘/dev/sda,不可以被挂载
挂载命令:
mount -o 挂载参数 device 挂载点
umount 设备|挂载点
mount ##查看挂载信息
mount -o rw /dev/nvme0n1p1 /westos
mount -o remount,ro /westos ##转换挂载参数由读写变为只读
在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点 #-k 结束进程, -v 现实详细信息 -m 显示进程
“注意:以上设备挂载都是临时挂载”
设备永久挂载
vim /etc/fstab ##设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos iso9660 defaults 0 0
此文件在编写完成后不会马上生效 mount -a ##重新读取/etc/fstab文件
此文件内容编写错误会导致系统启动失败
按照提示在操作界面输入超级用户密码
注释错误行,重启系统即可
四、设备中文件的查找
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 2 -name passwd
find /etc/ -maxdepth 2 -mindepth 2 -name passwd
find /mnt -user thermal
find /mnt -not -user thermal
find /mnt -user thermal -o -user cao
find /mnt -user thermal -a -group cao
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
find /mnt -perm /111 -type f -exec chmod ugo-x {} ; # {} 表示find命令查找结果,\是为了转译“;”
ls -l
-exec 是找出目标文件执行 chmod ugo-x 的命令
四、分区
分区方式 位数 分区表大小 支持分区个数 支持单个分区大小
传统分区方式 (MBR) 32 64 主分区4个 2.2TB
所有分区16个
UEFI (GPT) 64 128 理论上无限制 8ZB
windows下128个
##MBR分区方式:##
主分区 :红蓝黑分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区 :绿色容器
主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区 :绿色框分区
扩展分区之上划分的分区叫做逻辑分区
#分区方法#
fdisk /dev/sda 命令
输入m获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
Command (m for help): n #新建
p primary ##主分区
e extended ##扩展分区
Select (default p): p ##建立主分区
Partition number (1-4, default 1):1 ##分区表位置
First sector (2048-20971519, default 2048): ##分区起始位置推荐使用默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +100M ##分区结束位置
Command (m for help):wq ##退出保存,如果直接q表示退出不保存
已经被识别,但是建议每次都同步一次分区表:
partprobe ##同步分区表
partx -d /dev/sda ##清理分区表
partx -a /dev/sda ##重新加载分区表
mkfs.xfs /dev/sda1 ##格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件),之后才能使用,才能挂载
如果使用mbr分区方式,最后一个分区必须为扩展分区,建立扩展分区时必须使它充满整个硬盘,起始和结束位置都采用默认。
当最后一块划分为扩展分区时,在新建的分区都为逻辑分区
==========
#mbr分区方式转换成GPT#
parted /dev/sda
(parted) mklabel
更改成功,在此新建时就不会询问主分区还是扩展分区,因为都是主分区
其他步骤就和mbr分区方式没有区别了。
五、swap分区
作用:
程序在运行时所有数据是存储在RAM(内存)中,当RAM使用量超过了限额,为了使系统更加稳定,
我们在硬盘上划分一部分空间来作内存缓冲区swap。
当内存使用超过限额,内核会把内存中闲置的数据存放到swap中
当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理
swap分区大小建议:
内存大小 swap分区建议大小 当允许HIBERNATE
2GiB以下 内存两倍 内存3倍
2-8GiB 等于物理内存 物理内存2倍
8-64GiB 4GiB 1.5倍物理内存
64GiB以上 4GiB HIBERNATE不开
swap管理
swapon -s ##查看swap分区信息
创建swap分区:
1.先创建普通分区
2. t 转换分区类型为linuxswap
转换成功,在企业8中推荐使用 udevadm settle 同步分区表
mkswap /dev/sda1 ##格式化设备位swap格式
用 swapon 添加/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
六、磁盘配额
作用:设定用户能写入指定设备的最大额度
设定方法:
mount /dev/sda1 /pub/ -o usrquota ##挂载设备并激活配额参数
quotaon -uv /dev/sda1 ##激活配额
edquota -u cao ##设定用户cao配额
设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard
/dev/sda 20480 0 20480 1 0 0
永久开启配额方式:
vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0
测试:
su - cao #切换至cao用户
cd /pub #进入目录
dd if=/dev/zero of=/pub/leefile bs=1M count=22 ##截取数据失败只能写入20M数据
关闭配额:
quotaoff -uv /dev/sda1
vim /etc/fstab ##去掉配额参数usrquota
七、逻辑卷
pv ##物理卷 被处理过的物理分区
pe ##物理扩展 设定存储最小单元
vg ##物理卷组 捆绑pv到一个组中
lv ##逻辑卷 分配最终的使用设备
监控建立过程
watch -n 1 “pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /weixindata”
lvm 设备建立
建立物理分区并设定分区type为lvm
pvcreate /dev/sda2 ##创建pv
vgcreate westosvg -s 2M /dev/sda2 ##创建vg -s设定pe大小位2M
lvcreate -L 100M -n westoslv westosvg ##创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/mapper/westosvg-westoslv ##格式化后才能挂载
mount /dev/westosvg/westoslv /weixindata/ ##挂载
lvm的拉伸
1.当vg中的容量充足
lvextend -L 200M /dev/mapper/westosvg-westoslv ##拉伸设备到200M
xfs_growfs /weixindata/ ##拉伸文件系统,在rhel7中可以用设备或挂载点,在rhel8中只能用挂载点
resize2fs /dev/mapper/westosvg-westoslv ##当文件系统为ext时使用此命令
2.当vg中的容量不足时
先划分分区/dev/sda3类型为lvm。
pvcreate /dev/sda3
vgextend westosvg /dev/sda3
然后我们再次拉伸至2500M
lvextend -L 2500M /dev/westosvg/westoslv
xfs_growfs /weixindata/
lvm缩减
xfs文件系统不支持缩减ext文件系统可以
umount /dev/westosvg/westoslv
mkfs.ext4 /dev/westosvg/westoslv
ext4文件系统拉伸:
resize2fs /dev/mapper/westosvg-westoslv
缩减步骤:
umount /weixindata #不支持在线缩减
e2fsck -f /dev/westosvg/westoslv #先检查内容
resize2fs /dev/westosvg/westoslv 1500M #拉伸不用加参数,缩减加
lvreduce -L 1500M /dev/westosvg/westoslv #缩减逻辑卷
mount /dev/westosvg/westoslv /weixindata/ ##挂载查看上面两张图片
vgreduce westosvg /dev/sda3 ##可对比前面图片查看变化
pvremove /dev/sda3
lvm删除:
umount /dev/mapper/westosvg-westoslv #卸载
lvremove /dev/westosvg/westoslv #删除逻辑卷
vgremove westosvg #删除物理卷组
pvremove /dev/sda2 #删除物理卷