Linux存储的基本管理
实验环境准备
先在系统中添加硬盘
执行命令
1.使用超级用户的身份打开虚拟机管理器
virt-manager
然后点灯泡
最下面添加
选择这个
接着选择镜像
这个是刚才建立的一块硬盘
之后出现了两块硬盘
设备文件名称:
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 : 查看系统识别设备
查看设备使用情况
查看设备管理方式
查看系统识别设备
设备挂载
如果系统里有设备是可以被使用的
那么就可以使用指令进行挂载
mount -o 挂载参数 device 挂载点
取消挂载:
umount 设备|挂载点
查看挂载:
mount
mount -o rw /dev/vda1 /westos
若是需要把挂载的权限变化 需要
mount -o remount,ro /westos:变为了只读
在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点
-k 结束进程
-v 现实详细信息
-m 显示进程
挂载指令使用如下
然后查看一下挂载的历史纪录
看到最下面有
然后把挂载点/mnt的权限改为rw
这样就可以在目录下创建文件了
如下
如果正在使用挂载点 那么卸载会提示 正在忙碌
这个时候需要执行以下指令
这时就可以取消挂载了
把光盘挂载到mnt下去
永久挂载
前面设置的都是临时 的挂载
接下来使用永久挂载
需要编辑文件vim /etc/fstab 设备挂载策略文件
对应的关系如下:
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/westos iso9660 defaults 0 0
此文件在编写完成后不会马上生效
mount -a 重新读取/etc/fstab文件
此文件内容编写错误会导致系统重新开机的时候会启动失败。失败后应按照提示在操作界面输入超级用户密码,获得一个shell,编辑刚才的配置文件并,修改错误行,再重启系统即可。
修改的内容如下
重启之后 发现 会自动挂载
若是 配置文件书写有问题,那么开机会出现错误
登陆后修改该文件即可!
查找设备中的文件
先创建文件
使用指令进行查找文件名
查找某用户所有人,
用户所有组的文件
查找用户所有人,所有组同时为某个用户的文件
查找用户所有组或用户所有人为某个用户的文件
更改用户所有组为westos的用户并变为root
-perm 444 /444 -444 权限 三个位置都是4 /三个位置有一个4就行
-maxdepth 1 表示文件的深度
-mindepth 1
find /mnt -maxdepth 2 -mindepth 2 表示范围
-cmin 1 -1 +1 表示文件创建的时间的时间范围 最近一分钟 一分钟之内
查看
发现一分钟内创建的文件没有
这时创建一个文件
可以查到一分钟内创建的
过了一分钟 也可以查到+1分钟多了文件123
分区
所有分区16个
MBR分区方式:
主分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区
主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区
扩展分区之上划分的分区叫做逻辑分区
分区方法
fdisk /dev/sdb
m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
g ##设定分区方式为GPT
o ##设定分区方式为mbr
创建分区
创建好后输入P查看这个分区
记着必须wq退出保存
不然不会成功
udevadm settle ##同步分区表
之后在 fdisk -l :在查看一下
mkfs.xfs -K /dev/vdb1 格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件)
-K 不丢弃空数据块
查看挂载
若是没有格式化 直接挂载会出现以下情况
设备删除
dd if=/dev/zero of=/dev/vdb bs=1M count=1
查看磁盘分区情况发现 之前的500Mvdb1没有了
分区方式的变化
mbr分区方式转换成GPT
parted /dev/vdb
(parted) mklabel
New disk label type? gpt
Yes/No? yes
(parted) quit
接着查看一下 发现类型已经成功变为gpt
第二种方法:fdisk /dev/vdb
g ##g表示把/dev/sdb设备的分区方式调整为GPT
然后查看
swap分区
作用:
程序在运行时所有数据是在RAM
当RAM使用量超过了限额
为了使系统更加稳定
我们在硬盘上划分一部分空间来作内存缓冲区swap
当内存使用超过限额,内核会把内存中闲置的数据存放到swap中
当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理
swap分区大小建议:
内存大小 swap分区建议大小 当允许HIBERNATE
2GiB以下 内存两倍 内存3倍
2-8GiB 等于物理内存 物理内存2倍
8-64GiB 4GiB 1.5倍物理内存
64GiB以上 4GiB HIBERNATE不开
swapon -s ##查看swap分区信息
创建swap分区
创建分区并设定分区的类型为Linuxswap
先创建一块分区
再设定类型为SWAP
mkswap /dev/vdb2 格式化设备位swap格式
swapon /dev/vdb2 -p 0-32767 -p表示指定swap的优先级
更改优先级
$:以上操作都位临时操作
如果永久添加swap分区
vim /etc/fstab
配置如下
刷新使得刚才的生效
删除swap
vim /etc/fstab
/dev/sda1 swap swap pri=4 0 0 ##删除此行
swapoff /dev/vdb1
磁盘配额
作用:设定用户能写入指定设备的最大额度
设定方法:
mount /dev/vdb1 /mnt/ -o usrquota ##挂载设备并激活配额参数
再分区一块vdb1出来
用mount查看以下挂载记录
配额
切换用户进行分区
发现没有限制
查看挂载
quotaon -uv /dev/vdb1 ##激活配额
edquota -u linux ##设定用户linux配额
Disk quotas for user linux (uid 1001):
设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard
永久开启配额
vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0
测试:
su - linux
cd /mnt
dd if=/dev/zero of=/mnt/linuxfile bs=1M count=22 ##截取数据失败只能写入20M数据
关闭配额:
quotaoff -uv /dev/vdb1
vim /etc/fstab ##去掉配额参数usrquota