Linux下的系统的磁盘管理
1.设备识别
设备形式:设备接入系统后都是以文件的形式存在
设备文件名称:
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 ##查看系统识别设备
2.设备的挂载和卸载
在系统中有设备id的设备是可以被系统使用的
1.挂载命令:
mount -o 挂载参数 device 挂载点
umount 设备|挂载点 mount ##查看挂载信息
mount -o rw /dev/nvme0n1p1 /westos
mount -o remount,ro /westos ##转换挂载参数由读写变为只读
3.在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点 #-k 结束进程, -v 现实详细信息 -m 显示进程
4.设备永久挂载
vim /etc/fstab
##设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos iso9660 defaults 0 0
此文件在编写完成后不会马上生效 mount -a ##重新读取/etc/fstab文件
3.设备中文件的查找
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 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命令查找结果 #\是为了转译“;”
4.分区
分区方式:传统分区方式 (MBR)和UEFI (GPT)
MBR分区方式:
- 主分区 :主分区表记录分区的信息并可以直接使用的分区
- 扩展分区 :主分区表记录的分区,不可直接使用,只是逻辑分区容器
- 逻辑分区 ;扩展分区之上划分的分区叫做逻辑分区
分区的划分及管理:
实现一个分区设备的创建使用,一般经过如下动作:
划分创建一个分区,格式化,挂载
(1)创建分区
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x4018d2a4. Command (m for help): m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出 Command (m for help):
n #新建 Partition type
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended (container for logical partitions) ##扩展分区
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表示退出不保存
(2)格式化
partprobe ##同步分区表
partx -d /dev/sda ##清理分区表
partx -a /dev/sda ##重新加载分区表
mkfs.xfs /dev/vdb1 ##格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件)
blkid 显示系统可用的设备
#mbr分区方式转换成GPT#
parted /dev/sda (parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes
(parted) quit
5.swap分区
作用: 程序在运行时所有数据是在RAM 当RAM使用量超过了限额 为了使系统更加稳定 我们在硬盘上划分一部分空间来作内存缓冲区swap 当内存使用超过限额,内核会把内存中闲置的数据存放到swap中 当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理
swapon -s ##查看swap分区信息
(1)创建swap分区 创建分区并设定分区的类型为Linuxswap
(2)mkswap /dev/sda1 ##格式化设备位swap格式
(3)swapon /dev/sda1 -p 0-32767 ##激活swap分区 -p表示指定swap的优先级
如果永久添加swap分区
vim /etc/fstab /dev/sda1
swap swap pri=4 0 0
删除swap
vim /etc/fstab /dev/sda1 swap swap pri=4 0 0 ##删除此行
swapoff /dev/sda1
6.磁盘配额
作用: 设定用户能写入指定设备的最大额度
设定方法:
mount /dev/sda1 /pub/ -o usrquota ##挂载设备并激活配额参数
quotaon -uv /dev/sda1 ##激活配额
edquota -u lee ##设定用户lee配额
Disk quotas for user lee (uid 1001):
设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard /dev/sda1 20480 0 20480 1 0 0
永久开启配额 vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0