一.设备识别
设备接入系统后都是以文件的形式存在
设备文件名称:
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的设备是可以被系统使用的
挂载命令:
mount -o 挂载参数 device 挂载点
umount 设备|挂载点
mount ##查看挂载信息
mount -o rw /dev/vdb1 /mnt
mount -o remount,ro /mnt ##转换挂载参数由读写变为只读,注意:永久挂载才可以使用此命令
在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点 ##-k 结束进程, -v 现实详细信息 -m 显示进程
umount /mnt ##卸载时设备正在忙
fuser -vm /mnt/ ##查看/mnt/目录下的所有进程的详细信息
fuser -kvm /mnt/ ##结束/mnt/目录下所有的进程
fuser -vm /mnt/
umount /mnt ##卸载
注意:以上设备挂载都是临时挂载
设备永久挂载:
vim /etc/fstab ##编辑设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sdb1 /mnt vfat defaults,ro 0 0
此文件在编写完成后不会马上生效
mount -a ##重新读取/etc/fstab文件
/etc/fstab 文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行后,重启系统即可
三.设备中文件的查找
find /mnt -name "*westos*" ##在/mnt目录中查找文件名称中含有“westos”的文件
find /mnt -type d ##在/mnt 中查找文件类型是目录
find /mnt -type f ##在/mnt 中查找文件类型是f
find /mnt -maxdepth 1 -type f ##在/mnt 中查找文件类型是f,最深为一层
find /mnt -maxdepth 2 -type f ##在/mnt 中查找文件类型是f,最深为两层
find /mnt -mindepth 1 -type f ##在/mnt 中查找文件类型是f,最浅为一层
find /mnt -mindepth 2 -type f ##在/mnt 中查找文件类型是f,最浅为两层
find /mnt -cmin -1 ##在/mnt 中查找文件时间戳距离现在小于一分钟
find /mnt -cmin +1 ##在/mnt 中查找件时间戳距离现在大于一分钟
find /mnt -cmin 1 ##在/mnt 中查找件时间戳距离现在等于一分钟
find /mnt -user root
find /mnt -group lee
find /mnt -user westos -group westos
find /mnt -user westos -not -group westos ##文件所有人是westos,所有组不是westos
find /mnt -user westos -a -not -group westos ##文件所有人是westos并且所有组不是westos
find /mnt -user westos -o -not -group westos ##文件所有人是westos或者所有组不是westos
dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10
dd if=/dev/zero of=/mnt/westosfile2 bs=1M count=20
dd if=/dev/zero of=/mnt/westosfile3 bs=1M count=30
du -sh westosfile1
du -sh westosfile2
du -sh westosfile3
find /mnt -size +20M ##在/mnt 中查找文件的大小大于20M
find /mnt -size 20M ##在/mnt 中查找文件的大小等于20M
find /mnt -size -20M ##在/mnt 中查找文件的大小小于20M
chmod 640 westosfile2
chmod 333 westosfile3
chmod 500 westosfile4
chmod 444 westosfile5
ll
find /mnt -perm 444 ##在/mnt 目录中查找文件权限为444
find /mnt -perm /444 ##在/mnt 目录中查找文件案权限u或G或O 含有4
find /mnt -perm -444 ##在/mnt 目录中查找文件权限u位有4 G位有4 o位有4
find /mnt -perm -444 -exec chmod ugo-r {} \; ##查找/mnt目录中文件权限u位有4 G位有4 o位有4的文件,然后去掉文件ugo位的可读权限
find /mnt -perm -200 -exec rm -fr {} \;
##{} 表示find命令查找结果,\是为了转译“;”
四.分区
分区方式: 位数 分区表大小 支付分区个数 支持单个分区大小
legacy (MBR) 32 64byte 主分区4个 2.2TB 所有分区16个
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
UEFI (GPT) 64 128byte 理论上无限制 8ZiB windows 128
1.MBR分区方式:
主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
2.分区方法:
给虚拟机nodea加磁盘:
方法一:设定分区方式为MBR
Command (m for help): o ##设定分区方式为mbr
Created a new DOS disklabel with disk identifier 0xf7e7f720.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended (container for logical partitions) ##扩展分区
Select (default p): ##建立主分区
Using default response p.
Partition number (1-4, default 1): 1 ##分区表位置
First sector (2048-41943039, default 2048): ##分区起始位置推荐使用默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +500M ##分区结束
Command (m for help): p ##显示分区表
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf7e7f720
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 1026047 1024000 500M 83 Linux
/dev/vdb2 1026048 2050047 1024000 500M 83 Linux
/dev/vdb3 2050048 3074047 1024000 500M 83 Linux
/dev/vdb4 3074048 41943039 38868992 18.5G 5 Extended
Command (m for help): wq ##退出保存,如果直接q表示退出不保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Command (m for help): m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
g ##设定分区方式为GPT
o ##设定分区方式为mbr
udevadm settle ##同步分区表
cat /proc/partitions ##查看系统识别设备
mkfs.xfs /dev/vdb1 ##格式化设备为xfs文件系统(相当与在/dev/sdb1上安装设备管理软件)
mkfs.xfs -K /dev/vdb1 #空白的地方跳过格式化
mkfs.xfs -K /dev/vdb1 -f ##强制格式化
mount /dev/vdb1 /mnt/ ##挂载到/mnt/
方法二:parted
parted /dev/vdb mklabel mdgpt ##设定分区方式为GPT
parted /dev/vdb mkpart primary 1 500
parted /dev/vdb mkpart primary 501 1000
parted /dev/vdb rm 1
parted /dev/vdb rm 2
parted /dev/vdb mklabel msdos ##设定分区方式为MBR
3.常用文件系统对比
文件系统 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~
4.设备删除:
dd if=/dev/zero of=/dev/vdb bs=1M count=1
5.MBR分区方式转换成GPT
parted /dev/vdb
GNU Parted 3.2
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/vdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) quit
Information: You may need to update /etc/fstab.
注意:在RHEL8中可以直接使用fdisk /dev/sdb
g ##g表示把/dev/sdb设备的分区方式调整为GPT
五.swap分区
swap的作用:程序在运行时所有数据是在RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。
swap分区大小建议:
内存大小 swap分区建议大小 当允许HIBERNATE2GiB以下 内存两倍 内存3倍
2-8GiB 等于物理内存 物理内存2倍
8-64GiB 4GiB 1.5倍物理内存
64GiB以上 4GiB HIBERNATE不开
swap管理
swapon -s ##查看swap分区信息
创建swap分区
创建分区并设定分区的类型为Linuxswap
mkswap /dev/vdb2 ##格式化设备位swap格式
swapon /dev/sdb1 -p 0-32767 ## -p表示指定swap的优先级
以上操作都位临时操作,如果永久添加swap分区
vim /etc/fstab
删除swap:
vim /etc/fstab ##将最新编辑的行删除
swapoff /dev/vdb2
swapon -a ##重新加载
swapon -s ##查看swap分区信息
六.磁盘配额
作用:设定用户能写入指定设备的最大额度
fdisk /dev/vdb
udevadm settle
mkfs.xfs -K /dev/vdb2 -f
mkdir /pub
mount -o usrquota /dev/vdb2 /pub/
mount
chmod 777 /pub/
edquota -u westos ##设定用户westos配额
edquota -u lee ##设定用户lee配额
测试:
su - westos
dd if=/dev/zero of=/pub/westosfile bs=1M count=40
dd if=/dev/zero of=/pub/westosfile bs=1M count=50
dd if=/dev/zero of=/pub/westosfile bs=1M count=51
du -sh /pub/westosfile
永久开启配额:
vim /etc/fstab
关闭配额:
quotaoff -uv /dev/sdb2 ##去掉配额参数usrquota
vim /etc/fstab